llvm-6502/lib/Transforms/Utils
Benjamin Kramer 4da7f90b17 Add a little heuristic to Value::isUsedInBasicBlock to speed it up for small basic blocks.
- Calling getUser in a loop is much more expensive than iterating over a few instructions.
- Use it instead of the open-coded loop in AddrModeMatcher.
- 5% speedup on ARMDisassembler.cpp Release builds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145810 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-05 17:23:27 +00:00
..
AddrModeMatcher.cpp Add a little heuristic to Value::isUsedInBasicBlock to speed it up for small basic blocks. 2011-12-05 17:23:27 +00:00
BasicBlockUtils.cpp Fix a crashing bug in SplitBlock when it is called on a block with no 2011-08-24 18:07:01 +00:00
BasicInliner.cpp Refactor code from inlining and globalopt that checks whether a function definition is unused, and enhance it so it can tell that functions which are only used by a blockaddress are in fact dead. This probably doesn't happen much on most code, but the Linux kernel's _THIS_IP_ can trigger this issue with blockaddress. (GlobalDCE can also handle the given tescase, but we only run that at -O3.) Found while looking at PR11180. 2011-10-20 05:23:42 +00:00
BreakCriticalEdges.cpp LSR should avoid redundant edge splitting. 2011-10-04 03:50:44 +00:00
BuildLibCalls.cpp Add support for custom names for library functions in TargetLibraryInfo. Add a custom name for fwrite and fputs on x86-32 OSX. Make SimplifyLibCalls honor the custom 2011-11-17 01:27:36 +00:00
CloneFunction.cpp Remap blockaddress correctly when inlining a function. Fixes PR10162. 2011-10-21 20:45:19 +00:00
CloneModule.cpp Fix llvm::CloneModule to correctly clone globals. Patch per bug report by Simon Moll on llvmdev. 2011-08-15 21:05:06 +00:00
CMakeLists.txt build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
CodeExtractor.cpp Use ArrayRef instead of an explicit 'const std::vector &'. 2011-09-20 19:05:04 +00:00
DemoteRegToStack.cpp Make sure we don't insert instructions before a landingpad instruction. 2011-11-07 19:38:34 +00:00
InlineFunction.cpp Fix quadratic behavior in InlineFunction by fetching the personality function of the callee once and not for every invoke in the caller. 2011-12-02 18:37:31 +00:00
InstructionNamer.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
LCSSA.cpp There is no need to force DebugLoc on a PHI at this point. 2011-05-16 22:05:03 +00:00
LLVMBuild.txt LLVMBuild: Alphabetize required_libraries lists. 2011-11-11 22:59:23 +00:00
Local.cpp Fix a theoretical problem (not seen in the wild): if different instances of a 2011-11-29 18:26:38 +00:00
LoopSimplify.cpp Propagate TargetLibraryInfo throughout ConstantFolding.cpp and 2011-12-01 03:08:23 +00:00
LoopUnroll.cpp Comments. Thanks for the spell check Nick! 2011-08-10 18:07:05 +00:00
LowerExpectIntrinsic.cpp Add a proper LLVM banner to this file. 2011-10-16 22:15:07 +00:00
LowerInvoke.cpp When inserting new instructions, use getFirstInsertionPt instead of 2011-08-25 01:08:34 +00:00
LowerSwitch.cpp Clean up uses of switch instructions so they are not dependent on the operand ordering. Patch by Stepan Dyatkovskiy. 2011-09-29 20:21:17 +00:00
Makefile make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
Mem2Reg.cpp Remove outdated references to dominance frontiers. 2011-01-18 03:53:26 +00:00
ModuleUtils.cpp test commit to verify that commit access works (added blank line) 2011-11-16 01:14:38 +00:00
PromoteMemoryToRegister.cpp Propagate TargetLibraryInfo throughout ConstantFolding.cpp and 2011-12-01 03:08:23 +00:00
SimplifyCFG.cpp Delete trivial landing pads that just continue unwinding the caught 2011-09-05 12:57:57 +00:00
SimplifyIndVar.cpp Fix an overly general check in SimplifyIndvar to handle useless phi cycles. 2011-11-17 23:36:35 +00:00
SimplifyInstructions.cpp Propagate TargetLibraryInfo throughout ConstantFolding.cpp and 2011-12-01 03:08:23 +00:00
SSAUpdater.cpp Make headers standalone, move a virtual method out of line. 2011-11-14 17:22:45 +00:00
UnifyFunctionExitNodes.cpp Remove PHINode::reserveOperandSpace(). Instead, add a parameter to 2011-03-30 11:28:46 +00:00
Utils.cpp Add a new convenience pass for testing InstructionSimplify. Previously 2010-12-20 20:54:37 +00:00
ValueMapper.cpp We need to map DebugLoc. It leads to Fuction * (through subprogram entry node) which should be appropriately mapped. 2011-08-04 20:02:18 +00:00