#include "llvm/Value.h"
namespace llvm {
+ class MachineFrameInfo;
+ class raw_ostream;
+
/// 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
public:
PseudoSourceValue();
- virtual void print(std::ostream &OS) const;
+ virtual void print(raw_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:
return V->getValueID() == PseudoSourceValueVal;
}
- /// A pseudo source value referencing to the stack frame of a function,
+ /// A pseudo source value referencing a fixed stack frame entry,
/// e.g., a spill slot.
- static const PseudoSourceValue *getFixedStack();
+ static const PseudoSourceValue *getFixedStack(int FI);
/// A source value referencing the area below the stack frame of a function,
/// e.g., the argument space.