This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH GCC][04/13]Sort statements in topological order for loop distribution


Hi,
During the work I ran into a latent bug for distributing.  For the moment we sort statements
in dominance order, but that's not enough because basic blocks may be sorted in reverse order
of execution flow.  This results in wrong data dependence direction later.  This patch fixes
the issue by sorting in topological order.

Bootstrap and test on x86_64 and AArch64.  Is it OK?

Thanks,
bin
2017-06-07  Bin Cheng  <bin.cheng@arm.com>

	* tree-loop-distribution.c (bb_top_order_index): New.
	(bb_top_order_index_size, bb_top_order_cmp): New.
	(stmts_from_loop): Use topological order.
	(pass_loop_distribution::execute): Compute topological order for.
	basic blocks.

Attachment: 0004-sort-stmts-in-top-order-20170607.txt
Description: 0004-sort-stmts-in-top-order-20170607.txt


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]