This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][DAG] `canCombineShuffleToExtendVectorInreg()`: allow illegal types before legalization
Needs ReviewPublic

Authored by lebedev.ri on Dec 26 2022, 5:06 PM.

Details

Summary

[DAG] canCombineShuffleToExtendVectorInreg(): allow illegal types before legalization

This isn't all that interesting on itself, but this is a prerequisite
to get to the more interesting changes in a follow-up...

Diff Detail

Event Timeline

lebedev.ri created this revision.Dec 26 2022, 5:06 PM
lebedev.ri requested review of this revision.Dec 26 2022, 5:06 PM
lebedev.ri edited the summary of this revision. (Show Details)
lebedev.ri added a reviewer: RKSimon.
lebedev.ri added a subscriber: RKSimon.

Another batch of regressions gone.

(@RKSimon: this is the next patch after D140811, but ignore this one for now.)

fhahn added inline comments.Jan 2 2023, 10:44 AM
llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
450–451

I think this is not quite as clear cut as D140676, but I think this is still a regression over the original code where the constant-pool loads are outside the loop.

lebedev.ri added inline comments.Jan 2 2023, 10:47 AM
llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
450–451

I see. I'm still stomping out many many X86 regressions here,
and didn't look into this AArch64-one.
If someone else wants to, please feel free to do so?

lebedev.ri marked an inline comment as done.Jan 4 2023, 2:55 PM
lebedev.ri added inline comments.
llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
450–451

Looks like that regression has been resolved, but other changes appeared.

lebedev.ri added inline comments.Jan 4 2023, 3:07 PM
llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
2713–2714

Looks like we lost UNDEF knowledge and can no longer eliminate these two redundant operations

2931

Looks like we lost UNDEF knowledge and can no longer eliminate these two redundant operations

3147

Looks like we lost UNDEF knowledge and can no longer eliminate these two redundant operations

3347

Looks like we lost UNDEF knowledge and can no longer eliminate these two redundant operations

3361–3366

Missing shuffle lowering strategy?

3703

Looks like we lost UNDEF knowledge and can no longer eliminate these two redundant operations

4350–4353

???

4370–4376

???

4939

Looks like we lost UNDEF knowledge and can no longer eliminate these two redundant operations