Skip to content

Commit 89051eb

Browse files
committed
[NFC] GetUnderlyingObject -> getUnderlyingObject
I am going to touch them in the next patch anyway
1 parent 9f02258 commit 89051eb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+114
-113
lines changed

llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ inline bool ModuleHasARC(const Module &M) {
6767
inline const Value *GetUnderlyingObjCPtr(const Value *V,
6868
const DataLayout &DL) {
6969
for (;;) {
70-
V = GetUnderlyingObject(V, DL);
70+
V = getUnderlyingObject(V, DL);
7171
if (!IsForwarding(GetBasicARCInstKind(V)))
7272
break;
7373
V = cast<CallInst>(V)->getArgOperand(0);

llvm/include/llvm/Analysis/ValueTracking.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -368,14 +368,14 @@ class Value;
368368
/// that the returned value has pointer type if the specified value does. If
369369
/// the MaxLookup value is non-zero, it limits the number of instructions to
370370
/// be stripped off.
371-
Value *GetUnderlyingObject(Value *V, const DataLayout &DL,
371+
Value *getUnderlyingObject(Value *V, const DataLayout &DL,
372372
unsigned MaxLookup = 6);
373-
inline const Value *GetUnderlyingObject(const Value *V, const DataLayout &DL,
373+
inline const Value *getUnderlyingObject(const Value *V, const DataLayout &DL,
374374
unsigned MaxLookup = 6) {
375-
return GetUnderlyingObject(const_cast<Value *>(V), DL, MaxLookup);
375+
return getUnderlyingObject(const_cast<Value *>(V), DL, MaxLookup);
376376
}
377377

378-
/// This method is similar to GetUnderlyingObject except that it can
378+
/// This method is similar to getUnderlyingObject except that it can
379379
/// look through phi and select instructions and return multiple objects.
380380
///
381381
/// If LoopInfo is passed, loop phis are further analyzed. If a pointer
@@ -403,12 +403,12 @@ class Value;
403403
/// Since A[i] and A[i-1] are independent pointers, getUnderlyingObjects
404404
/// should not assume that Curr and Prev share the same underlying object thus
405405
/// it shouldn't look through the phi above.
406-
void GetUnderlyingObjects(const Value *V,
406+
void getUnderlyingObjects(const Value *V,
407407
SmallVectorImpl<const Value *> &Objects,
408408
const DataLayout &DL, LoopInfo *LI = nullptr,
409409
unsigned MaxLookup = 6);
410410

411-
/// This is a wrapper around GetUnderlyingObjects and adds support for basic
411+
/// This is a wrapper around getUnderlyingObjects and adds support for basic
412412
/// ptrtoint+arithmetic+inttoptr sequences.
413413
bool getUnderlyingObjectsForCodeGen(const Value *V,
414414
SmallVectorImpl<Value *> &Objects,

llvm/lib/Analysis/AliasAnalysis.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ ModRefInfo AAResults::callCapturesBefore(const Instruction *I,
642642
return ModRefInfo::ModRef;
643643

644644
const Value *Object =
645-
GetUnderlyingObject(MemLoc.Ptr, I->getModule()->getDataLayout());
645+
getUnderlyingObject(MemLoc.Ptr, I->getModule()->getDataLayout());
646646
if (!isIdentifiedObject(Object) || isa<GlobalValue>(Object) ||
647647
isa<Constant>(Object))
648648
return ModRefInfo::ModRef;

llvm/lib/Analysis/BasicAliasAnalysis.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ STATISTIC(SearchTimes, "Number of times a GEP is decomposed");
9191
const unsigned MaxNumPhiBBsValueReachabilityCheck = 20;
9292

9393
// The max limit of the search depth in DecomposeGEPExpression() and
94-
// GetUnderlyingObject(), both functions need to use the same search
94+
// getUnderlyingObject(), both functions need to use the same search
9595
// depth otherwise the algorithm in aliasGEP will assert.
9696
static const unsigned MaxLookupSearchDepth = 6;
9797

@@ -456,8 +456,8 @@ static unsigned getMaxPointerSize(const DataLayout &DL) {
456456
/// such, the gep cannot necessarily be reconstructed from its decomposed form.
457457
///
458458
/// When DataLayout is around, this function is capable of analyzing everything
459-
/// that GetUnderlyingObject can look through. To be able to do that
460-
/// GetUnderlyingObject and DecomposeGEPExpression must use the same search
459+
/// that getUnderlyingObject can look through. To be able to do that
460+
/// getUnderlyingObject and DecomposeGEPExpression must use the same search
461461
/// depth (MaxLookupSearchDepth). When DataLayout not is around, it just looks
462462
/// through pointer casts.
463463
bool BasicAAResult::DecomposeGEPExpression(const Value *V,
@@ -661,7 +661,7 @@ bool BasicAAResult::pointsToConstantMemory(const MemoryLocation &Loc,
661661
SmallVector<const Value *, 16> Worklist;
662662
Worklist.push_back(Loc.Ptr);
663663
do {
664-
const Value *V = GetUnderlyingObject(Worklist.pop_back_val(), DL);
664+
const Value *V = getUnderlyingObject(Worklist.pop_back_val(), DL);
665665
if (!Visited.insert(V).second) {
666666
Visited.clear();
667667
return AAResultBase::pointsToConstantMemory(Loc, AAQI, OrLocal);
@@ -875,7 +875,7 @@ ModRefInfo BasicAAResult::getModRefInfo(const CallBase *Call,
875875
assert(notDifferentParent(Call, Loc.Ptr) &&
876876
"AliasAnalysis query involving multiple functions!");
877877

878-
const Value *Object = GetUnderlyingObject(Loc.Ptr, DL);
878+
const Value *Object = getUnderlyingObject(Loc.Ptr, DL);
879879

880880
// Calls marked 'tail' cannot read or write allocas from the current frame
881881
// because the current frame might be destroyed by the time they run. However,
@@ -1309,7 +1309,7 @@ bool BasicAAResult::isGEPBaseAtNegativeOffset(const GEPOperator *GEPOp,
13091309
/// another pointer.
13101310
///
13111311
/// We know that V1 is a GEP, but we don't know anything about V2.
1312-
/// UnderlyingV1 is GetUnderlyingObject(GEP1, DL), UnderlyingV2 is the same for
1312+
/// UnderlyingV1 is getUnderlyingObject(GEP1, DL), UnderlyingV2 is the same for
13131313
/// V2.
13141314
AliasResult BasicAAResult::aliasGEP(
13151315
const GEPOperator *GEP1, LocationSize V1Size, const AAMDNodes &V1AAInfo,
@@ -1338,7 +1338,7 @@ AliasResult BasicAAResult::aliasGEP(
13381338

13391339
assert(DecompGEP1.Base == UnderlyingV1 && DecompGEP2.Base == UnderlyingV2 &&
13401340
"DecomposeGEPExpression returned a result different from "
1341-
"GetUnderlyingObject");
1341+
"getUnderlyingObject");
13421342

13431343
// If the GEP's offset relative to its base is such that the base would
13441344
// fall below the start of the object underlying V2, then the GEP and V2
@@ -1782,10 +1782,10 @@ AliasResult BasicAAResult::aliasCheck(const Value *V1, LocationSize V1Size,
17821782

17831783
// Figure out what objects these things are pointing to if we can.
17841784
if (O1 == nullptr)
1785-
O1 = GetUnderlyingObject(V1, DL, MaxLookupSearchDepth);
1785+
O1 = getUnderlyingObject(V1, DL, MaxLookupSearchDepth);
17861786

17871787
if (O2 == nullptr)
1788-
O2 = GetUnderlyingObject(V2, DL, MaxLookupSearchDepth);
1788+
O2 = getUnderlyingObject(V2, DL, MaxLookupSearchDepth);
17891789

17901790
// Null values in the default address space don't point to any object, so they
17911791
// don't alias any other pointer.

llvm/lib/Analysis/CaptureTracking.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ void llvm::PointerMayBeCaptured(const Value *V, CaptureTracker *Tracker,
273273
// The pointer is not captured if returned pointer is not captured.
274274
// NOTE: CaptureTracking users should not assume that only functions
275275
// marked with nocapture do not capture. This means that places like
276-
// GetUnderlyingObject in ValueTracking or DecomposeGEPExpression
276+
// getUnderlyingObject in ValueTracking or DecomposeGEPExpression
277277
// in BasicAA also need to know about this property.
278278
if (isIntrinsicReturningPointerAliasingArgumentWithoutCapturing(Call,
279279
true)) {

llvm/lib/Analysis/ConstantFolding.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -718,7 +718,7 @@ Constant *llvm::ConstantFoldLoadFromConstPtr(Constant *C, Type *Ty,
718718

719719
// If this load comes from anywhere in a constant global, and if the global
720720
// is all undef or zero, we know what it loads.
721-
if (auto *GV = dyn_cast<GlobalVariable>(GetUnderlyingObject(CE, DL))) {
721+
if (auto *GV = dyn_cast<GlobalVariable>(getUnderlyingObject(CE, DL))) {
722722
if (GV->isConstant() && GV->hasDefinitiveInitializer()) {
723723
if (GV->getInitializer()->isNullValue())
724724
return Constant::getNullValue(Ty);

llvm/lib/Analysis/DependenceAnalysis.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -659,8 +659,8 @@ static AliasResult underlyingObjectsAlias(AAResults *AA,
659659
return NoAlias;
660660

661661
// Check the underlying objects are the same
662-
const Value *AObj = GetUnderlyingObject(LocA.Ptr, DL);
663-
const Value *BObj = GetUnderlyingObject(LocB.Ptr, DL);
662+
const Value *AObj = getUnderlyingObject(LocA.Ptr, DL);
663+
const Value *BObj = getUnderlyingObject(LocB.Ptr, DL);
664664

665665
// If the underlying objects are the same, they must alias
666666
if (AObj == BObj)

llvm/lib/Analysis/GlobalsModRef.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ STATISTIC(NumIndirectGlobalVars, "Number of indirect global objects");
4444
// An option to enable unsafe alias results from the GlobalsModRef analysis.
4545
// When enabled, GlobalsModRef will provide no-alias results which in extremely
4646
// rare cases may not be conservatively correct. In particular, in the face of
47-
// transforms which cause assymetry between how effective GetUnderlyingObject
47+
// transforms which cause assymetry between how effective getUnderlyingObject
4848
// is for two pointers, it may produce incorrect results.
4949
//
5050
// These unsafe results have been returned by GMR for many years without
@@ -435,7 +435,7 @@ bool GlobalsAAResult::AnalyzeIndirectGlobalMemory(GlobalVariable *GV) {
435435
continue;
436436

437437
// Check the value being stored.
438-
Value *Ptr = GetUnderlyingObject(SI->getOperand(0),
438+
Value *Ptr = getUnderlyingObject(SI->getOperand(0),
439439
GV->getParent()->getDataLayout());
440440

441441
if (!isAllocLikeFn(Ptr, &GetTLI(*SI->getFunction())))
@@ -661,12 +661,12 @@ static bool isNonEscapingGlobalNoAliasWithLoad(const GlobalValue *GV,
661661
return false;
662662

663663
if (auto *LI = dyn_cast<LoadInst>(Input)) {
664-
Inputs.push_back(GetUnderlyingObject(LI->getPointerOperand(), DL));
664+
Inputs.push_back(getUnderlyingObject(LI->getPointerOperand(), DL));
665665
continue;
666666
}
667667
if (auto *SI = dyn_cast<SelectInst>(Input)) {
668-
const Value *LHS = GetUnderlyingObject(SI->getTrueValue(), DL);
669-
const Value *RHS = GetUnderlyingObject(SI->getFalseValue(), DL);
668+
const Value *LHS = getUnderlyingObject(SI->getTrueValue(), DL);
669+
const Value *RHS = getUnderlyingObject(SI->getFalseValue(), DL);
670670
if (Visited.insert(LHS).second)
671671
Inputs.push_back(LHS);
672672
if (Visited.insert(RHS).second)
@@ -675,7 +675,7 @@ static bool isNonEscapingGlobalNoAliasWithLoad(const GlobalValue *GV,
675675
}
676676
if (auto *PN = dyn_cast<PHINode>(Input)) {
677677
for (const Value *Op : PN->incoming_values()) {
678-
Op = GetUnderlyingObject(Op, DL);
678+
Op = getUnderlyingObject(Op, DL);
679679
if (Visited.insert(Op).second)
680680
Inputs.push_back(Op);
681681
}
@@ -774,16 +774,16 @@ bool GlobalsAAResult::isNonEscapingGlobalNoAlias(const GlobalValue *GV,
774774
if (auto *LI = dyn_cast<LoadInst>(Input)) {
775775
// A pointer loaded from a global would have been captured, and we know
776776
// that the global is non-escaping, so no alias.
777-
const Value *Ptr = GetUnderlyingObject(LI->getPointerOperand(), DL);
777+
const Value *Ptr = getUnderlyingObject(LI->getPointerOperand(), DL);
778778
if (isNonEscapingGlobalNoAliasWithLoad(GV, Ptr, Depth, DL))
779779
// The load does not alias with GV.
780780
continue;
781781
// Otherwise, a load could come from anywhere, so bail.
782782
return false;
783783
}
784784
if (auto *SI = dyn_cast<SelectInst>(Input)) {
785-
const Value *LHS = GetUnderlyingObject(SI->getTrueValue(), DL);
786-
const Value *RHS = GetUnderlyingObject(SI->getFalseValue(), DL);
785+
const Value *LHS = getUnderlyingObject(SI->getTrueValue(), DL);
786+
const Value *RHS = getUnderlyingObject(SI->getFalseValue(), DL);
787787
if (Visited.insert(LHS).second)
788788
Inputs.push_back(LHS);
789789
if (Visited.insert(RHS).second)
@@ -792,7 +792,7 @@ bool GlobalsAAResult::isNonEscapingGlobalNoAlias(const GlobalValue *GV,
792792
}
793793
if (auto *PN = dyn_cast<PHINode>(Input)) {
794794
for (const Value *Op : PN->incoming_values()) {
795-
Op = GetUnderlyingObject(Op, DL);
795+
Op = getUnderlyingObject(Op, DL);
796796
if (Visited.insert(Op).second)
797797
Inputs.push_back(Op);
798798
}
@@ -827,8 +827,8 @@ AliasResult GlobalsAAResult::alias(const MemoryLocation &LocA,
827827
const MemoryLocation &LocB,
828828
AAQueryInfo &AAQI) {
829829
// Get the base object these pointers point to.
830-
const Value *UV1 = GetUnderlyingObject(LocA.Ptr, DL);
831-
const Value *UV2 = GetUnderlyingObject(LocB.Ptr, DL);
830+
const Value *UV1 = getUnderlyingObject(LocA.Ptr, DL);
831+
const Value *UV2 = getUnderlyingObject(LocB.Ptr, DL);
832832

833833
// If either of the underlying values is a global, they may be non-addr-taken
834834
// globals, which we can answer queries about.
@@ -915,7 +915,7 @@ ModRefInfo GlobalsAAResult::getModRefInfoForArgument(const CallBase *Call,
915915
// is based on GV, return the conservative result.
916916
for (auto &A : Call->args()) {
917917
SmallVector<const Value*, 4> Objects;
918-
GetUnderlyingObjects(A, Objects, DL);
918+
getUnderlyingObjects(A, Objects, DL);
919919

920920
// All objects must be identified.
921921
if (!all_of(Objects, isIdentifiedObject) &&
@@ -942,7 +942,7 @@ ModRefInfo GlobalsAAResult::getModRefInfo(const CallBase *Call,
942942
// If we are asking for mod/ref info of a direct call with a pointer to a
943943
// global we are tracking, return information if we have it.
944944
if (const GlobalValue *GV =
945-
dyn_cast<GlobalValue>(GetUnderlyingObject(Loc.Ptr, DL)))
945+
dyn_cast<GlobalValue>(getUnderlyingObject(Loc.Ptr, DL)))
946946
// If GV is internal to this IR and there is no function with local linkage
947947
// that has had their address taken, keep looking for a tighter ModRefInfo.
948948
if (GV->hasLocalLinkage() && !UnknownFunctionsWithLocalLinkage)

llvm/lib/Analysis/InstructionSimplify.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2524,8 +2524,8 @@ computePointerICmp(const DataLayout &DL, const TargetLibraryInfo *TLI,
25242524
// memory within the lifetime of the current function (allocas, byval
25252525
// arguments, globals), then determine the comparison result here.
25262526
SmallVector<const Value *, 8> LHSUObjs, RHSUObjs;
2527-
GetUnderlyingObjects(LHS, LHSUObjs, DL);
2528-
GetUnderlyingObjects(RHS, RHSUObjs, DL);
2527+
getUnderlyingObjects(LHS, LHSUObjs, DL);
2528+
getUnderlyingObjects(RHS, RHSUObjs, DL);
25292529

25302530
// Is the set of underlying objects all noalias calls?
25312531
auto IsNAC = [](ArrayRef<const Value *> Objects) {

llvm/lib/Analysis/LazyValueInfo.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -606,12 +606,12 @@ Optional<ValueLatticeElement> LazyValueInfoImpl::solveBlockValueImpl(
606606
static bool InstructionDereferencesPointer(Instruction *I, Value *Ptr) {
607607
if (LoadInst *L = dyn_cast<LoadInst>(I)) {
608608
return L->getPointerAddressSpace() == 0 &&
609-
GetUnderlyingObject(L->getPointerOperand(),
609+
getUnderlyingObject(L->getPointerOperand(),
610610
L->getModule()->getDataLayout()) == Ptr;
611611
}
612612
if (StoreInst *S = dyn_cast<StoreInst>(I)) {
613613
return S->getPointerAddressSpace() == 0 &&
614-
GetUnderlyingObject(S->getPointerOperand(),
614+
getUnderlyingObject(S->getPointerOperand(),
615615
S->getModule()->getDataLayout()) == Ptr;
616616
}
617617
if (MemIntrinsic *MI = dyn_cast<MemIntrinsic>(I)) {
@@ -622,12 +622,12 @@ static bool InstructionDereferencesPointer(Instruction *I, Value *Ptr) {
622622
if (!Len || Len->isZero()) return false;
623623

624624
if (MI->getDestAddressSpace() == 0)
625-
if (GetUnderlyingObject(MI->getRawDest(),
625+
if (getUnderlyingObject(MI->getRawDest(),
626626
MI->getModule()->getDataLayout()) == Ptr)
627627
return true;
628628
if (MemTransferInst *MTI = dyn_cast<MemTransferInst>(MI))
629629
if (MTI->getSourceAddressSpace() == 0)
630-
if (GetUnderlyingObject(MTI->getRawSource(),
630+
if (getUnderlyingObject(MTI->getRawSource(),
631631
MTI->getModule()->getDataLayout()) == Ptr)
632632
return true;
633633
}
@@ -642,10 +642,10 @@ static bool isObjectDereferencedInBlock(Value *Val, BasicBlock *BB) {
642642
assert(Val->getType()->isPointerTy());
643643

644644
const DataLayout &DL = BB->getModule()->getDataLayout();
645-
Value *UnderlyingVal = GetUnderlyingObject(Val, DL);
646-
// If 'GetUnderlyingObject' didn't converge, skip it. It won't converge
645+
Value *UnderlyingVal = getUnderlyingObject(Val, DL);
646+
// If 'getUnderlyingObject' didn't converge, skip it. It won't converge
647647
// inside InstructionDereferencesPointer either.
648-
if (UnderlyingVal == GetUnderlyingObject(UnderlyingVal, DL, 1))
648+
if (UnderlyingVal == getUnderlyingObject(UnderlyingVal, DL, 1))
649649
for (Instruction &I : *BB)
650650
if (InstructionDereferencesPointer(&I, UnderlyingVal))
651651
return true;

llvm/lib/Analysis/Lint.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,7 @@ Value *Lint::findValueImpl(Value *V, bool OffsetOk,
673673
// TODO: Look through eliminable cast pairs.
674674
// TODO: Look through calls with unique return values.
675675
// TODO: Look through vector insert/extract/shuffle.
676-
V = OffsetOk ? GetUnderlyingObject(V, *DL) : V->stripPointerCasts();
676+
V = OffsetOk ? getUnderlyingObject(V, *DL) : V->stripPointerCasts();
677677
if (LoadInst *L = dyn_cast<LoadInst>(V)) {
678678
BasicBlock::iterator BBI = L->getIterator();
679679
BasicBlock *BB = L->getParent();

llvm/lib/Analysis/LoopAccessAnalysis.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -938,7 +938,7 @@ void AccessAnalysis::processMemAccesses() {
938938
typedef SmallVector<const Value *, 16> ValueVector;
939939
ValueVector TempObjects;
940940

941-
GetUnderlyingObjects(Ptr, TempObjects, DL, LI);
941+
getUnderlyingObjects(Ptr, TempObjects, DL, LI);
942942
LLVM_DEBUG(dbgs()
943943
<< "Underlying objects for pointer " << *Ptr << "\n");
944944
for (const Value *UnderlyingObj : TempObjects) {
@@ -1142,7 +1142,7 @@ bool llvm::sortPtrAccesses(ArrayRef<Value *> VL, const DataLayout &DL,
11421142
// first pointer in the array.
11431143
Value *Ptr0 = VL[0];
11441144
const SCEV *Scev0 = SE.getSCEV(Ptr0);
1145-
Value *Obj0 = GetUnderlyingObject(Ptr0, DL);
1145+
Value *Obj0 = getUnderlyingObject(Ptr0, DL);
11461146

11471147
llvm::SmallSet<int64_t, 4> Offsets;
11481148
for (auto *Ptr : VL) {
@@ -1153,7 +1153,7 @@ bool llvm::sortPtrAccesses(ArrayRef<Value *> VL, const DataLayout &DL,
11531153
return false;
11541154
// If a pointer refers to a different underlying object, bail - the
11551155
// pointers are by definition incomparable.
1156-
Value *CurrObj = GetUnderlyingObject(Ptr, DL);
1156+
Value *CurrObj = getUnderlyingObject(Ptr, DL);
11571157
if (CurrObj != Obj0)
11581158
return false;
11591159

@@ -1950,7 +1950,7 @@ void LoopAccessInfo::analyzeLoop(AAResults *AA, LoopInfo *LI,
19501950
AccessAnalysis Accesses(TheLoop->getHeader()->getModule()->getDataLayout(),
19511951
TheLoop, AA, LI, DependentAccesses, *PSE);
19521952

1953-
// Holds the analyzed pointers. We don't want to call GetUnderlyingObjects
1953+
// Holds the analyzed pointers. We don't want to call getUnderlyingObjects
19541954
// multiple times on the same object. If the ptr is accessed twice, once
19551955
// for read and once for write, it will only appear once (on the write
19561956
// list). This is okay, since we are going to check for conflicts between

llvm/lib/Analysis/MemoryDependenceAnalysis.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,7 @@ MemDepResult MemoryDependenceResults::getSimplePointerDependencyFrom(
576576
// looking for a clobber in many cases; that's an alias property and is
577577
// handled by BasicAA.
578578
if (isa<AllocaInst>(Inst) || isNoAliasFn(Inst, &TLI)) {
579-
const Value *AccessPtr = GetUnderlyingObject(MemLoc.Ptr, DL);
579+
const Value *AccessPtr = getUnderlyingObject(MemLoc.Ptr, DL);
580580
if (AccessPtr == Inst || AA.isMustAlias(Inst, AccessPtr))
581581
return MemDepResult::getDef(Inst);
582582
}

0 commit comments

Comments
 (0)