This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Ignore instructions not supported by CPU in AArch64SVESchedPseudoTest
ClosedPublic

Authored by sdesmalen on Jul 24 2023, 3:15 AM.

Details

Summary

When adding new Pseudos for instructions that are not supported
by the CPU for which the scheduler model is being tested, the test fails
if these pseudos are not covered by the regex's in the scheduling model.

Rather than failing, this test should check that the CPU supports the
original instruction modelled by the pseudo. If not, the pseudo is
not relevant to the scheduling model being tested.

Diff Detail

Event Timeline

sdesmalen created this revision.Jul 24 2023, 3:15 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 24 2023, 3:15 AM
sdesmalen requested review of this revision.Jul 24 2023, 3:15 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 24 2023, 3:15 AM
dmgreen accepted this revision.Jul 24 2023, 7:02 AM
dmgreen added a subscriber: dmgreen.

Can you check this works in a Release build? If so it looks OK to me.

(It would be good if we had a more supported way of always querying an opcode for whether it was legal. I've wanted to use the same thing in llvm-exegesis recently).

This revision is now accepted and ready to land.Jul 24 2023, 7:02 AM

Can you check this works in a Release build? If so it looks OK to me.

Thanks. I tried a Release build and it worked as expected.

(It would be good if we had a more supported way of always querying an opcode for whether it was legal. I've wanted to use the same thing in llvm-exegesis recently).

Yes, I kind of expected there to be an interface for this already. Given there wasn't I wondered if this use-case was actually more niche than I thought. Feel free to move this out into a separate utility function if you want to reuse it for llvm-exegesis.

This revision was landed with ongoing or failed builds.Jul 24 2023, 8:00 AM
This revision was automatically updated to reflect the committed changes.