[llvm] r223521 - Remove dead code. We are only lazy about functions with bodies.

Michael Ilseman milseman at apple.com
Mon Dec 8 17:44:17 PST 2014


Still hitting the assert on ToT. I’ll try seeing if a semantic revert fixes things.


> On Dec 8, 2014, at 5:20 PM, Rafael Avila de Espindola <rafael.espindola at gmail.com> wrote:
> 
> 
> 
> Sent from my iPhone
> 
> On Dec 8, 2014, at 19:41, Michael Ilseman <milseman at apple.com <mailto:milseman at apple.com>> wrote:
> 
>>> 
>>> On Dec 8, 2014, at 4:38 PM, Rafael Avila de Espindola <rafael.espindola at gmail.com> wrote:
>>> 
>>> 
>>> 
>>> Sent from my iPhone
>>> 
>>>> On Dec 8, 2014, at 19:32, Michael Ilseman <milseman at apple.com> wrote:
>>>> 
>>>> Rafael, this broke an internal test case. I’m trying to diagnose the problem and I'm also seeing if I can make an external test case. In the mean time, since this is just “dead code" is it ok if I temporarily revert this?
>>> 
>>> Is anything that is easy to reproduce with ld64 (clang bootstrap for example)?
>>> 
>>> I don't think this will revert cleanly. Are you still hitting an assert with trunk. Can you post the backtrace?
>> 
>> I see, that function has changed quite a bit recently. Let me see if I can make some quick progress. I unfortunately do not have a backtrace I can share yet, but I’m working on getting something.
>> 
> 
> 
> Note that a "semantic revert" should not be too hard to write if you are still hitting the assert.
>>> 
>>>> 
>>>>> On Dec 5, 2014, at 1:36 PM, Rafael Espindola <rafael.espindola at gmail.com> wrote:
>>>>> 
>>>>> Author: rafael
>>>>> Date: Fri Dec  5 15:36:06 2014
>>>>> New Revision: 223521
>>>>> 
>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=223521&view=rev
>>>>> Log:
>>>>> Remove dead code. We are only lazy about functions with bodies.
>>>>> 
>>>>> Modified:
>>>>> llvm/trunk/lib/Linker/LinkModules.cpp
>>>>> 
>>>>> Modified: llvm/trunk/lib/Linker/LinkModules.cpp
>>>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Linker/LinkModules.cpp?rev=223521&r1=223520&r2=223521&view=diff
>>>>> ==============================================================================
>>>>> --- llvm/trunk/lib/Linker/LinkModules.cpp (original)
>>>>> +++ llvm/trunk/lib/Linker/LinkModules.cpp Fri Dec  5 15:36:06 2014
>>>>> @@ -1518,9 +1518,6 @@ bool ModuleLinker::run() {
>>>>> Function *SF = LazilyLinkFunctions.back();
>>>>> LazilyLinkFunctions.pop_back();
>>>>> 
>>>>> -    if (!SF)
>>>>> -      continue;
>>>>> -
>>>>> Function *DF = cast<Function>(ValueMap[SF]);
>>>>> if (SF->hasPrefixData()) {
>>>>>   // Link in the prefix data.
>>>>> @@ -1532,11 +1529,8 @@ bool ModuleLinker::run() {
>>>>> if (std::error_code EC = SF->materialize())
>>>>>   return emitError(EC.message());
>>>>> 
>>>>> -    // Skip if no body (function is external).
>>>>> -    if (SF->isDeclaration())
>>>>> -      continue;
>>>>> -
>>>>> // Link in function body.
>>>>> +    assert(!SF->isDeclaration());
>>>>> linkFunctionBody(DF, SF);
>>>>> SF->Dematerialize();
>>>>> }
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> llvm-commits mailing list
>>>>> llvm-commits at cs.uiuc.edu
>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141208/47cb04c6/attachment.html>


More information about the llvm-commits mailing list