Lines Matching refs:Instr
82 void LoweringContext::insert(Inst *Instr) { in insert() argument
83 getNode()->getInsts().insert(Next, Instr); in insert()
84 LastInserted = Instr; in insert()
111 Inst *Instr = LastInserted; in availabilityUpdate() local
112 if (Instr == nullptr) in availabilityUpdate()
114 if (!Instr->isVarAssign()) in availabilityUpdate()
117 LastDest = Instr->getDest(); in availabilityUpdate()
118 LastSrc = llvm::cast<Variable>(Instr->getSrc(0)); in availabilityUpdate()
404 Inst *Instr = iteratorToInst(Context.getCur()); in lower() local
405 Instr->deleteIfDead(); in lower()
406 if (!Instr->isDeleted() && !llvm::isa<InstFakeDef>(Instr) && in lower()
407 !llvm::isa<InstFakeUse>(Instr)) { in lower()
412 Instr->setDeleted(); in lower()
413 switch (Instr->getKind()) { in lower()
415 lowerAlloca(llvm::cast<InstAlloca>(Instr)); in lower()
418 lowerArithmetic(llvm::cast<InstArithmetic>(Instr)); in lower()
421 lowerAssign(llvm::cast<InstAssign>(Instr)); in lower()
424 lowerBr(llvm::cast<InstBr>(Instr)); in lower()
427 lowerBreakpoint(llvm::cast<InstBreakpoint>(Instr)); in lower()
430 lowerCall(llvm::cast<InstCall>(Instr)); in lower()
433 lowerCast(llvm::cast<InstCast>(Instr)); in lower()
436 lowerExtractElement(llvm::cast<InstExtractElement>(Instr)); in lower()
439 lowerFcmp(llvm::cast<InstFcmp>(Instr)); in lower()
442 lowerIcmp(llvm::cast<InstIcmp>(Instr)); in lower()
445 lowerInsertElement(llvm::cast<InstInsertElement>(Instr)); in lower()
448 auto *Call = llvm::cast<InstIntrinsicCall>(Instr); in lower()
455 lowerLoad(llvm::cast<InstLoad>(Instr)); in lower()
458 lowerPhi(llvm::cast<InstPhi>(Instr)); in lower()
461 lowerRet(llvm::cast<InstRet>(Instr)); in lower()
464 lowerSelect(llvm::cast<InstSelect>(Instr)); in lower()
467 lowerShuffleVector(llvm::cast<InstShuffleVector>(Instr)); in lower()
470 lowerStore(llvm::cast<InstStore>(Instr)); in lower()
473 lowerSwitch(llvm::cast<InstSwitch>(Instr)); in lower()
476 lowerUnreachable(llvm::cast<InstUnreachable>(Instr)); in lower()
479 lowerOther(Instr); in lower()
491 InstHighLevel *Instr) { in lowerInst() argument
497 Context.insert(Instr); in lowerInst()
499 assert(iteratorToInst(Next) == Instr); in lowerInst()
504 void TargetLowering::lowerOther(const Inst *Instr) { in lowerOther() argument
505 (void)Instr; in lowerOther()
547 for (auto &Instr : Insts) { in getInstructionsInRange() local
548 if (Instr.isDeleted()) { in getInstructionsInRange()
551 if (Instr.getNumber() == Start) { in getInstructionsInRange()
555 Result.emplace_back(&Instr); in getInstructionsInRange()
557 if (Instr.getNumber() == End) { in getInstructionsInRange()
613 for (auto *Instr : in postRegallocSplitting() local
615 for (SizeT i = 0; i < Instr->getSrcSize(); ++i) { in postRegallocSplitting()
619 if (auto *Var = llvm::dyn_cast<Variable>(Instr->getSrc(i))) { in postRegallocSplitting()
621 if (Info.FirstUse == nullptr && !llvm::isa<InstPhi>(Instr)) { in postRegallocSplitting()
622 Info.FirstUse = Instr; in postRegallocSplitting()
628 if (Instr->getDest() == Info.Replacing && !llvm::isa<InstPhi>(Instr)) { in postRegallocSplitting()
629 Info.LastDef = Instr; in postRegallocSplitting()
679 for (auto *Instr : RelevantInsts) { in postRegallocSplitting() local
680 if (llvm::isa<InstPhi>(Instr)) in postRegallocSplitting()
685 for (SizeT i = 0; i < Instr->getSrcSize(); ++i) { in postRegallocSplitting()
687 if (auto *Var = llvm::dyn_cast<Variable>(Instr->getSrc(i))) { in postRegallocSplitting()
689 Instr->replaceSource(i, ExtraVar); in postRegallocSplitting()
693 if (Instr->getDest() == Info.Replacing) { in postRegallocSplitting()
694 Instr->replaceDest(ExtraVar); in postRegallocSplitting()
719 for (auto Instr = Context.getCur(), E = Context.getNext(); Instr != E; in markRedefinitions() local
720 ++Instr) { in markRedefinitions()
721 if (Instr->isDeleted()) in markRedefinitions()
723 Variable *Dest = Instr->getDest(); in markRedefinitions()
726 FOREACH_VAR_IN_INST(Var, *Instr) { in markRedefinitions()
728 Instr->setDestRedefined(); in markRedefinitions()
735 void TargetLowering::addFakeDefUses(const Inst *Instr) { in addFakeDefUses() argument
736 FOREACH_VAR_IN_INST(Var, *Instr) { in addFakeDefUses()
748 Variable *Dest = Instr->getDest(); in addFakeDefUses()
786 for (Inst &Instr : Node->getInsts()) { in getVarStackSlotParams()
787 if (Instr.isDeleted()) in getVarStackSlotParams()
789 if (const Variable *Var = Instr.getDest()) in getVarStackSlotParams()
791 FOREACH_VAR_IN_INST(Var, Instr) { in getVarStackSlotParams()