Home | History | Annotate | Download | only in Scalar

Lines Matching full:instruction

190 static Instruction *getInsertPointForUses(Instruction *User, Value *Def,
196 Instruction *InsertPt = 0;
210 assert((!isa<Instruction>(Def) ||
211 DT->dominates(cast<Instruction>(Def), InsertPt)) &&
257 if (Incr == 0 || Incr->getOpcode() != Instruction::FAdd) return;
270 Instruction *U1 = cast<Instruction>(*IncrUse++);
272 Instruction *U2 = cast<Instruction>(*IncrUse++);
510 // may not be a def-use connection between the loop and every instruction
519 if (!isa<Instruction>(InVal))
527 Instruction *Inst = cast<Instruction>(InVal);
531 // Okay, this instruction has a user outside of the current loop
549 Instruction *UseInstr = cast<Instruction>(*IB);
553 if (Opc == Instruction::Call || Opc == Instruction::Ret)
556 if (Opc == Instruction::PHI) {
563 unsigned PhiOpc = cast<Instruction>(*PB)->getOpcode();
564 if (PhiOpc != Instruction::Call && PhiOpc != Instruction::Ret)
569 if (Opc != Instruction::Call && Opc != Instruction::Ret)
591 // If this instruction is dead now, delete it. Don't do it now to avoid
616 // The insertion point instruction may have been deleted; clear it out
657 bool IsSigned = Cast->getOpcode() == Instruction::SExt;
658 if (!IsSigned && Cast->getOpcode() != Instruction::ZExt)
686 Instruction *NarrowDef;
687 Instruction *NarrowUse;
688 Instruction *WideDef;
692 NarrowIVDefUse(Instruction *ND, Instruction *NU, Instruction *WD):
715 Instruction *WideInc;
719 SmallPtrSet<Instruction*,16> Widened;
744 Instruction *Use);
746 Instruction *CloneIVUser(NarrowIVDefUse DU);
748 const SCEVAddRecExpr *GetWideRecurrence(Instruction *NarrowUse);
752 Instruction *WidenIVUse(NarrowIVDefUse DU, SCEVExpander &Rewriter);
754 void pushNarrowIVUsers(Instruction *NarrowDef, Instruction *WideDef);
762 Instruction *Inst = dyn_cast<Instruction>(V);
770 Instruction *Use) {
786 Instruction *WidenIV::CloneIVUser(NarrowIVDefUse DU) {
791 case Instruction::Add:
792 case Instruction::Mul:
793 case Instruction::UDiv:
794 case Instruction::Sub:
795 case Instruction::And:
796 case Instruction::Or:
797 case Instruction::Xor:
798 case Instruction::Shl:
799 case Instruction::LShr:
800 case Instruction::AShr:
834 if (DU.NarrowUse->getOpcode() != Instruction::Add)
855 // flags. This instruction may be guarded by control flow that the no-wrap
867 /// GetWideRecurrence - Is this instruction potentially interesting from
872 const SCEVAddRecExpr *WidenIV::GetWideRecurrence(Instruction *NarrowUse) {
895 Instruction *WidenIV::WidenIVUse(NarrowIVDefUse DU, SCEVExpander &Rewriter) {
961 Instruction *WideUse = 0;
988 void WidenIV::pushNarrowIVUsers(Instruction *NarrowDef, Instruction *WideDef) {
991 Instruction *NarrowUse = cast<Instruction>(*UI);
1041 Instruction *InsertPt = L->getHeader()->begin();
1050 cast<Instruction>(WidePhi->getIncomingValueForBlock(LatchBlock));
1068 Instruction *WideUse = WidenIVUse(DU, Rewriter);
1189 /// count expression can be safely and cheaply expanded into an instruction
1225 Instruction *IncI = dyn_cast<Instruction>(IncV);
1230 case Instruction::Add:
1231 case Instruction::Sub:
1233 case Instruction::GetElementPtr:
1247 if (IncI->getOpcode() == Instruction::GetElementPtr)
1326 Instruction *I = dyn_cast<Instruction>(V);
1578 // Insert a new icmp_ne or icmp_eq instruction before the branch.
1657 Instruction *InsertPt = ExitBlock->getFirstInsertionPt();
1668 // memory. Note that it's okay if the instruction might have undefined
1695 BasicBlock *UseBB = cast<Instruction>(U)->getParent();
1712 Instruction *ToMove = I;
1818 if (Instruction *Inst =
1819 dyn_cast_or_null<Instruction>(&*DeadInsts.pop_back_val()))