diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-04-20 00:38:45 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-04-20 00:38:45 +0000 |
commit | 205ee3b389812e19232f73b46677d132da18017f (patch) | |
tree | 64fe99cc87b8549eeac5999e91adb56c997e9e95 /llvm/test/Transforms/PhaseOrdering/basic.ll | |
parent | 9c74e4310c894a6083e8fe1d95a4d38526397fbb (diff) | |
download | bcm5719-llvm-205ee3b389812e19232f73b46677d132da18017f.tar.gz bcm5719-llvm-205ee3b389812e19232f73b46677d132da18017f.zip |
Revert r155136 "Defer some shl transforms to DAGCombine."
While the patch was perfect and defect free, it exposed a really nasty
bug in X86 SelectionDAG that caused an llc crash when compiling lencod.
I'll put the patch back in after fixing the SelectionDAG problem.
llvm-svn: 155181
Diffstat (limited to 'llvm/test/Transforms/PhaseOrdering/basic.ll')
-rw-r--r-- | llvm/test/Transforms/PhaseOrdering/basic.ll | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/llvm/test/Transforms/PhaseOrdering/basic.ll b/llvm/test/Transforms/PhaseOrdering/basic.ll index 88ebca0a9c3..2d52ae50df4 100644 --- a/llvm/test/Transforms/PhaseOrdering/basic.ll +++ b/llvm/test/Transforms/PhaseOrdering/basic.ll @@ -22,30 +22,3 @@ define void @test1() nounwind ssp { ; CHECK: @test1 ; CHECK-NEXT: ret void } - -; This function exposes a phase ordering problem when InstCombine is -; turning %add into a bitmask, making it difficult to spot a 0 return value. -; -; It it also important that %add is expressed as a multiple of %div so scalar -; evolution can recognize it. -define i32 @test2(i32 %a, i32* %p) nounwind uwtable ssp { -entry: - %div = udiv i32 %a, 4 - %arrayidx = getelementptr inbounds i32* %p, i64 0 - store i32 %div, i32* %arrayidx, align 4 - %add = add i32 %div, %div - %arrayidx1 = getelementptr inbounds i32* %p, i64 1 - store i32 %add, i32* %arrayidx1, align 4 - %arrayidx2 = getelementptr inbounds i32* %p, i64 1 - %0 = load i32* %arrayidx2, align 4 - %arrayidx3 = getelementptr inbounds i32* %p, i64 0 - %1 = load i32* %arrayidx3, align 4 - %mul = mul i32 2, %1 - %sub = sub i32 %0, %mul - ret i32 %sub - -; CHECK: @test2 -; CHECK: %div = lshr i32 %a, 2 -; CHECK: %add = shl nuw nsw i32 %div, 1 -; CHECK: ret i32 0 -} |