Lines Matching refs:Instruction
94 static bool isMemoryInst(const Instruction *I) { in isMemoryInst()
115 SmallVector<Instruction *, 4> Insts;
142 ArrayRef<Instruction *> operator*() const { return Insts; } in operator *()
166 SmallVector<Instruction *, 4> NewInsts; in operator --()
272 assert(cast<Instruction>(V)->getParent() == Blocks[C]); in verifyModelledPHI()
279 ModelledPHI(SmallVectorImpl<Instruction *> &V, in ModelledPHI()
290 ModelledPHI(ArrayRef<Instruction *> Insts, unsigned OpNum, in ModelledPHI()
380 InstructionUseExpr(Instruction *I, ArrayRecycler<Value *> &R, in InstructionUseExpr()
426 InstructionUseExpr *createExpr(Instruction *I) { in createExpr()
465 if (!isa<Instruction>(V)) { in lookupOrAdd()
470 Instruction *I = cast<Instruction>(V); in lookupOrAdd()
476 case Instruction::Load: in lookupOrAdd()
479 case Instruction::Store: in lookupOrAdd()
482 case Instruction::Call: in lookupOrAdd()
483 case Instruction::Invoke: in lookupOrAdd()
484 case Instruction::FNeg: in lookupOrAdd()
485 case Instruction::Add: in lookupOrAdd()
486 case Instruction::FAdd: in lookupOrAdd()
487 case Instruction::Sub: in lookupOrAdd()
488 case Instruction::FSub: in lookupOrAdd()
489 case Instruction::Mul: in lookupOrAdd()
490 case Instruction::FMul: in lookupOrAdd()
491 case Instruction::UDiv: in lookupOrAdd()
492 case Instruction::SDiv: in lookupOrAdd()
493 case Instruction::FDiv: in lookupOrAdd()
494 case Instruction::URem: in lookupOrAdd()
495 case Instruction::SRem: in lookupOrAdd()
496 case Instruction::FRem: in lookupOrAdd()
497 case Instruction::Shl: in lookupOrAdd()
498 case Instruction::LShr: in lookupOrAdd()
499 case Instruction::AShr: in lookupOrAdd()
500 case Instruction::And: in lookupOrAdd()
501 case Instruction::Or: in lookupOrAdd()
502 case Instruction::Xor: in lookupOrAdd()
503 case Instruction::ICmp: in lookupOrAdd()
504 case Instruction::FCmp: in lookupOrAdd()
505 case Instruction::Trunc: in lookupOrAdd()
506 case Instruction::ZExt: in lookupOrAdd()
507 case Instruction::SExt: in lookupOrAdd()
508 case Instruction::FPToUI: in lookupOrAdd()
509 case Instruction::FPToSI: in lookupOrAdd()
510 case Instruction::UIToFP: in lookupOrAdd()
511 case Instruction::SIToFP: in lookupOrAdd()
512 case Instruction::FPTrunc: in lookupOrAdd()
513 case Instruction::FPExt: in lookupOrAdd()
514 case Instruction::PtrToInt: in lookupOrAdd()
515 case Instruction::IntToPtr: in lookupOrAdd()
516 case Instruction::BitCast: in lookupOrAdd()
517 case Instruction::AddrSpaceCast: in lookupOrAdd()
518 case Instruction::Select: in lookupOrAdd()
519 case Instruction::ExtractElement: in lookupOrAdd()
520 case Instruction::InsertElement: in lookupOrAdd()
521 case Instruction::ShuffleVector: in lookupOrAdd()
522 case Instruction::InsertValue: in lookupOrAdd()
523 case Instruction::GetElementPtr: in lookupOrAdd()
578 uint32_t getMemoryUseOrder(Instruction *Inst) { in getMemoryUseOrder()
631 bool shouldAvoidSinkingInstruction(Instruction *I) { in shouldAvoidSinkingInstruction()
712 SmallVector<Instruction *, 4> NewInsts; in analyzeInstructionForSinking()
764 Instruction *I0 = NewInsts[0]; in analyzeInstructionForSinking()
766 auto isNotSameOperation = [&I0](Instruction *I) { in analyzeInstructionForSinking()
884 SmallVector<Instruction *, 4> Insts; in sinkLastInstruction()
887 Instruction *I0 = Insts.front(); in sinkLastInstruction()
891 bool NeedPHI = llvm::any_of(Insts, [&I0, O](const Instruction *I) { in sinkLastInstruction()