[llvm] b7448a3 - [Attributor][NFC] Use indexes instead of iterator
Luofan Chen via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 15 08:58:33 PDT 2020
Oh I missed that. I will fix the issues you mentioned.
Really sorry about that!
On 8/15/20 11:25 PM, Florian Hahn wrote:
>
>> On Aug 15, 2020, at 16:12, Luofan Chen via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>>
>>
>> Author: Luofan Chen
>> Date: 2020-08-15T23:09:46+08:00
>> New Revision: b7448a348bb863365b3d4652010a29efedd8f2e7
>>
>> URL: https://github.com/llvm/llvm-project/commit/b7448a348bb863365b3d4652010a29efedd8f2e7
>> DIFF: https://github.com/llvm/llvm-project/commit/b7448a348bb863365b3d4652010a29efedd8f2e7.diff
>>
>> LOG: [Attributor][NFC] Use indexes instead of iterator
>>
>> When adding elements when iterating, the iterator will become
>> valid, which could cause errors. This fixes the issue by using
>> indexes instead of iterator.
>>
>> Added:
>>
>>
>> Modified:
>> llvm/lib/Transforms/IPO/Attributor.cpp
>>
>> Removed:
>>
>>
>>
>> ################################################################################
>> diff --git a/llvm/lib/Transforms/IPO/Attributor.cpp b/llvm/lib/Transforms/IPO/Attributor.cpp
>> index 6599ff6d6246..88e06558d652 100644
>> --- a/llvm/lib/Transforms/IPO/Attributor.cpp
>> +++ b/llvm/lib/Transforms/IPO/Attributor.cpp
>> @@ -2204,8 +2204,9 @@ static bool runAttributorOnFunctions(InformationCache &InfoCache,
>> // TODO: for now we eagerly internalize functions without calculating the
>> // cost, we need a cost interface to determine whether internalizing
>> // a function is "benefitial"
>> - if (AllowDeepWrapper) {
>> - for (Function *F : Functions)
>> + if (AllowDeepWrapper)
>> + for (unsigned u = 0; u < Functions.size(); u ++) {
> The space between `u ++` seems odd. Did you clang-format that?
>
>> + Function *F = Functions[u];
>> if (!F->isDeclaration() && !F->isDefinitionExact() && F->getNumUses() &&
>> !GlobalValue::isInterposableLinkage(F->getLinkage())) {
>> Function *NewF = internalizeFunction(*F);
>> @@ -2219,7 +2220,7 @@ static bool runAttributorOnFunctions(InformationCache &InfoCache,
>> CGUpdater.reanalyzeFunction(*CallerF);
>> }
>> }
>> - }
>> + }
>
> It looks like this will also visit the newly inserted functions. Is that what you want? Wouldn’t it be enough to compute the size up-front and only check the functions that are in Functions initially?
More information about the llvm-commits
mailing list