[PATCH] D142986: Enable multilib.yaml in the BareMetal ToolChain
Peter Smith via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 10 03:32:43 PST 2023
peter.smith added a comment.
Looks good to me. Some small suggestions around execute-only as I expect this to be a useful multilib variant.
================
Comment at: clang/lib/Driver/ToolChain.cpp:198
unsigned FPUKind = llvm::ARM::FK_INVALID;
- tools::arm::getARMTargetFeatures(D, Triple, Args, Features, false, &FPUKind);
+ tools::arm::getARMTargetFeatures(D, Triple, Args, Features, false, false,
+ &FPUKind);
----------------
Now that there are two boolean parameters, could you put a prefix comment to show which one is which for example:
/* ForAs */ false, /* GenExecuteOnly */
================
Comment at: clang/lib/Driver/ToolChains/Arch/ARM.cpp:779
// This only makes sense for the compiler, not for the assembler.
- if (!ForAS) {
+ if (!ForAS && GetExecuteOnly) {
// Supported only on ARMv6T2 and ARMv7 and above.
----------------
I can see execute-only being used in a multilib configuration as it can impact code-generation significantly yet is a requirement for a system aiming to have all code execute-only.
Rather than a specific `GenExecuteOnly` flag, would it be better for something like `ForMultilib` like `ForAS` and then we could move it to not give the error message when doing `ForMultilib` the name would also generalise to other parts.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D142986/new/
https://reviews.llvm.org/D142986
More information about the cfe-commits
mailing list