Hi,
this is a simple patch skipping distribution if there is no loop at all.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng
* cfgloop.h (pass_loop_distribution::execute): Skip if no loops.From eb6a795331efde92fd6df1c6e612fb1ffa9f482f Mon Sep 17 00:00:00 2001
From: Bin Cheng
Date: Fri, 9 Jun 2017 09:30:40 +0100
Subject: [PATCH 02/14] fast-return-20170607.txt
---
gcc/tree-loop-distribution.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index a60454b..9f0c801 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -1758,6 +1758,9 @@ pass_loop_distribution::execute (function *fun)
control_dependences *cd = NULL;
auto_vec loops_to_be_destroyed;
+ if (number_of_loops (fun) <= 1)
+return 0;
+
FOR_ALL_BB_FN (bb, fun)
{
gimple_stmt_iterator gsi;
--
1.9.1