[llvm-commits] CVS: llvm/test/Regression/Analysis/DSGraph/FunctionPointerTable-const.ll
Chris Lattner
lattner at cs.uiuc.edu
Mon Mar 21 12:19:08 PST 2005
Changes in directory llvm/test/Regression/Analysis/DSGraph:
FunctionPointerTable-const.ll added (r1.1)
---
Log message:
New testcase, which is important to handle correctly.
---
Diffs of the changes: (+27 -0)
FunctionPointerTable-const.ll | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+)
Index: llvm/test/Regression/Analysis/DSGraph/FunctionPointerTable-const.ll
diff -c /dev/null llvm/test/Regression/Analysis/DSGraph/FunctionPointerTable-const.ll:1.1
*** /dev/null Mon Mar 21 14:19:02 2005
--- llvm/test/Regression/Analysis/DSGraph/FunctionPointerTable-const.ll Mon Mar 21 14:18:51 2005
***************
*** 0 ****
--- 1,27 ----
+ ; RUN: analyze %s -datastructure-gc -dsgc-dspass=bu -dsgc-check-flags=Y:SHM && \
+ ; RUN: analyze %s -datastructure-gc -dsgc-dspass=td -dsgc-check-flags=P1:SHM,P2:SHM
+
+ %G = internal constant [2 x int*(int*)*] [
+ int*(int*)* %callee1, int*(int*)* %callee2
+ ]
+
+ implementation
+
+ internal int* %callee1(int* %P1) {
+ ret int* %P1
+ }
+
+ internal int* %callee2(int* %P2) {
+ %X = malloc int
+ ret int* %X
+ }
+
+ void %caller(int %callee) {
+ %FPP = getelementptr [2 x int*(int*)*]* %G, int 0, int %callee
+ %FP = load int*(int*)** %FPP
+
+ %Y = alloca int
+ %Z = call int* %FP(int* %Y)
+ store int 4, int* %Z
+ ret void
+ }
More information about the llvm-commits
mailing list