diff options
author | Chris Lattner <sabre@nondot.org> | 2003-06-25 17:08:34 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-06-25 17:08:34 +0000 |
commit | 262a79123b11abdd4dbaee8e8168405266236270 (patch) | |
tree | 6b85e7193b5586005f5bd6ebcafc5511a4fa7200 | |
parent | 83c39d2edb478e54818b9acc6685c001b76255c6 (diff) |
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6902 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Transforms/LevelRaise/2003-06-25-ExprAnalysis.ll | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/Transforms/LevelRaise/2003-06-25-ExprAnalysis.ll b/test/Transforms/LevelRaise/2003-06-25-ExprAnalysis.ll new file mode 100644 index 0000000000..0b0255a22d --- /dev/null +++ b/test/Transforms/LevelRaise/2003-06-25-ExprAnalysis.ll @@ -0,0 +1,27 @@ +; The expr analysis routines were being too aggressive across cast instructions! + +; RUN: if as < %s | opt -raise | dis | grep 4294967295 +; RUN: then exit 1 +; RUN: else exit 0 +; RUN: fi + +target endian = big +target pointersize = 64 + %struct..istack_struct = type { %struct..istack_struct*, %struct..istk_entry*, uint } + %struct..istk_entry = type { double, int, int, double, double, sbyte* } + +implementation ; Functions: +bool %Intersection(%struct..istack_struct* %tmp.0, uint %tmp.12) { ; No predecessors! + %tmp.8 = getelementptr %struct..istack_struct* %tmp.0, long 0, ubyte 1 ; <%struct..istk_entry**> [#uses=1] + %tmp.9 = load %struct..istk_entry** %tmp.8 ; <%struct..istk_entry*> [#uses=1] + %dec = sub uint %tmp.12, 1 ; <uint> [#uses=1] + %tmp.13 = cast uint %dec to ulong ; <ulong> [#uses=1] + %tmp.14 = mul ulong %tmp.13, 40 ; <ulong> [#uses=1] + %tmp.16 = cast %struct..istk_entry* %tmp.9 to long ; <long> [#uses=1] + %tmp.17 = cast ulong %tmp.14 to long ; <long> [#uses=1] + %tmp.18 = add long %tmp.16, %tmp.17 ; <long> [#uses=1] + %tmp.19 = cast long %tmp.18 to %struct..istk_entry* ; <%struct..istk_entry*> [#uses=1] + %tmp.21 = setne %struct..istk_entry* %tmp.19, null ; <bool> [#uses=1] + ret bool %tmp.21 +} + |