Lines Matching defs: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)))
118 Instruction *Inst = dyn_cast<Instruction>(Addr);
119 return Inst == 0 || CanPHITrans(Inst);
149 Instruction *Inst = dyn_cast<Instruction>(V);
150 if (Inst == 0) return V;
152 // Determine whether 'Inst' is an input to our PHI translatable expression.
153 bool isInput = std::count(InstInputs.begin(), InstInputs.end(), Inst);
157 if (Inst->getParent() != CurBB) {
160 return Inst;
163 // If 'Inst' is defined in this block and is an input that needs to be phi
167 InstInputs.erase(std::find(InstInputs.begin(), InstInputs.end(), Inst));
170 if (PHINode *PN = dyn_cast<PHINode>(Inst))
175 if (!CanPHITrans(Inst))
180 for (unsigned i = 0, e = Inst->getNumOperands(); i != e; ++i)
181 if (Instruction *Op = dyn_cast<Instruction>(Inst->getOperand(i)))
189 if (CastInst *Cast = dyn_cast<CastInst>(Inst)) {
217 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Inst)) {
262 if (Inst->getOpcode() == Instruction::Add &&
263 isa<ConstantInt>(Inst->getOperand(1))) {
265 Constant *RHS = cast<ConstantInt>(Inst->getOperand(1));
266 bool isNSW = cast<BinaryOperator>(Inst)->hasNoSignedWrap();
267 bool isNUW = cast<BinaryOperator>(Inst)->hasNoUnsignedWrap();
269 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT);
296 if (LHS == Inst->getOperand(0) && RHS == Inst->getOperand(1))
297 return Inst;
330 if (Instruction *Inst = dyn_cast_or_null<Instruction>(Addr))
331 if (!DT->dominates(Inst->getParent(), PredBB))
381 Instruction *Inst = cast<Instruction>(InVal);
384 if (CastInst *Cast = dyn_cast<CastInst>(Inst)) {
400 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Inst)) {
425 if (Inst->getOpcode() == Instruction::Add &&
426 isa<ConstantInt>(Inst->getOperand(1))) {
428 Value *OpVal = InsertPHITranslatedSubExpr(Inst->getOperand(0),
432 BinaryOperator *Res = BinaryOperator::CreateAdd(OpVal, Inst->getOperand(1),
435 Res->setHasNoSignedWrap(cast<BinaryOperator>(Inst)->hasNoSignedWrap());
436 Res->setHasNoUnsignedWrap(cast<BinaryOperator>(Inst)->hasNoUnsignedWrap());