Enable rematerialization of constants using AliasAnalysis::pointsToConstantMemory,
[oota-llvm.git] / include / llvm / CodeGen / PseudoSourceValue.h
index 95ae1d43ab334f783d72fca5bf240d91629d0166..115e565b6b6cac5584ca5402ae025730876d5c18 100644 (file)
@@ -17,6 +17,8 @@
 #include "llvm/Value.h"
 
 namespace llvm {
+  class MachineFrameInfo;
+
   /// PseudoSourceValue - Special value supplied for machine level alias
   /// analysis. It indicates that the a memory access references the functions
   /// stack frame (e.g., a spill slot), below the stack frame (e.g., argument
@@ -27,6 +29,10 @@ namespace llvm {
 
     virtual void print(std::ostream &OS) const;
 
+    /// isConstant - Test whether this PseudoSourceValue has a constant value.
+    ///
+    virtual bool isConstant(const MachineFrameInfo *) const;
+
     /// classof - Methods for support type inquiry through isa, cast, and
     /// dyn_cast:
     ///