| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 20277
|
| |
|
|
|
|
|
|
| |
Regression/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll
and PR515.
llvm-svn: 20224
|
| |
|
|
| |
llvm-svn: 20195
|
| |
|
|
| |
llvm-svn: 20194
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
infinite loops (using the new replaceSymbolicValuesWithConcrete method).
This patch reverts this patch:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050131/023830.html
... which was an attempted fix for this problem. Unfortunately, that patch
caused test/Regression/Transforms/IndVarsSimplify/exit_value_tests.llx to fail
and slightly castrated the entire analysis. This patch fixes it right.
This patch is dedicated to jeffc, for making me deal with this. :)
llvm-svn: 20146
|
| |
|
|
| |
llvm-svn: 20086
|
| |
|
|
| |
llvm-svn: 20065
|
| |
|
|
|
|
|
|
|
|
|
|
| |
into a temporary graph, remember it for later, then inline the tmp graph into
the call site.
In the case where there are other call sites to the same set of functions, this
permits us to just inline the temporary graph instead of all of the callees.
This turns N*M inlining situations into an N+M inlining situation.
llvm-svn: 20036
|
| |
|
|
| |
llvm-svn: 20035
|
| |
|
|
| |
llvm-svn: 20031
|
| |
|
|
| |
llvm-svn: 20018
|
| |
|
|
| |
llvm-svn: 19980
|
| |
|
|
| |
llvm-svn: 19979
|
| |
|
|
|
|
| |
a tasty speedup.
llvm-svn: 19978
|
| |
|
|
|
|
| |
different names. Large SCC's tend to be big, so this saves a lot of time.
llvm-svn: 19970
|
| |
|
|
| |
llvm-svn: 19968
|
| |
|
|
| |
llvm-svn: 19955
|
| |
|
|
| |
llvm-svn: 19942
|
| |
|
|
| |
llvm-svn: 19941
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Change the FunctionCalls and AuxFunctionCalls vectors into std::lists.
This makes many operations on these lists much more natural, and avoids
*exteremely* expensive copying of DSCallSites (e.g. moving nodes around
between lists, erasing a node from not the end of the vector, etc).
With a profile build of analyze, this speeds up BU DS from 25.14s to
12.59s on 176.gcc. I expect that it would help TD even more, but I don't
have data for it.
This effectively eliminates removeIdenticalCalls and children from the
profile, going from 6.53 to 0.27s.
llvm-svn: 19939
|
| |
|
|
|
|
| |
used here.
llvm-svn: 19913
|
| |
|
|
| |
llvm-svn: 19912
|
| |
|
|
|
|
| |
BB as the load are not included in the Cand* sets at all.
llvm-svn: 19911
|
| |
|
|
|
|
|
| |
not invalidated on entry and on exit of the block. This fixes some N^2
behavior in common cases, and speeds up gcc another 5% to 22.35s.
llvm-svn: 19910
|
| |
|
|
|
|
| |
This speeds up 176.gcc from 25.73s to 23.48s, which is 9.5%
llvm-svn: 19907
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
will cause us to miss cases where the input pointer to a load could be value
numbered to another load. Something like this:
%X = load int* %P1
%Y = load int* %P2
Those are obviously the same if P1/P2 are the same. The code this patch
removes attempts to handle that. However, since GCSE iterates, this doesn't
actually buy us anything: GCSE will first replace P1 or P2 with the other
one, then the load can be value numbered as equal.
Removing this code speeds up gcse a lot. On 176.gcc in debug mode, this
speeds up gcse from 29.08s -> 25.73s, a 13% savings.
llvm-svn: 19906
|
| |
|
|
|
|
|
|
|
| |
%A = alloca int
%V = load int* %A
value number %V to undef, not 0.
llvm-svn: 19905
|
| |
|
|
|
|
|
|
|
|
| |
If needed, this can be resurrected from CVS.
Note that several of the interfaces (e.g. the IPModRef ones) are supersumed
by generic AliasAnalysis interfaces that have been written since this code
was developed (and they are not DSA specific).
llvm-svn: 19864
|
| |
|
|
|
|
| |
program.
llvm-svn: 19818
|
| |
|
|
| |
llvm-svn: 19506
|
| |
|
|
|
|
|
| |
1. Rename createLoaderPass to CreateProfileLoaderPass
2. Opt shouldn't use the pass registered in CodeGen.
llvm-svn: 19431
|
| |
|
|
| |
llvm-svn: 19424
|
| |
|
|
| |
llvm-svn: 19412
|
| |
|
|
| |
llvm-svn: 19402
|
| |
|
|
| |
llvm-svn: 19121
|
| |
|
|
|
|
|
|
|
| |
a function call at the core of the loop inline and removing unused
stack variables from an often called function. This doesn't improve things
much, the real saving will be by reducing the number of calls to this
function (100K+ when linking kimwitu++).
llvm-svn: 19119
|
| |
|
|
|
|
|
| |
Regression/Analysis/GlobalsModRef/purecse.ll. Isn't this what the
-Woverload-whatever flag would warn about :)
llvm-svn: 19018
|
| |
|
|
| |
llvm-svn: 18964
|
| |
|
|
| |
llvm-svn: 18962
|
| |
|
|
| |
llvm-svn: 18957
|
| |
|
|
|
|
| |
abstract type.
llvm-svn: 18678
|
| |
|
|
|
|
| |
abstract type.
llvm-svn: 18676
|
| |
|
|
|
|
| |
Add some ifdefs for some stuff I like to be able to toggle easily
llvm-svn: 18665
|
| |
|
|
| |
llvm-svn: 18664
|
| |
|
|
| |
llvm-svn: 18630
|
| |
|
|
|
|
| |
Add getModRefInfo method to avoid overloaded virtuals
llvm-svn: 18601
|
| |
|
|
|
|
|
| |
Make only one print method to avoid overloaded virtual warnings when \
compiled with -Woverloaded-virtual
llvm-svn: 18589
|
| |
|
|
|
|
|
| |
All SPEC CFP 95 programs now work, though the JIT isn't loading -lf2c right
so they aren't testing correctly.
llvm-svn: 18499
|
| |
|
|
| |
llvm-svn: 18308
|
| |
|
|
|
|
|
| |
a must alias set unless all of the pointers in the resultant set are must
aliased together.
llvm-svn: 18275
|