diff options
| author | Dan Gohman <gohman@apple.com> | 2009-07-20 17:43:30 +0000 |
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2009-07-20 17:43:30 +0000 |
| commit | 33a3fd0b9c76d85c478de582d6a26d79c8ddefbb (patch) | |
| tree | 55c923200c556084716a302394241343e81c9ed6 /llvm/test/Transforms/InstCombine/add2.ll | |
| parent | 4041dfc360403ede97e0949ddc19a453b2bf6b27 (diff) | |
| download | bcm5719-llvm-33a3fd0b9c76d85c478de582d6a26d79c8ddefbb.tar.gz bcm5719-llvm-33a3fd0b9c76d85c478de582d6a26d79c8ddefbb.zip | |
Revert the addition of hasNoPointerOverflow to GEPOperator.
Getelementptrs that are defined to wrap are virtually useless to
optimization, and getelementptrs that are undefined on any kind
of overflow are too restrictive -- it's difficult to ensure that
all intermediate addresses are within bounds. I'm going to take
a different approach.
Remove a few optimizations that depended on this flag.
llvm-svn: 76437
Diffstat (limited to 'llvm/test/Transforms/InstCombine/add2.ll')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/add2.ll | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/llvm/test/Transforms/InstCombine/add2.ll b/llvm/test/Transforms/InstCombine/add2.ll index 161d56b40b5..cd67d96a01a 100644 --- a/llvm/test/Transforms/InstCombine/add2.ll +++ b/llvm/test/Transforms/InstCombine/add2.ll @@ -1,9 +1,4 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ -; RUN: grep -v OK | not grep add - -;; Target triple for gep raising case below. -target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" -target triple = "i686-apple-darwin8" +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep add define i64 @test1(i64 %A, i32 %B) { %tmp12 = zext i32 %B to i64 @@ -13,23 +8,6 @@ define i64 @test1(i64 %A, i32 %B) { ret i64 %tmp6 } -; PR1795 -define void @test2(i32 %.val24) { -EntryBlock: - add i32 %.val24, -12 - inttoptr i32 %0 to i32* - store i32 1, i32* %1 - add i32 %.val24, -16 - inttoptr i32 %2 to i32* - getelementptr i32* %3, i32 1 - load i32* %4 - tail call i32 @callee( i32 %5 ) - ret void -} - -declare i32 @callee(i32) - - define i32 @test3(i32 %A) { %B = and i32 %A, 7 %C = and i32 %A, 32 |

