llvm/lib/Transforms/IPO
Chris Lattner bd38edfe23 If a global is just loaded and restored, realize that it is not changing
value.  This allows us to turn more globals into constants and eliminate them.
This patch implements GlobalOpt/load-store-global.llx.

Note that this patch speeds up 255.vortex from:

Output/255.vortex.out-cbe.time:program 7.640000
Output/255.vortex.out-llc.time:program 9.810000

to:

Output/255.vortex.out-cbe.time:program 7.250000
Output/255.vortex.out-llc.time:program 9.490000

Which isn't bad at all!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17746 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 20:50:30 +00:00
..
ArgumentPromotion.cpp Remove debugging code 2004-11-13 23:32:53 +00:00
ConstantMerge.cpp 'Pass' should now not be derived from by clients. Instead, they should derive 2004-09-20 04:48:05 +00:00
DeadArgumentElimination.cpp 'Pass' should now not be derived from by clients. Instead, they should derive 2004-09-20 04:48:05 +00:00
DeadTypeElimination.cpp 'Pass' should now not be derived from by clients. Instead, they should derive 2004-09-20 04:48:05 +00:00
ExtractFunction.cpp 'Pass' should now not be derived from by clients. Instead, they should derive 2004-09-20 04:48:05 +00:00
FunctionResolution.cpp Disable the 'WARNING: Found global types that are not compatible' warning 2004-09-30 00:12:29 +00:00
GlobalDCE.cpp 'Pass' should now not be derived from by clients. Instead, they should derive 2004-09-20 04:48:05 +00:00
GlobalOpt.cpp If a global is just loaded and restored, realize that it is not changing 2004-11-14 20:50:30 +00:00
Inliner.cpp Fix the inliner to always delete any edges from the external call node to 2004-09-18 21:37:03 +00:00
Inliner.h Simplify the interface and remove an unneeded #include 2004-05-23 21:21:35 +00:00
InlineSimple.cpp Change this back so that I get stable numbers to reflect the change from the 2004-11-09 08:05:23 +00:00
Internalize.cpp 'Pass' should now not be derived from by clients. Instead, they should derive 2004-09-20 04:48:05 +00:00
IPConstantPropagation.cpp Remove note to self 2004-11-14 06:57:47 +00:00
LoopExtractor.cpp 'Pass' should now not be derived from by clients. Instead, they should derive 2004-09-20 04:48:05 +00:00
LowerSetJmp.cpp Comment cleanups 2004-10-07 06:00:24 +00:00
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
PruneEH.cpp Get this file compiling with VC++, patch contributed by Morten Ofstad. Thanks Morten! 2004-10-18 15:43:46 +00:00
RaiseAllocations.cpp Fix bug: 2004-11-08-FreeUseCrash.ll 2004-11-09 05:10:56 +00:00