]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* ipa-inline-analysis.c (eliminated_by_inlining_prob): Cleanup.
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Oct 2012 16:51:12 +0000 (16:51 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Oct 2012 16:51:12 +0000 (16:51 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192991 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ipa-inline-analysis.c

index e39f2ad7ae9fefd0b8ed9c20abd7d83c742a7318..e7e3ec314431eabbd74b4b947a4a3bbf23011198 100644 (file)
@@ -1,3 +1,7 @@
+2012-10-30  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline-analysis.c (eliminated_by_inlining_prob): Cleanup.
+
 2012-10-30  Jan Hubicka  <jh@suse.cz>
 
        * tree-ssa-loop-niter.c (number_of_iterations_exit): New parameter
index a8d16a8c8c6dcaf084df138b91d871d9759b717f..8baaced2bd997addd0040a3053bf85b4549799f6 100644 (file)
@@ -1548,6 +1548,7 @@ static int
 eliminated_by_inlining_prob (gimple stmt)
 {
   enum gimple_code code = gimple_code (stmt);
+  enum tree_code rhs_code;
 
   if (!optimize)
     return 0;
@@ -1560,14 +1561,16 @@ eliminated_by_inlining_prob (gimple stmt)
        if (gimple_num_ops (stmt) != 2)
          return 0;
 
+       rhs_code = gimple_assign_rhs_code (stmt);
+
        /* Casts of parameters, loads from parameters passed by reference
           and stores to return value or parameters are often free after
           inlining dua to SRA and further combining.
           Assume that half of statements goes away.  */
-       if (gimple_assign_rhs_code (stmt) == CONVERT_EXPR
-           || gimple_assign_rhs_code (stmt) == NOP_EXPR
-           || gimple_assign_rhs_code (stmt) == VIEW_CONVERT_EXPR
-           || gimple_assign_rhs_code (stmt) == ADDR_EXPR
+       if (rhs_code == CONVERT_EXPR
+           || rhs_code == NOP_EXPR
+           || rhs_code == VIEW_CONVERT_EXPR
+           || rhs_code == ADDR_EXPR
            || gimple_assign_rhs_class (stmt) == GIMPLE_SINGLE_RHS)
          {
            tree rhs = gimple_assign_rhs1 (stmt);
@@ -1592,12 +1595,9 @@ eliminated_by_inlining_prob (gimple stmt)
                tree op = get_base_address (TREE_OPERAND (inner_rhs, 0));
                if (TREE_CODE (op) == PARM_DECL)
                  rhs_free = true;
-               else if (TREE_CODE (op) == MEM_REF)
-                 {
-                   op = get_base_address (TREE_OPERAND (op, 0));
-                   if (unmodified_parm (stmt, op))
-                     rhs_free = true;
-                 }
+               else if (TREE_CODE (op) == MEM_REF
+                        && unmodified_parm (stmt, TREE_OPERAND (op, 0)))
+                 rhs_free = true;
              }
 
            /* When parameter is not SSA register because its address is taken