llvm-6502/lib
Chris Lattner c89c6a964c Implement PRE of loads in the GVN pass with a pretty cheap and
straight-forward implementation.  This does not require any extra
alias analysis queries beyond what we already do for non-local loads.

Some programs really really like load PRE.  For example, SPASS triggers
this ~1000 times, ~300 times in 255.vortex, and ~1500 times on 403.gcc.

The biggest limitation to the implementation is that it does not split
critical edges.  This is a huge killer on many programs and should be
addressed after the initial patch is enabled by default.

The implementation of this should incidentally speed up rejection of 
non-local loads because it avoids creating the repl densemap in cases 
when it won't be used for fully redundant loads.

This is currently disabled by default.
Before I turn this on, I need to fix a couple of miscompilations in
the testsuite, look at compile time performance numbers, and look at
perf impact.  This is pretty close to ready though.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60408 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-02 08:16:11 +00:00
..
Analysis Add a new SCEV representing signed division. 2008-12-02 08:05:48 +00:00
Archive Silence unused variable warnings. 2008-11-21 20:00:59 +00:00
AsmParser Extend the 'noalias' attribute to function return values. This is intended to 2008-11-24 03:41:24 +00:00
Bitcode Added support for the following definition of shufflevector 2008-11-10 04:46:22 +00:00
CodeGen Removed some unnecessary code in widening. 2008-12-02 07:35:08 +00:00
Debugger Initial support for the CMake build system. 2008-09-22 01:08:49 +00:00
ExecutionEngine Make JIT::runFunction handle functions with non-C calling conventions. 2008-11-23 08:00:11 +00:00
Linker Make comments and code for QuietWarnings and QuietErrors 2008-10-25 17:57:20 +00:00
Support fix build on some machines. thanks buildbot 2008-11-27 16:42:44 +00:00
System ARM / Mac OS X also wants to invalidate icache after jitting. 2008-11-14 02:33:17 +00:00
Target add a note 2008-12-02 06:32:34 +00:00
Transforms Implement PRE of loads in the GVN pass with a pretty cheap and 2008-12-02 08:16:11 +00:00
VMCore add a little helper function that does PHI translation. 2008-12-02 07:16:45 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00