mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Re-apply the memory operand changes, with a fix for the static
initializer problem, a minor tweak to the way the DAGISelEmitter finds load/store nodes, and a renaming of the new PseudoSourceValue objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46827 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -279,6 +279,7 @@ namespace llvm {
|
||||
if (isa<ConstantPoolSDNode>(Node)) return true;
|
||||
if (isa<JumpTableSDNode>(Node)) return true;
|
||||
if (isa<ExternalSymbolSDNode>(Node)) return true;
|
||||
if (isa<MemOperandSDNode>(Node)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -312,11 +313,15 @@ namespace llvm {
|
||||
/// (which do not go into the machine instrs.)
|
||||
static unsigned CountResults(SDNode *Node);
|
||||
|
||||
/// CountOperands The inputs to target nodes have any actual inputs first,
|
||||
/// followed by an optional chain operand, then flag operands. Compute the
|
||||
/// number of actual operands that will go into the machine instr.
|
||||
/// CountOperands - The inputs to target nodes have any actual inputs first,
|
||||
/// followed by optional memory operands chain operand, then flag operands.
|
||||
/// Compute the number of actual operands that will go into the machine
|
||||
/// instr.
|
||||
static unsigned CountOperands(SDNode *Node);
|
||||
|
||||
/// CountMemOperands - Find the index of the last MemOperandSDNode
|
||||
static unsigned CountMemOperands(SDNode *Node);
|
||||
|
||||
/// EmitNode - Generate machine code for an node and needed dependencies.
|
||||
/// VRBaseMap contains, for each already emitted node, the first virtual
|
||||
/// register number for the results of the node.
|
||||
@@ -357,6 +362,8 @@ namespace llvm {
|
||||
void AddOperand(MachineInstr *MI, SDOperand Op, unsigned IIOpNum,
|
||||
const TargetInstrDesc *II,
|
||||
DenseMap<SDOperand, unsigned> &VRBaseMap);
|
||||
|
||||
void AddMemOperand(MachineInstr *MI, const MemOperand &MO);
|
||||
};
|
||||
|
||||
/// createBURRListDAGScheduler - This creates a bottom up register usage
|
||||
|
Reference in New Issue
Block a user