[LLVMdev] Ordering not assigned to DAG Nodes create after DAG builder

Guo, Xiaoyi Xiaoyi.Guo at amd.com
Tue Mar 26 20:00:35 PDT 2013


It seems orderings are not assigned to DAG nodes created after the DAG builder, e.g., DAG nodes created during legalization. This causes instructions being scheduled in different order than source order for O0.

This is my plan to fix it:
Make a utility routine that recursively assign ordering to a chain of nodes, just like what SelectionDAGBuilder::AssignOrderingToNode() does.
Then add call to this utility routine at each routine that creates new DAG nodes after DAG builder to transfer the original node's order to newly created node. If that routine creates a chain of nodes, then I only need to call  the utility routine for the last of the chain. There will be a lot of places to change. So I want to get agreement on the fix before I go ahead and make the changes.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130327/67fe172d/attachment.html>

More information about the llvm-dev mailing list