reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/Scalar/SROA.cpp
 2494     LLVM_DEBUG(dbgs() << "    original: " << LI << "\n");
 2495     Value *OldOp = LI.getOperand(0);
 2499     LI.getAAMetadata(AATags);
 2501     unsigned AS = LI.getPointerAddressSpace();
 2503     Type *TargetTy = IsSplit ? Type::getIntNTy(LI.getContext(), SliceSize * 8)
 2504                              : LI.getType();
 2510     } else if (IntTy && LI.getType()->isIntegerTy()) {
 2511       V = rewriteIntegerLoad(LI);
 2519                                               LI.isVolatile(), LI.getName());
 2519                                               LI.isVolatile(), LI.getName());
 2522       if (LI.isVolatile())
 2523         NewLI->setAtomic(LI.getOrdering(), LI.getSyncScopeID());
 2523         NewLI->setAtomic(LI.getOrdering(), LI.getSyncScopeID());
 2535       if (MDNode *N = LI.getMetadata(LLVMContext::MD_nonnull))
 2536         copyNonnullMetadata(LI, N, *NewLI);
 2556           LI.isVolatile(), LI.getName());
 2556           LI.isVolatile(), LI.getName());
 2559       if (LI.isVolatile())
 2560         NewLI->setAtomic(LI.getOrdering(), LI.getSyncScopeID());
 2560         NewLI->setAtomic(LI.getOrdering(), LI.getSyncScopeID());
 2568       assert(!LI.isVolatile());
 2569       assert(LI.getType()->isIntegerTy() &&
 2571       assert(SliceSize < DL.getTypeStoreSize(LI.getType()) &&
 2573       assert(DL.typeSizeEqualsStoreSize(LI.getType()) &&
 2576       IRB.SetInsertPoint(&*std::next(BasicBlock::iterator(&LI)));
 2582           LI.getType(), UndefValue::get(LI.getType()->getPointerTo(AS)));
 2582           LI.getType(), UndefValue::get(LI.getType()->getPointerTo(AS)));
 2585       LI.replaceAllUsesWith(V);
 2586       Placeholder->replaceAllUsesWith(&LI);
 2589       LI.replaceAllUsesWith(V);
 2592     Pass.DeadInsts.insert(&LI);
 2595     return !LI.isVolatile() && !IsPtrAdjusted;