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 PseudoSourceValue * getFixedStack (int FI)
static const PseudoSourceValue * getStack ()
static const PseudoSourceValue * getGOT ()
static const PseudoSourceValue * getConstantPool ()
static const PseudoSourceValue * getJumpTable ()

Public Attributes

bool isFixed
 isFixed - Whether this is a FixedStackPseudoSourceValue.

Friends

raw_ostream & llvm::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: