llvm-6502/lib/CodeGen/SelectionDAG
Jakob Stoklund Olesen 2622f4622c When isel is emitting instructions for an x86 target without CMOV, the CFG is
edited during emission.

If the basic block ends in a switch that gets lowered to a jump table, any
phis at the default edge were getting updated wrong. The jump table data
structure keeps a pointer to the header blocks that wasn't getting updated
after the MBB is split.

This bug was exposed on 32-bit Linux when disabling critical edge splitting in
codegen prepare.

The fix is to uipdate stale MBB pointers whenever a block is split during
emission.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115191 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-30 19:44:31 +00:00
..
CMakeLists.txt Removed a bunch of unnecessary target_link_libraries. 2010-09-28 22:39:14 +00:00
DAGCombiner.cpp A select between a constant and zero, when fed by a bit test, can be efficiently 2010-09-22 22:58:22 +00:00
FastISel.cpp Use frame index, if available for byval argument while lowering dbg_declare. Otherwise let getRegForValue() find register for this argument. 2010-09-14 20:29:31 +00:00
FunctionLoweringInfo.cpp Reapply r112623. Included additional check for unused byval argument. 2010-08-31 22:22:42 +00:00
InstrEmitter.cpp Revert r112461. It was failing on PPC... 2010-08-30 04:36:50 +00:00
InstrEmitter.h
LegalizeDAG.cpp update a bunch of code to use the MachinePointerInfo version of getStore. 2010-09-21 18:41:36 +00:00
LegalizeFloatTypes.cpp update a bunch of code to use the MachinePointerInfo version of getStore. 2010-09-21 18:41:36 +00:00
LegalizeIntegerTypes.cpp propagate MachinePointerInfo through various uses of the old 2010-09-21 17:04:51 +00:00
LegalizeTypes.cpp continue MachinePointerInfo'izing, eliminating use of one of the old 2010-09-21 16:36:31 +00:00
LegalizeTypes.h implement SplitVecOp_CONCAT_VECTORS, fixing the included testcase with SSE1. 2010-08-26 05:51:22 +00:00
LegalizeTypesGeneric.cpp update a bunch of code to use the MachinePointerInfo version of getStore. 2010-09-21 18:41:36 +00:00
LegalizeVectorOps.cpp
LegalizeVectorTypes.cpp Don't try to make a vector of x86mmx; this won't work, 2010-09-27 17:29:14 +00:00
Makefile
ScheduleDAGFast.cpp Make fast scheduler handle asm clobbers correctly. 2010-08-17 22:17:24 +00:00
ScheduleDAGList.cpp
ScheduleDAGRRList.cpp
ScheduleDAGSDNodes.cpp Model Cortex-a9 load to SUB, RSB, ADD, ADC, SBC, RSC, CMN, MVN, or CMP 2010-09-29 22:42:35 +00:00
ScheduleDAGSDNodes.h Teach if-converter to be more careful with predicating instructions that would 2010-09-10 01:29:16 +00:00
SDNodeDbgValue.h
SDNodeOrdering.h
SelectionDAG.cpp finish pushing MachinePointerInfo through selectiondags. At this point, 2010-09-21 18:58:22 +00:00
SelectionDAGBuilder.cpp When isel is emitting instructions for an x86 target without CMOV, the CFG is 2010-09-30 19:44:31 +00:00
SelectionDAGBuilder.h When isel is emitting instructions for an x86 target without CMOV, the CFG is 2010-09-30 19:44:31 +00:00
SelectionDAGISel.cpp When isel is emitting instructions for an x86 target without CMOV, the CFG is 2010-09-30 19:44:31 +00:00
SelectionDAGPrinter.cpp Eliminate unnecessary empty string literals. 2010-08-04 01:39:08 +00:00
TargetLowering.cpp Fixed pr20314-2.c failure, added E, F, p constraint letters. 2010-09-21 22:04:54 +00:00
TargetSelectionDAGInfo.cpp