Lines Matching refs:Instruction
74 Value *foldIVUser(Instruction *UseInst, Instruction *IVOperand);
76 bool eliminateIVUser(Instruction *UseInst, Instruction *IVOperand);
91 Value *SimplifyIndvar::foldIVUser(Instruction *UseInst, Instruction *IVOperand) { in foldIVUser()
98 case Instruction::UDiv: in foldIVUser()
99 case Instruction::LShr: in foldIVUser()
117 if (UseInst->getOpcode() == Instruction::LShr) { in foldIVUser()
239 bool SimplifyIndvar::eliminateIVUser(Instruction *UseInst, in eliminateIVUser()
240 Instruction *IVOperand) { in eliminateIVUser()
246 bool IsSigned = Rem->getOpcode() == Instruction::SRem; in eliminateIVUser()
247 if (IsSigned || Rem->getOpcode() == Instruction::URem) { in eliminateIVUser()
271 Instruction *Def, in pushIVUsers()
272 SmallPtrSet<Instruction*,16> &Simplified, in pushIVUsers() argument
273 SmallVectorImpl< std::pair<Instruction*,Instruction*> > &SimpleIVUsers) { in pushIVUsers()
277 Instruction *User = cast<Instruction>(*UI); in pushIVUsers()
294 static bool isSimpleIVUser(Instruction *I, const Loop *L, ScalarEvolution *SE) { in isSimpleIVUser()
326 SmallPtrSet<Instruction*,16> Simplified; in simplifyUsers()
329 SmallVector<std::pair<Instruction*, Instruction*>, 8> SimpleIVUsers; in simplifyUsers()
337 std::pair<Instruction*, Instruction*> UseOper = in simplifyUsers()
342 Instruction *IVOperand = UseOper.second; in simplifyUsers()
349 IVOperand = dyn_cast<Instruction>(NewOper); in simplifyUsers()