1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 22:42:46 +02:00
llvm-mirror/include/llvm
Chris Lattner c0bd89331e 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.

llvm-svn: 123437
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 lets get crazy and name the header file the exact class name, 2010-09-02 23:09:42 +00:00
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 give PATypeHolder an explicit copy ctor which initializes the type pointer, 2010-06-29 19:20:38 +00:00
Argument.h
Attributes.h Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op 2010-10-25 15:37:09 +00:00
AutoUpgrade.h Auto-upgrade the magic ".llvm.eh.catch.all.value" global to 2010-09-10 18:51:56 +00:00
BasicBlock.h Merge System into Support. 2010-11-29 18:16:10 +00:00
CallGraphSCCPass.h Remove assignPassManager's default arguments. It's really 2010-08-07 01:25:32 +00:00
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 Remove apparently unnecessary forward declaration. 2010-09-14 01:18:15 +00:00
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 Switch attribute macros to use 'LLVM_' as a prefix. We retain the old names 2010-10-23 08:10:43 +00:00
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 Kill ModuleProvider and ghost linkage by inverting the relationship between 2010-01-27 20:34:15 +00:00
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 Mention vAny and iPTRAny in a comment. 2010-02-09 16:59:14 +00:00
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 Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMem 2010-08-05 23:36:21 +00:00
IntrinsicsX86.td The pshufw instruction came about in MMX2 when SSE was introduced. Don't place 2010-10-04 20:24:01 +00:00
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 Remove obsolete comments about throwing exceptions. 2010-09-02 22:14:51 +00:00
LLVMContext.h now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate the 2010-11-17 08:13:01 +00:00
Metadata.h After Dan's recent commit this is no longer true. 2010-09-14 20:32:58 +00:00
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 Avoid warnings about implicit conversions to `bool' in MSVC. This time 2010-09-25 20:27:36 +00:00
Pass.h Add RegionPass support. 2010-10-20 01:54:44 +00:00
PassAnalysisSupport.h More #include cleanups. 2010-08-07 01:18:18 +00:00
PassManager.h Tidy some #includes and forward-declarations, and move the C binding code 2010-08-07 00:43:20 +00:00
PassManagers.h Add RegionPass support. 2010-10-20 01:54:44 +00:00
PassRegistry.h Attempt to fix valgrind complaining about (benign) leaks in pass registration by having PassRegistry 2010-10-20 22:22:30 +00:00
PassSupport.h Merge System into Support. 2010-11-29 18:16:10 +00:00
SymbolTableListTraits.h Avoid many "variable 'Sub' set but not used [-Wunused-but-set-variable]" warnings 2010-06-10 15:06:05 +00:00
Type.h Add x86MMX a few more places. 2010-09-15 00:52:23 +00:00
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