summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-07-31 21:06:29 +0000
committerChris Lattner <sabre@nondot.org>2002-07-31 21:06:29 +0000
commit69cea5424bdfcc3b2b549fdc5bfd1714607e620e (patch)
tree313dd4490c95a842b235305ef1740a5c6a65c2ab /test
parent1e60669d3b1fa910440bee6d029ebad4e733a582 (diff)
downloadexternal_llvm-69cea5424bdfcc3b2b549fdc5bfd1714607e620e.zip
external_llvm-69cea5424bdfcc3b2b549fdc5bfd1714607e620e.tar.gz
external_llvm-69cea5424bdfcc3b2b549fdc5bfd1714607e620e.tar.bz2
New testcase for level-raise crash inspired by SPEC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3189 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/LevelRaise/2002-07-31-AssertionFailure.ll31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/Transforms/LevelRaise/2002-07-31-AssertionFailure.ll b/test/Transforms/LevelRaise/2002-07-31-AssertionFailure.ll
new file mode 100644
index 0000000..cd22efb
--- /dev/null
+++ b/test/Transforms/LevelRaise/2002-07-31-AssertionFailure.ll
@@ -0,0 +1,31 @@
+; RUN: as < %s | opt -raise -raise-start-inst=cast271
+
+ %CON_list = type { %CON_list*, %CON_node* }
+ %CON_node = type { %DIS_list*, %DIS_list*, int }
+ %DIS_list = type { %DIS_list*, %DIS_node* }
+ %DIS_node = type { %CON_list*, %List_o_links*, int }
+ %List_o_links = type { int, int, int, %List_o_links* }
+
+%word_links = internal uninitialized global [250 x %List_o_links*] ; <[250 x %List_o_links*]*> [#uses=1]
+
+implementation ; Functions:
+
+declare %DIS_node* %build_DIS_node(int)
+
+%CON_node* %build_CON_node(int %reg107) {
+ br label %bb5
+
+bb2: ;[#uses=3]
+ %reg126 = phi sbyte* [ %reg126, %bb2 ]
+ br bool true, label %bb2, label %bb5
+
+bb5: ;[#uses=2]
+ %reg125 = phi sbyte* [ %reg126, %bb2], [ null, %0 ]
+ %reg263 = malloc sbyte*, uint 3 ; <sbyte**> [#uses=4]
+ %reg2641 = getelementptr sbyte** %reg263, uint 1 ; <sbyte**> [#uses=1]
+ store sbyte* %reg125, sbyte** %reg2641
+ store sbyte* %reg125, sbyte** %reg263
+ %reg268 = getelementptr sbyte** %reg263, uint 2 ; <sbyte**> [#uses=1]
+ %cast271 = cast sbyte** %reg263 to %CON_node* ; <%CON_node*> [#uses=1]
+ ret %CON_node* %cast271
+}