+ static const PseudoSourceValue *getFixedStack(int FI);
+
+ /// A pseudo source value referencing the area below the stack frame of
+ /// a function, e.g., the argument space.
+ static const PseudoSourceValue *getStack();
+
+ /// A pseudo source value referencing the global offset table
+ /// (or something the like).
+ static const PseudoSourceValue *getGOT();
+
+ /// A pseudo source value referencing the constant pool. Since constant
+ /// pools are constant, this doesn't need to identify a specific constant
+ /// pool entry.
+ static const PseudoSourceValue *getConstantPool();
+
+ /// A pseudo source value referencing a jump table. Since jump tables are
+ /// constant, this doesn't need to identify a specific jump table.
+ static const PseudoSourceValue *getJumpTable();
+ };
+
+ /// FixedStackPseudoSourceValue - A specialized PseudoSourceValue
+ /// for holding FixedStack values, which must include a frame
+ /// index.
+ class FixedStackPseudoSourceValue : public PseudoSourceValue {
+ const int FI;
+ public:
+ explicit FixedStackPseudoSourceValue(int fi) :
+ PseudoSourceValue(FixedStackPseudoSourceValueVal), FI(fi) {}
+
+ /// classof - Methods for support type inquiry through isa, cast, and
+ /// dyn_cast:
+ ///
+ static inline bool classof(const Value *V) {
+ return V->getValueID() == FixedStackPseudoSourceValueVal;
+ }