Re: [PATCH, PR45098, 3/10]

2011-05-18 Thread Tom de Vries
Hi Zdenek,

On 05/18/2011 05:24 PM, Zdenek Dvorak wrote:
 Hi,
 
 How about:
 ...
 @@ -2866,6 +2878,8 @@ computation_cost (tree expr, bool speed)
if (MEM_P (rslt))
  cost += address_cost (XEXP (rslt, 0), TYPE_MODE (type),
TYPE_ADDR_SPACE (type), speed);
 +  else if (!REG_P (rslt))
 +cost += (unsigned)rtx_cost (rslt, SET, speed);

return cost;
  }
 ...
 ?
 
 this looks ok to me 
 

thanks for the review.

 (the cast to unsigned is not necessary, though?)

You're right, it's not, that was only necessary to prevent a warning in the
conditional expression originally proposed.

Checked in without cast.

Thanks,
- Tom



[PATCH, PR45098, 3/10]

2011-05-17 Thread Tom de Vries
On 05/17/2011 09:10 AM, Tom de Vries wrote:
 Hi Zdenek,
 
 I have a patch set for for PR45098.
 
 01_object-size-target.patch
 02_pr45098-rtx-cost-set.patch
 03_pr45098-computation-cost.patch
 04_pr45098-iv-init-cost.patch
 05_pr45098-bound-cost.patch
 06_pr45098-bound-cost.test.patch
 07_pr45098-nowrap-limits-iterations.patch
 08_pr45098-nowrap-limits-iterations.test.patch
 09_pr45098-shift-add-cost.patch
 10_pr45098-shift-add-cost.test.patch
 
 I will sent out the patches individually.
 

OK for trunk?

Thanks,
- Tom
2011-05-05  Tom de Vries  t...@codesourcery.com

	PR target/45098
	* tree-ssa-loop-ivopts.c (computation_cost): Prevent cost of 0.

Index: gcc/tree-ssa-loop-ivopts.c
===
--- gcc/tree-ssa-loop-ivopts.c	(revision 173380)
+++ gcc/tree-ssa-loop-ivopts.c	(working copy)
@@ -2862,7 +2862,9 @@ computation_cost (tree expr, bool speed)
   default_rtl_profile ();
   node-frequency = real_frequency;
 
-  cost = seq_cost (seq, speed);
+  cost = (seq != NULL_RTX
+  ? seq_cost (seq, speed)
+  : (unsigned)rtx_cost (rslt, SET, speed));
   if (MEM_P (rslt))
 cost += address_cost (XEXP (rslt, 0), TYPE_MODE (type),
 			  TYPE_ADDR_SPACE (type), speed);