diff options
author | Chris Lattner <sabre@nondot.org> | 2005-03-23 23:48:56 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-03-23 23:48:56 +0000 |
commit | e04d51f4a5a91689367729ac2bd33f6f12d04842 (patch) | |
tree | 5fb688e256e969011eaeb1bfa3f549ef2a81e6b4 /test | |
parent | 8eec644862251e14add0d2707d655fcce91e8f70 (diff) | |
download | external_llvm-e04d51f4a5a91689367729ac2bd33f6f12d04842.zip external_llvm-e04d51f4a5a91689367729ac2bd33f6f12d04842.tar.gz external_llvm-e04d51f4a5a91689367729ac2bd33f6f12d04842.tar.bz2 |
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
Diffstat (limited to 'test')
-rw-r--r-- | test/Analysis/GlobalsModRef/chaining-analysis.ll | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/Analysis/GlobalsModRef/chaining-analysis.ll b/test/Analysis/GlobalsModRef/chaining-analysis.ll new file mode 100644 index 0000000..5caa0a8 --- /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 +} |