CACAO
Data Structures | Public Member Functions | Private Attributes
cacao::jit::compiler2::Immediate Class Reference
Inheritance diagram for cacao::jit::compiler2::Immediate:
cacao::jit::compiler2::MachineOperand cacao::jit::compiler2::memory::ManagerMixin< MachineOperand >

Data Structures

union  val_operand_t
 

Public Member Functions

 Immediate (CONSTInst *I)
 
 Immediate (s4 val, Type::IntType type)
 
 Immediate (s8 val, Type::LongType type)
 
 Immediate (float val, Type::FloatType type)
 
 Immediate (double val, Type::DoubleType type)
 
virtual Immediateto_Immediate ()
 
virtual const char * get_name () const
 
template<typename T >
get_value () const
 
double get_Int () const
 
double get_Long () const
 
double get_Float () const
 
double get_Double () const
 
template<>
s8 get_value () const
 
template<>
s4 get_value () const
 
template<>
s2 get_value () const
 
template<>
s1 get_value () const
 
- Public Member Functions inherited from cacao::jit::compiler2::MachineOperand
std::size_t get_id () const
 
 MachineOperand (OperandID op_id, Type::TypeID type)
 
OperandID get_OperandID () const
 
Type::TypeID get_type () const
 
virtual ~MachineOperand ()
 
virtual MachineOperandto_MachineOperand ()
 
virtual VoidOperandto_VoidOperand ()
 
virtual Registerto_Register ()
 
virtual StackSlotto_StackSlot ()
 
virtual ManagedStackSlotto_ManagedStackSlot ()
 
virtual Addressto_Address ()
 
bool is_MachineOperand () const
 
bool is_VoidOperand () const
 
bool is_Register () const
 
bool is_StackSlot () const
 
bool is_ManagedStackSlot () const
 
bool is_Immediate () const
 
bool is_Address () const
 
bool is_stackslot () const
 
bool aquivalence_less (const MachineOperand &MO) const
 
bool aquivalent (const MachineOperand &MO) const
 
virtual bool is_virtual () const
 True if operand is virtual and must be assigned during register allocation. More...
 
virtual bool needs_allocation () const
 Return true if operand is processed during register allocation. More...
 
bool has_embedded_operands ()
 
std::size_t op_size () const
 
EmbeddedMachineOperandoperator[] (std::size_t i)
 
const EmbeddedMachineOperandget (std::size_t i) const
 
EmbeddedMachineOperandget (std::size_t i)
 
operand_iterator begin ()
 
operand_iterator end ()
 
operand_iterator find (MachineOperand *op)
 
EmbeddedMachineOperandfront ()
 
EmbeddedMachineOperandback ()
 
const_operand_iterator begin () const
 
const_operand_iterator end () const
 
virtual OStreamprint (OStream &OS) const
 

Private Attributes

val_operand_t value
 

Additional Inherited Members

- Public Types inherited from cacao::jit::compiler2::MachineOperand
enum  OperandID {
  MachineOperandID, RegisterID, StackSlotID, ManagedStackSlotID,
  ImmediateID, AddressID, VoidOperandID
}
 
typedef const voidIdentifyTy
 
typedef std::size_t IdentifyOffsetTy
 
typedef std::size_t IdentifySizeTy
 
typedef alloc::vector
< EmbeddedMachineOperand >
::type 
embedded_operand_list
 
typedef
embedded_operand_list::iterator 
operand_iterator
 
typedef
embedded_operand_list::const_iterator 
const_operand_iterator
 
- Static Public Member Functions inherited from cacao::jit::compiler2::memory::ManagerMixin< MachineOperand >
static voidoperator new (std::size_t size) throw (std::bad_alloc)
 normal new More...
 
static voidoperator new (std::size_t size, void *ptr) throw ()
 placement new More...
 
static voidoperator new (std::size_t size, const std::nothrow_t &nt) throw ()
 nothrow new More...
 
