Displaying 4 results from an estimated 4 matches for "postgenericscheduler".
2016 Oct 21
3
Prioritizing an SDNode for scheduling
...0:29 AM, Ehsan Amiri <ehsanamiri at gmail.com> wrote:
> You can do this by changing instruction scheduling heuristics. I think the
> more important question is if this correct always for all platforms.
>
> I don't know which scheduler you use. We use GenericScheduler and
> PostGenericScheduler before and after RA. These classes have a
> ::tryCandidate method which compares two instructions that can be legally
> scheduled and decide which of the two should be scheduled. Currently these
> method are target independent.
>
> The correctness question still remains open for me....
2016 Oct 21
2
Prioritizing an SDNode for scheduling
Hello.
Is there a way to specify in the back end an (ISD::INLINEASM) SDNode to be scheduled
first under all circumstances? I need to specify something like node priority to schedule
the node before all other nodes in the SelectionDAG of the basic block.
(Using chain or glue edges in order to make a node first is not a good idea, since I
am doing this at instruction selection time, on
2019 Oct 04
2
[MachineScheduler]: SchedBoundary trivially copiable, but "HazardRec" is raw pointer: a design issue?
Hi to everyone,
while working with the machine scheduler for a personal project, I came
up with the necessity of
inserting a backup boundary in the MachineSchedulerStrategy -- specifically,
the PostGenericScheduler -- to hold a copy the scheduler's state, in
order to implement a really
trivial (and really inefficient) backtracking mechanism.
This approach leads to a subtle "segmentation fault", when the pass ends
and invokes the deleter.
The reason of the fault is due to the custom deleter of...
2018 Feb 19
0
[Newbie question] Extracting execution cycles from basic blocks
I need to extract the cycle count for a single MachineBasicBlock (for
MI would be also be great).
I am trying to read this information from the Post-RA Scheduler. To do
so, I tried modifying the PostGenericScheduler::schedNode and similar
functions to get the scheduling results.
The problem is that the scheduler creates specfic regions inside a
MachineBasicBlock (as far as a know) and when interpreting the results
from the scheduled regions I’m still missing the cycle count for some
other MachineInstructions...