[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