[PATCH] D149032: [InlineAsm][AArch64]Add backend support for flag output parameters

Mingming Liu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 25 18:02:39 PDT 2023


mingmingl added a comment.

In D149032#4296325 <https://reviews.llvm.org/D149032#4296325>, @mingmingl wrote:

> In D149032#4296049 <https://reviews.llvm.org/D149032#4296049>, @efriedma wrote:
>
>> Adding a fallback from globalisel to selectiondag isel should be simple;
>
> Thanks for pointing out fallback mechanism (`TargetLowering::fallBackToDAGISel`)! Will do
>
>> I'd like to avoid advertising support for functionality that doesn't actually work at all optimization levels.
>
> This is a valid point and sounds reasonable.
>
>> This is probably worth noting in release notes.
>
> will do
>
> In D149032#4296049 <https://reviews.llvm.org/D149032#4296049>, @efriedma wrote:
>
>> Adding a fallback from globalisel to selectiondag isel should be simple; I'd like to avoid advertising support for functionality that doesn't actually work at all optimization levels.
>>
>> This is probably worth noting in release notes.

After spending some time on roughly figuring out how fallback works, relaxed the assertion as mentioned above and added a test to show that fallback works (with `global-isel-abort=2` that enables fallback).

Currently `global-isel` is enabled for O0 <https://github.com/llvm/llvm-project/blob/1f67602222cc8668151f1e5d66cb99524f6dc236/clang/lib/Driver/ToolChains/Clang.cpp#L7237> with (the default) GlobalISelAbortMode GlobalISelAbort = GlobalISelAbortMode::Enable; <https://github.com/llvm/llvm-project/blob/1f67602222cc8668151f1e5d66cb99524f6dc236/llvm/include/llvm/Target/TargetOptions.h#L238>, and explains the previous observation (`O0` crashes and `O1/O2` works).

So I'm thinking the change to 'clang/lib/Driver/ToolChains/Clang.cpp' (and release notes update) would goes to D149123 <https://reviews.llvm.org/D149123>


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

https://reviews.llvm.org/D149032



More information about the llvm-commits mailing list