[llvm] r254170 - Disallow aliases to available_externally.

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 30 07:03:13 PST 2015


On Fri, Nov 27, 2015 at 2:20 PM, Rafael EspĂ­ndola
<rafael.espindola at gmail.com> wrote:
> On 27 November 2015 at 10:52, Teresa Johnson <tejohnson at google.com> wrote:
>> On Thu, Nov 26, 2015 at 11:22 AM, Rafael Espindola via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>>> Author: rafael
>>> Date: Thu Nov 26 13:22:59 2015
>>> New Revision: 254170
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=254170&view=rev
>>> Log:
>>> Disallow aliases to available_externally.
>>>
>>> They are as much trouble as aliases to declarations. They are requiring
>>> the code generator to define a symbol with the same value as another
>>> symbol, but the second symbol is undefined.
>>
>> Are any of these slipping through to codegen? I thought the
>> EliminateAvailableExternally pass should remove them all before that
>> point.
>
> It was, but in a way that was changing the semantics of the IR. An
> alias is always a definition. It is not valid to turn it into a
> declaration, which is what we were doing when we found an alias to
> available_externally.

I see. I guess we can revisit this if we find there are aliases that
are important to import/inline.

Teresa

>
> Cheers,
> Rafael



-- 
Teresa Johnson | Software Engineer | tejohnson at google.com | 408-460-2413


More information about the llvm-commits mailing list