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