[llvm] r341031 - Revert "[SimplifyCFG] Common debug handling [NFC]"

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 30 09:08:18 PDT 2018


Thanks for handling this.

I'm more than a bit confused as to how this led to a clang crash.  I can 
construct a scenario where this wasn't NFC, but the only result I can 
come up with is improved debug info quality.

For the record, I have no plans to investigate this further. This was a 
minor cleanup and is not worth the time to me to invest in getting a 
reproduction environment setup.  I'm simply going to abandon the patch.

Philip


On 08/30/2018 04:23 AM, Maxim Kuvyrkov wrote:
> Martin,
>
> Thanks for reverting this.  I confirm that kernel build has returned to "all pass".
>
> --
> Maxim Kuvyrkov
> www.linaro.org
>
>
>
>> On Aug 30, 2018, at 11:06 AM, Martin Storsjo via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>>
>> Author: mstorsjo
>> Date: Thu Aug 30 01:06:50 2018
>> New Revision: 341031
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=341031&view=rev
>> Log:
>> Revert "[SimplifyCFG] Common debug handling [NFC]"
>>
>> This reverts commit r340997.
>>
>> This change turned out not to be NFC after all, but e.g. causes
>> clang to crash when building the linux kernel for aarch64.
>>
>> Modified:
>>     llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp
>>
>> Modified: llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp?rev=341031&r1=341030&r2=341031&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp (original)
>> +++ llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp Thu Aug 30 01:06:50 2018
>> @@ -2694,6 +2694,8 @@ bool llvm::FoldBranchToCommonDest(Branch
>>      // all instructions before Cond other than DbgInfoIntrinsic are bonus
>>      // instructions.
>>      for (auto BonusInst = BB->begin(); Cond != &*BonusInst; ++BonusInst) {
>> +      if (isa<DbgInfoIntrinsic>(BonusInst))
>> +        continue;
>>        Instruction *NewBonusInst = BonusInst->clone();
>>        RemapInstruction(NewBonusInst, VMap,
>>                         RF_NoModuleLevelChanges | RF_IgnoreMissingLocals);
>> @@ -2821,6 +2823,12 @@ bool llvm::FoldBranchToCommonDest(Branch
>>
>>      // TODO: If BB is reachable from all paths through PredBlock, then we
>>      // could replace PBI's branch probabilities with BI's.
>> +
>> +    // Copy any debug value intrinsics into the end of PredBlock.
>> +    for (Instruction &I : *BB)
>> +      if (isa<DbgInfoIntrinsic>(I))
>> +        I.clone()->insertBefore(PBI);
>> +
>>      return true;
>>    }
>>    return false;
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list