[llvm-commits] CVS: llvm/test/Regression/Transforms/InstCombine/2006-02-07-SextZextCrash.ll
Chris Lattner
lattner at cs.uiuc.edu
Tue Feb 7 11:07:37 PST 2006
Changes in directory llvm/test/Regression/Transforms/InstCombine:
2006-02-07-SextZextCrash.ll added (r1.1)
---
Log message:
new testcase that caused instcombine to crash on 176.gcc last night.
---
Diffs of the changes: (+22 -0)
2006-02-07-SextZextCrash.ll | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+)
Index: llvm/test/Regression/Transforms/InstCombine/2006-02-07-SextZextCrash.ll
diff -c /dev/null llvm/test/Regression/Transforms/InstCombine/2006-02-07-SextZextCrash.ll:1.1
*** /dev/null Tue Feb 7 13:07:36 2006
--- llvm/test/Regression/Transforms/InstCombine/2006-02-07-SextZextCrash.ll Tue Feb 7 13:07:25 2006
***************
*** 0 ****
--- 1,22 ----
+ ; RUN: llvm-as < %s | opt -instcombine -disable-output
+
+ %struct.rtx_const = type { uint, { %union.real_extract } }
+ %struct.rtx_def = type { int, [1 x %union.rtunion_def] }
+ %union.real_extract = type { double }
+ %union.rtunion_def = type { uint }
+
+ implementation ; Functions:
+
+ fastcc void %decode_rtx_const(%struct.rtx_def* %x, %struct.rtx_const* %value) {
+ %tmp.54 = getelementptr %struct.rtx_const* %value, int 0, uint 0 ; <uint*> [#uses=1]
+ %tmp.56 = getelementptr %struct.rtx_def* %x, int 0, uint 0 ; <int*> [#uses=1]
+ %tmp.57 = load int* %tmp.56 ; <int> [#uses=1]
+ %tmp.58 = shl int %tmp.57, ubyte 8 ; <int> [#uses=1]
+ %tmp.59 = shr int %tmp.58, ubyte 24 ; <int> [#uses=1]
+ %tmp.60 = cast int %tmp.59 to ushort ; <ushort> [#uses=1]
+ %tmp.61 = cast ushort %tmp.60 to uint ; <uint> [#uses=1]
+ %tmp.62 = shl uint %tmp.61, ubyte 16 ; <uint> [#uses=1]
+ %tmp.65 = or uint 0, %tmp.62 ; <uint> [#uses=1]
+ store uint %tmp.65, uint* %tmp.54
+ ret void
+ }
More information about the llvm-commits
mailing list