Home | History | Annotate | Download | only in Scalar

Lines Matching full:instruction

57     bool SinkInstruction(Instruction *I, SmallPtrSet<Instruction *, 8> &Stores);
58 bool AllUsesDominatedByBlock(Instruction *Inst, BasicBlock *BB) const;
59 bool IsAcceptableTarget(Instruction *Inst, BasicBlock *SuccToSinkTo) const;
74 bool Sinking::AllUsesDominatedByBlock(Instruction *Inst,
83 Instruction *UseInst = cast<Instruction>(*I);
134 SmallPtrSet<Instruction *, 8> Stores;
136 Instruction *Inst = I; // The instruction to sink.
150 // If we just processed the first instruction in the block, we're done.
156 static bool isSafeToMove(Instruction *Inst, AliasAnalysis *AA,
157 SmallPtrSet<Instruction *, 8> &Stores) {
166 for (SmallPtrSet<Instruction *, 8>::iterator I = Stores.begin(),
178 /// IsAcceptableTarget - Return true if it is possible to sink the instruction
180 bool Sinking::IsAcceptableTarget(Instruction *Inst,
182 assert(Inst && "Instruction to be sunk is null");
185 // It is not possible to sink an instruction into its own block. This can
212 // Finally, check that all the uses of the instruction are actually
218 /// instruction out of its current block into a successor.
219 bool Sinking::SinkInstruction(Instruction *Inst,
220 SmallPtrSet<Instruction *, 8> &Stores) {
221 // Check if it's safe to move the instruction.
233 // SuccToSinkTo - This is the successor to sink this instruction to, once we
257 // If we couldn't find a block to sink to, ignore this instruction.
267 // Move the instruction.