forked from OSchip/llvm-project
parent
cd09869dfc
commit
18c5bae727
|
@ -969,7 +969,7 @@ void SROA::isSafeForScalarRepl(Instruction *I, AllocaInst *AI, uint64_t Offset,
|
|||
ConstantInt *Length = dyn_cast<ConstantInt>(MI->getLength());
|
||||
if (Length)
|
||||
isSafeMemAccess(AI, Offset, Length->getZExtValue(), 0,
|
||||
UI.getOperandNo() == 1, Info);
|
||||
UI.getOperandNo() == CallInst::ArgOffset, Info);
|
||||
else
|
||||
MarkUnsafe(Info);
|
||||
} else if (LoadInst *LI = dyn_cast<LoadInst>(User)) {
|
||||
|
@ -1799,7 +1799,7 @@ static bool isOnlyCopiedFromConstantGlobal(Value *V, MemTransferInst *&TheCopy,
|
|||
if (isOffset) return false;
|
||||
|
||||
// If the memintrinsic isn't using the alloca as the dest, reject it.
|
||||
if (UI.getOperandNo() != 1) return false;
|
||||
if (UI.getOperandNo() != CallInst::ArgOffset) return false;
|
||||
|
||||
// If the source of the memcpy/move is not a constant global, reject it.
|
||||
if (!PointsToConstantGlobal(MI->getSource()))
|
||||
|
|
Loading…
Reference in New Issue