diff options
author | Daniel Dunbar <daniel@zuster.org> | 2012-03-09 19:35:29 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2012-03-09 19:35:29 +0000 |
commit | e4775e165981eae6747d7cf9610880ed83b92726 (patch) | |
tree | 52ce0d2449a62648fb8204f9ac0c8a9c9e3b5a67 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 14eb17583698d1a7b7634c0740984fd9575063e7 (diff) | |
download | llvm-e4775e165981eae6747d7cf9610880ed83b92726.zip llvm-e4775e165981eae6747d7cf9610880ed83b92726.tar.gz llvm-e4775e165981eae6747d7cf9610880ed83b92726.tar.bz2 |
[AST/etc] Mark {getSourceRange(),getStartLoc(),getEndLoc()} as LLVM_READONLY.
- The theory here is that we have these functions sprinkled in all over the
place. This should allow the optimizer to at least realize it can still do
load CSE across these calls.
- I blindly marked all instances as such, even though the optimizer can infer
this attribute in some instances (some of the inline ones) as that was easier
and also, when given the choice between thinking and not thinking, I prefer
the latter.
You might think this is mere frivolity, but actually this is good for a .7 -
1.1% speedup on 403.gcc/combine.c, JSC/Interpreter.cpp,
OGF/NSBezierPath-OAExtensions.m.
llvm-svn: 152426
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions