forked from OSchip/llvm-project
48b185d6f7
- Allocate MachineMemOperands and MachineMemOperand lists in MachineFunctions. This eliminates MachineInstr's std::list member and allows the data to be created by isel and live for the remainder of codegen, avoiding a lot of copying and unnecessary translation. This also shrinks MemSDNode. - Delete MemOperandSDNode. Introduce MachineSDNode which has dedicated fields for MachineMemOperands. - Change MemSDNode to have a MachineMemOperand member instead of its own fields with the same information. This introduces some redundancy, but it's more consistent with what MachineInstr will eventually want. - Ignore alignment when searching for redundant loads for CSE, but remember the greatest alignment. Target-specific code which previously used MemOperandSDNodes with generic SDNodes now use MemIntrinsicSDNodes, with opcodes in a designated range so that the SelectionDAG framework knows that MachineMemOperand information is available. llvm-svn: 82794 |
||
---|---|---|
.. | ||
AsmPrinter | ||
TargetInfo | ||
CMakeLists.txt | ||
Makefile | ||
SystemZ.h | ||
SystemZ.td | ||
SystemZCallingConv.td | ||
SystemZISelDAGToDAG.cpp | ||
SystemZISelLowering.cpp | ||
SystemZISelLowering.h | ||
SystemZInstrBuilder.h | ||
SystemZInstrFP.td | ||
SystemZInstrFormats.td | ||
SystemZInstrInfo.cpp | ||
SystemZInstrInfo.h | ||
SystemZInstrInfo.td | ||
SystemZMCAsmInfo.cpp | ||
SystemZMCAsmInfo.h | ||
SystemZMachineFunctionInfo.h | ||
SystemZOperands.td | ||
SystemZRegisterInfo.cpp | ||
SystemZRegisterInfo.h | ||
SystemZRegisterInfo.td | ||
SystemZSubtarget.cpp | ||
SystemZSubtarget.h | ||
SystemZTargetMachine.cpp | ||
SystemZTargetMachine.h |