[ModuloSchedule] Add interface call to accept/reject SMS schedules
authorDavid Penry <david.penry@arm.com>
Thu, 30 Jun 2022 18:03:50 +0000 (11:03 -0700)
committerDavid Penry <david.penry@arm.com>
Mon, 22 Aug 2022 19:10:13 +0000 (12:10 -0700)
commitced705c4407fa18329f8a6a50ce96a8f34a86820
tree48df310ef7159ac6b0952ed139e725cb0f9dc609
parentf82c55fa082711f520a7359393b483956b69bf08
[ModuloSchedule] Add interface call to accept/reject SMS schedules

This interface allows a target to reject a proposed
SMS schedule.  For Hexagon/PowerPC, all schedules
are accepted, leaving behavior unchanged.  For ARM,
schedules which exceed register pressure limits are
rejected.

Also, two RegisterPressureTracker methods now need to be public so
that register pressure can be computed by more callers.

Reapplication of D128941/(reversion:D132037) with small fix.

Differential Revision: https://reviews.llvm.org/D132170
llvm/include/llvm/CodeGen/RegisterPressure.h
llvm/include/llvm/CodeGen/TargetInstrInfo.h
llvm/lib/CodeGen/MachinePipeliner.cpp
llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
llvm/test/CodeGen/Thumb2/swp-regpressure.mir [new file with mode: 0644]