brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.4 KiB · 5b5d285 Raw
116 lines · plain
1; TODO: Add object generation test when visibility for object generation2;       is implemented.3 4; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \5; RUN:     -mattr=-altivec -data-sections=false -xcoff-traceback-table=false < %s | \6; RUN:   FileCheck --check-prefix=ASM %s7; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \8; RUN:     -mattr=-altivec -data-sections=false -xcoff-traceback-table=false < %s | \9; RUN:   FileCheck --check-prefix=ASM %s10 11@var = global i32 4212@var1 = alias i32, ptr @var13@var2 = alias i32, ptr @var114@var_l = linkonce_odr alias i32, ptr @var15@var_i = internal alias i32, ptr @var16@var_h = hidden alias i32, ptr @var17@var_p = protected alias i32, ptr @var18 19@array = global [2 x i32] [i32 1, i32 2], align 420@x = global ptr getelementptr (i8, ptr @array, i64 4), align 421@bitcast_alias = alias ptr, ptr @x22 23define i32 @fun() {24  ret i32 025}26 27%FunTy = type i32()28@fun_weak = weak alias %FunTy, ptr @fun29@fun_hidden = hidden alias %FunTy, ptr @fun30@fun_ptr = global ptr @fun_weak31 32define i32 @test() {33entry:34   %tmp = load i32, ptr @var135   %tmp1 = load i32, ptr @var236   %tmp0 = load i32, ptr @var_i37   %tmp2 = call i32 @fun()38   %tmp3 = add i32 %tmp, %tmp239   %tmp4 = call i32 @fun_weak()40   %tmp5 = add i32 %tmp3, %tmp441   %tmp6 = add i32 %tmp1, %tmp542   %tmp7 = add i32 %tmp6, %tmp043   %fun_ptr1 = alloca ptr44   store ptr @fun_weak, ptr %fun_ptr145   %tmp8 = call i32 %fun_ptr1()46   %tmp9 = call i32 @fun_hidden()47   %tmp10 = add i32 %tmp7, %tmp848   %tmp11 = add i32 %tmp10, %tmp949   ret i32 %tmp1150}51 52; ASM:         .globl  fun[DS]53; ASM-NEXT:    .globl  .fun54; ASM-NEXT:    .align  455; ASM-NEXT:    .csect fun[DS]56; ASM-NEXT:  fun_weak:                               # @fun57; ASM-NEXT:  fun_hidden:58; ASM:         .csect ..text..[PR],559; ASM-NEXT:  .fun:60; ASM-NEXT:  .fun_weak:61; ASM-NEXT:  .fun_hidden:62; ASM-NEXT:  # %bb.0:63; ASM-NEXT:    li 3, 064; ASM-NEXT:    blr65; ASM-NEXT:                                          # -- End function66; ASM:       .csect ..text..[PR],567; ASM-NEXT:  .test:68; ASM-NEXT:  # %bb.0:                                # %entry69; ASM:         bl .fun70; ASM-NEXT:    nop71; ASM:         bl .fun_weak72; ASM-NEXT:    nop73; ASM:         bl .fun_hidden74; ASM:                                               # -- End function75; ASM-NEXT:    .csect .data[RW]76; ASM-NEXT:    .globl  var77; ASM-NEXT:    .globl  var178; ASM-NEXT:    .globl  var279; ASM-NEXT:    .weak   var_l80; ASM-NEXT:    .lglobl var_i81; ASM-NEXT:    .globl  var_h,hidden82; ASM-NEXT:    .globl  var_p,protected83; ASM:       var:84; ASM-NEXT:  var1:85; ASM-NEXT:  var2:86; ASM-NEXT:  var_l:87; ASM-NEXT:  var_i:88; ASM-NEXT:  var_h:89; ASM-NEXT:  var_p:90; ASM-NEXT:    .vbyte  4, 4291; ASM-NEXT:    .globl array92; ASM:       array:93; ASM-NEXT:    .vbyte 4, 1 # 0x194; ASM-NEXT:    .vbyte 4, 2 # 0x295; ASM-NEXT:    .globl x96; ASM-NEXT:    .globl  bitcast_alias97; ASM:       x:98; ASM-NEXT:  bitcast_alias:99; ASM-NEXT:    .vbyte  {{[0-9]+}}, array+4100; ASM-NEXT:    .globl  fun_ptr101; ASM:       fun_ptr:102; ASM-NEXT:    .vbyte  {{[0-9]+}}, fun_weak103; ASM-NEXT:    .weak fun_weak104; ASM-NEXT:    .weak .fun_weak105; ASM-NEXT:    .globl  fun_hidden,hidden106; ASM-NEXT:    .globl  .fun_hidden,hidden107; ASM-NEXT:    .toc108; ASM-NEXT:  L..C0:109; ASM-NEXT:    .tc var1[TC],var1110; ASM-NEXT:  L..C1:111; ASM-NEXT:    .tc var2[TC],var2112; ASM-NEXT:  L..C2:113; ASM-NEXT:    .tc var_i[TC],var_i114; ASM-NEXT:  L..C3:115; ASM-NEXT:    .tc fun_weak[TC],fun_weak116