Convert one last llc -filetype=obj test.

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
This commit is contained in:
Rafael Espindola 2014-03-28 19:58:24 +00:00
parent c9de9e60b9
commit efd95481bd
2 changed files with 70 additions and 29 deletions

View File

@ -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

70
test/MC/Mips/xgot.s Normal file
View File

@ -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