[PATCH] D24855: MachineScheduler: Enable macro fusion in post-RA scheduler

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 29 13:17:39 PDT 2016


> On Sep 29, 2016, at 1:15 PM, Matthias Braun <matze at braunis.de> wrote:
> 
>> 
>> On Sep 29, 2016, at 12:54 PM, Andrew Trick via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>> 
>> 
>>> On Sep 29, 2016, at 11:20 AM, Matthias Braun <matze at braunis.de> wrote:
>>> 
>>> 
>>>> On Sep 28, 2016, at 10:01 PM, Andrew Trick via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>>>> 
>>>> atrick added a comment.
>>>> 
>>>> Marking a DAG node as "dead" for the purpose of scheduling should be an easy thing to do, relative to supporting instruction bundles. But adding the extra DAG edges is also a fine solution, just not quite as direct.
>>> 
>>> Marking a DAG as dead is still a more complex patch than this which is a strict improvement over the status quo and "contained" within the MacroFusionDAGMutation. So is this good to go?
>>> 
>>> - Matthias
>> 
>> The review site seems down… I glanced at your attached patch. It looks like you’re traversing every edge in the DAG. Why don’t you just revisit the DAG leaves and immediate predecessors of the exitSU?
> I wasn't aware any node is necessarily connected to the ExitSU (= ExitSU is the only node without any successors). I'll simplify the code with that assumption.

Actually the code in findRootsAndBiasEdges seems to indicate that you cannot just walk the predecessors of ExitSU to find all roots... So maybe the current patch that checks all nodes in the graph is the only way to go.

- Matthias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160929/394a3f85/attachment.html>


More information about the llvm-commits mailing list