llvm-6502/lib/Transforms/Utils
Chris Lattner 63168d2244 Do not let the numbering of PHI nodes placed in the function depend on
non-deterministic things like the ordering of blocks in the dominance
frontier of a BB.  Unfortunately, I don't know of a better way to solve
this problem than to explicitly sort the BB's in function-order before
processing them.  This is guaranteed to slow the pass down a bit, but
is absolutely necessary to get usable diffs between two different tools
executing the mem2reg or scalarrepl pass.

Before this, bazillions of spurious diff failures occurred all over the
place due to the different order of processing PHIs:

-       %tmp.111 = getelementptr %struct.Connector_struct* %upcon.0.0, uint 0, uint 0
+       %tmp.111 = getelementptr %struct.Connector_struct* %upcon.0.1, uint 0, uint 0

Now, the diffs match.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14244 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-19 07:40:14 +00:00
..
BasicBlockUtils.cpp
BreakCriticalEdges.cpp
CloneFunction.cpp
CloneModule.cpp Convert to SymbolTable's new iteration interface. 2004-05-25 08:53:40 +00:00
CloneTrace.cpp Add CloneTraceInto(), which is based on (and has mostly the same 2004-05-19 09:08:14 +00:00
CodeExtractor.cpp Do not pass a null pointer if this instruction is not prepended or 2004-05-26 22:50:28 +00:00
DemoteRegToStack.cpp
InlineFunction.cpp
Linker.cpp Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID() 2004-06-17 18:19:28 +00:00
Local.cpp I love the smell of a freshly broken PowerPC build in the morning. 2004-06-17 22:27:04 +00:00
LoopSimplify.cpp Correct rewriting of exit blocks after my last patch 2004-04-18 22:27:10 +00:00
LowerAllocations.cpp
LowerInvoke.cpp Fix one of the major things that is causing the C Backend to infinite loop 2004-05-28 05:02:13 +00:00
LowerSelect.cpp
LowerSwitch.cpp
Makefile
Mem2Reg.cpp
PromoteMemoryToRegister.cpp Do not let the numbering of PHI nodes placed in the function depend on 2004-06-19 07:40:14 +00:00
SimplifyCFG.cpp Do not sort by the address of LLVM ConstantInt* objects. This produces 2004-06-19 07:02:14 +00:00
UnifyFunctionExitNodes.cpp Use one destination constructor for the unconditional branch. 2004-05-26 21:38:14 +00:00
ValueMapper.cpp
ValueMapper.h