Lines Matching refs:Instruction
55 bool SinkInstruction(Instruction *I, SmallPtrSet<Instruction *, 8> &Stores);
56 bool AllUsesDominatedByBlock(Instruction *Inst, BasicBlock *BB) const;
71 bool Sinking::AllUsesDominatedByBlock(Instruction *Inst,
80 Instruction *UseInst = cast<Instruction>(*I);
132 SmallPtrSet<Instruction *, 8> Stores;
134 Instruction *Inst = I; // The instruction to sink.
148 // If we just processed the first instruction in the block, we're done.
154 static bool isSafeToMove(Instruction *Inst, AliasAnalysis *AA,
155 SmallPtrSet<Instruction *, 8> &Stores) {
164 for (SmallPtrSet<Instruction *, 8>::iterator I = Stores.begin(),
177 /// instruction out of its current block into a successor.
178 bool Sinking::SinkInstruction(Instruction *Inst,
179 SmallPtrSet<Instruction *, 8> &Stores) {
180 // Check if it's safe to move the instruction.
192 // Loop over all the operands of the specified instruction. If there is
196 // SuccToSinkTo - This is the successor to sink this instruction to, once we
207 // the instruction could be sunk over the whole diamond for the
223 // If we couldn't find a block to sink to, ignore this instruction.
227 // It is not possible to sink an instruction into its own block. This can
270 // Move the instruction.