Lines Matching refs:Inst
25 static bool CanPHITrans(Instruction *Inst) { in CanPHITrans() argument
26 if (isa<PHINode>(Inst) || in CanPHITrans()
27 isa<GetElementPtrInst>(Inst)) in CanPHITrans()
30 if (isa<CastInst>(Inst) && in CanPHITrans()
31 isSafeToSpeculativelyExecute(Inst)) in CanPHITrans()
34 if (Inst->getOpcode() == Instruction::Add && in CanPHITrans()
35 isa<ConstantInt>(Inst->getOperand(1))) in CanPHITrans()
118 Instruction *Inst = dyn_cast<Instruction>(Addr); in IsPotentiallyPHITranslatable() local
119 return Inst == 0 || CanPHITrans(Inst); in IsPotentiallyPHITranslatable()
149 Instruction *Inst = dyn_cast<Instruction>(V); in PHITranslateSubExpr() local
150 if (Inst == 0) return V; in PHITranslateSubExpr()
153 bool isInput = std::count(InstInputs.begin(), InstInputs.end(), Inst); in PHITranslateSubExpr()
157 if (Inst->getParent() != CurBB) { in PHITranslateSubExpr()
160 return Inst; in PHITranslateSubExpr()
167 InstInputs.erase(std::find(InstInputs.begin(), InstInputs.end(), Inst)); in PHITranslateSubExpr()
170 if (PHINode *PN = dyn_cast<PHINode>(Inst)) in PHITranslateSubExpr()
175 if (!CanPHITrans(Inst)) in PHITranslateSubExpr()
180 for (unsigned i = 0, e = Inst->getNumOperands(); i != e; ++i) in PHITranslateSubExpr()
181 if (Instruction *Op = dyn_cast<Instruction>(Inst->getOperand(i))) in PHITranslateSubExpr()
189 if (CastInst *Cast = dyn_cast<CastInst>(Inst)) { in PHITranslateSubExpr()
217 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Inst)) { in PHITranslateSubExpr()
262 if (Inst->getOpcode() == Instruction::Add && in PHITranslateSubExpr()
263 isa<ConstantInt>(Inst->getOperand(1))) { in PHITranslateSubExpr()
265 Constant *RHS = cast<ConstantInt>(Inst->getOperand(1)); in PHITranslateSubExpr()
266 bool isNSW = cast<BinaryOperator>(Inst)->hasNoSignedWrap(); in PHITranslateSubExpr()
267 bool isNUW = cast<BinaryOperator>(Inst)->hasNoUnsignedWrap(); in PHITranslateSubExpr()
269 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr()
296 if (LHS == Inst->getOperand(0) && RHS == Inst->getOperand(1)) in PHITranslateSubExpr()
297 return Inst; in PHITranslateSubExpr()
330 if (Instruction *Inst = dyn_cast_or_null<Instruction>(Addr)) in PHITranslateValue() local
331 if (!DT->dominates(Inst->getParent(), PredBB)) in PHITranslateValue()
381 Instruction *Inst = cast<Instruction>(InVal); in InsertPHITranslatedSubExpr() local
384 if (CastInst *Cast = dyn_cast<CastInst>(Inst)) { in InsertPHITranslatedSubExpr()
400 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Inst)) { in InsertPHITranslatedSubExpr()
425 if (Inst->getOpcode() == Instruction::Add && in InsertPHITranslatedSubExpr()
426 isa<ConstantInt>(Inst->getOperand(1))) { in InsertPHITranslatedSubExpr()
428 Value *OpVal = InsertPHITranslatedSubExpr(Inst->getOperand(0), in InsertPHITranslatedSubExpr()
432 BinaryOperator *Res = BinaryOperator::CreateAdd(OpVal, Inst->getOperand(1), in InsertPHITranslatedSubExpr()
435 Res->setHasNoSignedWrap(cast<BinaryOperator>(Inst)->hasNoSignedWrap()); in InsertPHITranslatedSubExpr()
436 Res->setHasNoUnsignedWrap(cast<BinaryOperator>(Inst)->hasNoUnsignedWrap()); in InsertPHITranslatedSubExpr()