diff options
author | Alexander Kornienko <alexfh@google.com> | 2013-04-03 14:07:16 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2013-04-03 14:07:16 +0000 |
commit | e133bc868944822bf8961f825d3aa63d6fa48fb7 (patch) | |
tree | ebbd4a8040181471467a9737d90d94dc6b58b316 /test/CodeGen/X86/Stats | |
parent | 647735c781c5b37061ee03d6e9e6c7dda92218e2 (diff) | |
parent | 080e3c523e87ec68ca1ea5db4cd49816028dd8bd (diff) |
Updating branches/google/stable to r178511stable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/google/stable@178655 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/Stats')
31 files changed, 0 insertions, 1644 deletions
diff --git a/test/CodeGen/X86/Stats/2003-08-03-CallArgLiveRanges.ll b/test/CodeGen/X86/Stats/2003-08-03-CallArgLiveRanges.ll deleted file mode 100644 index 0af2445d7f..0000000000 --- a/test/CodeGen/X86/Stats/2003-08-03-CallArgLiveRanges.ll +++ /dev/null @@ -1,18 +0,0 @@ -; The old instruction selector used to load all arguments to a call up in -; registers, then start pushing them all onto the stack. This is bad news as -; it makes a ton of annoying overlapping live ranges. This code should not -; cause spills! -; -; RUN: llc < %s -march=x86 -stats 2>&1 | not grep spilled - -target datalayout = "e-p:32:32" - -define i32 @test(i32, i32, i32, i32, i32, i32, i32, i32, i32, i32) { - ret i32 0 -} - -define i32 @main() { - %X = call i32 @test( i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10 ) ; <i32> [#uses=1] - ret i32 %X -} - diff --git a/test/CodeGen/X86/Stats/2006-03-02-InstrSchedBug.ll b/test/CodeGen/X86/Stats/2006-03-02-InstrSchedBug.ll deleted file mode 100644 index 1a3d74918d..0000000000 --- a/test/CodeGen/X86/Stats/2006-03-02-InstrSchedBug.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llc < %s -march=x86 -stats 2>&1 | \ -; RUN: grep asm-printer | grep 7 - -define i32 @g(i32 %a, i32 %b) nounwind { - %tmp.1 = shl i32 %b, 1 ; <i32> [#uses=1] - %tmp.3 = add i32 %tmp.1, %a ; <i32> [#uses=1] - %tmp.5 = mul i32 %tmp.3, %a ; <i32> [#uses=1] - %tmp.8 = mul i32 %b, %b ; <i32> [#uses=1] - %tmp.9 = add i32 %tmp.5, %tmp.8 ; <i32> [#uses=1] - ret i32 %tmp.9 -} - diff --git a/test/CodeGen/X86/Stats/2006-05-01-SchedCausingSpills.ll b/test/CodeGen/X86/Stats/2006-05-01-SchedCausingSpills.ll deleted file mode 100644 index 5cba3efeef..0000000000 --- a/test/CodeGen/X86/Stats/2006-05-01-SchedCausingSpills.ll +++ /dev/null @@ -1,76 +0,0 @@ -; RUN: llc < %s -march=x86 -mcpu=yonah -stats 2>&1 | \ -; RUN: not grep "Number of register spills" -; END. - - -define i32 @foo(<4 x float>* %a, <4 x float>* %b, <4 x float>* %c, <4 x float>* %d) { - %tmp44 = load <4 x float>* %a ; <<4 x float>> [#uses=9] - %tmp46 = load <4 x float>* %b ; <<4 x float>> [#uses=1] - %tmp48 = load <4 x float>* %c ; <<4 x float>> [#uses=1] - %tmp50 = load <4 x float>* %d ; <<4 x float>> [#uses=1] - %tmp51 = bitcast <4 x float> %tmp44 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp = shufflevector <4 x i32> %tmp51, <4 x i32> undef, <4 x i32> < i32 3, i32 3, i32 3, i32 3 > ; <<4 x i32>> [#uses=2] - %tmp52 = bitcast <4 x i32> %tmp to <4 x float> ; <<4 x float>> [#uses=1] - %tmp60 = xor <4 x i32> %tmp, < i32 -2147483648, i32 -2147483648, i32 -2147483648, i32 -2147483648 > ; <<4 x i32>> [#uses=1] - %tmp61 = bitcast <4 x i32> %tmp60 to <4 x float> ; <<4 x float>> [#uses=1] - %tmp74 = tail call <4 x float> @llvm.x86.sse.cmp.ps( <4 x float> %tmp52, <4 x float> %tmp44, i8 1 ) ; <<4 x float>> [#uses=1] - %tmp75 = bitcast <4 x float> %tmp74 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp88 = tail call <4 x float> @llvm.x86.sse.cmp.ps( <4 x float> %tmp44, <4 x float> %tmp61, i8 1 ) ; <<4 x float>> [#uses=1] - %tmp89 = bitcast <4 x float> %tmp88 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp98 = tail call <8 x i16> @llvm.x86.sse2.packssdw.128( <4 x i32> %tmp75, <4 x i32> %tmp89 ) ; <<4 x i32>> [#uses=1] - %tmp102 = bitcast <8 x i16> %tmp98 to <8 x i16> ; <<8 x i16>> [#uses=1] - %tmp.upgrd.1 = shufflevector <8 x i16> %tmp102, <8 x i16> undef, <8 x i32> < i32 0, i32 1, i32 2, i32 3, i32 6, i32 5, i32 4, i32 7 > ; <<8 x i16>> [#uses=1] - %tmp105 = shufflevector <8 x i16> %tmp.upgrd.1, <8 x i16> undef, <8 x i32> < i32 2, i32 1, i32 0, i32 3, i32 4, i32 5, i32 6, i32 7 > ; <<8 x i16>> [#uses=1] - %tmp105.upgrd.2 = bitcast <8 x i16> %tmp105 to <4 x float> ; <<4 x float>> [#uses=1] - store <4 x float> %tmp105.upgrd.2, <4 x float>* %a - %tmp108 = bitcast <4 x float> %tmp46 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp109 = shufflevector <4 x i32> %tmp108, <4 x i32> undef, <4 x i32> < i32 3, i32 3, i32 3, i32 3 > ; <<4 x i32>> [#uses=2] - %tmp109.upgrd.3 = bitcast <4 x i32> %tmp109 to <4 x float> ; <<4 x float>> [#uses=1] - %tmp119 = xor <4 x i32> %tmp109, < i32 -2147483648, i32 -2147483648, i32 -2147483648, i32 -2147483648 > ; <<4 x i32>> [#uses=1] - %tmp120 = bitcast <4 x i32> %tmp119 to <4 x float> ; <<4 x float>> [#uses=1] - %tmp133 = tail call <4 x float> @llvm.x86.sse.cmp.ps( <4 x float> %tmp109.upgrd.3, <4 x float> %tmp44, i8 1 ) ; <<4 x float>> [#uses=1] - %tmp134 = bitcast <4 x float> %tmp133 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp147 = tail call <4 x float> @llvm.x86.sse.cmp.ps( <4 x float> %tmp44, <4 x float> %tmp120, i8 1 ) ; <<4 x float>> [#uses=1] - %tmp148 = bitcast <4 x float> %tmp147 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp159 = tail call <8 x i16> @llvm.x86.sse2.packssdw.128( <4 x i32> %tmp134, <4 x i32> %tmp148 ) ; <<4 x i32>> [#uses=1] - %tmp163 = bitcast <8 x i16> %tmp159 to <8 x i16> ; <<8 x i16>> [#uses=1] - %tmp164 = shufflevector <8 x i16> %tmp163, <8 x i16> undef, <8 x i32> < i32 0, i32 1, i32 2, i32 3, i32 6, i32 5, i32 4, i32 7 > ; <<8 x i16>> [#uses=1] - %tmp166 = shufflevector <8 x i16> %tmp164, <8 x i16> undef, <8 x i32> < i32 2, i32 1, i32 0, i32 3, i32 4, i32 5, i32 6, i32 7 > ; <<8 x i16>> [#uses=1] - %tmp166.upgrd.4 = bitcast <8 x i16> %tmp166 to <4 x float> ; <<4 x float>> [#uses=1] - store <4 x float> %tmp166.upgrd.4, <4 x float>* %b - %tmp169 = bitcast <4 x float> %tmp48 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp170 = shufflevector <4 x i32> %tmp169, <4 x i32> undef, <4 x i32> < i32 3, i32 3, i32 3, i32 3 > ; <<4 x i32>> [#uses=2] - %tmp170.upgrd.5 = bitcast <4 x i32> %tmp170 to <4 x float> ; <<4 x float>> [#uses=1] - %tmp180 = xor <4 x i32> %tmp170, < i32 -2147483648, i32 -2147483648, i32 -2147483648, i32 -2147483648 > ; <<4 x i32>> [#uses=1] - %tmp181 = bitcast <4 x i32> %tmp180 to <4 x float> ; <<4 x float>> [#uses=1] - %tmp194 = tail call <4 x float> @llvm.x86.sse.cmp.ps( <4 x float> %tmp170.upgrd.5, <4 x float> %tmp44, i8 1 ) ; <<4 x float>> [#uses=1] - %tmp195 = bitcast <4 x float> %tmp194 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp208 = tail call <4 x float> @llvm.x86.sse.cmp.ps( <4 x float> %tmp44, <4 x float> %tmp181, i8 1 ) ; <<4 x float>> [#uses=1] - %tmp209 = bitcast <4 x float> %tmp208 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp220 = tail call <8 x i16> @llvm.x86.sse2.packssdw.128( <4 x i32> %tmp195, <4 x i32> %tmp209 ) ; <<4 x i32>> [#uses=1] - %tmp224 = bitcast <8 x i16> %tmp220 to <8 x i16> ; <<8 x i16>> [#uses=1] - %tmp225 = shufflevector <8 x i16> %tmp224, <8 x i16> undef, <8 x i32> < i32 0, i32 1, i32 2, i32 3, i32 6, i32 5, i32 4, i32 7 > ; <<8 x i16>> [#uses=1] - %tmp227 = shufflevector <8 x i16> %tmp225, <8 x i16> undef, <8 x i32> < i32 2, i32 1, i32 0, i32 3, i32 4, i32 5, i32 6, i32 7 > ; <<8 x i16>> [#uses=1] - %tmp227.upgrd.6 = bitcast <8 x i16> %tmp227 to <4 x float> ; <<4 x float>> [#uses=1] - store <4 x float> %tmp227.upgrd.6, <4 x float>* %c - %tmp230 = bitcast <4 x float> %tmp50 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp231 = shufflevector <4 x i32> %tmp230, <4 x i32> undef, <4 x i32> < i32 3, i32 3, i32 3, i32 3 > ; <<4 x i32>> [#uses=2] - %tmp231.upgrd.7 = bitcast <4 x i32> %tmp231 to <4 x float> ; <<4 x float>> [#uses=1] - %tmp241 = xor <4 x i32> %tmp231, < i32 -2147483648, i32 -2147483648, i32 -2147483648, i32 -2147483648 > ; <<4 x i32>> [#uses=1] - %tmp242 = bitcast <4 x i32> %tmp241 to <4 x float> ; <<4 x float>> [#uses=1] - %tmp255 = tail call <4 x float> @llvm.x86.sse.cmp.ps( <4 x float> %tmp231.upgrd.7, <4 x float> %tmp44, i8 1 ) ; <<4 x float>> [#uses=1] - %tmp256 = bitcast <4 x float> %tmp255 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp269 = tail call <4 x float> @llvm.x86.sse.cmp.ps( <4 x float> %tmp44, <4 x float> %tmp242, i8 1 ) ; <<4 x float>> [#uses=1] - %tmp270 = bitcast <4 x float> %tmp269 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp281 = tail call <8 x i16> @llvm.x86.sse2.packssdw.128( <4 x i32> %tmp256, <4 x i32> %tmp270 ) ; <<4 x i32>> [#uses=1] - %tmp285 = bitcast <8 x i16> %tmp281 to <8 x i16> ; <<8 x i16>> [#uses=1] - %tmp286 = shufflevector <8 x i16> %tmp285, <8 x i16> undef, <8 x i32> < i32 0, i32 1, i32 2, i32 3, i32 6, i32 5, i32 4, i32 7 > ; <<8 x i16>> [#uses=1] - %tmp288 = shufflevector <8 x i16> %tmp286, <8 x i16> undef, <8 x i32> < i32 2, i32 1, i32 0, i32 3, i32 4, i32 5, i32 6, i32 7 > ; <<8 x i16>> [#uses=1] - %tmp288.upgrd.8 = bitcast <8 x i16> %tmp288 to <4 x float> ; <<4 x float>> [#uses=1] - store <4 x float> %tmp288.upgrd.8, <4 x float>* %d - ret i32 0 -} - -declare <4 x float> @llvm.x86.sse.cmp.ps(<4 x float>, <4 x float>, i8) - -declare <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32>, <4 x i32>) diff --git a/test/CodeGen/X86/Stats/2006-05-02-InstrSched1.ll b/test/CodeGen/X86/Stats/2006-05-02-InstrSched1.ll deleted file mode 100644 index 1c75f93915..0000000000 --- a/test/CodeGen/X86/Stats/2006-05-02-InstrSched1.ll +++ /dev/null @@ -1,23 +0,0 @@ -; RUN: llc < %s -march=x86 -relocation-model=static -stats 2>&1 | \ -; RUN: grep asm-printer | grep 14 -; -@size20 = external global i32 ; <i32*> [#uses=1] -@in5 = external global i8* ; <i8**> [#uses=1] - -define i32 @compare(i8* %a, i8* %b) nounwind { - %tmp = bitcast i8* %a to i32* ; <i32*> [#uses=1] - %tmp1 = bitcast i8* %b to i32* ; <i32*> [#uses=1] - %tmp.upgrd.1 = load i32* @size20 ; <i32> [#uses=1] - %tmp.upgrd.2 = load i8** @in5 ; <i8*> [#uses=2] - %tmp3 = load i32* %tmp1 ; <i32> [#uses=1] - %gep.upgrd.3 = zext i32 %tmp3 to i64 ; <i64> [#uses=1] - %tmp4 = getelementptr i8* %tmp.upgrd.2, i64 %gep.upgrd.3 ; <i8*> [#uses=2] - %tmp7 = load i32* %tmp ; <i32> [#uses=1] - %gep.upgrd.4 = zext i32 %tmp7 to i64 ; <i64> [#uses=1] - %tmp8 = getelementptr i8* %tmp.upgrd.2, i64 %gep.upgrd.4 ; <i8*> [#uses=2] - %tmp.upgrd.5 = tail call i32 @memcmp( i8* %tmp8, i8* %tmp4, i32 %tmp.upgrd.1 ) ; <i32> [#uses=1] - ret i32 %tmp.upgrd.5 -} - -declare i32 @memcmp(i8*, i8*, i32) - diff --git a/test/CodeGen/X86/Stats/2006-05-02-InstrSched2.ll b/test/CodeGen/X86/Stats/2006-05-02-InstrSched2.ll deleted file mode 100644 index 95eefa1e71..0000000000 --- a/test/CodeGen/X86/Stats/2006-05-02-InstrSched2.ll +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: llc < %s -march=x86 -stats 2>&1 | \ -; RUN: grep asm-printer | grep 13 - -define void @_ZN9__gnu_cxx9hashtableISt4pairIKPKciES3_NS_4hashIS3_EESt10_Select1stIS5_E5eqstrSaIiEE14find_or_insertERKS5__cond_true456.i(i8* %tmp435.i, i32* %tmp449.i.out) nounwind { -newFuncRoot: - br label %cond_true456.i -bb459.i.exitStub: ; preds = %cond_true456.i - store i32 %tmp449.i, i32* %tmp449.i.out - ret void -cond_true456.i: ; preds = %cond_true456.i, %newFuncRoot - %__s441.2.4.i = phi i8* [ %tmp451.i.upgrd.1, %cond_true456.i ], [ %tmp435.i, %newFuncRoot ] ; <i8*> [#uses=2] - %__h.2.4.i = phi i32 [ %tmp449.i, %cond_true456.i ], [ 0, %newFuncRoot ] ; <i32> [#uses=1] - %tmp446.i = mul i32 %__h.2.4.i, 5 ; <i32> [#uses=1] - %tmp.i = load i8* %__s441.2.4.i ; <i8> [#uses=1] - %tmp448.i = sext i8 %tmp.i to i32 ; <i32> [#uses=1] - %tmp449.i = add i32 %tmp448.i, %tmp446.i ; <i32> [#uses=2] - %tmp450.i = ptrtoint i8* %__s441.2.4.i to i32 ; <i32> [#uses=1] - %tmp451.i = add i32 %tmp450.i, 1 ; <i32> [#uses=1] - %tmp451.i.upgrd.1 = inttoptr i32 %tmp451.i to i8* ; <i8*> [#uses=2] - %tmp45435.i = load i8* %tmp451.i.upgrd.1 ; <i8> [#uses=1] - %tmp45536.i = icmp eq i8 %tmp45435.i, 0 ; <i1> [#uses=1] - br i1 %tmp45536.i, label %bb459.i.exitStub, label %cond_true456.i -} - diff --git a/test/CodeGen/X86/Stats/2006-05-11-InstrSched.ll b/test/CodeGen/X86/Stats/2006-05-11-InstrSched.ll deleted file mode 100644 index 37c510786a..0000000000 --- a/test/CodeGen/X86/Stats/2006-05-11-InstrSched.ll +++ /dev/null @@ -1,51 +0,0 @@ -; RUN: llc < %s -march=x86 -mtriple=i386-linux-gnu -mcpu=penryn -mattr=+sse2 -stats -realign-stack=0 2>&1 | \ -; RUN: grep "asm-printer" | grep 35 - -target datalayout = "e-p:32:32" -define void @foo(i32* %mc, i32* %bp, i32* %ms, i32* %xmb, i32* %mpp, i32* %tpmm, i32* %ip, i32* %tpim, i32* %dpp, i32* %tpdm, i32* %bpi, i32 %M) nounwind { -entry: - %tmp9 = icmp slt i32 %M, 5 ; <i1> [#uses=1] - br i1 %tmp9, label %return, label %cond_true - -cond_true: ; preds = %cond_true, %entry - %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %cond_true ] ; <i32> [#uses=2] - %tmp. = shl i32 %indvar, 2 ; <i32> [#uses=1] - %tmp.10 = add nsw i32 %tmp., 1 ; <i32> [#uses=2] - %tmp31 = add nsw i32 %tmp.10, -1 ; <i32> [#uses=4] - %tmp32 = getelementptr i32* %mpp, i32 %tmp31 ; <i32*> [#uses=1] - %tmp34 = bitcast i32* %tmp32 to <16 x i8>* ; <i8*> [#uses=1] - %tmp = load <16 x i8>* %tmp34, align 1 - %tmp42 = getelementptr i32* %tpmm, i32 %tmp31 ; <i32*> [#uses=1] - %tmp42.upgrd.1 = bitcast i32* %tmp42 to <4 x i32>* ; <<4 x i32>*> [#uses=1] - %tmp46 = load <4 x i32>* %tmp42.upgrd.1 ; <<4 x i32>> [#uses=1] - %tmp54 = bitcast <16 x i8> %tmp to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp55 = add <4 x i32> %tmp54, %tmp46 ; <<4 x i32>> [#uses=2] - %tmp55.upgrd.2 = bitcast <4 x i32> %tmp55 to <2 x i64> ; <<2 x i64>> [#uses=1] - %tmp62 = getelementptr i32* %ip, i32 %tmp31 ; <i32*> [#uses=1] - %tmp65 = bitcast i32* %tmp62 to <16 x i8>* ; <i8*> [#uses=1] - %tmp66 = load <16 x i8>* %tmp65, align 1 - %tmp73 = getelementptr i32* %tpim, i32 %tmp31 ; <i32*> [#uses=1] - %tmp73.upgrd.3 = bitcast i32* %tmp73 to <4 x i32>* ; <<4 x i32>*> [#uses=1] - %tmp77 = load <4 x i32>* %tmp73.upgrd.3 ; <<4 x i32>> [#uses=1] - %tmp87 = bitcast <16 x i8> %tmp66 to <4 x i32> ; <<4 x i32>> [#uses=1] - %tmp88 = add <4 x i32> %tmp87, %tmp77 ; <<4 x i32>> [#uses=2] - %tmp88.upgrd.4 = bitcast <4 x i32> %tmp88 to <2 x i64> ; <<2 x i64>> [#uses=1] - %tmp99 = tail call <4 x i32> @llvm.x86.sse2.psra.d( <4 x i32> %tmp88, <4 x i32> %tmp55 ) ; <<4 x i32>> [#uses=1] - %tmp99.upgrd.5 = bitcast <4 x i32> %tmp99 to <2 x i64> ; <<2 x i64>> [#uses=2] - %tmp110 = xor <2 x i64> %tmp99.upgrd.5, < i64 -1, i64 -1 > ; <<2 x i64>> [#uses=1] - %tmp111 = and <2 x i64> %tmp110, %tmp55.upgrd.2 ; <<2 x i64>> [#uses=1] - %tmp121 = and <2 x i64> %tmp99.upgrd.5, %tmp88.upgrd.4 ; <<2 x i64>> [#uses=1] - %tmp131 = or <2 x i64> %tmp121, %tmp111 ; <<2 x i64>> [#uses=1] - %tmp137 = getelementptr i32* %mc, i32 %tmp.10 ; <i32*> [#uses=1] - %tmp137.upgrd.7 = bitcast i32* %tmp137 to <2 x i64>* ; <<2 x i64>*> [#uses=1] - store <2 x i64> %tmp131, <2 x i64>* %tmp137.upgrd.7 - %tmp147 = add nsw i32 %tmp.10, 8 ; <i32> [#uses=1] - %tmp.upgrd.8 = icmp ne i32 %tmp147, %M ; <i1> [#uses=1] - %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=1] - br i1 %tmp.upgrd.8, label %cond_true, label %return - -return: ; preds = %cond_true, %entry - ret void -} - -declare <4 x i32> @llvm.x86.sse2.psra.d(<4 x i32>, <4 x i32>) diff --git a/test/CodeGen/X86/Stats/2008-02-18-TailMergingBug.ll b/test/CodeGen/X86/Stats/2008-02-18-TailMergingBug.ll deleted file mode 100644 index a1b973d7cc..0000000000 --- a/test/CodeGen/X86/Stats/2008-02-18-TailMergingBug.ll +++ /dev/null @@ -1,219 +0,0 @@ -; RUN: llc < %s -march=x86 -mcpu=yonah -stats 2>&1 | grep "Number of block tails merged" | grep 16 -; PR1909 - -@.str = internal constant [48 x i8] c"transformed bounds: (%.2f, %.2f), (%.2f, %.2f)\0A\00" ; <[48 x i8]*> [#uses=1] - -define void @minmax(float* %result) nounwind optsize { -entry: - %tmp2 = load float* %result, align 4 ; <float> [#uses=6] - %tmp4 = getelementptr float* %result, i32 2 ; <float*> [#uses=5] - %tmp5 = load float* %tmp4, align 4 ; <float> [#uses=10] - %tmp7 = getelementptr float* %result, i32 4 ; <float*> [#uses=5] - %tmp8 = load float* %tmp7, align 4 ; <float> [#uses=8] - %tmp10 = getelementptr float* %result, i32 6 ; <float*> [#uses=3] - %tmp11 = load float* %tmp10, align 4 ; <float> [#uses=8] - %tmp12 = fcmp olt float %tmp8, %tmp11 ; <i1> [#uses=5] - br i1 %tmp12, label %bb, label %bb21 - -bb: ; preds = %entry - %tmp23469 = fcmp olt float %tmp5, %tmp8 ; <i1> [#uses=1] - br i1 %tmp23469, label %bb26, label %bb30 - -bb21: ; preds = %entry - %tmp23 = fcmp olt float %tmp5, %tmp11 ; <i1> [#uses=1] - br i1 %tmp23, label %bb26, label %bb30 - -bb26: ; preds = %bb21, %bb - %tmp52471 = fcmp olt float %tmp2, %tmp5 ; <i1> [#uses=1] - br i1 %tmp52471, label %bb111, label %bb59 - -bb30: ; preds = %bb21, %bb - br i1 %tmp12, label %bb40, label %bb50 - -bb40: ; preds = %bb30 - %tmp52473 = fcmp olt float %tmp2, %tmp8 ; <i1> [#uses=1] - br i1 %tmp52473, label %bb111, label %bb59 - -bb50: ; preds = %bb30 - %tmp52 = fcmp olt float %tmp2, %tmp11 ; <i1> [#uses=1] - br i1 %tmp52, label %bb111, label %bb59 - -bb59: ; preds = %bb50, %bb40, %bb26 - br i1 %tmp12, label %bb72, label %bb80 - -bb72: ; preds = %bb59 - %tmp82475 = fcmp olt float %tmp5, %tmp8 ; <i1> [#uses=2] - %brmerge786 = or i1 %tmp82475, %tmp12 ; <i1> [#uses=1] - %tmp4.mux787 = select i1 %tmp82475, float* %tmp4, float* %tmp7 ; <float*> [#uses=1] - br i1 %brmerge786, label %bb111, label %bb103 - -bb80: ; preds = %bb59 - %tmp82 = fcmp olt float %tmp5, %tmp11 ; <i1> [#uses=2] - %brmerge = or i1 %tmp82, %tmp12 ; <i1> [#uses=1] - %tmp4.mux = select i1 %tmp82, float* %tmp4, float* %tmp7 ; <float*> [#uses=1] - br i1 %brmerge, label %bb111, label %bb103 - -bb103: ; preds = %bb80, %bb72 - br label %bb111 - -bb111: ; preds = %bb103, %bb80, %bb72, %bb50, %bb40, %bb26 - %iftmp.0.0.in = phi float* [ %tmp10, %bb103 ], [ %result, %bb26 ], [ %result, %bb40 ], [ %result, %bb50 ], [ %tmp4.mux, %bb80 ], [ %tmp4.mux787, %bb72 ] ; <float*> [#uses=1] - %iftmp.0.0 = load float* %iftmp.0.0.in ; <float> [#uses=1] - %tmp125 = fcmp ogt float %tmp8, %tmp11 ; <i1> [#uses=5] - br i1 %tmp125, label %bb128, label %bb136 - -bb128: ; preds = %bb111 - %tmp138477 = fcmp ogt float %tmp5, %tmp8 ; <i1> [#uses=1] - br i1 %tmp138477, label %bb141, label %bb145 - -bb136: ; preds = %bb111 - %tmp138 = fcmp ogt float %tmp5, %tmp11 ; <i1> [#uses=1] - br i1 %tmp138, label %bb141, label %bb145 - -bb141: ; preds = %bb136, %bb128 - %tmp167479 = fcmp ogt float %tmp2, %tmp5 ; <i1> [#uses=1] - br i1 %tmp167479, label %bb226, label %bb174 - -bb145: ; preds = %bb136, %bb128 - br i1 %tmp125, label %bb155, label %bb165 - -bb155: ; preds = %bb145 - %tmp167481 = fcmp ogt float %tmp2, %tmp8 ; <i1> [#uses=1] - br i1 %tmp167481, label %bb226, label %bb174 - -bb165: ; preds = %bb145 - %tmp167 = fcmp ogt float %tmp2, %tmp11 ; <i1> [#uses=1] - br i1 %tmp167, label %bb226, label %bb174 - -bb174: ; preds = %bb165, %bb155, %bb141 - br i1 %tmp125, label %bb187, label %bb195 - -bb187: ; preds = %bb174 - %tmp197483 = fcmp ogt float %tmp5, %tmp8 ; <i1> [#uses=2] - %brmerge790 = or i1 %tmp197483, %tmp125 ; <i1> [#uses=1] - %tmp4.mux791 = select i1 %tmp197483, float* %tmp4, float* %tmp7 ; <float*> [#uses=1] - br i1 %brmerge790, label %bb226, label %bb218 - -bb195: ; preds = %bb174 - %tmp197 = fcmp ogt float %tmp5, %tmp11 ; <i1> [#uses=2] - %brmerge788 = or i1 %tmp197, %tmp125 ; <i1> [#uses=1] - %tmp4.mux789 = select i1 %tmp197, float* %tmp4, float* %tmp7 ; <float*> [#uses=1] - br i1 %brmerge788, label %bb226, label %bb218 - -bb218: ; preds = %bb195, %bb187 - br label %bb226 - -bb226: ; preds = %bb218, %bb195, %bb187, %bb165, %bb155, %bb141 - %iftmp.7.0.in = phi float* [ %tmp10, %bb218 ], [ %result, %bb141 ], [ %result, %bb155 ], [ %result, %bb165 ], [ %tmp4.mux789, %bb195 ], [ %tmp4.mux791, %bb187 ] ; <float*> [#uses=1] - %iftmp.7.0 = load float* %iftmp.7.0.in ; <float> [#uses=1] - %tmp229 = getelementptr float* %result, i32 1 ; <float*> [#uses=7] - %tmp230 = load float* %tmp229, align 4 ; <float> [#uses=6] - %tmp232 = getelementptr float* %result, i32 3 ; <float*> [#uses=5] - %tmp233 = load float* %tmp232, align 4 ; <float> [#uses=10] - %tmp235 = getelementptr float* %result, i32 5 ; <float*> [#uses=5] - %tmp236 = load float* %tmp235, align 4 ; <float> [#uses=8] - %tmp238 = getelementptr float* %result, i32 7 ; <float*> [#uses=3] - %tmp239 = load float* %tmp238, align 4 ; <float> [#uses=8] - %tmp240 = fcmp olt float %tmp236, %tmp239 ; <i1> [#uses=5] - br i1 %tmp240, label %bb243, label %bb251 - -bb243: ; preds = %bb226 - %tmp253485 = fcmp olt float %tmp233, %tmp236 ; <i1> [#uses=1] - br i1 %tmp253485, label %bb256, label %bb260 - -bb251: ; preds = %bb226 - %tmp253 = fcmp olt float %tmp233, %tmp239 ; <i1> [#uses=1] - br i1 %tmp253, label %bb256, label %bb260 - -bb256: ; preds = %bb251, %bb243 - %tmp282487 = fcmp olt float %tmp230, %tmp233 ; <i1> [#uses=1] - br i1 %tmp282487, label %bb341, label %bb289 - -bb260: ; preds = %bb251, %bb243 - br i1 %tmp240, label %bb270, label %bb280 - -bb270: ; preds = %bb260 - %tmp282489 = fcmp olt float %tmp230, %tmp236 ; <i1> [#uses=1] - br i1 %tmp282489, label %bb341, label %bb289 - -bb280: ; preds = %bb260 - %tmp282 = fcmp olt float %tmp230, %tmp239 ; <i1> [#uses=1] - br i1 %tmp282, label %bb341, label %bb289 - -bb289: ; preds = %bb280, %bb270, %bb256 - br i1 %tmp240, label %bb302, label %bb310 - -bb302: ; preds = %bb289 - %tmp312491 = fcmp olt float %tmp233, %tmp236 ; <i1> [#uses=2] - %brmerge793 = or i1 %tmp312491, %tmp240 ; <i1> [#uses=1] - %tmp232.mux794 = select i1 %tmp312491, float* %tmp232, float* %tmp235 ; <float*> [#uses=1] - br i1 %brmerge793, label %bb341, label %bb333 - -bb310: ; preds = %bb289 - %tmp312 = fcmp olt float %tmp233, %tmp239 ; <i1> [#uses=2] - %brmerge792 = or i1 %tmp312, %tmp240 ; <i1> [#uses=1] - %tmp232.mux = select i1 %tmp312, float* %tmp232, float* %tmp235 ; <float*> [#uses=1] - br i1 %brmerge792, label %bb341, label %bb333 - -bb333: ; preds = %bb310, %bb302 - br label %bb341 - -bb341: ; preds = %bb333, %bb310, %bb302, %bb280, %bb270, %bb256 - %iftmp.14.0.in = phi float* [ %tmp238, %bb333 ], [ %tmp229, %bb280 ], [ %tmp229, %bb270 ], [ %tmp229, %bb256 ], [ %tmp232.mux, %bb310 ], [ %tmp232.mux794, %bb302 ] ; <float*> [#uses=1] - %iftmp.14.0 = load float* %iftmp.14.0.in ; <float> [#uses=1] - %tmp355 = fcmp ogt float %tmp236, %tmp239 ; <i1> [#uses=5] - br i1 %tmp355, label %bb358, label %bb366 - -bb358: ; preds = %bb341 - %tmp368493 = fcmp ogt float %tmp233, %tmp236 ; <i1> [#uses=1] - br i1 %tmp368493, label %bb371, label %bb375 - -bb366: ; preds = %bb341 - %tmp368 = fcmp ogt float %tmp233, %tmp239 ; <i1> [#uses=1] - br i1 %tmp368, label %bb371, label %bb375 - -bb371: ; preds = %bb366, %bb358 - %tmp397495 = fcmp ogt float %tmp230, %tmp233 ; <i1> [#uses=1] - br i1 %tmp397495, label %bb456, label %bb404 - -bb375: ; preds = %bb366, %bb358 - br i1 %tmp355, label %bb385, label %bb395 - -bb385: ; preds = %bb375 - %tmp397497 = fcmp ogt float %tmp230, %tmp236 ; <i1> [#uses=1] - br i1 %tmp397497, label %bb456, label %bb404 - -bb395: ; preds = %bb375 - %tmp397 = fcmp ogt float %tmp230, %tmp239 ; <i1> [#uses=1] - br i1 %tmp397, label %bb456, label %bb404 - -bb404: ; preds = %bb395, %bb385, %bb371 - br i1 %tmp355, label %bb417, label %bb425 - -bb417: ; preds = %bb404 - %tmp427499 = fcmp ogt float %tmp233, %tmp236 ; <i1> [#uses=2] - %brmerge797 = or i1 %tmp427499, %tmp355 ; <i1> [#uses=1] - %tmp232.mux798 = select i1 %tmp427499, float* %tmp232, float* %tmp235 ; <float*> [#uses=1] - br i1 %brmerge797, label %bb456, label %bb448 - -bb425: ; preds = %bb404 - %tmp427 = fcmp ogt float %tmp233, %tmp239 ; <i1> [#uses=2] - %brmerge795 = or i1 %tmp427, %tmp355 ; <i1> [#uses=1] - %tmp232.mux796 = select i1 %tmp427, float* %tmp232, float* %tmp235 ; <float*> [#uses=1] - br i1 %brmerge795, label %bb456, label %bb448 - -bb448: ; preds = %bb425, %bb417 - br label %bb456 - -bb456: ; preds = %bb448, %bb425, %bb417, %bb395, %bb385, %bb371 - %iftmp.21.0.in = phi float* [ %tmp238, %bb448 ], [ %tmp229, %bb395 ], [ %tmp229, %bb385 ], [ %tmp229, %bb371 ], [ %tmp232.mux796, %bb425 ], [ %tmp232.mux798, %bb417 ] ; <float*> [#uses=1] - %iftmp.21.0 = load float* %iftmp.21.0.in ; <float> [#uses=1] - %tmp458459 = fpext float %iftmp.21.0 to double ; <double> [#uses=1] - %tmp460461 = fpext float %iftmp.7.0 to double ; <double> [#uses=1] - %tmp462463 = fpext float %iftmp.14.0 to double ; <double> [#uses=1] - %tmp464465 = fpext float %iftmp.0.0 to double ; <double> [#uses=1] - %tmp467 = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([48 x i8]* @.str, i32 0, i32 0), double %tmp464465, double %tmp462463, double %tmp460461, double %tmp458459 ) nounwind ; <i32> [#uses=0] - ret void -} - -declare i32 @printf(i8*, ...) nounwind diff --git a/test/CodeGen/X86/Stats/2008-10-27-CoalescerBug.ll b/test/CodeGen/X86/Stats/2008-10-27-CoalescerBug.ll deleted file mode 100644 index b2cf34cd20..0000000000 --- a/test/CodeGen/X86/Stats/2008-10-27-CoalescerBug.ll +++ /dev/null @@ -1,51 +0,0 @@ -; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=+sse2 -stats 2>&1 | FileCheck %s -; Now this test spills one register. But a reload in the loop is cheaper than -; the divsd so it's a win. - -define fastcc void @fourn(double* %data, i32 %isign) nounwind { -; CHECK: fourn -entry: - br label %bb - -bb: ; preds = %bb, %entry - %indvar93 = phi i32 [ 0, %entry ], [ %idim.030, %bb ] ; <i32> [#uses=2] - %idim.030 = add i32 %indvar93, 1 ; <i32> [#uses=1] - %0 = add i32 %indvar93, 2 ; <i32> [#uses=1] - %1 = icmp sgt i32 %0, 2 ; <i1> [#uses=1] - br i1 %1, label %bb30.loopexit, label %bb - -; CHECK: %bb30.loopexit -; CHECK: divsd %xmm0 -; CHECK: movsd %xmm0, 16(%esp) -; CHECK: %bb3 -bb3: ; preds = %bb30.loopexit, %bb25, %bb3 - %2 = load i32* null, align 4 ; <i32> [#uses=1] - %3 = mul i32 %2, 0 ; <i32> [#uses=1] - %4 = icmp slt i32 0, %3 ; <i1> [#uses=1] - br i1 %4, label %bb18, label %bb3 - -bb18: ; preds = %bb3 - %5 = fdiv double %11, 0.000000e+00 ; <double> [#uses=1] - %6 = tail call double @sin(double %5) nounwind readonly ; <double> [#uses=1] - br label %bb24.preheader - -bb22.preheader: ; preds = %bb24.preheader, %bb22.preheader - br label %bb22.preheader - -bb25: ; preds = %bb24.preheader - %7 = fmul double 0.000000e+00, %6 ; <double> [#uses=0] - %8 = add i32 %i3.122100, 0 ; <i32> [#uses=1] - %9 = icmp sgt i32 %8, 0 ; <i1> [#uses=1] - br i1 %9, label %bb3, label %bb24.preheader - -bb24.preheader: ; preds = %bb25, %bb18 - %i3.122100 = or i32 0, 1 ; <i32> [#uses=2] - %10 = icmp slt i32 0, %i3.122100 ; <i1> [#uses=1] - br i1 %10, label %bb25, label %bb22.preheader - -bb30.loopexit: ; preds = %bb - %11 = fmul double 0.000000e+00, 0x401921FB54442D1C ; <double> [#uses=1] - br label %bb3 -} - -declare double @sin(double) nounwind readonly diff --git a/test/CodeGen/X86/Stats/2009-02-25-CommuteBug.ll b/test/CodeGen/X86/Stats/2009-02-25-CommuteBug.ll deleted file mode 100644 index 9cbf350940..0000000000 --- a/test/CodeGen/X86/Stats/2009-02-25-CommuteBug.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llc < %s -march=x86 -mattr=+sse2 -stats 2>&1 | not grep commuted -; rdar://6608609 - -define <2 x double> @t(<2 x double> %A, <2 x double> %B, <2 x double> %C) nounwind readnone { -entry: - %tmp.i2 = bitcast <2 x double> %B to <2 x i64> ; <<2 x i64>> [#uses=1] - %tmp2.i = or <2 x i64> %tmp.i2, <i64 4607632778762754458, i64 4607632778762754458> ; <<2 x i64>> [#uses=1] - %tmp3.i = bitcast <2 x i64> %tmp2.i to <2 x double> ; <<2 x double>> [#uses=1] - %0 = tail call <2 x double> @llvm.x86.sse2.add.sd(<2 x double> %A, <2 x double> %tmp3.i) nounwind readnone ; <<2 x double>> [#uses=1] - %tmp.i = fadd <2 x double> %0, %C ; <<2 x double>> [#uses=1] - ret <2 x double> %tmp.i -} - -declare <2 x double> @llvm.x86.sse2.add.sd(<2 x double>, <2 x double>) nounwind readnone diff --git a/test/CodeGen/X86/Stats/2009-02-26-MachineLICMBug.ll b/test/CodeGen/X86/Stats/2009-02-26-MachineLICMBug.ll deleted file mode 100644 index d50fe6f73a..0000000000 --- a/test/CodeGen/X86/Stats/2009-02-26-MachineLICMBug.ll +++ /dev/null @@ -1,56 +0,0 @@ -; RUN: llc < %s -march=x86-64 -mattr=+sse3,+sse41 -mcpu=penryn -stats 2>&1 | grep "5 machine-licm" -; RUN: llc < %s -march=x86-64 -mattr=+sse3,+sse41 -mcpu=penryn | FileCheck %s -; rdar://6627786 -; rdar://7792037 - -target triple = "x86_64-apple-darwin10.0" - %struct.Key = type { i64 } - %struct.__Rec = type opaque - %struct.__vv = type { } - -define %struct.__vv* @t(%struct.Key* %desc, i64 %p) nounwind ssp { -entry: - br label %bb4 - -bb4: ; preds = %bb.i, %bb26, %bb4, %entry -; CHECK: %bb4 -; CHECK: xorb -; CHECK: callq -; CHECK: movq -; CHECK: xorl -; CHECK: xorb - - %0 = call i32 (...)* @xxGetOffsetForCode(i32 undef) nounwind ; <i32> [#uses=0] - %ins = or i64 %p, 2097152 ; <i64> [#uses=1] - %1 = call i32 (...)* @xxCalculateMidType(%struct.Key* %desc, i32 0) nounwind ; <i32> [#uses=1] - %cond = icmp eq i32 %1, 1 ; <i1> [#uses=1] - br i1 %cond, label %bb26, label %bb4 - |