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
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
LegalizeDAG.cpp
LegalizeFloatTypes.cpp
LegalizeIntegerTypes.cpp Use getStoreSize() instead of getStoreSizeInBits()/8. 2009-09-23 21:07:02 +00:00
LegalizeTypes.cpp
LegalizeTypes.h
LegalizeTypesGeneric.cpp
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
ScheduleDAGList.cpp
ScheduleDAGRRList.cpp
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
TargetLowering.cpp Rename several variables from EVT to more descriptive names, now that EVT 2009-09-23 21:02:20 +00:00