[PATCH] D82699: [driver][arm64] Set target CPU to A12 for compiler invocations that target Apple Silicon
Ahmed Bougacha via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 30 07:34:13 PDT 2020
ab added a comment.
In D82699#2118313 <https://reviews.llvm.org/D82699#2118313>, @arphaman wrote:
> @t.p.northover @ab I noticed that the use of "apple-a12" doesn't infer the right target features when we're passing in a11 or older, so that's why my test file has the `INFER-A12` separate line. Do you think this is a bug? This is decided here:
>
> else if ((A = Args.getLastArg(options::OPT_mcpu_EQ)))
> success = getAArch64ArchFeaturesFromMcpu(D, A->getValue(), Args, Features);
>
>
> and CPU value isn't checked here.
Interesting. Does it even pass the newer CPU then? If so I imagine the features are still enabled in the backend because of the cpu, so this would only affect frontend behavior (e.g., preprocessor macros, which might in turn affect some intrinsic headers, etc..). Either way, I agree it's a bug
But the apple-a12 floor isn't a hard requirement here (unlike e.g., arm64e where we'll fail to compile without certain features), so I'm tempted to avoid these shenanigans entirely and let users specify what they want. What do you think?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D82699/new/
https://reviews.llvm.org/D82699
More information about the llvm-commits
mailing list