efriedma added a comment.

My primary concern with this is that I'm not sure you should be passing this 
information separately, as opposed to encoding it into the bitcode.

On ARM, the ABI for a file is generally derived from the target triple.  For 
example, "arm-eabi" is soft-float, "arm-eabihf" is hard-float.  This makes the 
intended target clear, provides some protection against accidentally using LTO 
with files compiled for different ABIs, and matches up well with our existing 
configuration flags to set a default target for a compiler.

For other ABI-ish sorts of questions, LLVM IR also supports module flags, which 
can specify various parameters that apply to an entire object file.  See, for 
example, http://llvm.org/docs/LangRef.html#c-type-width-module-flags-metadata . 
 This has some of the same benefits: it clearly applies to the whole file, and 
it detects mixing targets with LTO.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D71387



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

Reply via email to