mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-20 16:17:38 +00:00
Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change.
This update was done with the following bash script:
find test/Transforms -name "*.ll" | \
while read NAME; do
echo "$NAME"
if ! grep -q "^; *RUN: *llc" $NAME; then
TEMP=`mktemp -t temp`
cp $NAME $TEMP
sed -n "s/^define [^@]*@\([A-Za-z0-9_]*\)(.*$/\1/p" < $NAME | \
while read FUNC; do
sed -i '' "s/;\(.*\)\([A-Za-z0-9_]*\):\( *\)@$FUNC\([( ]*\)\$/;\1\2-LABEL:\3@$FUNC(/g" $TEMP
done
mv $TEMP $NAME
fi
done
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186268 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32"
|
||||
target triple = "thumbv7-apple-darwin"
|
||||
|
||||
; CHECK: @test
|
||||
; CHECK-LABEL: @test(
|
||||
; CHECK: if.end.i126:
|
||||
; CHECK: %exitcond = icmp ne i8* %incdec.ptr.i, getelementptr (i8* null, i32 undef)
|
||||
define void @test() nounwind {
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
; SCEV. Since it's an i8*, it has unit stride so we never adjust the
|
||||
; SCEV expression in a way that would convert it to an integer type.
|
||||
|
||||
; CHECK: @testnullptrptr
|
||||
; CHECK-LABEL: @testnullptrptr(
|
||||
; CHECK: loop:
|
||||
; CHECK: icmp ne
|
||||
define i8 @testnullptrptr(i8* %buf, i8* %end) nounwind {
|
||||
@@ -34,7 +34,7 @@ exit:
|
||||
ret i8 %snext
|
||||
}
|
||||
|
||||
; CHECK: @testptrptr
|
||||
; CHECK-LABEL: @testptrptr(
|
||||
; CHECK: loop:
|
||||
; CHECK: icmp ne
|
||||
define i8 @testptrptr(i8* %buf, i8* %end) nounwind {
|
||||
@@ -59,7 +59,7 @@ exit:
|
||||
ret i8 %snext
|
||||
}
|
||||
|
||||
; CHECK: @testnullptrint
|
||||
; CHECK-LABEL: @testnullptrint(
|
||||
; CHECK: loop:
|
||||
; CHECK: icmp ne
|
||||
define i8 @testnullptrint(i8* %buf, i8* %end) nounwind {
|
||||
@@ -89,7 +89,7 @@ exit:
|
||||
ret i8 %snext
|
||||
}
|
||||
|
||||
; CHECK: @testptrint
|
||||
; CHECK-LABEL: @testptrint(
|
||||
; CHECK: loop:
|
||||
; CHECK: icmp ne
|
||||
define i8 @testptrint(i8* %buf, i8* %end) nounwind {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
; RUN: opt < %s -indvars -S | FileCheck %s
|
||||
; PR11350: Check that SimplifyIndvar handles a cycle of useless self-phis.
|
||||
|
||||
; CHECK: @test
|
||||
; CHECK-LABEL: @test(
|
||||
; CHECK-NOT: lcssa = phi
|
||||
define void @test() nounwind {
|
||||
entry:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
; PR13371: indvars pass incorrectly substitutes 'undef' values
|
||||
;
|
||||
; LFTR should not user %undef as the loop counter.
|
||||
; CHECK: @test
|
||||
; CHECK-LABEL: @test(
|
||||
; CHECK-NOT: icmp{{.*}}undef
|
||||
@.str3 = private constant [6 x i8] c"%lld\0A\00", align 1
|
||||
declare i32 @printf(i8* noalias nocapture, ...) nounwind
|
||||
|
||||
@@ -19,7 +19,7 @@ for.body: ; preds = %for.body, %entry
|
||||
for.end: ; preds = %for.body
|
||||
ret void
|
||||
|
||||
; CHECK: @test1
|
||||
; CHECK-LABEL: @test1(
|
||||
; CHECK-NOT: phi i1
|
||||
; CHECK: call void @aux(i1 false, i1 false)
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
declare void @func(i32)
|
||||
|
||||
; CHECK: @test
|
||||
; CHECK-LABEL: @test(
|
||||
define void @test(i32 %m) nounwind uwtable {
|
||||
entry:
|
||||
br label %for.body
|
||||
@@ -45,7 +45,7 @@ for.end: ; preds = %for.body
|
||||
ret void
|
||||
}
|
||||
|
||||
; CHECK: @test2
|
||||
; CHECK-LABEL: @test2(
|
||||
define i32 @test2(i32 %m) nounwind uwtable {
|
||||
entry:
|
||||
br label %for.body
|
||||
|
||||
@@ -7,7 +7,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
|
||||
; Indvars should be able to simplify simple comparisons involving
|
||||
; induction variables.
|
||||
|
||||
; CHECK: @foo
|
||||
; CHECK-LABEL: @foo(
|
||||
; CHECK: %cond = and i1 %tobool.not, true
|
||||
|
||||
define void @foo(i64 %n, i32* nocapture %p) nounwind {
|
||||
@@ -42,7 +42,7 @@ return:
|
||||
|
||||
; Don't eliminate an icmp that's contributing to the loop exit test though.
|
||||
|
||||
; CHECK: @_ZNK4llvm5APInt3ultERKS0_
|
||||
; CHECK-LABEL: @_ZNK4llvm5APInt3ultERKS0_(
|
||||
; CHECK: %tmp99 = icmp sgt i32 %i, -1
|
||||
|
||||
define i32 @_ZNK4llvm5APInt3ultERKS0_(i32 %tmp2.i1, i64** %tmp65, i64** %tmp73, i64** %tmp82, i64** %tmp90) {
|
||||
@@ -85,7 +85,7 @@ bb20.loopexit:
|
||||
|
||||
; Indvars should eliminate the icmp here.
|
||||
|
||||
; CHECK: @func_10
|
||||
; CHECK-LABEL: @func_10(
|
||||
; CHECK-NOT: icmp
|
||||
; CHECK: ret void
|
||||
|
||||
@@ -110,7 +110,7 @@ return:
|
||||
; PR14432
|
||||
; Indvars should not turn the second loop into an infinite one.
|
||||
|
||||
; CHECK: @func_11
|
||||
; CHECK-LABEL: @func_11(
|
||||
; CHECK: %tmp5 = icmp slt i32 %__key6.0, 10
|
||||
; CHECK-NOT: br i1 true, label %noassert68, label %unrolledend
|
||||
|
||||
@@ -162,7 +162,7 @@ unrolledend: ; preds = %forcond38
|
||||
declare void @llvm.trap() noreturn nounwind
|
||||
|
||||
; In this case the second loop only has a single iteration, fold the header away
|
||||
; CHECK: @func_12
|
||||
; CHECK-LABEL: @func_12(
|
||||
; CHECK: %tmp5 = icmp slt i32 %__key6.0, 10
|
||||
; CHECK: br i1 true, label %noassert68, label %unrolledend
|
||||
define i32 @func_12() nounwind uwtable {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
||||
|
||||
; Indvars should be able to eliminate this srem.
|
||||
; CHECK: @simple
|
||||
; CHECK-LABEL: @simple(
|
||||
; CHECK-NOT: rem
|
||||
; CHECK: ret
|
||||
|
||||
@@ -32,7 +32,7 @@ bb12: ; preds = %bb11, %bb
|
||||
}
|
||||
|
||||
; Indvars should be able to eliminate the (i+1)%n.
|
||||
; CHECK: @f
|
||||
; CHECK-LABEL: @f(
|
||||
; CHECK-NOT: rem
|
||||
; CHECK: rem
|
||||
; CHECK-NOT: rem
|
||||
|
||||
@@ -12,7 +12,7 @@ bb: ; preds = %bb, %entry
|
||||
|
||||
return: ; preds = %bb
|
||||
ret void
|
||||
; CHECK: @test1
|
||||
; CHECK-LABEL: @test1(
|
||||
; CHECK: icmp
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ bb: ; preds = %bb, %entry
|
||||
|
||||
return: ; preds = %bb
|
||||
ret void
|
||||
; CHECK: @test2
|
||||
; CHECK-LABEL: @test2(
|
||||
; CHECK: icmp
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ bb: ; preds = %bb, %entry
|
||||
|
||||
return:
|
||||
ret void
|
||||
; CHECK: @test3
|
||||
; CHECK-LABEL: @test3(
|
||||
; CHECK: fcmp
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ bb: ; preds = %bb, %entry
|
||||
|
||||
return:
|
||||
ret void
|
||||
; CHECK: @test4
|
||||
; CHECK-LABEL: @test4(
|
||||
; CHECK-NOT: cmp
|
||||
; CHECK: br i1 false
|
||||
}
|
||||
@@ -86,7 +86,7 @@ define void @test5() nounwind {
|
||||
exit:
|
||||
ret void
|
||||
|
||||
; CHECK: @test5
|
||||
; CHECK-LABEL: @test5(
|
||||
; CHECK: icmp slt i32 {{.*}}, 0
|
||||
; CHECK-NEXT: br i1
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
|
||||
|
||||
; Indvars should be able to fold IV increments into shr when low bits are zero.
|
||||
;
|
||||
; CHECK: @foldIncShr
|
||||
; CHECK-LABEL: @foldIncShr(
|
||||
; CHECK: shr.1 = lshr i32 %0, 5
|
||||
define i32 @foldIncShr(i32* %bitmap, i32 %bit_addr, i32 %nbits) nounwind {
|
||||
entry:
|
||||
@@ -31,7 +31,7 @@ while.end:
|
||||
; Invdars should not fold an increment into shr unless 2^shiftBits is
|
||||
; a multiple of the recurrence step.
|
||||
;
|
||||
; CHECK: @noFoldIncShr
|
||||
; CHECK-LABEL: @noFoldIncShr(
|
||||
; CHECK: shr.1 = lshr i32 %inc.1, 5
|
||||
define i32 @noFoldIncShr(i32* %bitmap, i32 %bit_addr, i32 %nbits) nounwind {
|
||||
entry:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;RUN: opt -S %s -indvars | FileCheck %s
|
||||
|
||||
; CHECK-LABEL: @foo
|
||||
; CHECK-LABEL-LABEL: @foo(
|
||||
; CHECK-NOT: %lftr.wideiv = trunc i32 %indvars.iv.next to i16
|
||||
; CHECK: %exitcond = icmp ne i32 %indvars.iv.next, 512
|
||||
define void @foo() #0 {
|
||||
@@ -20,7 +20,7 @@ for.end: ; preds = %for.body
|
||||
}
|
||||
|
||||
; Check that post-incrementing the backedge taken count does not overflow.
|
||||
; CHECK-LABEL: @postinc
|
||||
; CHECK-LABEL-LABEL: @postinc(
|
||||
; CHECK: icmp eq i32 %indvars.iv.next, 256
|
||||
define i32 @postinc() #0 {
|
||||
entry:
|
||||
|
||||
@@ -165,7 +165,7 @@ entry:
|
||||
%lim = add i32 %x, %n
|
||||
%cmp.ph = icmp ult i32 %x, %lim
|
||||
br i1 %cmp.ph, label %loop, label %exit
|
||||
; CHECK: @geplftr
|
||||
; CHECK-LABEL: @geplftr(
|
||||
; CHECK: loop:
|
||||
; CHECK: phi i8*
|
||||
; DISABLE-NOT: phi // This check is currently disabled
|
||||
@@ -190,7 +190,7 @@ exit:
|
||||
define void @nevertaken() nounwind uwtable ssp {
|
||||
entry:
|
||||
br label %loop
|
||||
; CHECK: @nevertaken
|
||||
; CHECK-LABEL: @nevertaken(
|
||||
; CHECK: loop:
|
||||
; CHECK-NOT: phi
|
||||
; CHECK-NOT: add
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
; the exit value of the loop will be for some value, allowing us to substitute
|
||||
; it directly into users outside of the loop, making the loop dead.
|
||||
|
||||
; CHECK: @linear_setne
|
||||
; CHECK-LABEL: @linear_setne(
|
||||
; CHECK: ret i32 100
|
||||
|
||||
define i32 @linear_setne() {
|
||||
@@ -22,7 +22,7 @@ loopexit: ; preds = %loop
|
||||
ret i32 %i
|
||||
}
|
||||
|
||||
; CHECK: @linear_setne_2
|
||||
; CHECK-LABEL: @linear_setne_2(
|
||||
; CHECK: ret i32 100
|
||||
|
||||
define i32 @linear_setne_2() {
|
||||
@@ -39,7 +39,7 @@ loopexit: ; preds = %loop
|
||||
ret i32 %i
|
||||
}
|
||||
|
||||
; CHECK: @linear_setne_overflow
|
||||
; CHECK-LABEL: @linear_setne_overflow(
|
||||
; CHECK: ret i32 0
|
||||
|
||||
define i32 @linear_setne_overflow() {
|
||||
@@ -56,7 +56,7 @@ loopexit: ; preds = %loop
|
||||
ret i32 %i
|
||||
}
|
||||
|
||||
; CHECK: @linear_setlt
|
||||
; CHECK-LABEL: @linear_setlt(
|
||||
; CHECK: ret i32 100
|
||||
|
||||
define i32 @linear_setlt() {
|
||||
@@ -73,7 +73,7 @@ loopexit: ; preds = %loop
|
||||
ret i32 %i
|
||||
}
|
||||
|
||||
; CHECK: @quadratic_setlt
|
||||
; CHECK-LABEL: @quadratic_setlt(
|
||||
; CHECK: ret i32 34
|
||||
|
||||
define i32 @quadratic_setlt() {
|
||||
@@ -91,7 +91,7 @@ loopexit: ; preds = %loop
|
||||
ret i32 %i
|
||||
}
|
||||
|
||||
; CHECK: @chained
|
||||
; CHECK-LABEL: @chained(
|
||||
; CHECK: ret i32 200
|
||||
|
||||
define i32 @chained() {
|
||||
@@ -117,7 +117,7 @@ loopexit2: ; preds = %loop2
|
||||
ret i32 %j
|
||||
}
|
||||
|
||||
; CHECK: @chained4
|
||||
; CHECK-LABEL: @chained4(
|
||||
; CHECK: ret i32 400
|
||||
|
||||
define i32 @chained4() {
|
||||
|
||||
@@ -27,6 +27,6 @@ bb14:
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
; CHECK: @foo
|
||||
; CHECK-LABEL: @foo(
|
||||
; CHECK: bb8:
|
||||
; CHECK: udiv
|
||||
|
||||
@@ -8,7 +8,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
|
||||
; Indvars shouldn't emit a udiv here, because there's no udiv in the
|
||||
; original code. This comes from SingleSource/Benchmarks/Shootout/sieve.c.
|
||||
|
||||
; CHECK: @main
|
||||
; CHECK-LABEL: @main(
|
||||
; CHECK-NOT: div
|
||||
|
||||
define i32 @main(i32 %argc, i8** nocapture %argv) nounwind {
|
||||
@@ -130,7 +130,7 @@ declare i32 @printf(i8* nocapture, ...) nounwind
|
||||
; IndVars shouldn't be afraid to emit a udiv here, since there's a udiv in
|
||||
; the original code.
|
||||
|
||||
; CHECK: @foo
|
||||
; CHECK-LABEL: @foo(
|
||||
; CHECK: for.body.preheader:
|
||||
; CHECK-NEXT: udiv
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ for.body: ; preds = %entry, %for.body
|
||||
for.end: ; preds = %for.body, %entry
|
||||
ret void
|
||||
|
||||
; CHECK: @test1
|
||||
; CHECK-LABEL: @test1(
|
||||
|
||||
; First check that we move the sub into the preheader, it doesn't have to be
|
||||
; executed if %cmp4 == false
|
||||
|
||||
Reference in New Issue
Block a user