Lines Matching defs:Insn
209 GEPChainInfo &GEP, T *Insn) {
213 unsigned AlignShiftValue = Log2_64(Insn->getAlign().value());
215 Args.push_back(ConstantInt::get(Int1Ty, Insn->isVolatile()));
216 Args.push_back(ConstantInt::get(Int8Ty, (unsigned)Insn->getOrdering()));
217 Args.push_back(ConstantInt::get(Int8Ty, (unsigned)Insn->getSyncScopeID()));
290 static void reconstructCommon(CallInst *Call, GetElementPtrInst *GEP, T *Insn,
292 Insn->setVolatile(getOperandAsUnsigned(Call, 1 + Delta));
293 Insn->setOrdering((AtomicOrdering)getOperandAsUnsigned(Call, 2 + Delta));
294 Insn->setSyncScopeID(getOperandAsUnsigned(Call, 3 + Delta));
296 Insn->setAlignment(Align(1ULL << AlignShiftValue));
298 Insn->setDebugLoc(Call->getDebugLoc());
299 Insn->setAAMetadata(Call->getAAMetadata());
395 static void reportNonStaticGEPChain(Instruction *Insn) {
397 *Insn->getFunction(),
400 .concat(Insn->getDebugLoc()
403 Insn->getDebugLoc(), DS_Warning);
404 Insn->getContext().diagnose(Msg);
455 static void rewriteAccessChain(Instruction *Insn,
460 static void rewriteUses(Instruction *Insn,
464 for (User *U : Insn->users()) {
466 if (UI && (isPointerOperand(Insn, UI) || isPreserveStaticOffsetCall(UI) ||
472 llvm::dbgs() << " Insn: " << *Insn << "\n";
491 // - Insn - current position in the tree
501 static void rewriteAccessChain(Instruction *Insn,
506 Visited.push_back(Insn);
507 rewriteUses(Insn, GEPs, Visited, AllowPatial, StillUsed);
515 if (tryToReplaceWithGEPBuiltin(LoadOrStore, GEPs, Insn)) {
516 Visited.push_back(Insn);
520 reportNonStaticGEPChain(Insn);
523 if (isa<LoadInst>(Insn) || isa<StoreInst>(Insn)) {
524 TryToReplace(Insn);
525 } else if (isGEPAndLoad(Insn)) {
527 BPFPreserveStaticOffsetPass::reconstructLoad(cast<CallInst>(Insn));
533 } else if (isGEPAndStore(Insn)) {
538 BPFPreserveStaticOffsetPass::reconstructStore(cast<CallInst>(Insn));
544 } else if (auto *GEP = dyn_cast<GetElementPtrInst>(Insn)) {
548 } else if (isPreserveStaticOffsetCall(Insn)) {
550 } else if (isInlineableCall(Insn)) {
562 BufStream << *Insn;
564 Twine("Unexpected rewriteAccessChain Insn = ").concat(Buf));
595 for (Instruction &Insn : instructions(F))
596 if (isPreserveStaticOffsetCall(&Insn))
597 Calls.push_back(&Insn);