Go to the documentation of this file.
46 const int Procedure::INSTRUCTION_INDEX_ALIGNMENT = 1;
143 newProc->
add(insCopy);
198 if ((*iter) == &pos) {
219 __FILE__,__LINE__,
__func__,
"pos not in this procedure");
223 __FILE__, __LINE__,
"CodeSnippet::insertInstructionBefore",
224 "Instruction already belongs to a procedure.");
250 if ((*iter) == &next) {
275 __FILE__, __LINE__,
"CodeSnippet::insertInstructionBefore",
276 "Instruction already belongs to a procedure.");
308 string msg =
"Instruction doesn't belong to the procedure.";
319 if ((*iter) == &ins) {
UInt32 InstructionAddress
virtual Instruction & firstInstruction() const
void remove(Instruction &ins)
static NullProcedure & instance()
const TTAMachine::AddressSpace & space() const
Address address(const Instruction &ins) const
void insertAfter(const Instruction &pos, Instruction *ins)
const TCEString name_
The name of the procedure.
CodeSnippet * copy() const
int alignment_
The alignment of instructions.
#define assert(condition)
Procedure & nextProcedure(const Procedure &proc) const
void moveProcedure(Procedure &proc, int howMuch)
virtual int instructionCount() const
Instruction * copy() const
bool hasReference(Instruction &ins) const
CodeSnippet & parent() const
InstructionAddress location() const
void insertBefore(const Instruction &pos, Instruction *ins)
virtual void removeCodeLabels(InstructionAddress address)
void setParent(CodeSnippet &proc)
bool isInProcedure() const
void add(Instruction *ins)
InstructionReferenceManager & instructionReferenceManager() const
virtual Program & parent() const
Procedure(const TCEString &name, const TTAMachine::AddressSpace &space)
Program * parent_
The parent program of the procedure.
virtual Instruction & instructionAtIndex(int index) const
Procedure & lastProcedure() const
GlobalScope & globalScope()
InsList instructions_
The instructions in this procedure.
Address startAddr_
The start (lowest) address of the procedure.
bool hasFinalAddress() const
virtual bool isInProgram() const