[LLVMdev] [RFC] Alias should not point to declarations
Chris Lattner
clattner at apple.com
Wed Oct 30 13:56:00 PDT 2013
On Oct 30, 2013, at 1:29 PM, Rafael EspĂndola <rafael.espindola at gmail.com> wrote:
> On 30 October 2013 15:50, Chris Lattner <clattner at apple.com> wrote:
>>
>> On Oct 30, 2013, at 12:35 PM, Rafael EspĂndola <rafael.espindola at gmail.com> wrote:
>>
>>> A long time ago (before r97733) we used to model the weakref attribute
>>> by outputting a new declaration and a weak alias to it. This was
>>> fairly buggy and we now implement weakref directly in clang, with the
>>> same logic an assembler uses to implement .weakref (which is what gcc
>>> prints).
>>
>> This makes sense to me, but I'm not an expert on ELF aliases.
>>
>> If you're working in this area, there is something that has been bugging me for years about GlobalAlias: because we require the type of the alias and aliasee to match, we have to allow constant exprs in the aliasee (see GlobalAlias::getAliasedGlobal).
>>
>> This representation is bad for several reasons. I think it would be much better to change GlobalAlias to allow the aliasee to have a different type than the alias itself, and then require the aliasee to be an actual GlobalValue, disallowing constexprs completely.
>
> This is llvm.org/pr10367, right?
Yeah, it totally is! :-)
-Chris
More information about the llvm-dev
mailing list