llvm-6502/lib/CodeGen/SelectionDAG
Dan Gohman c76909abfe 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82794 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 20:36:54 +00:00
..
CallingConvLower.cpp Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson. 2009-09-02 08:44:58 +00:00
CMakeLists.txt
DAGCombiner.cpp Fix combiner-aa issue with bases which are different, but can alias. 2009-09-25 06:05:26 +00:00
FastISel.cpp Make fast-isel try ISD::FNEG before resorting to bitcasts and xors. 2009-09-11 00:36:43 +00:00
LegalizeDAG.cpp Reapply 79977. 2009-08-28 23:24:31 +00:00
LegalizeFloatTypes.cpp Add contexts to some of the MVT APIs. No functionality change yet, just the infrastructure work needed to get the contexts to where they need to be first. 2009-08-12 00:36:31 +00:00
LegalizeIntegerTypes.cpp Use getStoreSize() instead of getStoreSizeInBits()/8. 2009-09-23 21:07:02 +00:00
LegalizeTypes.cpp eliminate uses of cerr() 2009-08-23 07:05:07 +00:00
LegalizeTypes.h Add contexts to some of the MVT APIs. No functionality change yet, just the infrastructure work needed to get the contexts to where they need to be first. 2009-08-12 00:36:31 +00:00
LegalizeTypesGeneric.cpp Add contexts to some of the MVT APIs. No functionality change yet, just the infrastructure work needed to get the contexts to where they need to be first. 2009-08-12 00:36:31 +00:00
LegalizeVectorOps.cpp
LegalizeVectorTypes.cpp Better solution for tracking both the original alignment of the access, and the current alignment based 2009-09-15 19:05:41 +00:00
Makefile
ScheduleDAGFast.cpp eliminate uses of cerr() 2009-08-23 07:05:07 +00:00
ScheduleDAGList.cpp eliminate uses of cerr() 2009-08-23 07:05:07 +00:00
ScheduleDAGRRList.cpp eliminate uses of cerr() 2009-08-23 07:05:07 +00:00
ScheduleDAGSDNodes.cpp Improve MachineMemOperand handling. 2009-09-25 20:36:54 +00:00
ScheduleDAGSDNodes.h Improve MachineMemOperand handling. 2009-09-25 20:36:54 +00:00
ScheduleDAGSDNodesEmit.cpp Improve MachineMemOperand handling. 2009-09-25 20:36:54 +00:00
SelectionDAG.cpp Improve MachineMemOperand handling. 2009-09-25 20:36:54 +00:00
SelectionDAGBuild.cpp Make sure sin, cos, sqrt calls are marked readonly 2009-09-25 18:00:35 +00:00
SelectionDAGBuild.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
SelectionDAGISel.cpp Tabs -> spaces, and remove trailing whitespace. 2009-09-20 02:20:51 +00:00
SelectionDAGPrinter.cpp Fix some refactos for iostream changes (in -Asserts mode). 2009-08-23 08:50:52 +00:00
TargetLowering.cpp Rename several variables from EVT to more descriptive names, now that EVT 2009-09-23 21:02:20 +00:00