phoebewang wrote: > A function could be external before LTO stage, and become internal only after > LTO symbol resolution. I.e. we're linking against some older object file > which has the function compiled with some older definition of the target > feature, and the calls to that function in a new module would still become > fastcc. > > That's still quite an artificial case IMO.
LTO works on LLVM bitcode files, which must be (re-)compiled before linking. The LTO stage changes default CC to fastcc on both sides, and the backend fastcc lowering happens after it, so both will use the new fastcc. There's not a chance to link to the old protocol. https://github.com/llvm/llvm-project/pull/164768 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
