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) {
#define assert(condition)
UInt32 InstructionAddress
const TTAMachine::AddressSpace & space() const
InstructionAddress location() const
Address startAddr_
The start (lowest) address of the procedure.
virtual Instruction & firstInstruction() const
virtual bool isInProgram() const
Program * parent_
The parent program of the procedure.
virtual int instructionCount() const
InsList instructions_
The instructions in this procedure.
virtual Program & parent() const
virtual Instruction & instructionAtIndex(int index) const
virtual void removeCodeLabels(InstructionAddress address)
bool hasReference(Instruction &ins) const
Instruction * copy() const
bool hasFinalAddress() const
CodeSnippet & parent() const
void setParent(CodeSnippet &proc)
bool isInProcedure() const
static NullProcedure & instance()
void add(Instruction *ins)
CodeSnippet * copy() const
Address address(const Instruction &ins) const
Procedure(const TCEString &name, const TTAMachine::AddressSpace &space)
int alignment_
The alignment of instructions.
void remove(Instruction &ins)
const TCEString name_
The name of the procedure.
void insertAfter(const Instruction &pos, Instruction *ins)
void insertBefore(const Instruction &pos, Instruction *ins)
static const int INSTRUCTION_INDEX_ALIGNMENT
The default alignment of instructions.
GlobalScope & globalScope()
void moveProcedure(Procedure &proc, int howMuch)
Procedure & nextProcedure(const Procedure &proc) const
InstructionReferenceManager & instructionReferenceManager() const
Procedure & lastProcedure() const