w2yehia wrote:

I rebased on the `!implicit.ref` PR, had to change the `.ref` relocation for 
functions from `.ref foo[DS]` to `.ref .foo[PR]` because when `foo` is just a 
declaration with no other references in the code, we currently generate a 
`.extern .foo[PR]` but not a `.extern foo[DS]` unless `foo` is address taken.
I initially tried to change the query `Function::hasAddressTaken` to return 
true if the given function is on an `!implicit.ref` metadata, but that turned 
out to be non-trivial.

I'm still not sure if `Function::hasAddressTaken` should return true if the 
only reference to a function declaration is a use on a `!implicit.ref` MD.

Sean is reviewing.

https://github.com/llvm/llvm-project/pull/153049
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to