LLVM API Documentation

Public Member Functions | Static Public Member Functions | Public Attributes | Friends
llvm::PseudoSourceValue Class Reference

#include <PseudoSourceValue.h>

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

List of all members.

Public Member Functions

 PseudoSourceValue (bool isFixed=false)
virtual ~PseudoSourceValue ()
virtual bool isConstant (const MachineFrameInfo *) const
virtual bool isAliased (const MachineFrameInfo *) const
virtual bool mayAlias (const MachineFrameInfo *) const

Static Public Member Functions

static const PseudoSourceValuegetFixedStack (int FI)
static const PseudoSourceValuegetStack ()
static const PseudoSourceValuegetGOT ()
static const PseudoSourceValuegetConstantPool ()
static const PseudoSourceValuegetJumpTable ()

Public Attributes

bool isFixed
 isFixed - Whether this is a FixedStackPseudoSourceValue.

Friends

raw_ostreamllvm::operator<< (raw_ostream &OS, const MachineMemOperand &MMO)

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.

Definition at line 63 of file PseudoSourceValue.cpp.


Member Function Documentation

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().

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().

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().

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().

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.

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.

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

raw_ostream& llvm::operator<< ( raw_ostream OS,
const MachineMemOperand MMO 
) [friend]

Member Data Documentation

isFixed - Whether this is a FixedStackPseudoSourceValue.

Definition at line 42 of file PseudoSourceValue.h.

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


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