aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Assembler/2002-05-02-ParseError.ll10
-rw-r--r--test/Transforms/LevelRaise/2002-05-02-MissedRaise.ll23
2 files changed, 33 insertions, 0 deletions
diff --git a/test/Assembler/2002-05-02-ParseError.ll b/test/Assembler/2002-05-02-ParseError.ll
new file mode 100644
index 0000000000..3c2205d1fe
--- /dev/null
+++ b/test/Assembler/2002-05-02-ParseError.ll
@@ -0,0 +1,10 @@
+; This should parse correctly without an 'implementation', but there seems to
+; be a problem...
+
+ %List = type { int, %List* }
+
+%List* "test"()
+begin
+ ret %List* null
+end
+
diff --git a/test/Transforms/LevelRaise/2002-05-02-MissedRaise.ll b/test/Transforms/LevelRaise/2002-05-02-MissedRaise.ll
new file mode 100644
index 0000000000..1aba8f8f24
--- /dev/null
+++ b/test/Transforms/LevelRaise/2002-05-02-MissedRaise.ll
@@ -0,0 +1,23 @@
+; This testcase is not level raised properly...
+;
+; RUN: if as < %s | opt -raise | dis | grep ' cast ' | grep '*'
+; RUN: then exit 1
+; RUN: else exit 0
+; RUN: fi
+
+ %List = type { int, %List* }
+
+implementation
+
+%List* "createList"(uint %Depth)
+begin
+ %reg110 = malloc uint, uint 4
+ store uint %Depth, uint* %reg110
+ %reg113 = call %List* %createList( uint %Depth )
+ %reg217 = getelementptr uint* %reg110, uint 2
+ %cast221 = cast uint* %reg217 to %List**
+ store %List* %reg113, %List** %cast221
+ %cast222 = cast uint* %reg110 to %List*
+ ret %List* %cast222
+end
+