Added CanBeDuplicated(). It returns true if an instruction can be safely duplicated...
authorEvan Cheng <evan.cheng@apple.com>
Fri, 15 Jun 2007 21:13:54 +0000 (21:13 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 15 Jun 2007 21:13:54 +0000 (21:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37605 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetInstrInfo.h

index 2d73dbf83c853164e37ee46c1e12c19b169896ee..c73fdfb46cd829776dfc5e0850d21a49fa80c43a 100644 (file)
@@ -415,6 +415,13 @@ public:
     return false;
   }
 
+  /// CanBeDuplicated - Returns true if the instruction can be duplicated
+  /// without causing unforseenable side-effect (e.g. instructions with unique
+  /// labels attached).
+  virtual bool CanBeDuplicated(const MachineInstr *MI) const {
+    return false;
+  }
+
   /// isUnpredicatedTerminator - Returns true if the instruction is a
   /// terminator instruction that has not been predicated.
   virtual bool isUnpredicatedTerminator(const MachineInstr *MI) const;