llvm/lib/Transforms/Utils
Bob Wilson 84bd6b0c31 Re-commit my previous SSAUpdater changes. The previous version naively tried
to determine where to place PHIs by iteratively comparing reaching definitions
at each block.  That was just plain wrong.  This version now computes the
dominator tree within the subset of the CFG where PHIs may need to be placed,
and then places the PHIs in the iterated dominance frontier of each definition.
The rest of the patch is mostly the same, with a few more performance
improvements added in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101612 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-17 03:08:24 +00:00
..
AddrModeMatcher.cpp Revert 101465, it broke internal OpenGL testing. 2010-04-16 23:37:20 +00:00
BasicBlockUtils.cpp Code clean up. 2010-04-05 21:16:25 +00:00
BasicInliner.cpp Change errs() to dbgs(). 2010-01-05 01:26:39 +00:00
BreakCriticalEdges.cpp rename pred_const_iterator to const_pred_iterator for consistency's sake 2010-03-25 23:25:28 +00:00
BuildLibCalls.cpp Revert 101465, it broke internal OpenGL testing. 2010-04-16 23:37:20 +00:00
CloneFunction.cpp Avoid using DIDescriptor.isNull(). 2010-03-08 20:52:55 +00:00
CloneLoop.cpp Use do+while instead of while for loops which obviously have a 2010-01-05 16:27:25 +00:00
CloneModule.cpp MapValue doesn't needs its LLVMContext argument. 2009-10-24 23:37:16 +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 Revert yesterday's change by removing the LLVMContext parameter to AllocaInst and MallocInst. 2009-07-15 23:53:25 +00:00
InlineFunction.cpp Revert 101465, it broke internal OpenGL testing. 2010-04-16 23:37:20 +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 Add a DominatorTree argument to isLCSSA so that it doesn't have to 2010-03-10 19:38:49 +00:00
Local.cpp There are two ways of checking for a given type, for example isa<PointerType>(T) 2010-02-16 11:11:14 +00:00
LoopSimplify.cpp Skip debug info intrinsics. 2010-03-15 21:25:29 +00:00
LoopUnroll.cpp Add a DominatorTree argument to isLCSSA so that it doesn't have to 2010-03-10 19:38:49 +00:00
LowerInvoke.cpp Finally land the InvokeInst operand reordering. 2010-03-24 13:21:49 +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 rename use_const_iterator to const_use_iterator for consistency's sake 2010-03-25 23:06:16 +00:00
SimplifyCFG.cpp Fix a grammaro. 2010-03-30 20:04:57 +00:00
SSAUpdater.cpp Re-commit my previous SSAUpdater changes. The previous version naively tried 2010-04-17 03:08:24 +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 Avoid extra calls to MD->getNumOperands() 2010-01-26 23:29:09 +00:00