llvm-6502/include/llvm
Chandler Carruth c57f5dd8bd Hoist the definition of getTypeSizeInBits to be inlinable and in the
header.

This method is called in the hot path for *many* passes, SROA is what
caught my interest. A common pattern is that which branch of the switch
should be taken is known in the callsite and so it is a very good
candidate for inlining and simplification. Moving it into the header
allows the optimizer to fold a lot of boring, repeatitive code in
callers of this routine.

I'm seeing pretty significant speedups in parts of SROA and I suspect
other passes will see similar speedups if they end up working with type
sizes frequently. I've not seen any significant growth of the binaries
as a consequence, but let me know if you see anything suspicious here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177632 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-21 09:52:22 +00:00
..
ADT Use pre-inc, pre-dec when possible. 2013-03-20 23:56:19 +00:00
Analysis Add std prefixes to fix the build with xlc. 2013-03-20 21:00:22 +00:00
Assembly Enable *BasicBlockPass::createPrinterPass() 2013-02-08 23:37:41 +00:00
Bitcode use memcpy instead of dubious union to type pun two values, 2013-02-13 04:53:40 +00:00
CodeGen Remove blank line before block comment. 2013-03-20 18:25:12 +00:00
Config Fix MSan annotations inclusion guard. 2013-02-13 10:40:01 +00:00
DebugInfo Add support for the pubnames section to llvm-dwarfdump. 2013-02-12 16:20:28 +00:00
ExecutionEngine Silence anonymous type in anonymous union warnings. 2013-03-15 00:42:55 +00:00
IR Hoist the definition of getTypeSizeInBits to be inlinable and in the 2013-03-21 09:52:22 +00:00
MC Dead code. 2013-03-19 22:12:47 +00:00
Object [llvm-readobj] Add ELF .dynamic table dumping. 2013-02-20 02:37:12 +00:00
Option Use LLVM_DELETED_FUNCTION rather than '// do not implement' comments. 2013-02-18 23:11:17 +00:00
Support Add timing of the IR parsing code with a new -time-ir-parsing flag 2013-03-20 17:00:25 +00:00
TableGen Make sure TableGen exits with an error code after printing errors. 2013-03-20 20:43:11 +00:00
Target Add SchedRW as an Instruction field. 2013-03-15 22:51:13 +00:00
Transforms [ASan] emit instrumentation for initialization order checking by default 2013-03-14 12:38:58 +00:00
AutoUpgrade.h
CMakeLists.txt Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
DebugInfo.h Removing unused DISubprogram::getFile 2013-03-21 00:10:31 +00:00
DIBuilder.h DIBuilder: allow linkage name to be specified for global variables 2013-03-20 17:49:48 +00:00
GVMaterializer.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
InitializePasses.h Remove -print-dbginfo as it is unused & bitrotten. 2013-03-08 18:17:46 +00:00
InstVisitor.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LinkAllIR.h Rename LinkAllVMCore.h to LinkAllIR.h since VMCore directory was renamed to IR. 2013-01-10 21:55:02 +00:00
LinkAllPasses.h Remove -print-dbginfo as it is unused & bitrotten. 2013-03-08 18:17:46 +00:00
Linker.h The Linker interface has some dead code after the cleanup in r172749 2013-03-19 15:26:24 +00:00
Pass.h moves doInitialization and doFinalization to the Pass class and removes some unreachable code in MachineModuleInfo 2012-12-03 21:56:57 +00:00
PassAnalysisSupport.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
PassManager.h One more step towards making doInitialization and doFinalization useful for 2012-11-29 17:47:05 +00:00
PassManagers.h Use a DenseMap instead of a std::map for AnalysisID -> Pass* maps. This reduces the pass-manager overhead from FPPassManager::runOnFunction() by about 10%. 2013-02-26 01:31:59 +00:00
PassRegistry.h
PassSupport.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00