tree-ssa-loop-ivopts.c (add_iv_value_candidates): Also add the candidate with the stripped base if...
2008-08-04 Richard Guenther <rguenther@suse.de> * tree-ssa-loop-ivopts.c (add_iv_value_candidates): Also add the candidate with the stripped base if that base is different from the original base even for offset zero. From-SVN: r138647
This commit is contained in:
parent
8f45dcf8be
commit
7eeef08ed8
2 changed files with 10 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2008-08-04 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* tree-ssa-loop-ivopts.c (add_iv_value_candidates): Also add
|
||||
the candidate with the stripped base if that base is different
|
||||
from the original base even for offset zero.
|
||||
|
||||
2008-08-04 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/36691
|
||||
|
|
|
@ -2275,9 +2275,11 @@ add_iv_value_candidates (struct ivopts_data *data,
|
|||
add_candidate (data, build_int_cst (basetype, 0),
|
||||
iv->step, true, use);
|
||||
|
||||
/* Third, try removing the constant offset. */
|
||||
/* Third, try removing the constant offset. Make sure to even
|
||||
add a candidate for &a[0] vs. (T *)&a. */
|
||||
base = strip_offset (iv->base, &offset);
|
||||
if (offset)
|
||||
if (offset
|
||||
|| base != iv->base)
|
||||
add_candidate (data, base, iv->step, false, use);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue