diff options
author | Dan Gohman <gohman@apple.com> | 2008-07-25 00:02:30 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-07-25 00:02:30 +0000 |
commit | 6d69ba8a6901c69d78488cbc41f8dbf080618fde (patch) | |
tree | d3561769602cb34fb08db592e6576877e3be6165 /include/llvm/CodeGen/PseudoSourceValue.h | |
parent | 3eee6542f5c65dce299361fa5435340513cf3fe4 (diff) |
Enable rematerialization of constants using AliasAnalysis::pointsToConstantMemory,
and knowledge of PseudoSourceValues. This unfortunately isn't sufficient to allow
constants to be rematerialized in PIC mode -- the extra indirection is a
complication.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54000 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/PseudoSourceValue.h')
-rw-r--r-- | include/llvm/CodeGen/PseudoSourceValue.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/PseudoSourceValue.h b/include/llvm/CodeGen/PseudoSourceValue.h index 95ae1d43ab..115e565b6b 100644 --- a/include/llvm/CodeGen/PseudoSourceValue.h +++ b/include/llvm/CodeGen/PseudoSourceValue.h @@ -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: /// |