]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog.ptr
[Ada] Improved support for aspect alignment in CCG
[thirdparty/gcc.git] / gcc / ChangeLog.ptr
CommitLineData
5be014d5
AP
12007-06-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
2
3 Merge mainline, revision 125733
4
52007-06-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
6
7 * tree-vrp.c (compare_values_warnv): Fix spelling/grammer
8 mistakes
9 (extract_range_from_binary_expr): Likewise.
10 * doc/c-tree.texi (POINTER_PLUS_EXPR): Likewise.
11 * tree-ssa-loop-niter.c (assert_loop_rolls_lt): Add vertical
12 whitespace.
13 * tree-pretty-print.c (op_symbol_code <case POINTER_PLUS_EXPR>):
14 Change print out to "+".
15 * tree-scalar-evolution.c (instantiate_parameters_1):
16 Use chrec_type instead of TREE_TYPE.
17 * builtins.c (expand_builtin_strcat): Fix vertical whitespace.
18 (std_expand_builtin_va_start): Fix whitespace.
19 (fold_builtin_strstr): Use size_int instead of build_int_cst (sizetype.
20 (fold_builtin_strchr): Likewise.
21 (fold_builtin_strrchr): Likewise.
22 (fold_builtin_strpbrk): Likewise.
23 * fold-const.c (try_move_mult_to_index): Fix spelling/grammer
24 mistakes.
25 (fold_to_nonsharp_ineq_using_bound): Merge the two ifs at the end.
26 (fold_binary): Fix spelling/grammer mistakes.
27 * tree-ssa-ccp.c (maybe_fold_stmt_addition): Assert that only
28 a POINTER_PLUS_EXPR is passed in.
29 * tree-ssa-loop-ivopts.c (determine_base_object):
30 Fix spelling/grammer mistakes.
31 * expr.c (expand_expr_real_1): Likewise.
32 * tree-data-ref.c (split_constant_offset): Likewise.
33 * c-typeck.c (build_unary_op): Use fold_convert instead of convert
34 for converting to sizetype.
35 * tree.def (POINTER_PLUS_EXPR): Fix comment.
36 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
37 Fix spelling/grammer mistakes.
38 (phiprop_insert_phi): Likewise.
39 * c-common.c (pointer_int_sum): Remove FIXME about
40 POINTER_MINUS_EXPR.
41
422007-06-13 Andrew Pinski <andrew_pinski@playstation.sony.com>
43
44 * expr.c (expand_expr_real_1 <case POINTER_PLUS_EXPR>): Remove assert
45 for checking the modes of the operands are the same.
46
472007-06-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
48
49 * config/sparc/sparc.c (sparc_gimplify_va_arg): Use POINTER_PLUS_EXPR
50 instead of PLUS_EXPR when the operand was a pointer. Don't create a
51 BIT_AND_EXPR for pointer types.
52
532007-06-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
54
55 * config/mips/mips.c (mips_va_start): Use POINTER_PLUS_EXPR
56 for pointers.
57 (mips_gimplify_va_arg_expr): Likewise.
58 Don't create BIT_AND_EXPR in a pointer type.
59
602007-06-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
61
62 Merge mainline, revision 125658
63
642007-06-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
65
66 Merge mainline, revision 125611
67
682007-06-07 Andrew Pinski <andrew_pinski@playstation.sony.com>
69
70 * matrix-reorg.c (collect_data_for_malloc_call): Stmt
71 will now only be either INDIRECT_REF and POINTER_PLUS_EXPR.
72 Offset only holds something for PLUS_EXPR.
73 (ssa_accessed_in_tree): Handle POINTER_PLUS_EXPR just as
74 a PLUS_EXPR.
75 (analyze_transpose): POINTER_PLUS_EXPR will only show up now
76 and not PLUS_EXPR.
77 (analyze_accesses_for_modify_stmt): Likewise.
78 Remove comment about the type being integral type as it is
79 wrong now.
80 (analyze_matrix_accesses): Handle POINTER_PLUS_EXPR as
81 PLUS_EXPR.
82 (transform_access_sites): POINTER_PLUS_EXPR will only show up now
83 and not PLUS_EXPR.
84 Correct the type which the artimentic is done in (is now
85 sizetype).
86 Reindent one loop.
87
882007-06-07 Andrew Pinski <andrew_pinski@playstation.sony.com>
89
90 * config/ia64/ia64.c (ia64_gimplify_va_arg): Use
91 POINTER_PLUS_EXPR for pointers and create the
92 BIT_AND_EXPR in sizetype.
93 * config/s390/s390.c (s390_va_start): Use POINTER_PLUS_EXPR
94 for pointers instead of PLUS_EXPR.
95 (s390_gimplify_va_arg): Likewise.
96
972007-06-07 Andrew Pinski <andrew_pinski@playstation.sony.com>
98
99 * config/frv/frv.c (frv_expand_builtin_va_start): Use sizetype
100 with make_tree, instead of a pointer type.
101 * config/pa/pa.c (reloc_needed): Handle POINTER_PLUS_EXPR
102 as PLUS_EXPR/MINUS_EXPR.
103 (hppa_gimplify_va_arg_expr): Don't create MINUS_EXPR or
104 PLUS_EXPR for pointers, instead use POINTER_PLUS_EXPR.
105 Don't use BIT_AND_EXPR on a pointer type, convert the
106 expression to sizetype first.
107
1082007-06-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
109
110 * tree-ssa-forwprop.c
111 (forward_propagate_addr_into_variable_array_index):
112 Don't expect a statement for the size 1 case.
113 Use the offset variable for the size 1 case.
114 Look through use-def chains to find the mutliply
115 for the non size 1 case.
116 (forward_propagate_addr_expr_1): Call
117 forward_propagate_addr_into_variable_array_index with
118 the SSA_NAME instead of the statement.
119
1202007-06-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
121
122 PR tree-opt/32225
123 * tree-scalar-evolution.c (follow_ssa_edge_in_rhs <case
124 POINTER_PLUS_EXPR>): Do not change type_rhs.
125 (follow_ssa_edge_in_rhs <case POINTER_PLUS_EXPR, case PLUS_EXPR>):
126 Use the code of the orginal expression instead of just PLUS_EXPR.
127 Also use type_rhs where TREE_TYPE (rhs) was used (reverting back
128 to the trunk).
129
1302007-06-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
131
132 * tree-predcom.c (ref_at_iteration): If we have a pointer
133 type do the multiplication in sizetype.
134
1352007-06-01 Andrew Pinski <andrew_pinski@playstation.sony.com>
136
137 Merge mainline, revision 125285
138
1392007-05-31 Andrew Pinski <andrew_pinski@playstation.sony.com>
140
141 * tree-vrp.c (extract_range_from_binary_expr): Handle
142 MIN_EXPR/MAX_EXPR for pointers type.
143
144 PR tree-opt/32167
145 * tree-chrec.c (chrec_fold_plus): When either
146 operand is zero, convert the other operand.
147
1482007-05-30 Andrew Pinski <andrew_pinski@playstation.sony.com>
149
150 * builtins.c (std_expand_builtin_va_start): Use
151 sizetype for the call to make_tree and then convert
152 to the pointer type.
153
1542007-05-30 Andrew Pinski <andrew_pinski@playstation.sony.com>
155
156 PR tree-op/32145
157 * tree-vrp.c (extract_range_from_assert): Create
158 POINTER_PLUS_EXPR for pointer types.
159
160 PR tree-opt/32144
161 * tree-chrec.c (chrec_fold_plus_poly_poly): If the
162 first chrec is a pointer type, then the second should
163 be sizetype and not the first's type.
164
1652007-05-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
166
167 * fold-const.c (try_move_mult_to_index):
168 Say why we strip the nops.
169 (fold_unary <case NOP_EXPR>): Remove
170 TODO as we cannot get that case.
171 * tree-chrec.c (chrec_fold_plus):
172 Cleanup the code to chose which
173 tree code is used.
174 (chrec_convert_rhs): Add comment on
175 why the increment is sizetype for
176 pointers.
177 * tree-mudflap.c (mf_xform_derefs_1):
178 Use size_int instead of build_int_cst.
179 * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Likewise.
180
1812007-05-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
182
183 PR tree-opt/32015
184 * tree.c (build2_stat): Make sure that
185 MULT_EXPR is not used with pointers.
186 * tree-chrec.c (chrec_apply): Use chrec_convert_rhs
187 on the argument x instead of chrec_convert.
188
1892007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
190
191 * config/sh/sh.c (sh_va_start): Call make_tree with sizetype
192 and convert its result to a pointer type. Use POINTER_PLUS_EXPR
193 for the pointer additions and also use size_int for the offsets.
194 (sh_gimplify_va_arg_expr): Use POINTER_PLUS_EXPR for the pointer
195 additions and also use size_int for the offsets. Perform
196 BIT_AND_EXPR on sizetype arguments.
197
1982007-05-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
199
200 * tree-ssa-forwprop (forward_propagate_addr_into_variable_array_index):
201 Don't expect there to be a cast for the index as that
202 does not exist anymore.
203 (forward_propagate_addr_expr_1): Check for
204 POINTER_PLUS_EXPR instead of PLUS_EXPR.
205 Don't check for the first operand of the
206 POINTER_PLUS_EXPR was the index as it
207 cannot be.
208
2092007-05-15 Richard Guenther <rguenther@suse.de>
210
211 * config/i386/i386.c (ix86_gimplify_va_arg): Use POINTER_PLUS_EXPR,
212 perform BIT_AND_EXPR on sizetype arguments.
213
2142007-05-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
215
216 * config/rs6000/rs6000.c (rs6000_va_start): Use POINTER_PLUS_EXPR
217 instead of PLUS_EXPR for pointer addition.
218 (rs6000_va_start): Likewise.
219 Also use sizetype for the offset.
220 * tree-stdarg.c (va_list_counter_bump): Check for PLUS_EXPR
221 and POINTER_PLUS_EXPR.
222 (check_va_list_escapes): Likewise.
223
2242007-05-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
225
226 * config/i386/i386.c (ix86_va_start): Use POINTER_PLUS_EXPR
227 for the pointer addition and also use size_int/sizetype
228 for the offset.
229 (ix86_gimplify_va_arg): Likewise.
230
2312007-05-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
232
233 Merge mainline, revision 124657
234 * tree-data-ref.c (split_constant_offset): Handle
235 POINTER_PLUS_EXPR
236 exactly the same as PLUS_EXPR/MINUS_EXPR except for the offset
237 needs to be calcuated using PLUS_EXPR instead of
238 POINTER_PLUS_EXPR.
239 * builtins.c (fold_builtin_memchr): Use POINTER_PLUS_EXPR
240 instead of PLUS_EXPR for adding to a pointer.
241
2422006-05-15 Zdenek Dvorak <dvorakz@suse.cz>
243
244 * tree-ssa-loop-ivopts.c (determine_base_object): Abort for PLUS_EXPR
245 in pointer type.
246
2472007-05-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
248
249 * tree-ssa-address.c (tree_mem_ref_addr): When adding
250 the offset to the base, use POINTER_PLUS_EXPR.
251
2522007-05-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
253
254 * expr.c (expand_expr_addr_expr_1): Call expand_expr
255 for the offset with the modifier as EXPAND_INITIALIZER
256 if the modifier is EXPAND_INITIALIZER.
257 (expand_expr_real_1 <case INTEGER_CST>): Don't force to
258 a register if we had an overflow.
259
2602007-05-10 Andrew Pinski <andrew_pinski@playstation.sony.com>
261
262 Merge mainline, revision 124602.
263
264 * fold-const.c (extract_array_ref): Make sure the offset
265 is converted to sizetype.
266 (try_move_mult_to_index): Strip the NOPs from the offset.
267 (fold_binary <case POINTER_PLUS_EXPR>): Convert the second
268 operand to sizetype before calling try_move_mult_to_index.
269 * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne):
270 For pointer types, use sizetype when
271 creating MINUS_EXPR/PLUS_EXPRs.
272 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Make sure
273 the offset is converted to sizetype.
274
2752007-05-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
276
277 * config/spu/spu.c (spu_va_start): Create POINTER_PLUS_EXPR
278 instead of PLUS_EXPR when doing addition on pointer
279 types. Use sizetype for the second operand.
280 (spu_gimplify_va_arg_expr): Likewise.
281 * tree-ssa.c (tree_ssa_useless_type_conversion_1):
282 Convert the MIN/MAX of the inner type to the outer
283 type before comparing them.
284
2852007-05-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
286 Zdenek Dvorak <dvorakz@suse.cz>
287
288 * fold-const.c (fold_to_nonsharp_ineq_using_bound): Don't
289 use a pointer type for MINUS_EXPR.
290 (fold_binary <case MINUS_EXPR>): Fold (PTR0 p+ A) - (PTR1 p+ B)
291 into (PTR0 - PTR1) + (A - B). Fold (PTR0 p+ A) - PTR1 into
292 (PTR0 - PTR1) + A iff (PTR0 - PTR1) simplifies.
293 * tree-chrec.c (chrec_fold_plus_poly_poly): For
294 POINTER_PLUS_EXPR, use a different right hand side type.
295 Handle POINTER_PLUS_EXPR like PLUS_EXPR.
296 (chrec_fold_plus_1): Likewise.
297 (convert_affine_scev): Likewise.
298 (chrec_convert_aggressive): Likewise.
299 (chrec_fold_plus): For pointer types, use POINTER_PLUS_EXPR
300 instead of PLUS_EXPR.
301 (reset_evolution_in_loop): For pointer types, the new_evol
302 should be sizetype.
303 (chrec_convert_rhs): New function.
304 * tree-chrec.h (chrec_convert_rhs): New prototype.
305 (build_polynomial_chrec): For pointer types, the right hand
306 side should be sizetype and not the same as the left hand side.
307 * tree-scalar-evolution.c (add_to_evolution_1): Convert the
308 increment using chrec_convert_rhs instead of chrec_convert.
309 (follow_ssa_edge_in_rhs): Handle POINTER_PLUS_EXPR like
310 PLUS_EXPR except for the right hand side's type will be
311 sizetype.
312 (interpret_rhs_modify_stmt): Handle POINTER_PLUS_EXPR.
313 (fold_used_pointer_cast): Kill.
314 (pointer_offset_p): Kill.
315 (fold_used_pointer): Kill.
316 (pointer_used_p): Kill.
317 (analyze_scalar_evolution_1 <case GIMPLE_MODIFY_STMT>): Don't
318 call fold_used_pointer.
319 (instantiate_parameters_1): Convert the increment
320 using chrec_convert_rhs instead of chrec_convert.
321 Handle POINTER_PLUS_EXPR as PLUS_EXPR.
322 * tree-ssa-loop-niter.c (split_to_var_and_offset): Handle
323 POINTER_PLUS_EXPR as PLUS_EXPR.
324 (assert_loop_rolls_lt): For pointer types, use sizetype when
325 creating MINUS_EXPR/PLUS_EXPRs.
326 (number_of_iterations_le): Likewise.
327 (expand_simple_operations): POINTER_PLUS_EXPR are simple also.
328 (derive_constant_upper_bound): Handle POINTER_PLUS_EXPR just
329 like PLUS_EXPR and MINUS_EXPR.
330 * tree-data-ref.c (analyze_offset_expr): Likewise.
331 (address_analysis): Handle POINTER_PLUS_EXPR as PLUS_EXPR.
332 (analyze_offset): Handle POINTER_PLUS_EXPR also.
333 (create_data_ref): Convert the increment
334 using chrec_convert_rhs instead of chrec_convert.
335 * tree-vect-transform.c (vect_update_ivs_after_vectorizer):
336 For pointer types, create POINTER_PLUS_EXPR instead of
337 PLUS_EXPR and also create MULT_EXPR in sizetype.
338
3392007-05-07 Andrew Pinski <andrew_pinski@playstation.sony.com>
340
341 * builtins.c (std_gimplify_va_arg_expr): Use fold_build2 for
342 the creating of POINTER_PLUS_EXPR. For the BIT_AND_EXPR, cast
343 the operands to sizetype first and then cast the BIT_AND_EXPR
344 back to the pointer type.
345 * tree-ssa-address.c (create_mem_ref): Create A
346 POINTER_PLUS_EXPR for one case.
347 * tree.c (const_hash_1): Handle POINTER_PLUS_EXPR same as
348 PLUS_EXPR.
349 (compare_constant): Likewise.
350 (copy_constant): Likewise.
351 (compute_reloc_for_constant): Likewise.
352 (output_addressed_constants): Likewise.
353
3542007-05-07 Andrew Pinski <andrew_pinski@playstation.sony.com>
355
356 * tree.def (POINTER_PLUS_EXPR): The second operand
357 is of type sizetype and not ssizetype.
358 * doc/c-tree.texi (POINTER_PLUS_EXPR): Document.
359
3602007-05-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
361
362 * tree-mudflap.c (mf_xform_derefs_1 <case BIT_FIELD_REF>):
363 Add a conversion of ofs to sizetype.
364 (mf_decl_eligible_p): Reformat for length issues.
365 (mf_xform_derefs_1): Likewise.
366
3672007-05-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
368
369 * tree.c (build2_stat): Check to make sure the
370 second operand is compatiable with sizetype.
371
3722007-05-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
373
374 * tree-cfg.c (verify_expr): Change error
375 message about sizetype to be correct.
376
3772007-05-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
378
379 Merge mainline, revision 124478.
380 * fold-const.c (fold_unary): Handle for (T1)(X op Y),
381 only p+ as that is the only as that can be handled for
382 binary operators now. Add a TODO for non pointer type
383 op's.
384 * gimplifier.c (gimplify_expr): Don't special case
385 PLUS_EXPR. Special case POINTER_PLUS_EXPR instead,
386 remove check for pointer type as it will always be
387 a pointer type now.
388
3892007-05-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
390
391 * tree-vrp.c (extract_range_from_binary_expr): Handle
392 POINTER_PLUS_EXPRs. Assert POINTER_PLUS_EXPR is
393 the only expression for pointer types.
394 * tree-vect-transform.c (vect_gen_niters_for_prolog_loop):
395 Add a cast when creating byte_misalign.
396
3972007-05-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
398
399 * fold-const.c (fold_binary <case POINTER_PLUS_EXPR>);
400 Add comment on why you get INT +p INT.
401 (fold_binary <case PLUS_EXPR>): Add folding of PTR+INT into
402 PTR p+ INT.
403 * dwarf2out.c (loc_descriptor_from_tree_1):
404 Handle POINT_PLUS_EXPR as a PLUS_EXPR.
405
4062007-05-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
407
408 * tree-vrp.c (compare_values_warnv): Convert val2 to
409 the type of val1.
410 * fold-const.c (extract_array_ref): Look for
411 POINTER_PLUS_EXPR instead of PLUS_EXPR's.
412 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Likewise.
413
4142007-05-02 Andrew Pinski <andrew_pinski@playstation.sony.com>
415
416 * c-format.c (check_format_arg): Handle POINTER_PLUS_EXPR
417 instead of PLUS_EXPR of pointer types.
418
4192007-05-02 Andrew Pinski <andrew_pinski@playstation.sony.com>
420
421 * fold-const.c (try_move_mult_to_index): Remove code argument
422 and replace all uses with PLUS_EXPR.
423 (fold_binary <case POINTER_PLUS_EXR>): Remove code argument.
424 (fold_binary <case PLUS_EXPR>): Don't call try_move_mult_to_index.
425 (fold_binary <case MINUS_EXPR>): Likewise.
426 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Remove subtraction
427 case as it is always addition now.
428 (fold_stmt_r): Don't handle PLUS_EXPR/MINUS_EXPR specially.
429 Handle POINTER_PLUS_EXPR like PLUS_EXPR was handled before.
430
4312007-05-01 Andrew Pinski <andrew_pinski@playstation.sony.com>
432
433 Merge mainline, revision 124343.
434 * tree-vect-transform.c (bump_vector_ptr): Create a POINTER_PLUS_EXPR
435 instead of PLUS_EXPR for the pointer increment statement.
436 * expr.c (expand_expr_real_1): Add FIXME/assert for the unhandle case
437 where the modes of the two operands are different.
438
4392007-02-25 Andrew Pinski <andrew_pinski@playstation.sony.com>
440
441 Merge mainline, revision 122323.
442
4432006-12-14 Zdenek Dvorak <dvorakz@suse.cz>
444
445 Merge mainline, revision 119860.
446
4472006-11-23 Andrew Pinski <andrew_pinski@playstation.sony.com>
448
449 * tree.def (POINTER_PLUS_EXPR): New tree code.
450 * tree-pretty-print.c (dump_generic_node): Handle
451 POINTER_PLUS_EXPR.
452 (op_prio): Likewise.
453 (op_symbol_1): Likewise.
454 * optabs.c (optab_for_tree_code): Likewise.
455 * tree-ssa-loop-manip.c (create_iv): Handle pointer base
456 specially.
457 * tree-tailcall.c (process_assignment): Mention
458 POINTER_PLUS_EXPR in a TODO comment.
459 * tree.c (build2_stat): Assert when trying to use PLUS_EXPR or
460 MINUS_EXPR with a pointer. Also assert for POINTER_PLUS_EXPR
461 not used with a pointer and an integer type.
462 * tree-scalar-evolution.c (fold_used_pointer): Mention
463 POINTER_PLUS_EXPR is what this needs to handle.
464 * builtins.c (get_pointer_alignment): Handle POINTER_PLUS_EXPR
465 instead of PLUS_EXPR.
466 (expand_builtin_strcat): Create a POINTER_PLUS_EXPR instead of
467 PLUS_EXPR for pointers.
468 (std_gimplify_va_arg_expr): Likewise.
469 (fold_builtin_memory_op): Likewise.
470 (fold_builtin_strstr): Likewise.
471 (fold_builtin_strchr): Likewise.
472 (fold_builtin_strrchr): Likewise.
473 (fold_builtin_strpbrk): Likewise.
474 (expand_builtin_memory_chk): Likewise.
475 (fold_builtin_memory_chk): Likewise.
476 * fold-const.c (build_range_check): Handle pointer types
477 specially.
478 (fold_to_nonsharp_ineq_using_bound): Likewise.
479 (fold_binary): Handle simple POINTER_PLUS_EXPR cases.
480 (tree_expr_nonnegative_p): Handle POINTER_PLUS_EXPR.
481 (tree_expr_nonzero_p): Likewise.
482 (fold_indirect_ref_1): Look at POINTER_PLUS_EXPR instead
483 of PLUS_EXPR for the complex expression folding.
484 * tree-ssa-loop-ivopts.c (determine_base_object): Handle
485 POINTER_PLUS_EXPR.
486 (tree_to_aff_combination): Likewise.
487 (force_expr_to_var_cost): Likewise.
488 (force_expr_to_var_cost): Likewise. Create a POINTER_PLUS_EXPR
489 instead of PLUS_EXPR for pointers.
490 * c-format.c (check_format_arg): Mention this should be handling
491 POINTER_PLUS_EXPR.
492 * tree-stdarg.c (va_list_counter_bump): Handle POINTER_PLUS_EXPR
493 instead of PLUS_EXPR.
494 (check_va_list_escapes): Likewise.
495 (check_all_va_list_escapes): Likewise.
496 * expr.c (expand_expr_real_1): Handle POINTER_PLUS_EXPR.
497 (string_constant): Likewise.
498 * tree-ssa-address.c (add_to_parts): Create a POINTER_PLUS_EXPR
499 instead of PLUS_EXPR for pointers.
500 (most_expensive_mult_to_index): Likewise.
501 (addr_to_parts): Use the correct type for the index.
502 * c-typeck.c (build_unary_op): For pointers create the increment
503 as a sizetype. Create a POINTER_PLUS_EXPR instead of PLUS_EXPR
504 for pointers.
505 * gimplify.c (gimplify_self_mod_expr): Create a
506 POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
507 (gimplify_omp_atomic_fetch_op): Handle POINTER_PLUS_EXPR.
508 * tree-mudflap.c (mf_xform_derefs_1): Create a
509 POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
510 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Add a
511 note this should be handling POINTER_PLUS_EXPR.
512 * varasm.c (initializer_constant_valid_p): Handle
513 POINTER_PLUS_EXPR.
514 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Handle
515 POINTER_PLUS_EXPR instead of PLUS_EXPR.
516 (issue_prefetch_ref): Create a POINTER_PLUS_EXPR instead
517 of PLUS_EXPR for pointers.
518 * tree-vect-transform.c (vect_create_addr_base_for_vector_ref):
519 Likewise.
520 * tree-inline.c (estimate_num_insns_1): Handle
521 POINTER_PLUS_EXPR.
522 * tree-object-size.c (plus_expr_object_size): Handle
523 POINTER_PLUS_EXPR instead of PLUS_EXPR. Removing all the extra
524 code which is trying to figure out which side is a pointer and
525 is the index.
526 (check_for_plus_in_loops_1): Likewise.
527 (check_for_plus_in_loops): Likewise.
528 * c-common.c (pointer_int_sum): Create a
529 POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
530 * tree-ssa-structalias.c (handle_ptr_arith): Handle
531 only POINTER_PLUS_EXPR. Removing all the extra
532 code which is trying to figure out which side is a pointer and
533 is the index.
534 * tree-cfg.c (verify_expr): Add extra checking for pointers and
535 PLUS_EXPR and MINUS_EXPR.
536 Also add checking to make sure the operands of POINTER_PLUS_EXPR
537 are correct.
538
ad41bd84 539\f
d1e082c2 540Copyright (C) 2006-2007 Free Software Foundation, Inc.
5be014d5 541
ad41bd84
JM
542Copying and distribution of this file, with or without modification,
543are permitted in any medium without royalty provided the copyright
544notice and this notice are preserved.