Lines Matching refs:Instruction
68 static bool isAlwaysLive(Instruction *I) {
74 const Instruction *UserI, const Instruction *I, unsigned OperandNo,
103 case Instruction::Call:
104 case Instruction::Invoke:
135 case Instruction::Add:
136 case Instruction::Sub:
137 case Instruction::Mul:
143 case Instruction::Shl:
159 case Instruction::LShr:
172 case Instruction::AShr:
191 case Instruction::And:
202 if (!isa<Instruction>(UserI->getOperand(0)))
207 case Instruction::Or:
218 if (!isa<Instruction>(UserI->getOperand(0)))
223 case Instruction::Xor:
224 case Instruction::PHI:
227 case Instruction::Trunc:
230 case Instruction::ZExt:
233 case Instruction::SExt:
243 case Instruction::Select:
270 SmallVector<Instruction*, 128> Worklist;
273 for (Instruction &I : instructions(F)) {
279 // bits and add the instruction to the work list. For other instructions
293 if (Instruction *J = dyn_cast<Instruction>(OI)) {
300 // check isAlwaysLive on every instruction when searching for dead
307 Instruction *UserI = Worklist.pop_back_val();
325 if (Instruction *I = dyn_cast<Instruction>(OI)) {
362 APInt DemandedBits::getDemandedBits(Instruction *I) {
371 bool DemandedBits::isInstructionDead(Instruction *I) {