1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/lib/Analysis
Chris Lattner ae8d4bb675 Eliminate generality that is not buying us anything. In particular, this
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
2005-01-29 06:11:16 +00:00
..
DataStructure Remove this code as it is currently completely broken and unmaintained. 2005-01-28 06:12:46 +00:00
IPA Add even more missing createXxxPass functions. 2005-01-08 22:01:16 +00:00
AliasAnalysis.cpp
AliasAnalysisCounter.cpp Add even more missing createXxxPass functions. 2005-01-08 22:01:16 +00:00
AliasAnalysisEvaluator.cpp Add even more missing createXxxPass functions. 2005-01-08 22:01:16 +00:00
AliasSetTracker.cpp
BasicAliasAnalysis.cpp Add even more missing createXxxPass functions. 2005-01-08 22:01:16 +00:00
CFGPrinter.cpp
Expressions.cpp
InstCount.cpp
Interval.cpp
IntervalPartition.cpp
LoadValueNumbering.cpp Eliminate generality that is not buying us anything. In particular, this 2005-01-29 06:11:16 +00:00
LoopInfo.cpp
Makefile
PostDominators.cpp
ProfileInfo.cpp Add even more missing createXxxPass functions. 2005-01-08 22:01:16 +00:00
ProfileInfoLoader.cpp
ProfileInfoLoaderPass.cpp Apply feed back from Chris: 2005-01-10 03:56:27 +00:00
ScalarEvolution.cpp
Trace.cpp
ValueNumbering.cpp Add even more missing createXxxPass functions. 2005-01-08 22:01:16 +00:00