Skip to content

amdgpu-isel appears to be the name for SelectionDAGISel for some targets? #59538

@nickdesaulniers

Description

@nickdesaulniers

I'm trying to write a test for some changes I'm making to SelectionDAGBuilder. The RUN: lines of my FileCheck tests on LLVM IR have llc -mtriple=aarch64-linux-gnu /tmp/x.ll -stop-after=finalize-isel -o - -global-isel=0 -fast-isel=0.

To isolate my test to testing isel, if I add: -start-before=finalize-isel, I no longer get any codegen from llc. It still prints the input IR and yaml for MIR, but the MIR output is gone.

If I replace -start-before=finalize-isel with -print-before-all, I see:

# *** IR Dump Before AArch64 Instruction Selection (amdgpu-isel) ***:

(huh, why is amdgpu-isel in there?)

On a hunch, testing -start-before=amdgpu-isel does what I'd have expected from -start-before=finalize-isel.

Expected:
llc -mtriple=aarch64-linux-gnu /tmp/x.ll -start-before=finalize-isel -stop-after=finalize-isel -o -
Actual:
llc -mtriple=aarch64-linux-gnu /tmp/x.ll -start-before=amdgpu-isel -stop-after=finalize-isel -o -

(Though, adding -print-before-all to Expected above shows what looks like amdgpu-isel, then aarch64-local-dynamic-tls-cleanup, then finalize-isel being run).

I see the same issue if I change the target triple to -mtriple=x86_64-linux-gnu as well, so not specific to aarch64 I think. So not tagging this as related to globalisel (since I don't want to test globalisel anyways).

cc @arsenm @aeubanks

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions