1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/lib/CodeGen/SelectionDAG
Reid Kleckner 00daa6cd20 [WinEH] Move WinEHFuncInfo from MachineModuleInfo to MachineFunction
Summary:
Now that there is a one-to-one mapping from MachineFunction to
WinEHFuncInfo, we don't need to use a DenseMap to select the right
WinEHFuncInfo for the current funclet.

The main challenge here is that X86WinEHStatePass is an IR pass that
doesn't have access to the MachineFunction. I gave it its own
WinEHFuncInfo object that it uses to calculate state numbers, which it
then throws away. As long as nobody creates or removes EH pads between
this pass and SDAG construction, we will get the same state numbers.

The other thing X86WinEHStatePass does is to mark the EH registration
node. Instead of communicating which alloca was the registration through
WinEHFuncInfo, I added the llvm.x86.seh.ehregnode intrinsic.  This
intrinsic generates no code and simply marks the alloca in use.

Reviewers: JCTremoulet

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D14668

llvm-svn: 253378
2015-11-17 21:10:25 +00:00
..
CMakeLists.txt [Statepoints 3/4] Statepoint infrastructure for garbage collection: SelectionDAGBuilder 2014-12-02 18:50:36 +00:00
DAGCombiner.cpp [DAGCombiner] Improve zextload optimization. 2015-11-11 19:42:52 +00:00
FastISel.cpp Create a new interface addSuccessorWithoutWeight(MBB*) in MBB to add successors when optimization is disabled. 2015-10-27 17:59:36 +00:00
FunctionLoweringInfo.cpp [WinEH] Move WinEHFuncInfo from MachineModuleInfo to MachineFunction 2015-11-17 21:10:25 +00:00
InstrEmitter.cpp Revert "Remove unnecessary call to getAllocatableRegClass" 2015-11-12 21:43:25 +00:00
InstrEmitter.h [SDAG] Give InstrEmitter hidden visibility 2015-07-01 14:55:10 +00:00
LegalizeDAG.cpp [SDAG] Fix expansion of BITREVERSE 2015-11-13 10:02:36 +00:00
LegalizeFloatTypes.cpp [CodeGen] Always promote f16 if not legal 2015-11-09 11:03:18 +00:00
LegalizeIntegerTypes.cpp [SDAG] Introduce a new BITREVERSE node along with a corresponding LLVM intrinsic 2015-11-12 12:29:09 +00:00
LegalizeTypes.cpp Change makeLibCall to take an ArrayRef<SDValue> instead of pointer and size. This removes the need to pass a hardcoded size in many places. NFC 2015-10-22 17:05:00 +00:00
LegalizeTypes.h [SDAG] Introduce a new BITREVERSE node along with a corresponding LLVM intrinsic 2015-11-12 12:29:09 +00:00
LegalizeTypesGeneric.cpp PseudoSourceValue: Replace global manager with a manager in a machine function. 2015-08-11 23:09:45 +00:00
LegalizeVectorOps.cpp Do not use "else" when both branches return (NFC) 2015-10-27 08:12:08 +00:00
LegalizeVectorTypes.cpp [SDAG] Introduce a new BITREVERSE node along with a corresponding LLVM intrinsic 2015-11-12 12:29:09 +00:00
LLVMBuild.txt
Makefile
ResourcePriorityQueue.cpp Fix some comment typos. 2015-08-08 18:27:36 +00:00
ScheduleDAGFast.cpp Add allnodes() iterator range to SelectionDAG. NFC. 2015-07-14 22:10:54 +00:00
ScheduleDAGRRList.cpp Convert a bunch of loops to foreach. NFC. 2015-06-26 19:18:49 +00:00
ScheduleDAGSDNodes.cpp Add allnodes() iterator range to SelectionDAG. NFC. 2015-07-14 22:10:54 +00:00
ScheduleDAGSDNodes.h [SelectionDAG] Remove dead code. NFC. 2015-10-15 17:54:06 +00:00
ScheduleDAGVLIW.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
SDNodeDbgValue.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
SelectionDAG.cpp add a SelectionDAG method to check if no common bits are set in two nodes; NFCI 2015-11-09 23:31:38 +00:00
SelectionDAGBuilder.cpp [WinEH] Move WinEHFuncInfo from MachineModuleInfo to MachineFunction 2015-11-17 21:10:25 +00:00
SelectionDAGBuilder.h [SelectionDAG] Remove dead code. NFC. 2015-10-15 17:54:06 +00:00
SelectionDAGDumper.cpp [SDAG] Introduce a new BITREVERSE node along with a corresponding LLVM intrinsic 2015-11-12 12:29:09 +00:00
SelectionDAGISel.cpp [WinEH] Update exception pointer registers 2015-11-07 01:11:31 +00:00
SelectionDAGPrinter.cpp Make the SelectionDAG graph printer use SDNode::PersistentId labels. 2015-10-27 23:09:03 +00:00
StatepointLowering.cpp Lower statepoints with multi-def targets. 2015-11-17 16:04:21 +00:00
StatepointLowering.h [StatepointLowering] Support of the gc.relocates for invoke statepoints. 2015-05-20 11:37:25 +00:00
TargetLowering.cpp [X86] Use correct calling convention for MCU psABI libcalls 2015-10-25 08:14:05 +00:00
TargetSelectionDAGInfo.cpp Remove getDataLayout() from TargetSelectionDAGInfo (had no users) 2015-07-09 02:10:08 +00:00