Lines Matching refs:Inst

25 static bool CanPHITrans(Instruction *Inst) {
26 if (isa<PHINode>(Inst) ||
27 isa<GetElementPtrInst>(Inst))
30 if (isa<CastInst>(Inst) &&
31 isSafeToSpeculativelyExecute(Inst))
34 if (Inst->getOpcode() == Instruction::Add &&
35 isa<ConstantInt>(Inst->getOperand(1)))
116 Instruction *Inst = dyn_cast<Instruction>(Addr);
117 return Inst == 0 || CanPHITrans(Inst);
147 Instruction *Inst = dyn_cast<Instruction>(V);
148 if (Inst == 0) return V;
150 // Determine whether 'Inst' is an input to our PHI translatable expression.
151 bool isInput = std::count(InstInputs.begin(), InstInputs.end(), Inst);
155 if (Inst->getParent() != CurBB) {
158 return Inst;
161 // If 'Inst' is defined in this block and is an input that needs to be phi
165 InstInputs.erase(std::find(InstInputs.begin(), InstInputs.end(), Inst));
168 if (PHINode *PN = dyn_cast<PHINode>(Inst))
173 if (!CanPHITrans(Inst))
178 for (unsigned i = 0, e = Inst->getNumOperands(); i != e; ++i)
179 if (Instruction *Op = dyn_cast<Instruction>(Inst->getOperand(i)))
187 if (CastInst *Cast = dyn_cast<CastInst>(Inst)) {
215 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Inst)) {
260 if (Inst->getOpcode() == Instruction::Add &&
261 isa<ConstantInt>(Inst->getOperand(1))) {
263 Constant *RHS = cast<ConstantInt>(Inst->getOperand(1));
264 bool isNSW = cast<BinaryOperator>(Inst)->hasNoSignedWrap();
265 bool isNUW = cast<BinaryOperator>(Inst)->hasNoUnsignedWrap();
267 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT);
294 if (LHS == Inst->getOperand(0) && RHS == Inst->getOperand(1))
295 return Inst;
328 if (Instruction *Inst = dyn_cast_or_null<Instruction>(Addr))
329 if (!DT->dominates(Inst->getParent(), PredBB))
379 Instruction *Inst = cast<Instruction>(InVal);
382 if (CastInst *Cast = dyn_cast<CastInst>(Inst)) {
398 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Inst)) {
423 if (Inst->getOpcode() == Instruction::Add &&
424 isa<ConstantInt>(Inst->getOperand(1))) {
426 Value *OpVal = InsertPHITranslatedSubExpr(Inst->getOperand(0),
430 BinaryOperator *Res = BinaryOperator::CreateAdd(OpVal, Inst->getOperand(1),
433 Res->setHasNoSignedWrap(cast<BinaryOperator>(Inst)->hasNoSignedWrap());
434 Res->setHasNoUnsignedWrap(cast<BinaryOperator>(Inst)->hasNoUnsignedWrap());