Lines Matching refs:Instruction

138 // various instruction-specific modifier definitions Instruction::subOp
302 class Instruction;
316 uint8_t size; // this should match the Instruction type's size
403 inline Instruction *getInsn() const { return insn; }
404 inline void setInsn(Instruction *inst) { insn = inst; }
424 Instruction *insn;
442 inline Instruction *getInsn() const { return insn; }
443 inline void setInsn(Instruction *inst) { insn = inst; }
454 Instruction *insn;
473 inline Instruction *getUniqueInsn() const;
474 inline Instruction *getInsn() const; // use when uniqueness is certain
592 class Instruction
595 Instruction();
596 Instruction(Function *, operation, DataType);
597 virtual ~Instruction();
599 virtual Instruction *clone(ClonePolicy<Function>&,
600 Instruction * = NULL) const;
657 bool isCommutationLegal(const Instruction *) const; // must be adjacent !
658 bool isActionEqual(const Instruction *) const;
659 bool isResultEqual(const Instruction *) const;
671 Instruction *next;
672 Instruction *prev;
735 class TexInstruction : public Instruction
780 Instruction * = NULL) const;
818 class CmpInstruction : public Instruction
824 Instruction * = NULL) const;
833 class FlowInstruction : public Instruction
839 Instruction * = NULL) const;
877 Instruction *getEntry() const { return entry; } // first non-phi instruction
878 Instruction *getPhi() const { return phi; }
879 Instruction *getFirst() const { return phi ? phi : entry; }
880 Instruction *getExit() const { return exit; }
882 void insertHead(Instruction *);
883 void insertTail(Instruction *);
884 void insertBefore(Instruction *, Instruction *);
885 void insertAfter(Instruction *, Instruction *);
886 void remove(Instruction *);
887 void permuteAdjacent(Instruction *, Instruction *);
892 BasicBlock *splitBefore(Instruction *, bool attach = true);
893 BasicBlock *splitAfter(Instruction *, bool attach = true);
911 Instruction *joinAt; // for quick reference
919 Instruction *phi;
920 Instruction *entry;
921 Instruction *exit;
929 void splitCommon(Instruction *, BasicBlock *, bool attach);
955 inline void add(Instruction *insn, int& id) { allInsns.insert(insn, id); }
1076 void releaseInstruction(Instruction *);
1091 virtual bool visit(Instruction *) { return false; }