Lines Matching refs:Instruction
48 static void getRelevantOperands(Instruction *I, SmallVectorImpl<Value *> &Ops) { in getRelevantOperands()
51 case Instruction::Trunc: in getRelevantOperands()
52 case Instruction::ZExt: in getRelevantOperands()
53 case Instruction::SExt: in getRelevantOperands()
57 case Instruction::Add: in getRelevantOperands()
58 case Instruction::Sub: in getRelevantOperands()
59 case Instruction::Mul: in getRelevantOperands()
60 case Instruction::And: in getRelevantOperands()
61 case Instruction::Or: in getRelevantOperands()
62 case Instruction::Xor: in getRelevantOperands()
63 case Instruction::Shl: in getRelevantOperands()
64 case Instruction::LShr: in getRelevantOperands()
65 case Instruction::AShr: in getRelevantOperands()
66 case Instruction::UDiv: in getRelevantOperands()
67 case Instruction::URem: in getRelevantOperands()
68 case Instruction::InsertElement: in getRelevantOperands()
72 case Instruction::ExtractElement: in getRelevantOperands()
75 case Instruction::Select: in getRelevantOperands()
79 case Instruction::PHI: in getRelevantOperands()
90 SmallVector<Instruction *, 8> Stack; in buildTruncExpressionGraph()
104 auto *I = dyn_cast<Instruction>(Curr); in buildTruncExpressionGraph()
128 case Instruction::Trunc: in buildTruncExpressionGraph()
129 case Instruction::ZExt: in buildTruncExpressionGraph()
130 case Instruction::SExt: in buildTruncExpressionGraph()
136 case Instruction::Add: in buildTruncExpressionGraph()
137 case Instruction::Sub: in buildTruncExpressionGraph()
138 case Instruction::Mul: in buildTruncExpressionGraph()
139 case Instruction::And: in buildTruncExpressionGraph()
140 case Instruction::Or: in buildTruncExpressionGraph()
141 case Instruction::Xor: in buildTruncExpressionGraph()
142 case Instruction::Shl: in buildTruncExpressionGraph()
143 case Instruction::LShr: in buildTruncExpressionGraph()
144 case Instruction::AShr: in buildTruncExpressionGraph()
145 case Instruction::UDiv: in buildTruncExpressionGraph()
146 case Instruction::URem: in buildTruncExpressionGraph()
147 case Instruction::InsertElement: in buildTruncExpressionGraph()
148 case Instruction::ExtractElement: in buildTruncExpressionGraph()
149 case Instruction::Select: { in buildTruncExpressionGraph()
155 case Instruction::PHI: { in buildTruncExpressionGraph()
177 SmallVector<Instruction *, 8> Stack; in getMinBitWidth()
189 InstInfoMap[cast<Instruction>(Src)].ValidBitWidth = TruncBitWidth; in getMinBitWidth()
200 auto *I = cast<Instruction>(Curr); in getMinBitWidth()
213 if (auto *IOp = dyn_cast<Instruction>(Operand)) in getMinBitWidth()
228 if (auto *IOp = dyn_cast<Instruction>(Operand)) { in getMinBitWidth()
239 unsigned MinBitWidth = InstInfoMap.lookup(cast<Instruction>(Src)).MinBitWidth; in getMinBitWidth()
276 Instruction *I = Itr.first; in getBestTruncatedType()
281 if (auto *UI = dyn_cast<Instruction>(U)) in getBestTruncatedType()
308 Instruction *I = Itr.first; in getBestTruncatedType()
316 if (I->getOpcode() == Instruction::LShr) { in getBestTruncatedType()
321 if (I->getOpcode() == Instruction::AShr) { in getBestTruncatedType()
329 if (I->getOpcode() == Instruction::UDiv || in getBestTruncatedType()
330 I->getOpcode() == Instruction::URem) { in getBestTruncatedType()
374 auto *I = cast<Instruction>(V); in getReducedOperand()
385 Instruction *I = Itr.first; in ReduceExpressionGraph()
394 case Instruction::Trunc: in ReduceExpressionGraph()
395 case Instruction::ZExt: in ReduceExpressionGraph()
396 case Instruction::SExt: { in ReduceExpressionGraph()
409 Opc == Instruction::SExt); in ReduceExpressionGraph()
426 case Instruction::Add: in ReduceExpressionGraph()
427 case Instruction::Sub: in ReduceExpressionGraph()
428 case Instruction::Mul: in ReduceExpressionGraph()
429 case Instruction::And: in ReduceExpressionGraph()
430 case Instruction::Or: in ReduceExpressionGraph()
431 case Instruction::Xor: in ReduceExpressionGraph()
432 case Instruction::Shl: in ReduceExpressionGraph()
433 case Instruction::LShr: in ReduceExpressionGraph()
434 case Instruction::AShr: in ReduceExpressionGraph()
435 case Instruction::UDiv: in ReduceExpressionGraph()
436 case Instruction::URem: { in ReduceExpressionGraph()
439 Res = Builder.CreateBinOp((Instruction::BinaryOps)Opc, LHS, RHS); in ReduceExpressionGraph()
442 if (auto *ResI = dyn_cast<Instruction>(Res)) in ReduceExpressionGraph()
446 case Instruction::ExtractElement: { in ReduceExpressionGraph()
452 case Instruction::InsertElement: { in ReduceExpressionGraph()
459 case Instruction::Select: { in ReduceExpressionGraph()
466 case Instruction::PHI: { in ReduceExpressionGraph()
477 if (auto *ResI = dyn_cast<Instruction>(Res)) in ReduceExpressionGraph()
494 if (auto *ResI = dyn_cast<Instruction>(Res)) in ReduceExpressionGraph()