static void operator delete (void *pMemory) throw ()
 normal delete More...
 
static void operator delete (void *pMemory, void *ptr) throw ()
 placement delete More...
 
static void operator delete (void *pMemory, const std::nothrow_t &) throw ()
 nothrow delete More...
 
static voidoperator new[] (std::size_t size) throw (std::bad_alloc)
 normal new[] More...
 
static voidoperator new[] (std::size_t size, void *ptr) throw ()
 placement new[] More...
 
static voidoperator new[] (std::size_t size, const std::nothrow_t &nt) throw ()
 nothrow new[] More...
 
static void operator delete[] (void *pMemory) throw ()
 normal delete[] More...
 
static void operator delete[] (void *pMemory, void *ptr) throw ()
 placement delete[] More...
 
static void operator delete[] (void *pMemory, const std::nothrow_t &) throw ()
 nothrow delete[] More...
 
- Protected Member Functions inherited from cacao::jit::compiler2::MachineOperand
virtual IdentifyTy id_base () const
 
virtual IdentifyOffsetTy id_offset () const
 
virtual IdentifySizeTy id_size () const
 
- Protected Attributes inherited from cacao::jit::compiler2::MachineOperand
embedded_operand_list embedded_operands
 TODO describe. More...
 

Detailed Description

Definition at line 302 of file MachineOperand.hpp.

Constructor & Destructor Documentation

cacao::jit::compiler2::Immediate::Immediate ( CONSTInst I)

Definition at line 62 of file MachineOperand.cpp.

cacao::jit::compiler2::Immediate::Immediate ( s4  val,
Type::IntType  type 
)
inline

Definition at line 316 of file MachineOperand.hpp.

cacao::jit::compiler2::Immediate::Immediate ( s8  val,
Type::LongType  type 
)
inline

Definition at line 320 of file MachineOperand.hpp.

cacao::jit::compiler2::Immediate::Immediate ( float  val,
Type::FloatType  type 
)
inline

Definition at line 324 of file MachineOperand.hpp.

cacao::jit::compiler2::Immediate::Immediate ( double  val,
Type::DoubleType  type 
)
inline

Definition at line 328 of file MachineOperand.hpp.

Member Function Documentation

double cacao::jit::compiler2::Immediate::get_Double ( ) const
inline

Definition at line 351 of file MachineOperand.hpp.

double cacao::jit::compiler2::Immediate::get_Float ( ) const
inline

Definition at line 347 of file MachineOperand.hpp.

double cacao::jit::compiler2::Immediate::get_Int ( ) const
inline

Definition at line 339 of file MachineOperand.hpp.

double cacao::jit::compiler2::Immediate::get_Long ( ) const
inline

Definition at line 343 of file MachineOperand.hpp.

virtual const char* cacao::jit::compiler2::Immediate::get_name ( ) const
inlinevirtual

Implements cacao::jit::compiler2::MachineOperand.

Definition at line 333 of file MachineOperand.hpp.

template<>
s8 cacao::jit::compiler2::Immediate::get_value ( ) const

Definition at line 83 of file MachineOperand.cpp.

template<>
s4 cacao::jit::compiler2::Immediate::get_value ( ) const

Definition at line 96 of file MachineOperand.cpp.

template<>
s2 cacao::jit::compiler2::Immediate::get_value ( ) const

Definition at line 113 of file MachineOperand.cpp.

template<>
s1 cacao::jit::compiler2::Immediate::get_value ( ) const

Definition at line 134 of file MachineOperand.cpp.

template<typename T >
T cacao::jit::compiler2::Immediate::get_value ( ) const
virtual Immediate* cacao::jit::compiler2::Immediate::to_Immediate ( )
inlinevirtual

Reimplemented from cacao::jit::compiler2::MachineOperand.

Definition at line 332 of file MachineOperand.hpp.

Field Documentation

val_operand_t cacao::jit::compiler2::Immediate::value
private

Definition at line 313 of file MachineOperand.hpp.


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