mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-07-18 12:29:27 +00:00
Add some methods for inline asm support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25950 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
8666249ad6
commit
c991cf58aa
@ -298,7 +298,7 @@ public:
|
|||||||
/// New, such that callers of SetBitsAreZero may call CombineTo on them if
|
/// New, such that callers of SetBitsAreZero may call CombineTo on them if
|
||||||
/// desired.
|
/// desired.
|
||||||
bool DemandedBitsAreZero(const SDOperand &Op, uint64_t Mask, SDOperand &Old,
|
bool DemandedBitsAreZero(const SDOperand &Op, uint64_t Mask, SDOperand &Old,
|
||||||
SDOperand &New, SelectionDAG &DAG);
|
SDOperand &New, SelectionDAG &DAG) const;
|
||||||
|
|
||||||
//===--------------------------------------------------------------------===//
|
//===--------------------------------------------------------------------===//
|
||||||
// TargetLowering Configuration Methods - These methods should be invoked by
|
// TargetLowering Configuration Methods - These methods should be invoked by
|
||||||
@ -442,13 +442,26 @@ public:
|
|||||||
// Inline Asm Support hooks
|
// Inline Asm Support hooks
|
||||||
//
|
//
|
||||||
|
|
||||||
|
enum ConstraintType {
|
||||||
|
C_RegisterClass, // Constraint represents one or more registers.
|
||||||
|
C_Other, // Something else.
|
||||||
|
C_Unknown // Unsupported constraint.
|
||||||
|
// INTEGER, ADDRESS, MEMORY?
|
||||||
|
};
|
||||||
|
|
||||||
|
/// getConstraintType - Given a constraint letter, return the type of
|
||||||
|
/// constraint it is for this target.
|
||||||
|
ConstraintType getConstraintType(char ConstraintLetter) const;
|
||||||
|
|
||||||
/// getRegForInlineAsmConstraint - Given a constraint letter or register
|
/// getRegForInlineAsmConstraint - Given a constraint letter or register
|
||||||
/// name (e.g. "r" or "edx"), return a list of registers that can be used to
|
/// name (e.g. "r" or "edx"), return a list of registers that can be used to
|
||||||
/// satisfy the constraint. If the constraint isn't supported, or isn't a
|
/// satisfy the constraint. This should only be used for physregs and
|
||||||
/// register constraint, return an empty list.
|
/// C_RegisterClass constraints.
|
||||||
virtual std::vector<unsigned>
|
virtual std::vector<unsigned>
|
||||||
getRegForInlineAsmConstraint(const std::string &Constraint) const;
|
getRegForInlineAsmConstraint(const std::string &Constraint) const;
|
||||||
|
|
||||||
|
virtual bool isOperandValidForConstraint(SDOperand Op, char ConstraintLetter);
|
||||||
|
|
||||||
//===--------------------------------------------------------------------===//
|
//===--------------------------------------------------------------------===//
|
||||||
// Scheduler hooks
|
// Scheduler hooks
|
||||||
//
|
//
|
||||||
|
Loading…
Reference in New Issue
Block a user