[llvm] r254170 - Disallow aliases to available_externally.

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 27 14:20:57 PST 2015


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.

Cheers,
Rafael


More information about the llvm-commits mailing list