[llvm] r223521 - Remove dead code. We are only lazy about functions with bodies.
Rafael Avila de Espindola
rafael.espindola at gmail.com
Mon Dec 8 17:20:24 PST 2014
Sent from my iPhone
On Dec 8, 2014, at 19:41, Michael Ilseman <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
>
More information about the llvm-commits
mailing list