Convert one last llc -filetype=obj test.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 28 Mar 2014 19:58:24 +0000 (19:58 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 28 Mar 2014 19:58:24 +0000 (19:58 +0000)
Unfortunately this one fails deep inside the mips backend, so xfail it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205042 91177308-0d34-0410-b5e6-96231b3b80d8

test/MC/Mips/xgot.ll [deleted file]
test/MC/Mips/xgot.s [new file with mode: 0644]

diff --git a/test/MC/Mips/xgot.ll b/test/MC/Mips/xgot.ll
deleted file mode 100644 (file)
index cc33678..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mxgot %s -o - | llvm-readobj -r | FileCheck %s
-
-@.str = private unnamed_addr constant [16 x i8] c"ext_1=%d, i=%d\0A\00", align 1
-@ext_1 = external global i32
-
-define void @fill() nounwind {
-entry:
-
-; Check that the appropriate relocations were created. 
-; For the xgot case we want to see R_MIPS_[GOT|CALL]_[HI|LO]16.
-
-; CHECK: Relocations [
-; CHECK:     0x{{[0-9,A-F]+}} R_MIPS_HI16
-; CHECK:     0x{{[0-9,A-F]+}} R_MIPS_LO16
-; CHECK:     0x{{[0-9,A-F]+}} R_MIPS_GOT_HI16
-; CHECK:     0x{{[0-9,A-F]+}} R_MIPS_GOT_LO16
-; CHECK:     0x{{[0-9,A-F]+}} R_MIPS_CALL_HI16
-; CHECK:     0x{{[0-9,A-F]+}} R_MIPS_CALL_LO16
-; CHECK:     0x{{[0-9,A-F]+}} R_MIPS_GOT
-; CHECK:     0x{{[0-9,A-F]+}} R_MIPS_LO16
-; CHECK: ]
-
-  %0 = load i32* @ext_1, align 4
-  %call = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([16 x i8]* @.str, i32 0, i32 0), i32 %0) nounwind
-  ret void
-}
-
-declare i32 @printf(i8* nocapture, ...) nounwind
-
diff --git a/test/MC/Mips/xgot.s b/test/MC/Mips/xgot.s
new file mode 100644 (file)
index 0000000..e9c2eaa
--- /dev/null
@@ -0,0 +1,70 @@
+// RUN: llvm-mc -filetype=obj -triple mipsel-unknown-linux  %s -o - | llvm-readobj -r | FileCheck %s
+
+// Expected failure since the mips backend can't handle this yet.
+// XFAIL: *
+
+// Check that the appropriate relocations were created.
+// For the xgot case we want to see R_MIPS_[GOT|CALL]_[HI|LO]16.
+
+// CHECK: Relocations [
+// CHECK:     0x{{[0-9,A-F]+}} R_MIPS_HI16
+// CHECK:     0x{{[0-9,A-F]+}} R_MIPS_LO16
+// CHECK:     0x{{[0-9,A-F]+}} R_MIPS_GOT_HI16
+// CHECK:     0x{{[0-9,A-F]+}} R_MIPS_GOT_LO16
+// CHECK:     0x{{[0-9,A-F]+}} R_MIPS_CALL_HI16
+// CHECK:     0x{{[0-9,A-F]+}} R_MIPS_CALL_LO16
+// CHECK:     0x{{[0-9,A-F]+}} R_MIPS_GOT
+// CHECK:     0x{{[0-9,A-F]+}} R_MIPS_LO16
+// CHECK: ]
+
+       .text
+       .abicalls
+       .section        .mdebug.abi32,"",@progbits
+       .file   "/home/espindola/llvm/llvm/test/MC/Mips/xgot.ll"
+       .text
+       .globl  fill
+       .align  2
+       .type   fill,@function
+       .set    nomips16
+       .ent    fill
+fill:                                   # @fill
+       .frame  $sp,24,$ra
+       .mask   0x80000000,-4
+       .fmask  0x00000000,0
+       .set    noreorder
+       .set    nomacro
+       .set    noat
+# BB#0:                                 # %entry
+       lui     $2, %hi(_gp_disp)
+       addiu   $2, $2, %lo(_gp_disp)
+       addiu   $sp, $sp, -24
+       sw      $ra, 20($sp)            # 4-byte Folded Spill
+       addu    $gp, $2, $25
+       lui     $1, %got_hi(ext_1)
+       addu    $1, $1, $gp
+       lw      $1, %got_lo(ext_1)($1)
+       lw      $5, 0($1)
+       lui     $1, %call_hi(printf)
+       addu    $1, $1, $gp
+       lw      $2, %got($.str)($gp)
+       lw      $25, %call_lo(printf)($1)
+       jalr    $25
+       addiu   $4, $2, %lo($.str)
+       lw      $ra, 20($sp)            # 4-byte Folded Reload
+       jr      $ra
+       addiu   $sp, $sp, 24
+       .set    at
+       .set    macro
+       .set    reorder
+       .end    fill
+$tmp0:
+       .size   fill, ($tmp0)-fill
+
+       .type   $.str,@object           # @.str
+       .section        .rodata.str1.1,"aMS",@progbits,1
+$.str:
+       .asciz  "ext_1=%d, i=%d\n"
+       .size   $.str, 16
+
+
+       .text