LLVM  3.7.0
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
llvm::PseudoSourceValue Class Reference

PseudoSourceValue - Special value supplied for machine level alias analysis. More...

#include <PseudoSourceValue.h>

Inheritance diagram for llvm::PseudoSourceValue:
[legend]
Collaboration diagram for llvm::PseudoSourceValue:
[legend]

Public Member Functions

 PseudoSourceValue (bool isFixed=false)
 
virtual ~PseudoSourceValue ()
 
virtual bool isConstant (const MachineFrameInfo *) const
 isConstant - Test whether the memory pointed to by this PseudoSourceValue has a constant value. More...
 
virtual bool isAliased (const MachineFrameInfo *) const
 isAliased - Test whether the memory pointed to by this PseudoSourceValue may also be pointed to by an LLVM IR Value. More...
 
virtual bool mayAlias (const MachineFrameInfo *) const
 mayAlias - Return true if the memory pointed to by this PseudoSourceValue can ever alias an LLVM IR Value. More...
 

Static Public Member Functions

static const PseudoSourceValuegetFixedStack (int FI)
 A pseudo source value referencing a fixed stack frame entry, e.g., a spill slot. More...
 
static const PseudoSourceValuegetStack ()
 A pseudo source value referencing the area below the stack frame of a function, e.g., the argument space. More...
 
static const PseudoSourceValuegetGOT ()
 A pseudo source value referencing the global offset table (or something the like). More...
 
static const PseudoSourceValuegetConstantPool ()
 A pseudo source value referencing the constant pool. More...
 
static const PseudoSourceValuegetJumpTable ()
 A pseudo source value referencing a jump table. More...
 

Public Attributes

bool isFixed
 isFixed - Whether this is a FixedStackPseudoSourceValue. More...
 

Friends

class MachineMemOperand
 

Detailed Description

PseudoSourceValue - Special value supplied for machine level alias analysis.

It indicates that a memory access references the functions stack frame (e.g., a spill slot), below the stack frame (e.g., argument space), or constant pool.

Definition at line 30 of file PseudoSourceValue.h.

Constructor & Destructor Documentation

PseudoSourceValue::PseudoSourceValue ( bool  isFixed = false)
explicit

Definition at line 61 of file PseudoSourceValue.cpp.

PseudoSourceValue::~PseudoSourceValue ( )
virtual

Definition at line 63 of file PseudoSourceValue.cpp.

Member Function Documentation

const PseudoSourceValue * PseudoSourceValue::getConstantPool ( )
static

A pseudo source value referencing the constant pool.

Since constant pools are constant, this doesn't need to identify a specific constant pool entry.

Definition at line 51 of file PseudoSourceValue.cpp.

Referenced by isAliased(), isConstant(), and mayAlias().

const PseudoSourceValue * PseudoSourceValue::getFixedStack ( int  FI)
static
const PseudoSourceValue * PseudoSourceValue::getGOT ( )
static

A pseudo source value referencing the global offset table (or something the like).

Definition at line 47 of file PseudoSourceValue.cpp.

Referenced by isAliased(), isConstant(), and mayAlias().

const PseudoSourceValue * PseudoSourceValue::getJumpTable ( )
static

A pseudo source value referencing a jump table.

Since jump tables are constant, this doesn't need to identify a specific jump table.

Definition at line 49 of file PseudoSourceValue.cpp.

Referenced by isAliased(), isConstant(), and mayAlias().

const PseudoSourceValue * PseudoSourceValue::getStack ( )
static

A pseudo source value referencing the area below the stack frame of a function, e.g., the argument space.

Definition at line 45 of file PseudoSourceValue.cpp.

Referenced by isAliased(), and isConstant().

bool PseudoSourceValue::isAliased ( const MachineFrameInfo MFI) const
virtual

isAliased - Test whether the memory pointed to by this PseudoSourceValue may also be pointed to by an LLVM IR Value.

Reimplemented in llvm::FixedStackPseudoSourceValue, and llvm::MipsCallEntry.

Definition at line 88 of file PseudoSourceValue.cpp.

References getConstantPool(), getGOT(), getJumpTable(), getStack(), and llvm_unreachable.

bool PseudoSourceValue::isConstant ( const MachineFrameInfo ) const
virtual

isConstant - Test whether the memory pointed to by this PseudoSourceValue has a constant value.

Reimplemented in llvm::FixedStackPseudoSourceValue, and llvm::MipsCallEntry.

Definition at line 78 of file PseudoSourceValue.cpp.

References getConstantPool(), getGOT(), getJumpTable(), getStack(), and llvm_unreachable.

bool PseudoSourceValue::mayAlias ( const MachineFrameInfo MFI) const
virtual

mayAlias - Return true if the memory pointed to by this PseudoSourceValue can ever alias an LLVM IR Value.

Reimplemented in llvm::FixedStackPseudoSourceValue, and llvm::MipsCallEntry.

Definition at line 97 of file PseudoSourceValue.cpp.

References getConstantPool(), getGOT(), and getJumpTable().

Friends And Related Function Documentation

friend class MachineMemOperand
friend

Definition at line 32 of file PseudoSourceValue.h.

Member Data Documentation

bool llvm::PseudoSourceValue::isFixed

isFixed - Whether this is a FixedStackPseudoSourceValue.

Definition at line 41 of file PseudoSourceValue.h.

Referenced by llvm::FixedStackPseudoSourceValue::classof().


The documentation for this class was generated from the following files: