llvm-6502/include/llvm
Chris Lattner 998ef4a92d switch the second scalarrepl pass to use SSAUpdater. We run two scalarrepl passes: one
early in the cleanup code and one late interlaced with the inliner.  The second one is
important because inlining and other scalar optzns can unpin allocas, allowing them to 
be split up and promoted.  While important for performance, this is also relatively
rare, and we would previously force a (non-lazy) computation of DomFrontiers, which 
happened even if nothing became unpinned.

With this patch, the first pass of scalarrepl still promotes the vast bulk of allocas
in programs, but hte second pass has changed to use SSAUpdater, which is more "sparse"
and lazy.  This speeds up opt -O3 time on kimwitu++ (a c++ app) by about 1%.  The
numbers are interesting: the first pass promotes ~17500 allocas.  The second pass
promotes about 1600.  For non-C++ codes, the compile time win should be greater, 
because the second pass of scalarrepl does less.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123437 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-14 08:21:08 +00:00
..
ADT Remove MachineRegisterInfo::getLastVirtReg(), it was giving wrong results 2011-01-09 21:58:20 +00:00
Analysis Move some shift transforms out of instcombine and into InstructionSimplify. 2011-01-14 00:37:45 +00:00
Assembly
Bitcode Merge System into Support. 2010-11-29 18:16:10 +00:00
CodeGen Teach frame lowering to ignore debug values after the terminators. 2011-01-13 21:28:52 +00:00
CompilerDriver Merge System into Support. 2010-11-29 18:16:10 +00:00
Config Add some platform tests. 2011-01-13 19:17:28 +00:00
ExecutionEngine Merge System into Support. 2010-11-29 18:16:10 +00:00
MC Model :upper16: and :lower16: as ARM specific MCTargetExpr. This is a step 2011-01-13 07:58:56 +00:00
Object Completed :lower16: / :upper16: support for movw / movt pairs on Darwin. 2011-01-14 02:38:49 +00:00
Support switch the second scalarrepl pass to use SSAUpdater. We run two scalarrepl passes: one 2011-01-14 08:21:08 +00:00
Target Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there. 2011-01-10 12:39:04 +00:00
Transforms split SROA into two passes: one that uses DomFrontiers (-scalarrepl) 2011-01-14 08:13:00 +00:00
AbstractTypeUser.h
Argument.h
Attributes.h
AutoUpgrade.h
BasicBlock.h Merge System into Support. 2010-11-29 18:16:10 +00:00
CallGraphSCCPass.h
CallingConv.h Adding target specific calling conventions to support the MBlaze GCC function 2010-12-15 20:14:09 +00:00
CMakeLists.txt
Constant.h
Constants.h Remove casts between Value** and Constant**, which won't work if a 2011-01-14 08:07:43 +00:00
DerivedTypes.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Function.h
GlobalAlias.h FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
GlobalValue.h First step in fixing PR8927: 2011-01-08 16:42:36 +00:00
GlobalVariable.h FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
GVMaterializer.h
InitializePasses.h split SROA into two passes: one that uses DomFrontiers (-scalarrepl) 2011-01-14 08:13:00 +00:00
InlineAsm.h Do not model all INLINEASM instructions as having unmodelled side effects. 2011-01-07 23:50:32 +00:00
InstrTypes.h FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
Instruction.def
Instruction.h There is no need for isAssociative to take the type as an argument anymore. 2010-12-20 13:10:23 +00:00
Instructions.h Remove casts between Value** and Constant**, which won't work if a 2011-01-14 08:07:43 +00:00
IntrinsicInst.h remove the pointless check of MemoryUseIntrinsic from 2010-11-30 02:03:47 +00:00
Intrinsics.h
Intrinsics.td Make @llvm.invariant.start not be readonly, so that it has side-effects. This 2010-11-30 04:13:41 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td Add Neon VCVT instructions for f32 <-> f16 conversions. 2010-12-15 22:14:12 +00:00
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td
IntrinsicsXCore.td
LinkAllPasses.h sketch out a new early cse pass. No functionality yet. 2011-01-02 21:47:05 +00:00
LinkAllVMCore.h Missed a spot removing Alarm. 2010-12-07 18:50:33 +00:00
Linker.h
LLVMContext.h
Metadata.h
Module.h Merge System into Support. 2010-11-29 18:16:10 +00:00
OperandTraits.h FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
Operator.h
Pass.h
PassAnalysisSupport.h
PassManager.h
PassManagers.h
PassRegistry.h
PassSupport.h Merge System into Support. 2010-11-29 18:16:10 +00:00
SymbolTableListTraits.h
Type.h
TypeSymbolTable.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Use.h Simplify the allocation and freeing of Users' operand lists, now that 2011-01-07 20:29:02 +00:00
User.h Simplify the allocation and freeing of Users' operand lists, now that 2011-01-07 20:29:02 +00:00
Value.h Revert r122114 (CallbackVH observing use-list changes) because it caused severe slowdowns on the Linux self-host configuration. 2010-12-20 22:28:03 +00:00
ValueSymbolTable.h Merge System into Support. 2010-11-29 18:16:10 +00:00