mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-17 03:30:28 +00:00
e47ba74b07
simplifications of the resultant program to avoid making later passes do it all. This allows us to constify globals that just have the same constant that they are initialized stored into them. Suprisingly this comes up ALL of the freaking time, dozens of times in SPEC, 30 times in vortex alone. For example, on 256.bzip2, it allows us to constify these two globals: %smallMode = internal global ubyte 0 ; <ubyte*> [#uses=8] %verbosity = internal global int 0 ; <int*> [#uses=49] Which (with later optimizations) results in the bytecode file shrinking from 82286 to 69686 bytes! Lets hear it for IPO :) For the record, it's nuking lots of "if (verbosity > 2) { do lots of stuff }" code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16793 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
ArgumentPromotion.cpp | ||
ConstantMerge.cpp | ||
DeadArgumentElimination.cpp | ||
DeadTypeElimination.cpp | ||
ExtractFunction.cpp | ||
FunctionResolution.cpp | ||
GlobalDCE.cpp | ||
GlobalOpt.cpp | ||
Inliner.cpp | ||
Inliner.h | ||
InlineSimple.cpp | ||
Internalize.cpp | ||
IPConstantPropagation.cpp | ||
LoopExtractor.cpp | ||
LowerSetJmp.cpp | ||
Makefile | ||
PruneEH.cpp | ||
RaiseAllocations.cpp |