erichkeane added a comment.

In D105169#3130355 <https://reviews.llvm.org/D105169#3130355>, @hyeongyukim 
wrote:
> In D105169#3115814 <https://reviews.llvm.org/D105169#3115814>, @erichkeane 
> wrote:
>
>> Either this or D108453 <https://reviews.llvm.org/D108453> (which were 
>> committed together!) caused this assert according to my git-bisect: 
>> https://godbolt.org/z/4rqYKfW7K
>>
>> NOTE that this fails in a lit-test for me, clang CodeGen/ifunc.c (though my 
>> downstream seems to run the verifier even with -emit-llvm, so you might need 
>> to just swap it to an -emit-obj to get this to repro).
>
> The lit-test failure of CodeGen/ifunc.c was not directly related to this 
> patch.
> `emitIFuncDefinition` was creating an incorrect function attribute.
> It added the noundef attribute to the function even though there are no 
> parameters (`foo_ifunc` function of `ifunc.c`), and it was fixed a few days 
> ago.
>
> The patch that solved this problem is D113352 
> <https://reviews.llvm.org/D113352>.
>
>> The `emitIFuncDefinition` fucntion incorrectly passes the GlobalDecl of the 
>> IFunc itself to the call to GetOrCreateLLVMFunction for creating the 
>> resolver, which causes it to be created with a wrong attribute list, which 
>> fails `Verifier::visitFunction` with "Attribute after last parameter!". 
>> You'll note that unlike the relationship between aliases and their aliasees, 
>> the resolver and the ifunc have different types - the resolver takes no 
>> parameters.

Thanks for the update!  Sorry for the late response, i was on vacation the last 
two weeks.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105169/new/

https://reviews.llvm.org/D105169

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to