[PATCH] D15600: AArch64: Add option to use shared epilogues in compiler-rt

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 12 11:26:27 PST 2016


MatzeB added a comment.

I looked into producing comdat functions and unfortunately I am not sure we can easily do this at the moment. All the codegen passes and the usual CodeGen/Passes.cpp pipeline is built from (Machine)FunctionPasses which are not allowed to create additional functions. I don't see an easy way out there yet.

As for keeping the epilogues in compiler-rt: I do not see how this case is any worse than anything else we have in compiler-rt; If you link with an incompatible/older version there is always a chance that things won't work, this should be the same for epilogues as for example soft-float intrinsics.

To avoid people accidentally changing the epilogue function I decidedly choose names that pretty much completely describe the content of the epilogue function: __epilogue_X19_X20_X21_X22 does what you would expect it to do: restore X19,X10,X21 and X22 in that order and return, I don't see how anyone would change the content of that function without also choosing a different function name.


Repository:
  rL LLVM

http://reviews.llvm.org/D15600





More information about the llvm-commits mailing list