llvm-6502/lib/Transforms/Utils
Owen Anderson e84178a0bd Extend SimplifyCFG's common-destination folding heuristic to allow a single
"bonus" instruction to be speculatively executed.  Add a heuristic to
ensure we're not tripping up out-of-order execution by checking that this bonus
instruction only uses values that were already guaranteed to be available.

This allows us to eliminate the short circuit in (x&1)&&(x&2).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108351 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-14 19:52:16 +00:00
..
AddrModeMatcher.cpp use getArgOperand instead of getOperand 2010-06-30 09:14:26 +00:00
BasicBlockUtils.cpp Move FindAvailableLoadedValue isSafeToLoadUnconditionally out of 2010-05-28 16:19:17 +00:00
BasicInliner.cpp refactor the interface to InlineFunction so that most of the in/out 2010-04-22 23:07:58 +00:00
BreakCriticalEdges.cpp cache result of operator* 2010-07-09 16:31:08 +00:00
BuildLibCalls.cpp use ArgOperand API and CallInst::ArgOffset 2010-06-28 12:29:20 +00:00
CloneFunction.cpp Use available typedef for " DenseMap<const Value*, Value*>". 2010-06-24 00:00:42 +00:00
CloneLoop.cpp Use ValueMap instead of DenseMap. 2010-06-24 00:33:28 +00:00
CloneModule.cpp Use available typedef for " DenseMap<const Value*, Value*>". 2010-06-24 00:00:42 +00:00
CMakeLists.txt Update CMake build. 2010-03-05 22:34:16 +00:00
CodeExtractor.cpp rename llvm::llvm_report_error -> llvm::report_fatal_error 2010-04-07 22:58:41 +00:00
DemoteRegToStack.cpp remove trailing whitespace 2010-06-16 22:41:09 +00:00
InlineFunction.cpp use callsite to obtain all arguments 2010-06-24 09:56:43 +00:00
InstructionNamer.cpp Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer. 2010-01-05 13:12:22 +00:00
LCSSA.cpp cache result of operator* 2010-07-09 14:29:14 +00:00
Local.cpp cache dereferenced iterators 2010-07-12 10:49:54 +00:00
LoopSimplify.cpp cache result of operator* 2010-07-09 16:26:41 +00:00
LoopUnroll.cpp Use ValueMap instead of DenseMap. 2010-06-24 00:33:28 +00:00
LowerInvoke.cpp lowerinvoke needs to handle aggregate function args like sjlj eh does. 2010-06-30 22:22:59 +00:00
LowerSwitch.cpp Change errs() to dbgs(). 2010-01-05 01:26:45 +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 Pull LLVMContext out of PromoteMemToReg. 2009-11-23 03:50:44 +00:00
PromoteMemoryToRegister.cpp cache result of operator* 2010-07-09 14:18:23 +00:00
SimplifyCFG.cpp Extend SimplifyCFG's common-destination folding heuristic to allow a single 2010-07-14 19:52:16 +00:00
SSAUpdater.cpp Combine the implementations of the core part of the SSAUpdater and 2010-05-04 23:18:19 +00:00
SSI.cpp Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer. 2010-01-05 13:12:22 +00:00
UnifyFunctionExitNodes.cpp Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer. 2010-01-05 13:12:22 +00:00
ValueMapper.cpp MDString is already checked earlier. 2010-07-02 21:13:23 +00:00
ValueMapper.h Use ValueMap instead of DenseMap. 2010-06-24 00:33:28 +00:00