CACAO
|
Second stage compiler namespace. More...
Namespaces | |
aarch64 | |
alloc | |
memory | |
option | |
tree | |
x86_64 | |
Data Structures | |
class | Backend |
class | BackendBase |
Machine Backend. More... | |
class | LoweringVisitorBase |
class | BasicBlockSchedule |
BasicBlockSchedule TODO: more info. More... | |
class | LoopScheduler |
class | BasicBlockSchedulingPass |
BasicBlockSchedulingPass TODO: more info. More... | |
class | CFGConstructionPass |
CFGConstructionPass TODO: more info. More... | |
class | CFGMetaPass |
CFGMetaPass. More... | |
struct | MBBCompare |
class | CodeGenPass |
CodeGenPass TODO: more info. More... | |
class | CodeMemory |
CodeMemory. More... | |
class | Conditional |
Type Class. More... | |
class | ConstantPropagationPass |
ConstantPropagationPass. More... | |
class | DeadCodeEliminationPass |
DeadCodeEliminationPass. More... | |
class | DisassemblerPass |
DisassemblerPass TODO: more info. More... | |
class | DominatorTree |
class | DominatorPass |
Calculate the Dominator Tree. More... | |
class | DomTreePrinterPass |
DomTreePrinterPass TODO: more info. More... | |
class | ExamplePass |
ExamplePass. More... | |
class | GlobalSchedule |
GlobalSchedule TODO: more info. More... | |
class | GlobalValueNumberingPass |
GlobalValueNumberingPass. More... | |
class | DFSTraversal |
This helper class creates traversal for a graph. More... | |
class | ICMDPrinterPass |
ICMDPrinterPass. More... | |
class | Instruction |
Instruction super class. More... | |
struct | InstPtrLess |
Less comparator for Instruction pointers. More... | |
class | InstructionMetaPass |
InstructionMetaPass. More... | |
class | UnaryInst |
Base type of instructions with a single operand. More... | |
class | BinaryInst |
Base type of instructions with two operands. More... | |
class | MultiOpInst |
Base type of instructions with an arbitrary number of operands. More... | |
class | CondInst |
Base type of instructions that compute a condition. More... | |
class | SourceStateInst |
Provides a mapping from HIR values to baseline IR variables. More... | |
class | SourceStateAwareInst |
Base type of instructions that can be mapped to a SourceStateInst. More... | |
class | DereferenceInst |
Base type of instructions that dereference an object reference. More... | |
class | BeginInst |
This Instruction marks the start of a basic block. More... | |
class | BeginInstRef |
This stores a reference to a BeginInst. More... | |
class | EndInst |
This Instruction marks the end of a basic block. More... | |
class | CHECKNULLInst |
Represents an explicit null-check on an object reference. More... | |
class | ARRAYLENGTHInst |
Get the length of an array. More... | |
class | NEGInst |
class | CASTInst |
class | ADDInst |
class | SUBInst |
class | MULInst |
class | DIVInst |
class | REMInst |
class | SHLInst |
class | USHRInst |
class | ANDInst |
class | ORInst |
class | XORInst |
class | CMPInst |
class | CONSTInst |
class | FieldAccessInst |
Base class of instructions that access a field on a class or object. More... | |
class | GETFIELDInst |
Get the value of an object's field. More... | |
class | PUTFIELDInst |
Write a value to an object's field. More... | |
class | GETSTATICInst |
Get the value of a static field. More... | |
class | PUTSTATICInst |
Write a value to a static field. More... | |
class | INCInst |
class | AREFInst |
class | ASTOREInst |
Store a value into an array. More... | |
class | ALOADInst |
Load a value from an array. More... | |
class | ARRAYBOUNDSCHECKInst |
Perform a bounds-check for an array-access. More... | |
class | LOADInst |
A LOADInst represents an argument that is passed to the current method. More... | |
class | NEWInst |
class | NEWARRAYInst |
class | ANEWARRAYInst |
class | MULTIANEWARRAYInst |
class | CHECKCASTInst |
class | INSTANCEOFInst |
class | GOTOInst |
class | INVOKEInst |
Base type of instruction that perform a method invocation. More... | |
class | INVOKESTATICInst |
Invoke a static method. More... | |
class | INVOKEVIRTUALInst |
Invoke an instance method. More... | |
class | INVOKESPECIALInst |
Invoke an instance method with special handling. More... | |
class | INVOKEINTERFACEInst |
Invoke an interface method. More... | |
class | BUILTINInst |
Invoke a builtin. More... | |
class | IFInst |
class | IF_CMPInst |
class | TABLESWITCHInst |
class | LOOKUPSWITCHInst |
class | RETURNInst |
Return from the current method. More... | |
class | THROWInst |
class | PHIInst |
class | ReplacementEntryInst |
A point where the method can be entered through on-stack replacement. More... | |
class | AssumptionInst |
Represents a speculative assumption that has to be checked at run-time. More... | |
class | DeoptimizeInst |
Transfers execution back to an unoptimized version of the method. More... | |
class | InstructionSchedule |
InstructionSchedule TODO: more info. More... | |
class | InstructionVisitor |
class | JITData |
struct | Move |
struct | Edge |
class | LinearScanAllocatorPass |
Linear Scan Allocator. More... | |
class | ListSchedulingPass |
ListSchedulingPass. More... | |
class | LivetimeAnalysisPass |
LivetimeAnalysisPass. More... | |
class | UseDef |
struct | LivetimeRange |
class | LivetimeInterval |
class | LivetimeIntervalImpl |
class | LoopBase |
class | LoopTreeBase |
class | LoopPassBase |
Calculate the Loop Tree. More... | |
class | LoopComparator |
class | LoopTreePrinterPass |
LoopTreePrinterPass TODO: more info. More... | |
class | MachineAddress |
class | MIIterator |
class | MachineBasicBlock |
A basic block of (scheduled) machine instructions. More... | |
struct | MoveEdgeFunctor |
class | MachineOperandDesc |
Descriptor of a MachineOperand. More... | |
class | MachineInstruction |
Proxy to encode explicit and implicit successors. More... | |
class | MachineInstructionPrinterPass |
MachineInstructionPrinterPass TODO: more info. More... | |
class | MachineLabelInst |
class | MachinePhiInst |
class | MachineJumpInst |
class | MachineReplacementPointInst |
Represents a point in the program, where it is possible to recover the source state to perform on-stack replacement. More... | |
class | MachineReplacementEntryInst |
class | MachineReplacementPointCallSiteInst |
Represents a replacement point at a call site (INVOKE* ICMDs) The reference to the corresponding call MachineInstruction is needed since the replacement point needs to know the size of the callsite (in bytes) More... | |
class | MachineReplacementPointStaticSpecialInst |
Specialication for INVOKESpecial and INVOKEStatic. More... | |
class | MachineDeoptInst |
class | MBBIterator |
class | const_MBBIterator |
class | MBBBuilder |
class | MachineInstructionSchedule |
class | MachineInstructionSchedulingPass |
MachineInstructionSchedulingPass TODO: more info. More... | |
class | EmbeddedMachineOperand |
class | MachineOperand |
Operands that can be directly used by the machine (register, memory, stackslot) More... | |
class | VoidOperand |
class | Register |
class | UnassignedReg |
class | VirtualRegister |
class | StackSlot |
class | ManagedStackSlot |
A "virtual" slot that will eventually be mapped to a machine-level slot. More... | |
class | Immediate |
class | Address |
struct | MachineOperandComp |
class | MachineRegister |
class | NoInst |
class | Matcher |
struct | edge |
class | Method |
class | MethodDescriptor |
MethodDescriptor TODO: more info. More... | |
class | NullCheckEliminationPass |
NullCheckEliminationPass. More... | |
class | ObjectFileWriterPass |
ObjectFileWriterPass TODO: more info. More... | |
class | ParserPass |
ParserPass TODO: more info. More... | |
class | Pass |
Pass superclass All compiler passes should inheritate this class. More... | |
class | PassInfo |
class | PassManager |
Manages pass registry and scheduling. More... | |
class | PassRunner |
Each instance of PassRunner represents a single run of the compiler2. More... | |
struct | PassRegistry |
class | PassUsage |
Stores the interdependencies of a pass. More... | |
class | RegisterAllocatorPass |
RegisterAllocatorPass. More... | |
class | ScheduleClickPass |
ScheduleClickPass. More... | |
class | ScheduleEarlyPass |
ScheduleEarlyPass. More... | |
class | ScheduleLatePass |
ScheduleLatePass. More... | |
class | SegRef |
Segment reference. More... | |
class | SegmentTag |
struct | classcomp |
struct | NormalRefCategory |
struct | ReverseRefCategory |
class | Segment |
A segment of the code memory. More... | |
class | ConstTag |
class | PointerTag |
class | SourceStateAttachmentPass |
SourceStateAttachmentPass. More... | |
class | SSAConstructionPass |
SSAConstructionPass. More... | |
class | SSAPrinterPass |
SSAPrinterPass TODO: more info. More... | |
class | BasicBlockPrinterPass |
BasicBlockPrinterPass TODO: more info. More... | |
class | GlobalSchedulePrinterPass |
GlobalSchedulePrinterPass TODO: more info. More... | |
class | StackAnalysisPass |
StackAnalysisPass TODO: more info. More... | |
class | StackSlotManager |
StackSlotManager. More... | |
class | Type |
Type Class. More... | |
class | Value |
class | VerifierPass |
VerifierPass TODO: more info. More... | |
Enumerations | |
enum | CodeSegmentType { LabelID } |
enum | DataSegmentType { DoubleID, LongID, FloatID, IntID, FMIRefID } |
Functions | |
MachineCode * | compile (methodinfo *m) |
OStream & | operator<< (OStream &OS, const Conditional::CondID &cond) |
OStream & | operator<< (OStream &OS, const Instruction *I) |
OStream & | operator<< (OStream &OS, const Instruction &I) |
OStream & | operator<< (OStream &OS, const BeginInstRef &BIR) |
bool | operator< (const Edge &lhs, const Edge &rhs) |
UseDef | next_intersection (const LivetimeInterval &a, const LivetimeInterval &b, UseDef pos, UseDef end) |
OStream & | operator<< (OStream &OS, const LivetimeIntervalImpl <i) |
OStream & | operator<< (OStream &OS, const LivetimeInterval <i) |
OStream & | operator<< (OStream &OS, const LivetimeInterval *lti) |
OStream & | operator<< (OStream &OS, const UseDef &usedef) |
OStream & | operator<< (OStream &OS, const LivetimeRange &range) |
bool | operator< (const UseDef &lhs, const UseDef &rhs) |
less then operator More... | |
bool | operator!= (const UseDef &lhs, const UseDef &rhs) |
bool | operator== (const UseDef &lhs, const UseDef &rhs) |
bool | operator<= (const UseDef &lhs, const UseDef &rhs) |
OStream & | operator<< (OStream &OS, const Loop &L) |
OStream & | operator<< (OStream &OS, const Loop *L) |
bool | check_is_phi (MachineInstruction *value) |
OStream & | operator<< (OStream &OS, const MIIterator &it) |
MachinePhiInst * | get_phi_from_operand (MachineBasicBlock *MBB, MachineOperand *op) |
MachineBasicBlock * | get_edge_block (MachineBasicBlock *from, MachineBasicBlock *to, Backend *backend) |
get a new basic block for a given edge More... | |
MIIterator | get_edge_iterator (MachineBasicBlock *from, MachineBasicBlock *to, Backend *backend) |
MIIterator | insert_before (MIIterator pos, MachineInstruction *value) |
Get an edge inserter. More... | |
MIIterator | insert_after (MIIterator pos, MachineInstruction *value) |
bool | operator<= (const MIIterator &lhs, const MIIterator &rhs) |
bool | operator> (const MIIterator &lhs, const MIIterator &rhs) |
bool | operator>= (const MIIterator &lhs, const MIIterator &rhs) |
OStream & | operator<< (OStream &OS, MachineBasicBlock &MBB) |
template<class InputIterator > | |
void | move_instructions (InputIterator first, InputIterator last, MachineBasicBlock &from, MachineBasicBlock &to) |
Move instructions to another basic block. More... | |
OStream & | operator<< (OStream &OS, const MachineInstruction *MI) |
OStream & | operator<< (OStream &OS, const MachineInstruction &MI) |
OStream & | operator<< (OStream &OS, const MachineOperandDesc *MOD) |
OStream & | operator<< (OStream &OS, const MachineOperandDesc &MOD) |
OStream & | operator<< (OStream &OS, const MachineLoop &L) |
OStream & | operator<< (OStream &OS, const MachineLoop *L) |
OStream & | operator<< (OStream &OS, const MachineOperand &MO) |
OStream & | operator<< (OStream &OS, const MachineOperand *MO) |
OStream & | operator<< (OStream &OS, const Method &M) |
template<typename _NodeType > | |
edge< _NodeType > | make_edge (_NodeType x, _NodeType y) |
OStream & | operator<< (OStream &OS, const MethodDescriptor &MD) |
void | print_PassDependencyGraph () |
template<class _PassClass > | |
Pass * | call_ctor () |
template<typename Tag , typename RefCategory > | |
u1 & | doAccess (SegRef< Tag, RefCategory > &ref, std::size_t i, NormalRefCategory) |
access data More... | |
template<typename Tag , typename RefCategory > | |
u1 & | doAccess (SegRef< Tag, RefCategory > &ref, std::size_t i, ReverseRefCategory) |
access data More... | |
template<typename Tag , typename RefCategory > | |
SegRef< Tag, RefCategory >::IdxTy | getAddStartIndex (SegRef< Tag, RefCategory > &ref, std::size_t v, NormalRefCategory) |
get subreference More... | |
template<typename Tag , typename RefCategory > | |
SegRef< Tag, RefCategory >::IdxTy | getAddStartIndex (SegRef< Tag, RefCategory > &ref, std::size_t v, ReverseRefCategory) |
get subreference More... | |
template<typename Tag , typename RefCategory > | |
SegRef< Tag, RefCategory >::IdxTy | getBegin (const SegRef< Tag, RefCategory > &ref, NormalRefCategory) |
get first index More... | |
template<typename Tag , typename RefCategory > | |
SegRef< Tag, RefCategory >::IdxTy | getBegin (const SegRef< Tag, RefCategory > &ref, ReverseRefCategory) |
get first index More... | |
template<typename Tag , typename RefCategory > | |
SegRef< Tag, RefCategory >::IdxTy | getEnd (const SegRef< Tag, RefCategory > &ref, NormalRefCategory) |
get last but one index More... | |
template<typename Tag , typename RefCategory > | |
SegRef< Tag, RefCategory >::IdxTy | getEnd (const SegRef< Tag, RefCategory > &ref, ReverseRefCategory) |
get last but one index More... | |
template<typename Tag , typename RefCategory > | |
Segment< Tag, RefCategory >::IdxTy | getFollowingIndex (const Segment< Tag, RefCategory > &ref, NormalRefCategory) |
template<typename Tag , typename RefCategory > | |
Segment< Tag, RefCategory >::IdxTy | getFollowingIndex (const Segment< Tag, RefCategory > &ref, ReverseRefCategory) |
template<class Type > | |
OStream & | operator<< (OStream &OS, SegmentTag< Type > &tag) |
template<class Type > | |
OStream & | operator<< (OStream &OS, SegmentTag< Type > *tag) |
const char * | get_type_name (int type) |
Get the printable name of the type . More... | |
Type::TypeID | convert_to_typeid (int type) |
Convert a Type to a Type::TypeID. More... | |
int | convert_to_type (Type::TypeID id) |
Convert a Type::TypeID to a Type. More... | |
OStream & | operator<< (OStream &OS, const Type::TypeID &type) |
const char * | get_type_name (const Type::TypeID &type) |
OStream & | operator<< (OStream &OS, const Value *V) |
OStream & | operator<< (OStream &OS, const Value &V) |
Variables | |
static PassRegistry < BasicBlockSchedulingPass > | X ("BasicBlockSchedulingPass") |
static PassRegistry < CFGConstructionPass > | X ("CFGConstructionPass") |
static PassRegistry< CFGMetaPass > | X ("CFGMetaPass") |
static PassRegistry< CodeGenPass > | X ("CodeGenPass") |
Option< bool > | enabled ("DebugCompiler2","compiler with compiler2", false, option::xx_root()) |
static PassRegistry < DisassemblerPass > | X ("DisassemblerPass") |
static PassRegistry < DominatorPass > | X ("DominatorPass") |
static PassRegistry < DomTreePrinterPass > | X ("DomTreePrinterPass") |
static PassRegistry< ExamplePass > | X ("ExamplePass") |
static PassRegistry < ICMDPrinterPass > | X ("ICMDPrinterPass") |
static PassRegistry < InstructionMetaPass > | X ("InstructionMetaPass") |
static PassRegistry < ListSchedulingPass > | X ("ListSchedulingPass") |
static PassRegistry < LivetimeAnalysisPass > | X ("LivetimeAnalysisPass") |
static PassRegistry< LoopPass > | X ("LoopPass") |
static PassRegistry < LoopTreePrinterPass > | X ("LoopTreePrinterPass") |
static PassRegistry < MachineInstructionPrinterPass > | X ("MachineInstructionPrinterPass") |
static PassRegistry < MachineInstructionSchedulingPass > | X ("MachineInstructionSchedulingPass") |
static PassRegistry < MachineLoopPass > | X ("MachineLoopPass") |
VoidOperand | NoOperand |
Instruction::InstID | tmp [] |
static PassRegistry < NullCheckEliminationPass > | X ("NullCheckEliminationPass") |
static PassRegistry < ObjectFileWriterPass > | X ("ObjectFileWriterPass") |
static PassRegistry< ParserPass > | X ("ParserPass") |
static PassRegistry < RegisterAllocatorPass > | X ("RegisterAllocatorPass") |
static PassRegistry < ScheduleClickPass > | X ("ScheduleClickPass") |
static PassRegistry < ScheduleEarlyPass > | X ("ScheduleEarlyPass") |
static PassRegistry < ScheduleLatePass > | X ("ScheduleLatePass") |
static PassRegistry < SourceStateAttachmentPass > | X ("SourceStateAttachmentPass") |
static PassRegistry < SSAPrinterPass > | X ("SSAPrinterPass") |
static PassRegistry < BasicBlockPrinterPass > | Z ("BasicBlockPrinterPass") |
Option< bool > | schedule_printer_enabled ("GlobalSchedulePrinterPass","compiler2: enable GlobalSchedulePrinterPass", false,::cacao::option::xx_root()) |
static PassRegistry < GlobalSchedulePrinterPass < ScheduleLatePass > > | X_late ("GlobalSchedulePrinterPass(late)") |
static PassRegistry < GlobalSchedulePrinterPass < ScheduleEarlyPass > > | X_early ("GlobalSchedulePrinterPass(early)") |
static PassRegistry < GlobalSchedulePrinterPass < ScheduleClickPass > > | X_click ("GlobalSchedulePrinterPass(click)") |
static PassRegistry < StackAnalysisPass > | X ("StackAnalysisPass") |
static PassRegistry< VerifierPass > | X ("VerifierPass") |
Second stage compiler namespace.
All parts specific to the second stage compiler are contained in this namespace.
typedef alloc::map<MachineBasicBlock*, alloc::list<LivetimeInterval>::type >::type cacao::jit::compiler2::BBtoLTI_Map |
Definition at line 68 of file LinearScanAllocatorPass.hpp.
Definition at line 52 of file CodeSegment.hpp.
Definition at line 51 of file CodeSegment.hpp.
Definition at line 42 of file CodeSegment.hpp.
Definition at line 52 of file DataSegment.hpp.
Definition at line 51 of file DataSegment.hpp.
typedef ConstTag<DataSegmentType,double,DoubleID> cacao::jit::compiler2::DSDouble |
Definition at line 45 of file DataSegment.hpp.
typedef ConstTag<DataSegmentType,float,FloatID> cacao::jit::compiler2::DSFloat |
Definition at line 47 of file DataSegment.hpp.
Definition at line 49 of file DataSegment.hpp.
typedef ConstTag<DataSegmentType,int32_t,IntID> cacao::jit::compiler2::DSInt |
Definition at line 48 of file DataSegment.hpp.
typedef ConstTag<DataSegmentType,int64_t,LongID> cacao::jit::compiler2::DSLong |
Definition at line 46 of file DataSegment.hpp.
typedef alloc::map<Edge,MoveMapTy>::type cacao::jit::compiler2::EdgeMoveMapTy |
Definition at line 67 of file LinearScanAllocatorPass.hpp.
typedef LoopBase<BeginInst> cacao::jit::compiler2::Loop |
Definition at line 35 of file LoopPass.hpp.
Definition at line 43 of file Target.hpp.
typedef u1 cacao::jit::compiler2::MachineCode |
Definition at line 117 of file Compiler.hpp.
Definition at line 35 of file MachineLoop.hpp.
Definition at line 35 of file MachineLoopPass.hpp.
Definition at line 38 of file MachineLoop.hpp.
typedef alloc::list<Move>::type cacao::jit::compiler2::MoveMapTy |
Definition at line 66 of file LinearScanAllocatorPass.hpp.
Definition at line 47 of file Target.hpp.
Definition at line 42 of file Target.hpp.
Definition at line 48 of file Matcher.hpp.
typedef alloc::list<MachineOperand*>::type cacao::jit::compiler2::OperandFile |
Definition at line 507 of file MachineOperand.hpp.
using cacao::jit::compiler2::PassUPtrTy = typedef std::unique_ptr<Pass> |
Definition at line 53 of file PassManager.hpp.
typedef struct burm_state cacao::jit::compiler2::STATE_TYPE |
Definition at line 49 of file Matcher.hpp.
Definition at line 41 of file Target.hpp.
Enumerator | |
---|---|
LabelID |
Definition at line 38 of file CodeSegment.hpp.
Enumerator | |
---|---|
DoubleID | |
LongID | |
FloatID | |
IntID | |
FMIRefID |
Definition at line 37 of file DataSegment.hpp.
Pass* cacao::jit::compiler2::call_ctor | ( | ) |
Definition at line 188 of file PassManager.hpp.
bool cacao::jit::compiler2::check_is_phi | ( | MachineInstruction * | value | ) |
Definition at line 69 of file MachineBasicBlock.cpp.
MachineCode * cacao::jit::compiler2::compile | ( | methodinfo * | m | ) |
prolog start jit_compile_intern
prolog end jit_compile_intern
epilog start jit_compile
Definition at line 123 of file Compiler.cpp.
int cacao::jit::compiler2::convert_to_type | ( | Type::TypeID | id | ) |
Convert a Type::TypeID to a Type.
id | The Type::TypeID to convert. |
id
. Type::TypeID cacao::jit::compiler2::convert_to_typeid | ( | int | type | ) |
Convert a Type to a Type::TypeID.
type | One of the Type enum values (as defined in vm/global.hpp). |
type
.
|
inline |
access data
Definition at line 415 of file Segment.hpp.
|
inline |
access data
Definition at line 422 of file Segment.hpp.
MachineBasicBlock * cacao::jit::compiler2::get_edge_block | ( | MachineBasicBlock * | from, |
MachineBasicBlock * | to, | ||
Backend * | backend | ||
) |
get a new basic block for a given edge
Definition at line 103 of file MachineBasicBlock.cpp.
MIIterator cacao::jit::compiler2::get_edge_iterator | ( | MachineBasicBlock * | from, |
MachineBasicBlock * | to, | ||
Backend * | backend | ||
) |
Definition at line 129 of file MachineBasicBlock.cpp.
MachinePhiInst * cacao::jit::compiler2::get_phi_from_operand | ( | MachineBasicBlock * | MBB, |
MachineOperand * | op | ||
) |
Definition at line 94 of file MachineBasicBlock.cpp.
const char * cacao::jit::compiler2::get_type_name | ( | int | type | ) |
Get the printable name of the type
.
type | One of the Type enum values (as defined in vm/global.hpp). |
type
const char* cacao::jit::compiler2::get_type_name | ( | const Type::TypeID & | type | ) |
|
inline |
get subreference
Definition at line 430 of file Segment.hpp.
|
inline |
get subreference
Definition at line 436 of file Segment.hpp.
|
inline |
get first index
Definition at line 443 of file Segment.hpp.
|
inline |
get first index
Definition at line 449 of file Segment.hpp.
|
inline |
get last but one index
Definition at line 456 of file Segment.hpp.
|
inline |
get last but one index
Definition at line 462 of file Segment.hpp.
|
inline |
Definition at line 469 of file Segment.hpp.
|
inline |
Definition at line 475 of file Segment.hpp.
MIIterator cacao::jit::compiler2::insert_after | ( | MIIterator | pos, |
MachineInstruction * | value | ||
) |
Definition at line 155 of file MachineBasicBlock.cpp.
MIIterator cacao::jit::compiler2::insert_before | ( | MIIterator | pos, |
MachineInstruction * | value | ||
) |
Get an edge inserter.
This may return an iterator to the end of predecessor block, if the predecessor has only one successor, an iterator to the beginning of the successor block, if the successor has only one predecessor, or else an iterator to a newly allocated block.
Definition at line 151 of file MachineBasicBlock.cpp.
edge<_NodeType> cacao::jit::compiler2::make_edge | ( | _NodeType | x, |
_NodeType | y | ||
) |
Definition at line 60 of file MethodC2.hpp.
|
inline |
Move instructions to another basic block.
Definition at line 523 of file MachineBasicBlock.hpp.
UseDef cacao::jit::compiler2::next_intersection | ( | const LivetimeInterval & | a, |
const LivetimeInterval & | b, | ||
UseDef | pos, | ||
UseDef | end | ||
) |
Definition at line 118 of file LivetimeInterval.cpp.
|
inline |
Definition at line 396 of file LivetimeInterval.hpp.
Definition at line 60 of file LinearScanAllocatorPass.hpp.
|
inline |
less then operator
Definition at line 385 of file LivetimeInterval.hpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const MethodDescriptor & | MD | ||
) |
Definition at line 31 of file MethodDescriptor.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const Conditional::CondID & | cond | ||
) |
Definition at line 34 of file Conditional.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const Loop & | L | ||
) |
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const MachineLoop & | L | ||
) |
Definition at line 35 of file MachineLoop.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const Loop * | L | ||
) |
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const Instruction * | I | ||
) |
Definition at line 38 of file Instruction.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const MachineLoop * | L | ||
) |
Definition at line 39 of file MachineLoop.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const MIIterator & | it | ||
) |
Definition at line 73 of file MachineBasicBlock.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const Type::TypeID & | type | ||
) |
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const MachineInstruction * | MI | ||
) |
Definition at line 95 of file MachineInstruction.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const MachineInstruction & | MI | ||
) |
Definition at line 101 of file MachineInstruction.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const MachineOperandDesc * | MOD | ||
) |
Definition at line 105 of file MachineInstruction.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const MachineOperandDesc & | MOD | ||
) |
Definition at line 111 of file MachineInstruction.cpp.
OStream& cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const LivetimeIntervalImpl & | lti | ||
) |
Definition at line 136 of file LivetimeInterval.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const Method & | M | ||
) |
Definition at line 139 of file MethodC2.cpp.
|
inline |
Definition at line 267 of file Instruction.hpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const LivetimeInterval & | lti | ||
) |
Definition at line 356 of file LivetimeInterval.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const LivetimeInterval * | lti | ||
) |
Definition at line 364 of file LivetimeInterval.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const UseDef & | usedef | ||
) |
Definition at line 371 of file LivetimeInterval.cpp.
OStream & cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
const LivetimeRange & | range | ||
) |
Definition at line 377 of file LivetimeInterval.cpp.
|
inline |
Definition at line 449 of file MachineBasicBlock.hpp.
|
inline |
Definition at line 491 of file MachineOperand.hpp.
|
inline |
Definition at line 494 of file MachineOperand.hpp.
OStream& cacao::jit::compiler2::operator<< | ( | OStream & | OS, |
SegmentTag< Type > & | tag | ||
) |
Definition at line 500 of file Segment.hpp.
|
inline |
Definition at line 504 of file Segment.hpp.
|
inline |
Definition at line 532 of file Instructions.hpp.
|
inline |
Definition at line 120 of file MachineBasicBlock.hpp.
|
inline |
Definition at line 402 of file LivetimeInterval.hpp.
|
inline |
Definition at line 399 of file LivetimeInterval.hpp.
|
inline |
Definition at line 123 of file MachineBasicBlock.hpp.
|
inline |
Definition at line 126 of file MachineBasicBlock.hpp.
void cacao::jit::compiler2::print_PassDependencyGraph | ( | ) |
Definition at line 127 of file PassDependencyGraphPrinter.cpp.
Option< bool > cacao::jit::compiler2::enabled |
Definition at line 115 of file Compiler.hpp.
VoidOperand cacao::jit::compiler2::NoOperand |
Definition at line 36 of file MachineOperand.cpp.
Option< bool > cacao::jit::compiler2::schedule_printer_enabled |
Definition at line 71 of file SSAPrinterPass.hpp.
Instruction::InstID cacao::jit::compiler2::tmp[] |
Definition at line 55 of file Matcher.cpp.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |