[llvm-commits] CVS: llvm/include/llvm/Target/TargetInstrInfo.h
Dan Gohman
djg at cray.com
Thu Jun 14 13:51:06 PDT 2007
Changes in directory llvm/include/llvm/Target:
TargetInstrInfo.h updated: 1.127 -> 1.128
---
Log message:
Add a target hook to allow loads from constant pools to be rematerialized, and an
implementation for x86.
---
Diffs of the changes: (+10 -0)
TargetInstrInfo.h | 10 ++++++++++
1 files changed, 10 insertions(+)
Index: llvm/include/llvm/Target/TargetInstrInfo.h
diff -u llvm/include/llvm/Target/TargetInstrInfo.h:1.127 llvm/include/llvm/Target/TargetInstrInfo.h:1.128
--- llvm/include/llvm/Target/TargetInstrInfo.h:1.127 Fri Jun 8 16:59:04 2007
+++ llvm/include/llvm/Target/TargetInstrInfo.h Thu Jun 14 15:50:44 2007
@@ -298,6 +298,16 @@
return 0;
}
+ /// isOtherReMaterializableLoad - If the specified machine instruction is a
+ /// direct load that is trivially rematerializable, not counting loads from
+ /// stack slots, return true. If not, return false. This predicate must
+ /// return false if the instruction has any side effects other than
+ /// producing the value from the load, or if it requres any address
+ /// registers that are not always available.
+ virtual bool isOtherReMaterializableLoad(MachineInstr *MI) const {
+ return false;
+ }
+
/// convertToThreeAddress - This method must be implemented by targets that
/// set the M_CONVERTIBLE_TO_3_ADDR flag. When this flag is set, the target
/// may be able to convert a two-address instruction into one or moretrue
More information about the llvm-commits
mailing list