aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/TargetRegisterInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/CodeGen/TargetRegisterInfo.h')
-rw-r--r--include/llvm/CodeGen/TargetRegisterInfo.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/include/llvm/CodeGen/TargetRegisterInfo.h b/include/llvm/CodeGen/TargetRegisterInfo.h
index 55a8ba630a59..0fbff3137653 100644
--- a/include/llvm/CodeGen/TargetRegisterInfo.h
+++ b/include/llvm/CodeGen/TargetRegisterInfo.h
@@ -510,6 +510,13 @@ public:
/// markSuperRegs() and checkAllSuperRegsMarked() in this case.
virtual BitVector getReservedRegs(const MachineFunction &MF) const = 0;
+ /// Returns false if we can't guarantee that Physreg, specified as an IR asm
+ /// clobber constraint, will be preserved across the statement.
+ virtual bool isAsmClobberable(const MachineFunction &MF,
+ unsigned PhysReg) const {
+ return true;
+ }
+
/// Returns true if PhysReg is unallocatable and constant throughout the
/// function. Used by MachineRegisterInfo::isConstantPhysReg().
virtual bool isConstantPhysReg(unsigned PhysReg) const { return false; }
@@ -817,13 +824,6 @@ public:
// Do nothing.
}
- /// The creation of multiple copy hints have been implemented in
- /// weightCalcHelper(), but since this affects so many tests for many
- /// targets, this is temporarily disabled per default. THIS SHOULD BE
- /// "GENERAL GOODNESS" and hopefully all targets will update their tests
- /// and enable this soon. This hook should then be removed.
- virtual bool enableMultipleCopyHints() const { return false; }
-
/// Allow the target to reverse allocation order of local live ranges. This
/// will generally allocate shorter local live ranges first. For targets with
/// many registers, this could reduce regalloc compile time by a large