diff options
author | Chris Lattner <sabre@nondot.org> | 2005-12-14 17:23:20 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-12-14 17:23:20 +0000 |
commit | fa1fb11cdc92bd95d94353e44c217e76d4aa2db1 (patch) | |
tree | 9ecc4fbcc45d70602fc2da84aef54df52bbcc9a0 | |
parent | 00cb95c9bef6b4d96994112422d9d66679dfe986 (diff) |
new (undefined) testcase, distilled from 126.gcc that scalarrepl crashes on
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24707 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll b/test/Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll new file mode 100644 index 0000000000..647311bae4 --- /dev/null +++ b/test/Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll @@ -0,0 +1,34 @@ +; RUN: llvm-as < %s | opt -scalarrepl -disable-output +target endian = big +target pointersize = 32 + %struct.rtx_def = type { [2 x ubyte], int, [1 x %union.rtunion_def] } + %union.rtunion_def = type { uint } + +implementation ; Functions: + +void %find_reloads() { +entry: + %c_addr.i = alloca sbyte ; <sbyte*> [#uses=1] + switch uint 0, label %return [ + uint 36, label %label.7 + uint 34, label %label.7 + uint 41, label %label.5 + ] + +label.5: ; preds = %entry + ret void + +label.7: ; preds = %entry, %entry + br bool false, label %then.4, label %switchexit.0 + +then.4: ; preds = %label.7 + %tmp.0.i = cast sbyte* %c_addr.i to int* ; <int*> [#uses=1] + store int 44, int* %tmp.0.i + ret void + +switchexit.0: ; preds = %label.7 + ret void + +return: ; preds = %entry + ret void +} |