blob: 50de90ebeba0be31d3909a5acaf4176114c6e23a [file] [log] [blame]
; RUN: llc < %s | FileCheck %s
; Handle global aliases of various kinds.
target datalayout = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-p:32:32:32-v128:32:128-n32-S128"
target triple = "asmjs-unknown-emscripten"
@pri = internal global [60 x i8] zeroinitializer
@pub = global [60 x i8] zeroinitializer
@pri_int = internal alias [60 x i8]* @pri
@pri_wea = weak alias [60 x i8]* @pri
@pri_nor = alias [60 x i8]* @pri
@pub_int = internal alias [60 x i8]* @pub
@pub_wea = weak alias [60 x i8]* @pub
@pub_nor = alias [60 x i8]* @pub
; CHECK: test0(
; CHECK: return ([[PRI:[0-9]+]]|0);
define [60 x i8]* @test0() {
ret [60 x i8]* @pri
}
; CHECK: test1(
; CHECK: return ([[PRI]]|0);
define [60 x i8]* @test1() {
ret [60 x i8]* @pri_int
}
; CHECK: test2(
; CHECK: return ([[PRI]]|0);
define [60 x i8]* @test2() {
ret [60 x i8]* @pri_wea
}
; CHECK: test3(
; CHECK: return ([[PRI]]|0);
define [60 x i8]* @test3() {
ret [60 x i8]* @pri_nor
}
; CHECK: test4(
; CHECK: return ([[PUB:[0-9]+]]|0);
define [60 x i8]* @test4() {
ret [60 x i8]* @pub
}
; CHECK: test5(
; CHECK: return ([[PUB]]|0);
define [60 x i8]* @test5() {
ret [60 x i8]* @pub_int
}
; CHECK: test6(
; CHECK: return ([[PUB]]|0);
define [60 x i8]* @test6() {
ret [60 x i8]* @pub_wea
}
; CHECK: test7(
; CHECK: return ([[PUB]]|0);
define [60 x i8]* @test7() {
ret [60 x i8]* @pub_nor
}