[PATCH] D137269: [Clang][AArch64][Darwin] Enable GlobalISel by default for Darwin ARM64 platforms.

Nico Weber via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 14 09:02:10 PST 2022


thakis added a comment.

Heads-up: This very visibly broke web page rendering in Chromium (but only when using LTO) (https://crbug.com/1383873) . Not clear yet if this exposed UB on our end or not.

One thing that we did notice is that adding `-fno-global-isel` to cflags and ldflags only had an effect when manually blowing away the thinlto cache. Maybe whatever decides when to invalidate the thinlto cache needs to learn to invalidate it when the `-global-isel` flag changes?



================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:7218-7219
+      CmdArgs.push_back("-global-isel=1");
+      CmdArgs.push_back("-mllvm");
+      CmdArgs.push_back("-global-isel-abort=0");
+    }
----------------
aemerson wrote:
> arsenm wrote:
> > Why abort=0? I can understand abort=1 or 2
> Abort=1 would mean the compiler crashes on fallback, and `2` would mean we emit diagnostics, neither of which we want for an on-by-default configuration.
Any reason why we pass different flags to ld's LTO than to cc1?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D137269



More information about the cfe-commits mailing list