nickdesaulniers added inline comments.

================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:96
 
+static cl::opt<bool> SkipRaxSetup(
+    "x86-skip-rax-setup", cl::init(false),
----------------
MaskRay wrote:
> nickdesaulniers wrote:
> > If it's a command line option rather than encoded in the IR, then this 
> > won't be handled correctly under LTO (we support building the x86 linux 
> > kernel under LTO), unless the linker re-passes the flag.  I've been trying 
> > to avoid that by encoding this information properly in IR rather than rely 
> > on codegen command line options which I find brittle.  Please see 
> > https://reviews.llvm.org/D103928 as an example.
> This depends on how frequent the feature is used.
> 
> I see that `arch/x86/Makefile` may add `-mskip-rax-setup` which is presumably 
> used by all C files, so a module flag metadata suffices. If there are 
> mix-and-match cases for different modules (e.g. ssp/nossp) a function 
> attribute may be used. If a feature is really obscure than I might not 
> consider wasting an IR attribute on it. Arguably if a feature is sufficient 
> obscure we may not want to port it from GCC at all.
> 
> So "This fixes pr23258." in the description should state the use case to give 
> archaeologists a hint why the feature is added.
That's fine, though then we should add a test for new module level IR using 
llvm-link, IMO, since this (and many `-m` flags) imply an ABI breakage across 
modules with mismatched use of this flag.

> Arguably if a feature is sufficient obscure we may not want to port it from 
> GCC at all.

In this case, I think@hjl.tools has some nice numbers to justify this feature 
in [[ 
https://patchwork.ozlabs.org/project/gcc/patch/20141218131150.ga32...@intel.com/
 | their patch ]]. I can run similar numbers on clang built kernels, but it 
seems nice to have.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D112413

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

Reply via email to