[llvm-mca] Refactor the Scheduler interface in preparation for PR36663.
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Tue, 24 Apr 2018 14:53:16 +0000 (14:53 +0000)
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Tue, 24 Apr 2018 14:53:16 +0000 (14:53 +0000)
commit27c4b09626d5ed1d3b9327a2ecb48f07b9ff9bad
treed77ce5fd914f1173a7eab0d97421aba7a5a4e985
parentc2575a376a9d2fef439eb74c098eba812d8cc772
[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.

llvm-svn: 330723
llvm/tools/llvm-mca/Scheduler.cpp
llvm/tools/llvm-mca/Scheduler.h