llvm-6502/include/llvm
Jakob Stoklund Olesen f7477470d3 Try to keep the cached inliner costs around for a bit longer for big functions.
The Caller cost info would be reset everytime a callee was inlined. If the
caller has lots of calls and there is some mutual recursion going on, the
caller cost info could be calculated many times.

This patch reduces inliner runtime from 240s to 0.5s for a function with 20000
small function calls.

This is a more conservative version of r98089 that doesn't break the clang
test CodeGenCXX/temp-order.cpp. That test relies on rather extreme inlining
for constant folding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98099 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 23:02:17 +00:00
..
ADT Iterator traits and swap. closes PR6548 and PR6549 2010-03-08 20:45:52 +00:00
Analysis Try to keep the cached inliner costs around for a bit longer for big functions. 2010-03-09 23:02:17 +00:00
Assembly Add a hook to AssemblyAnnotationWriter to allow custom info comments 2010-02-10 20:41:46 +00:00
Bitcode Add support for a union type in LLVM IR. Patch by Talin! 2010-02-12 20:49:41 +00:00
CodeGen reapply r98035: 2010-03-09 04:54:43 +00:00
CompilerDriver Make it not an error to specify -O* options several times. 2010-03-05 04:46:39 +00:00
Config Reconfigure with autoconf-2.60, and fix autoconf.ac to work with that version. 2010-02-03 02:11:49 +00:00
ExecutionEngine Move --march, --mcpu, and --mattr from JIT/TargetSelect.cpp to lli.cpp. 2010-02-05 16:19:36 +00:00
MC add a EmitSymbolValue convenience method to MCStreamer. 2010-03-09 00:39:24 +00:00
Support Start using DIFile. See updated SourceLevelDebugging.html for more information. 2010-03-09 00:44:10 +00:00
System Fix various doxygen warnings. 2010-02-22 04:10:52 +00:00
Target Change the Value argument to eliminateFrameIndex to a type-tagged value. This 2010-03-09 21:45:49 +00:00
Transforms Try to keep the cached inliner costs around for a bit longer for big functions. 2010-03-09 23:02:17 +00:00
AbstractTypeUser.h When a constant's type is refined, update the constant in place 2009-09-15 15:58:07 +00:00
Argument.h sink twine.h down out of Value.h. It is annoying that you need 2009-12-29 07:12:03 +00:00
Attributes.h Reduce size of 'StackAlignment' field from 5 to 3 bits. Seriously, who needs a 2010-02-21 04:26:06 +00:00
AutoUpgrade.h
BasicBlock.h sink twine.h down out of Value.h. It is annoying that you need 2009-12-29 07:12:03 +00:00
CallGraphSCCPass.h elimiante the dynamic_cast's from opt. 2010-01-22 06:03:06 +00:00
CallingConv.h Add MSP430 interrupt calling conv. No functionality change yet. 2009-12-07 02:27:35 +00:00
CMakeLists.txt
Constant.h eliminate a bunch of pointless LLVMContext arguments. 2010-02-01 20:48:08 +00:00
Constants.h Add more information to the getSizeOf comment. 2010-02-25 15:55:28 +00:00
DerivedTypes.h Add support for a union type in LLVM IR. Patch by Talin! 2010-02-12 20:49:41 +00:00
Function.h back this out for now. Growing Function is not good. 2010-01-21 20:10:22 +00:00
GlobalAlias.h sink twine.h down out of Value.h. It is annoying that you need 2009-12-29 07:12:03 +00:00
GlobalValue.h Add static methods to handle Linkage Types. 2010-03-06 07:22:39 +00:00
GlobalVariable.h sink twine.h down out of Value.h. It is annoying that you need 2009-12-29 07:12:03 +00:00
GVMaterializer.h Kill ModuleProvider and ghost linkage by inverting the relationship between 2010-01-27 20:34:15 +00:00
InlineAsm.h Fix "the the" and similar typos. 2010-02-10 16:03:48 +00:00
InstrTypes.h doxygenize some comments, patch by Peter Collingbourne! 2010-02-12 21:54:28 +00:00
Instruction.def rename indbr -> indirectbr to appease the residents of #llvm. 2009-10-28 00:19:10 +00:00
Instruction.h Fix "the the" and similar typos. 2010-02-10 16:03:48 +00:00
Instructions.h Fix various doxygen warnings. 2010-02-22 04:10:52 +00:00
IntrinsicInst.h Improve llvm.dbg.declare intrinsic by referring directly to the storage in its first argument, via function-local metadata (instead of via a bitcast). 2010-01-15 19:04:09 +00:00
Intrinsics.h Mention vAny and iPTRAny in a comment. 2010-02-09 16:59:14 +00:00
Intrinsics.td Update of 94055 to track the IR level call site information via an intrinsic. 2010-01-28 01:45:32 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td Revert r92939. These intrinsics get matched to LLVM instructions, 2010-01-07 21:43:58 +00:00
IntrinsicsXCore.td
LinkAllPasses.h remove anders-aa from mainline, it isn't maintained and is 2010-03-01 19:24:17 +00:00
LinkAllVMCore.h fix a warning. 2010-01-16 21:55:24 +00:00
Linker.h Fix "the the" and similar typos. 2010-02-10 16:03:48 +00:00
LLVMContext.h Final step in the metadata API restructuring: move the 2009-12-29 09:01:33 +00:00
Metadata.h Roll back r97918 again. Just configuring against llvm-gcc wasn't enough to run 2010-03-07 19:26:40 +00:00
Module.h Kill ModuleProvider and ghost linkage by inverting the relationship between 2010-01-27 20:34:15 +00:00
OperandTraits.h
Operator.h Remove a bunch of unused arguments from functions, silencing a 2009-10-14 20:28:33 +00:00
Pass.h Fix a few unused parameter warnings. 2010-02-17 23:55:26 +00:00
PassAnalysisSupport.h eliminate dynamic_cast from the pass manager. 2010-01-21 02:07:07 +00:00
PassManager.h Kill ModuleProvider and ghost linkage by inverting the relationship between 2010-01-27 20:34:15 +00:00
PassManagers.h Fix "the the" and similar typos. 2010-02-10 16:03:48 +00:00
PassSupport.h add a helper method. 2010-01-20 19:25:45 +00:00
SymbolTableListTraits.h Forward-declare ValueSymbolTable so that SymbolTableListTraits.h can be parsed by itself 2009-09-30 00:08:25 +00:00
Type.h Correct LastPrimitiveTyID: MetadataType is a primitive type. 2010-02-19 09:18:53 +00:00
TypeSymbolTable.h Pass StringRef by value. 2009-11-06 10:58:06 +00:00
Use.h
User.h
Value.h Add support for a union type in LLVM IR. Patch by Talin! 2010-02-12 20:49:41 +00:00
ValueSymbolTable.h Before existing NamedMDNode entry in the symbol table, remove any existing entry with the same name. 2010-01-26 22:03:41 +00:00