From: Chris Lattner Date: Wed, 23 Mar 2005 23:48:56 +0000 (+0000) Subject: GlobalMR should be able to analyze this function. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e04d51f4a5a91689367729ac2bd33f6f12d04842;p=oota-llvm.git GlobalMR should be able to analyze this function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20795 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Analysis/GlobalsModRef/chaining-analysis.ll b/test/Analysis/GlobalsModRef/chaining-analysis.ll new file mode 100644 index 00000000000..5caa0a8eb93 --- /dev/null +++ b/test/Analysis/GlobalsModRef/chaining-analysis.ll @@ -0,0 +1,20 @@ +; RUN: llvm-as < %s | opt -globalsmodref-aa -load-vn -gcse | llvm-dis | not grep load + +; This test requires the use of previous analyses to determine that +; doesnotmodX does not modify X (because 'sin' doesn't). + +%X = internal global int 4 + +declare double %sin(double) + +int %test(int *%P) { + store int 12, int* %X + call double %doesnotmodX(double 1.0) + %V = load int* %X + ret int %V +} + +double %doesnotmodX(double %V) { + %V2 = call double %sin(double %V) + ret double %V2 +}