diff options
author | Chris Lattner <sabre@nondot.org> | 2002-03-14 16:35:50 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-03-14 16:35:50 +0000 |
commit | edef6552de36aa014d0fb534601241e901734165 (patch) | |
tree | 72ed937e6bc40c7e78991fd95c4bebf601491ae5 | |
parent | 015bf1a6ba72dec15628db24210aee34db473af3 (diff) | |
download | bcm5719-llvm-edef6552de36aa014d0fb534601241e901734165.tar.gz bcm5719-llvm-edef6552de36aa014d0fb534601241e901734165.zip |
New testcase for bugfx
llvm-svn: 1868
-rw-r--r-- | llvm/test/Regression/Transforms/LevelRaise/2002-03-14-ConvertableToGEPHang.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-03-14-ConvertableToGEPHang.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-03-14-ConvertableToGEPHang.ll new file mode 100644 index 00000000000..43ea8885ecd --- /dev/null +++ b/llvm/test/Regression/Transforms/LevelRaise/2002-03-14-ConvertableToGEPHang.ll @@ -0,0 +1,22 @@ +; This testcase found a bug in ConvertableToGEP that could cause an infinite loop +; Note that this code is actually miscompiled from the input source, but despite +; that, level raise should not hang! +; +; RUN: as < %s | opt -raise + + %Disjunct = type { \2 *, short, sbyte, sbyte *, { short, short, sbyte, sbyte, \2, sbyte * } *, { short, short, sbyte, sbyte, \2, sbyte * } * } +%chosen_disjuncts = uninitialized global %Disjunct * * ; <%Disjunct * * *> [#uses=1] +implementation + +void "build_image_array"() +begin +bb0: ;[#uses=0] + %reg109 = getelementptr %Disjunct * * * %chosen_disjuncts, uint 7 ; <%Disjunct * * *> [#uses=1] + %reg108 = load %Disjunct * * * %reg109, uint 0 ; <%Disjunct * *> [#uses=1] + %reg1000 = getelementptr %Disjunct * * %reg108, uint 3 ; <%Disjunct * *> [#uses=1] + %cast1007 = cast %Disjunct * * %reg1000 to sbyte * * ; <sbyte * *> [#uses=1] + %reg110 = load sbyte * * %cast1007 ; <sbyte *> [#uses=1] + %cast1008 = cast ulong 4 to sbyte * ; <sbyte *> [#uses=1] + %reg1001 = add sbyte * %reg110, %cast1008 ; <sbyte *> [#uses=0] + ret void +end |