summaryrefslogtreecommitdiff
path: root/test/Analysis
diff options
context:
space:
mode:
authorAlkis Evlogimenos <alkis@evlogimenos.com>2004-12-08 23:56:15 +0000
committerAlkis Evlogimenos <alkis@evlogimenos.com>2004-12-08 23:56:15 +0000
commitc49741d047f7cf1143aa34a3a97379a8d1b5f0e5 (patch)
tree9abae7b524a52e4b11681ed6f2e93af0be253de7 /test/Analysis
parentea1c45405d8e886497cabb90370e82114d4166ba (diff)
downloadllvm-c49741d047f7cf1143aa34a3a97379a8d1b5f0e5.tar.gz
llvm-c49741d047f7cf1143aa34a3a97379a8d1b5f0e5.tar.bz2
llvm-c49741d047f7cf1143aa34a3a97379a8d1b5f0e5.tar.xz
Add testcase and fix for yet another case where we query the size an
abstract type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18678 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis')
-rw-r--r--test/Analysis/BasicAA/2004-12-08-BasicAACrash2.ll22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/Analysis/BasicAA/2004-12-08-BasicAACrash2.ll b/test/Analysis/BasicAA/2004-12-08-BasicAACrash2.ll
new file mode 100644
index 0000000000..d856260bae
--- /dev/null
+++ b/test/Analysis/BasicAA/2004-12-08-BasicAACrash2.ll
@@ -0,0 +1,22 @@
+; RUN: llvm-as < %s | opt -dse
+
+"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/ensureCapacity_unsynchronized(I)V"() {
+bc0:
+ %tmp = getelementptr "java/lang/StringBuffer"* null, int 0, uint 3 ; <bool*> [#uses=1]
+ br bool false, label %bc16, label %bc7
+
+bc16: ; preds = %bc0
+ %tmp91 = getelementptr "java/lang/StringBuffer"* null, int 0, uint 2 ; <{ "java/lang/Object", uint, [0 x ushort] }**> [#uses=1]
+ store { "java/lang/Object", uint, [0 x ushort] }* null, { "java/lang/Object", uint, [0 x ushort] }** %tmp91
+ store bool false, bool* %tmp
+ ret void
+
+bc7: ; preds = %bc0
+ ret void
+}