[llvm-mca] Refactor the Scheduler interface in preparation for PR36663.

Zero latency instructions are now scheduled the same way as other instructions.
Before this patch, there was a specialzed code path for those instructions.

All scheduler events are now generated from method `scheduleInstruction()` and
from method `cycleEvent()`. This will make easier to implement a "execution
stage", and let that stage publish all the scheduler events.

No functional change intended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330723 91177308-0d34-0410-b5e6-96231b3b80d8
2 files changed