aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-10-22 06:43:07 +0000
committerChris Lattner <sabre@nondot.org>2004-10-22 06:43:07 +0000
commit40e08082a0e38ccf55127db25d4cf5648a18aaed (patch)
tree1ddabc22ef70ec1d90480dec67afc559f12b0524
parent9b9918246caedae5b236cc1eabfb0634bc540437 (diff)
New testcase. Check for the ability to promote a malloc whose initialzed state is checked by the program
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17160 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/GlobalOpt/malloc-promote-3.llx26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/Transforms/GlobalOpt/malloc-promote-3.llx b/test/Transforms/GlobalOpt/malloc-promote-3.llx
new file mode 100644
index 0000000000..f2aad76e2b
--- /dev/null
+++ b/test/Transforms/GlobalOpt/malloc-promote-3.llx
@@ -0,0 +1,26 @@
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep malloc
+
+%G = internal global int* null
+
+void %init() {
+ %P = malloc int, uint 100
+ store int* %P, int** %G
+
+ %GV = load int** %G
+ %GVe = getelementptr int* %GV, int 40
+ store int 20, int* %GVe
+ ret void
+}
+
+int %get() {
+ %GV = load int** %G
+ %GVe = getelementptr int* %GV, int 40
+ %V = load int* %GVe
+ ret int %V
+}
+
+bool %check() { ;; Return true if init has been called
+ %GV = load int** %G
+ %V = seteq int* %GV, null
+ ret bool %V
+}