diff options
author | Chris Lattner <sabre@nondot.org> | 2008-12-09 21:19:42 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-12-09 21:19:42 +0000 |
commit | 20d6f0982ad33818cfa141f80157ac13e36d5550 (patch) | |
tree | a2a28a065c7209cb9e3f7ebbf749ed75bf48d591 /include/llvm/Analysis | |
parent | 3579e44bf33ed34f8b498834bfb40e407082bf31 (diff) | |
download | external_llvm-20d6f0982ad33818cfa141f80157ac13e36d5550.zip external_llvm-20d6f0982ad33818cfa141f80157ac13e36d5550.tar.gz external_llvm-20d6f0982ad33818cfa141f80157ac13e36d5550.tar.bz2 |
Teach BasicAA::getModRefInfo(CallSite, CallSite) some
tricks based on readnone/readonly functions.
Teach memdep to look past readonly calls when analyzing
deps for a readonly call. This allows elimination of a
few more calls from 403.gcc:
before:
63 gvn - Number of instructions PRE'd
153986 gvn - Number of instructions deleted
50069 gvn - Number of loads deleted
after:
63 gvn - Number of instructions PRE'd
153991 gvn - Number of instructions deleted
50069 gvn - Number of loads deleted
5 calls isn't much, but this adds plumbing for the next change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60794 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis')
-rw-r--r-- | include/llvm/Analysis/MemoryDependenceAnalysis.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/llvm/Analysis/MemoryDependenceAnalysis.h b/include/llvm/Analysis/MemoryDependenceAnalysis.h index d7b1fbf..ceed0ab 100644 --- a/include/llvm/Analysis/MemoryDependenceAnalysis.h +++ b/include/llvm/Analysis/MemoryDependenceAnalysis.h @@ -248,7 +248,7 @@ namespace llvm { bool isLoad, BasicBlock::iterator ScanIt, BasicBlock *BB); - MemDepResult getCallSiteDependencyFrom(CallSite C, + MemDepResult getCallSiteDependencyFrom(CallSite C, bool isReadOnlyCall, BasicBlock::iterator ScanIt, BasicBlock *BB); void getNonLocalPointerDepFromBB(Value *Pointer, uint64_t Size, |