llvm-project/llvm/lib/Target/SystemZ
Dan Gohman 48b185d6f7 Improve MachineMemOperand handling.
- 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
2009-09-25 20:36:54 +00:00
..
AsmPrinter remove all but one reference to TargetRegisterDesc::AsmName. 2009-09-13 20:31:40 +00:00
TargetInfo Factor commonality in triple match routines into helper template for registering 2009-07-26 05:03:33 +00:00
CMakeLists.txt Normalize makefile comments and sort cmake file lists. 2009-08-31 13:05:24 +00:00
Makefile Unbreak 2009-07-16 14:36:52 +00:00
SystemZ.h Add new helpers for registering targets. 2009-07-25 06:49:55 +00:00
SystemZ.td Add bunch of FP instructions 2009-07-16 14:20:24 +00:00
SystemZCallingConv.td Handle vector returns 2009-07-18 12:51:06 +00:00
SystemZISelDAGToDAG.cpp Rename getTargetNode to getMachineNode, for consistency with the 2009-09-25 18:54:59 +00:00
SystemZISelLowering.cpp Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks. 2009-09-19 09:51:03 +00:00
SystemZISelLowering.h Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes. 2009-09-18 21:02:19 +00:00
SystemZInstrBuilder.h Improve MachineMemOperand handling. 2009-09-25 20:36:54 +00:00
SystemZInstrFP.td Add fcopysign instructions 2009-08-21 20:02:37 +00:00
SystemZInstrFormats.td Some dummy cost model for s390x: 2009-08-22 11:46:16 +00:00
SystemZInstrInfo.cpp Turn few asserts into errors / unreachable's 2009-07-18 13:33:17 +00:00
SystemZInstrInfo.h Handle long-disp stuff more consistently 2009-07-16 14:33:52 +00:00
SystemZInstrInfo.td Some dummy cost model for s390x: 2009-08-22 11:46:16 +00:00
SystemZMCAsmInfo.cpp Rename TargetAsmInfo (and its subclasses) to MCAsmInfo. 2009-08-22 20:48:53 +00:00
SystemZMCAsmInfo.h Rename TargetAsmInfo (and its subclasses) to MCAsmInfo. 2009-08-22 20:48:53 +00:00
SystemZMachineFunctionInfo.h Emit callee-saved regs spills / restores 2009-07-16 13:51:12 +00:00
SystemZOperands.td Split EVT into MVT and EVT, the former representing _just_ a primitive type, while 2009-08-11 20:47:22 +00:00
SystemZRegisterInfo.cpp Remove some unused variables and methods warned about by 2009-09-06 08:33:48 +00:00
SystemZRegisterInfo.h Fix fallout from 12-bit stuff landing: decide whether 20 bit displacements are needed during elimination of frame indexes. 2009-07-16 14:09:56 +00:00
SystemZRegisterInfo.td Out GR128 regclass is not a 'real' i128 one. 2009-07-16 14:27:53 +00:00
SystemZSubtarget.cpp Normalize Subtarget constructors to take a target triple string instead of 2009-08-02 22:11:08 +00:00
SystemZSubtarget.h Normalize Subtarget constructors to take a target triple string instead of 2009-08-02 22:11:08 +00:00
SystemZTargetMachine.cpp Rename TargetAsmInfo (and its subclasses) to MCAsmInfo. 2009-08-22 20:48:53 +00:00
SystemZTargetMachine.h Change TargetAsmInfo to be constructed via TargetRegistry from a Target+Triple 2009-08-12 07:22:17 +00:00