[PATCH] D138837: [ScheduleDAG] Support REQ_SEQUENCE unscheduling

Filipp Zhinkin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 26 05:42:29 PST 2022


fzhinkin added a comment.

In D138837#4016110 <https://reviews.llvm.org/D138837#4016110>, @barannikov88 wrote:

> Just a note.
> I see other targets just override `getRepRegClassFor` for `MVT::Untyped`. Might it be better to do the same for ARM?

@barannikov88 even if `getRepRegClassFor` will return some non-null value, `getRepRegClassCostFor` may return value that differs from `1` returned by `GetCostForDef` for `REG_SEQUENCE`, so it wouldn't be sufficient to only override `getRepRegClassFor`.

I looked at how it works for SystemZ target and `getRepRegClassFor` returns `SystemZ::ADDR128BitRegClass` for `MVT::Untyped`, but corresponding cost returned by `getRepRegClassCostFor` is `0`.

It also seems like the only targets handling `MVT::Untyped` in `getRepRegClassFor` are MIPS and SystemZ, so a change should be made not only in the ARM target, but in all other targets too.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D138837



More information about the llvm-commits mailing list