diff --git a/llvm/lib/Transforms/IPO/GlobalOpt.cpp b/llvm/lib/Transforms/IPO/GlobalOpt.cpp index 9586fc97a39f7..1a2a27d22ae68 100644 --- a/llvm/lib/Transforms/IPO/GlobalOpt.cpp +++ b/llvm/lib/Transforms/IPO/GlobalOpt.cpp @@ -2186,8 +2186,10 @@ static bool tryWidenGlobalArraysUsedByMemcpy( if (NumElementsToCopy != DZSize || DZSize != SZSize) continue; - unsigned NumBytesToPad = GetTTI(*F).getNumBytesToPadGlobalArray( - NumBytesToCopy, SourceDataArray->getType()); + unsigned NumBytesToPad = + GetTTI(*CI->getFunction()) + .getNumBytesToPadGlobalArray(NumBytesToCopy, + SourceDataArray->getType()); if (NumBytesToPad) { return tryWidenGlobalArrayAndDests(F, GV, NumBytesToPad, NumBytesToCopy, BytesToCopyOp, SourceDataArray);