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]

Re: [Patch] Improving jump-thread pass for PR 54742


On 12/06/14 06:47, Sebastian Pop wrote:
Jeff Law wrote:
OK to commit.  Thanks for your patience.

Can you follow-up with a change which throttles this optimization
when -Os is in effect.  You can check optimize_function_for_size_p
(cfun) and simply avoid the backward traversal or you could allow it
in that case if the amount of copying is suitably small.  Your call.

I think it does not make sense to duplicate paths at -Os: I disabled the FSM
jump-threading when optimizing for size like this.

diff --git a/gcc/tree-ssa-threadedge.c b/gcc/tree-ssa-threadedge.c
index 29b20c8..ce70311 100644
--- a/gcc/tree-ssa-threadedge.c
+++ b/gcc/tree-ssa-threadedge.c
@@ -1335,8 +1335,9 @@ thread_through_normal_block (edge e,
           return 1;
         }

        if (!flag_expensive_optimizations
+         || optimize_function_for_size_p (cfun)
           || TREE_CODE (cond) != SSA_NAME
           || e->dest->loop_father != e->src->loop_father
           || loop_depth (e->dest->loop_father) == 0)
         return 0;

I will regstrap and commit the attached patch.
Looks good to me.  Thanks for taking care of it.

Jeff


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