aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlkis Evlogimenos <alkis@evlogimenos.com>2004-12-08 23:42:11 +0000
committerAlkis Evlogimenos <alkis@evlogimenos.com>2004-12-08 23:42:11 +0000
commita95cf3024b9a3c3ed6bf3e862d956ce46a8cbebe (patch)
tree9f28964153bdb5e2e32674672a91b67b7a69e449 /test
parent5cb77fb193853ee498f3bd6629c45d1eebcf47bb (diff)
Add testcase and fix for another case where we query the size an
abstract type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18676 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Analysis/BasicAA/2004-12-08-BasicAACrash.ll24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/Analysis/BasicAA/2004-12-08-BasicAACrash.ll b/test/Analysis/BasicAA/2004-12-08-BasicAACrash.ll
new file mode 100644
index 0000000000..4921824998
--- /dev/null
+++ b/test/Analysis/BasicAA/2004-12-08-BasicAACrash.ll
@@ -0,0 +1,24 @@
+; RUN: llvm-as < %s | opt -licm
+
+"java/lang/Object" = type { %struct.llvm_java_object_base }
+ "java/lang/StringBuffer" = type { "java/lang/Object", int, { "java/lang/Object", uint, [0 x ushort] }*, bool }
+ %struct.llvm_java_object_base = type opaque
+
+implementation ; Functions:
+
+void "java/lang/StringBuffer/setLength(I)V"(%struct.llvm_java_object_base*) {
+bc0:
+ br bool false, label %bc40, label %bc65
+
+bc65: ; preds = %bc0, %bc40
+ ret void
+
+bc40: ; preds = %bc0, %bc40
+ %tmp75 = cast %struct.llvm_java_object_base* %0 to "java/lang/StringBuffer"* ; <"java/lang/StringBuffer"*> [#uses=1]
+ %tmp76 = getelementptr "java/lang/StringBuffer"* %tmp75, int 0, uint 1 ; <int*> [#uses=1]
+ store int 0, int* %tmp76
+ %tmp381 = cast %struct.llvm_java_object_base* %0 to "java/lang/StringBuffer"* ; <"java/lang/StringBuffer"*> [#uses=1]
+ %tmp392 = getelementptr "java/lang/StringBuffer"* %tmp381, int 0, uint 1 ; <int*> [#uses=1]
+ %tmp403 = load int* %tmp392 ; <int> [#uses=0]
+ br bool false, label %bc40, label %bc65
+}