re PR tree-optimization/39331 (OpenMP and return-slot-optimization generate invalid...
[gcc.git] / gcc / ChangeLog
1 2009-03-01 Richard Guenther <rguenther@suse.de>
2
3 PR tree-optimization/39331
4 * omp-low.c (lower_send_shared_vars): Do not receive new
5 values for the reference of DECL_BY_REFERENCE parms or results.
6
7 2009-03-01 Jan Hubicka <jh@suse.cz>
8
9 PR debug/39267
10 * tree.h (BLOCK_NONLOCALIZED_VARS, BLOCK_NUM_NONLOCALIZED_VARS,
11 BLOCK_NONLOCALIZED_VAR): New macros.
12 (tree_block): Add nonlocalized_vars.
13 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
14 gen_decl_die): Add origin argument. Allow generation of die with
15 origin at hand only.
16 (gen_member_die, gen_type_die_with_usage, force_decl_die,
17 declare_in_namespace, gen_namescpace_die, dwarf2out_decl): Update use
18 of gen_*.
19 (gen_block_die): Fix checking for unused blocks.
20 (process_scope_var): Break out from .... ; work with origins only.
21 (decls_for_scope) ... here; process nonlocalized list.
22 (dwarf2out_ignore_block): Look for nonlocalized vars.
23 * tree-ssa-live.c (remove_unused_scope_block_p): Look for nonlocalized
24 vars.
25 (dump_scope_block): Dump them.
26 * tree-inline.c (remap_decls): Handle nonlocalized vars.
27 (remap_block): Likewise.
28 (can_be_nonlocal): New predicate.
29 (copy_bind_expr, copy_gimple_bind): Update use of remap_block.
30
31 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
32
33 * configure: Regenerate.
34
35 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
36
37 * optc-gen.awk: No need to duplicate option flags twice.
38 Reuse help texts for duplicate options which do not have
39 any.
40
41 * gcc.c (display_help): Document --version.
42
43 * gcc.c (main): If print_help_list and verbose_flag, ensure
44 driver output comes before subprocess output.
45
46 * optc-gen.awk: Assign all remaining fields to help string,
47 space-separated, for multi-line help in *.opt.
48
49 * doc/invoke.texi (Warning Options): -Wsync-nand is C/C++ only.
50 -Wno-pedantic-ms-format is for MinGW targets only.
51
52 * doc/options.texi (Option file format): Fix bad indentation,
53 restoring dropped sentence.
54
55 2009-02-28 Jan Hubicka <jh@suse.cz>
56
57 * tree-inline.c (tree_function_versioning): Output debug info.
58
59 2009-02-28 Jan Hubicka <jh@suse.cz>
60
61 PR debug/39267
62 * tree-inline.c (setup_one_parameter): Do not copy propagate
63 arguments when not optimizing.
64
65 2009-02-28 H.J. Lu <hongjiu.lu@intel.com>
66
67 PR target/39327
68 * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
69 (avx_addsubv4df3): Likewise.
70 (*avx_addsubv4sf3): Likewise.
71 (sse3_addsubv4sf3): Likewise.
72 (*avx_addsubv2df3): Likewise.
73 (sse3_addsubv2df3): Likewise.
74 (avx_unpckhps256): Correct item selectors.
75 (avx_unpcklps256): Likewise.
76 (avx_unpckhpd256): Likewise.
77 (avx_unpcklpd256): Likewise.
78
79 2009-02-28 Jan Hubicka <jh@suse.cz>
80
81 * tree-inline.c (expand_call_inline): Avoid duplicate declarations of
82 static vars.
83 (copy_arguments_for_versioning): If var is declared don't declare it.
84 (tree_function_versioning): First setup substitutions and then copy
85 args.
86
87 2009-02-27 Jan Hubicka <jh@suse.cz>
88
89 PR debug/39267
90 * cgraph.h (varpool_output_debug_info): Remove.
91 * cgraphunit.c (varpool_output_debug_info): Remove.
92 * dwarf2out.c (deferred_locations_struct): New struct
93 (deferred_locations): New type.
94 (deferred_locations_list): New static var.
95 (deffer_location): New function.
96 (gen_variable_die): Use it.
97 (decls_for_scope): Output info on local static vars.
98 (dwarf2out_finish): Process deferred locations.
99 * varpool.c (varpool_output_debug_info): Remove.
100
101 2009-02-27 Jan Hubicka <jh@suse.cz>
102
103 PR debug/39267
104 * tree.h (TREE_PROTECTED): Fix comment.
105 (BLOCK_HANDLER_BLOCK): Remove.
106 (struct tree_block): Remove handler_block add body_block.
107 (inlined_function_outer_scope_p): New.
108 (is_body_block): Remove.
109 * dbxout.c (dbxout_block): Remove BLOCK_HANDLER_BLOCK.
110 * dwarf2out.c (is_inlined_entry_point): Remove.
111 (add_high_low_attributes): Use inlined_function_outer_scope_p.
112 (gen_block_die): Use is_inlined_entry_point check. Remove body block
113 code.
114 * langhooks.h (struct lang_hooks): Remove no_bodu_blocks.
115 * gimplify.c (gimplify_expr): Gimplify body blocks.
116 * tree-ssa-live.c (remove_unused_scope_block_p): Allow removing wrapper
117 block with multiple subblocks.
118 (dump_scope_block): Prettier output; dump more flags and info.
119 (dump_scope_blocks): New.
120 (remove_unused_locals): Use dump_scope_blocks.
121 * tree-flow.h (dump_scope_blocks): Declare.
122 * tree-cfg.c (execute_build_cfg): Dump scope blocks.
123 * stmt.c (is_body_block): Remove.
124 * tree-inline.c (remap_block): Copy BODY_BLOCK info.
125 * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): Remove.
126
127 2009-02-27 Sebastian Pop <sebastian.pop@amd.com>
128
129 PR middle-end/39308
130 * graphite.c (graphite_loop_normal_form): Do not call
131 number_of_iterations_exit from a gcc_assert.
132
133 2009-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
134
135 * gcc/config/s390/s390.c: (s390_swap_cmp): Look for conditional
136 jumps if COND is NULL.
137 (find_cond_jump): New function.
138 (s390_z10_optimize_cmp): Handling for reg-reg compares added.
139 * gcc/config/s390/s390.md: Remove z10_cobra attribute value.
140
141 2009-02-26 Uros Bizjak <ubizjak@gmail.com>
142
143 * config/alpha/alpha.h (alpha_expand_mov): Return false if
144 force_const_mem returns NULL_RTX.
145
146 2009-02-26 Jan Hubicka <jh@suse.cz>
147
148 PR debug/39267
149 * cgraph.h (varpool_output_debug_info): Remove.
150 * cgraphunit.c (varpool_output_debug_info): Remove.
151 * dwarf2out.c (deferred_locations_struct): New struct
152 (deferred_locations): New type.
153 (deferred_locations_list): New static var.
154 (deffer_location): New function.
155 (gen_variable_die): Use it.
156 (decls_for_scope): Output info on local static vars.
157 (dwarf2out_finish): Process deferred locations.
158 * varpool.c (varpool_output_debug_info): Remove.
159
160 2009-02-25 H.J. Lu <hongjiu.lu@intel.com>
161
162 PR rtl-optimization/39241
163 * jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
164 to subreg_offset_representable_p.
165
166 2009-02-25 Paolo Bonzini <bonzini@gnu.org>
167
168 * regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
169 execute function prototype. Get f and nregs from max_reg_num
170 and get_insns. Remove the first backward pass as it's dead,
171 guard the forward pass by flag_expensive_optimizations.
172 (rest_of_handle_regmove): Delete.
173 (pass_regmove): Replace it with regmove_optimize.
174
175 2009-02-25 Martin Jambor <mjambor@suse.cz>
176
177 PR tree-optimization/39259
178 * tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and
179 alls_alloca function flags.
180 (copy_bb): Set calls_setjmp and alls_alloca function flags if such
181 calls are detected.
182
183 2009-02-25 Paolo Bonzini <bonzini@gnu.org>
184
185 * regmove.c (discover_flags_reg, flags_set_1, mark_flags_life_zones,
186 flags_set_1_rtx, flags_set_1_set): Delete.
187 (regmove_optimize): Do not call mark_flags_life_zones.
188
189 2009-02-24 Julian Brown <julian@codesourcery.com>
190
191 PR target/35965
192 * config/arm/arm.c (require_pic_register): Only set
193 cfun->machine->pic_reg once per function.
194
195 2009-02-24 Sandra Loosemore <sandra@codesourcery.com>
196
197 * doc/invoke.texi (Link Options): Document an easier way to pass
198 options that take arguments to the GNU linker using -Xlinker and -Wl.
199
200 2009-02-24 Steve Ellcey <sje@cup.hp.com>
201
202 PR target/33785
203 * doc/tm.texi (TARGET_C99_FUNCTIONS): Fix description.
204
205 2009-02-24 Richard Guenther <rguenther@suse.de>
206
207 PR debug/39285
208 * dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs.
209
210 2009-02-24 Richard Guenther <rguenther@suse.de>
211 Zdenek Dvorak <ook@ucw.cz>
212
213 PR tree-optimization/39233
214 * tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers
215 from converting them to a generic type.
216
217 2009-02-23 Sebastian Pop <sebastian.pop@amd.com>
218
219 PR tree-optimization/39260
220 * graphite.c (harmful_stmt_in_bb): Stop a SCoP when the basic block
221 contains a condition with a real type.
222 (build_scop_conditions_1): Conditions are always last_stmt of a bb.
223
224 2009-02-23 Jason Merrill <jason@redhat.com>
225
226 PR c++/38880
227 * varasm.c (initializer_constant_valid_p) [PLUS_EXPR]: Check
228 narrowing_initializer_constant_valid_p.
229 (narrowing_initializer_constant_valid_p): Don't return
230 null_pointer_node for adding a pointer to itself.
231
232 2009-02-23 Jan Hubicka <jh@suse.cz>
233
234 PR c/12245
235 * ggc.h (htab_create_ggc): Use ggc_free to free hashtable when
236 resizing.
237
238 2009-02-23 Jan Hubicka <jh@suse.cz>
239
240 PR tree-optimization/37709
241 * tree.c (block_ultimate_origin): Move here from dwarf2out.
242 * tree.h (block_ultimate_origin): Declare.
243 * dwarf2out.c (block_ultimate_origin): Move to tree.c
244 * tree-ssa-live.c (remove_unused_scope_block_p):
245 Eliminate blocks containig no instructions nor live variables nor
246 nested blocks.
247 (dump_scope_block): New function.
248 (remove_unused_locals): Enable removal of dead blocks by default;
249 enable dumping at TDF_DETAILS.
250
251 2009-02-21 H.J. Lu <hongjiu.lu@intel.com>
252
253 * config/i386/i386.c (classify_argument): Don't allow COImode
254 and OImode.
255 (function_arg_advance_32): Don't allow OImode.
256 (function_arg_32): Likewise.
257 (function_value_32): Likewise.
258 (return_in_memory_32): Likewise.
259 (function_arg_64): Remove OImode comment.
260
261 2009-02-21 H.J. Lu <hongjiu.lu@intel.com>
262
263 PR target/39261
264 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
265 ix86_expand_vector_set for V4DImode in 64bit mode only.
266 (ix86_expand_vector_init_one_var): Likewise.
267
268 2009-02-21 Sebastian Pop <sebastian.pop@amd.com>
269
270 * graphite.c (graphite_trans_loop_block): Adjust tile size to 51.
271
272 2009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
273
274 PR bootstrap/39257
275 * loop-iv.c: Revert last change.
276 * emit-rtl.c: Likewise.
277
278 2009-02-21 H.J. Lu <hongjiu.lu@intel.com>
279
280 PR target/39256
281 * config/i386/i386.c (type_natural_mode): Remove an extra
282 space in the warning message.
283 (function_value_32): Handle 32-byte vector modes.
284 (return_in_memory_32): Likewise.
285
286 2009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
287
288 * loop-iv.c (truncate_value): New function.
289 (iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead
290 of lowpart_subreg.
291 (lowpart_subreg): Move to...
292 * emit-rtl.c: ...here.
293
294 2009-02-21 Danny Smith <dannysmith@users.sourceforge.net>
295
296 * config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common): Revert
297 accidental and undocumented change at revision 140860.
298
299 2009-02-21 Joseph Myers <joseph@codesourcery.com>
300
301 * config/arm/arm.c (arm_gimplify_va_arg_expr): Update prototype to
302 take gimple_seq * arguments.
303 (arm_mangle_type): Use CONST_CAST_TREE on type argument passed to
304 types_compatible_p langhook.
305
306 2009-02-20 Mark Mitchell <mark@codesourcery.com>
307 Joseph Myers <joseph@codesourcery.com>
308
309 * config/arm/arm.c (arm_builtin_va_list): New function.
310 (arm_expand_builtin_va_start): Likewise.
311 (arm_gimplify_va_arg_expr): Likewise.
312 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
313 (TARGET_BUILD_BUILTIN_VA_START): Likewise.
314 (TARGET_BUILD_BUILTIN_VA_ARG_EXPR): Likewise.
315 (va_list_type): New variable.
316 (arm_mangle_type): Mangle va_list_type appropriately.
317
318 2009-02-20 Jakub Jelinek <jakub@redhat.com>
319
320 PR middle-end/39157
321 * Makefile.in (loop-invariant.o): Depend on $(PARAMS_H).
322 * params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
323 * params.def (loop-invariant-max-bbs-in-loop): New parameter.
324 * opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
325 parameter to 1000 for -O1 by default.
326 * doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
327 parameter.
328 * loop-invariant.c: Include params.h.
329 (move_loop_invariants): Don't call move_single_loop_invariants on
330 very large loops.
331
332 2009-02-20 Jaka Mocnik <jaka@xlab.si>
333
334 * calls.c (emit_library_call_value_1): Use slot_offset instead of
335 offset when calculating bounds for indexing stack_usage_map. Fixes
336 a buffer overflow with certain target setups.
337
338 2009-02-20 Jakub Jelinek <jakub@redhat.com>
339
340 PR target/39240
341 * calls.c (expand_call): Clear try_tail_call if caller and callee
342 disagree in promotion of function return value.
343
344 2009-02-19 Jakub Jelinek <jakub@redhat.com>
345
346 PR target/39175
347 * c-common.c (c_determine_visibility): If visibility changed and
348 DECL_RTL has been already set, call make_decl_rtl to update symbol
349 flags.
350
351 2009-02-19 H.J. Lu <hongjiu.lu@intel.com>
352
353 PR c++/39188
354 * varasm.c (assemble_variable): Don't check DECL_NAME when
355 globalizing a variable.
356
357 2009-02-19 Joseph Myers <joseph@codesourcery.com>
358
359 PR c/38483
360 * builtins.c (gimplify_va_arg_expr): Evaluate the va_list
361 expression before any __builtin_trap call.
362 * c-typeck.c (build_function_call): Convert and check function
363 arguments before generating a call to a trap. Evaluate the
364 function arguments before the trap.
365
366 2009-02-19 Uros Bizjak <ubizjak@gmail.com>
367
368 PR target/39228
369 * config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
370 (UNSPEC_FXAM_MEM): New unspec.
371 (fxam<mode>2_i387_with_temp): New insn and split pattern.
372 (isinf<mode>2): Use MODEF mode iterator. Force operand[1] through
373 memory using fxam<mode>2_i387_with_temp to remove excess precision.
374
375 2009-02-19 Richard Guenther <rguenther@suse.de>
376
377 PR tree-optimization/39207
378 PR tree-optimization/39074
379 * tree-ssa-structalias.c (storedanything_id, var_storedanything,
380 storedanything_tree): New.
381 (do_ds_constraint): Simplify ANYTHING shortcutting. Update
382 the STOREDANYTHING solution if the lhs solution contains ANYTHING.
383 (build_succ_graph): Add edges from STOREDANYTHING to all
384 non-direct nodes.
385 (init_base_vars): Initialize STOREDANYTHING.
386 (compute_points_to_sets): Free substitution info after
387 building the succ graph.
388 (ipa_pta_execute): Likewise.
389
390 * tree-ssa-structalias.c (struct variable_info): Add may_have_pointers
391 field.
392 (do_ds_constraint): Do not add to special var or non-pointer
393 field solutions.
394 (type_could_have_pointers): Split out from ...
395 (could_have_pointers): ... here. For arrays use the element type.
396 (create_variable_info_for): Initialize may_have_pointers.
397 (new_var_info): Likewise.
398 (handle_lhs_call): Make the HEAP variable unknown-sized.
399 (intra_create_variable_infos): Use a type with pointers for
400 PARM_NOALIAS, make it unknown-sized.
401
402 2009-02-18 H.J. Lu <hongjiu.lu@intel.com>
403
404 PR target/39224
405 * config/i386/i386.c (ix86_return_in_memory): Properly check ABI.
406
407 2009-02-18 Jason Merrill <jason@redhat.com>
408
409 PR target/39179
410 * tree-ssa-ccp.c (get_symbol_constant_value): Don't assume zero
411 value if DECL_EXTERNAL.
412 * tree-sra.c (sra_walk_gimple_assign): Likewise.
413 * target.h (gcc_target::binds_local_p): Clarify "module".
414 * tree.h (TREE_PUBLIC): Clarify "module".
415
416 2009-02-17 Xuepeng Guo <xuepeng.guo@intel.com>
417
418 PR target/38891
419 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move the hunk of
420 initialization for MS_ABI prior to the hunk of !TARGET_MMX.
421
422 2009-02-17 H.J. Lu <hongjiu.lu@intel.com>
423
424 PR target/39082
425 * c.opt (Wabi): Support C and ObjC.
426 (Wpsabi): New.
427
428 * c-opts.c (c_common_handle_option): Handle OPT_Wabi.
429
430 * config/i386/i386.c (classify_argument): Warn once about the ABI
431 change when passing union with long double.
432
433 * doc/invoke.texi: Update -Wabi for warning psABI changes.
434
435 2009-02-18 Joseph Myers <joseph@codesourcery.com>
436
437 PR c/35447
438 * c-parser.c (c_parser_compound_statement): Always enter and leave
439 a scope.
440
441 2009-02-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
442
443 PR target/34587
444 * config/darwin.h (SUPPORTS_INIT_PRIORITY): Define.
445
446 2009-02-18 Jakub Jelinek <jakub@redhat.com>
447
448 PR tree-optimization/36922
449 * tree-data-ref.c (initialize_matrix_A): Handle BIT_NOT_EXPR.
450 * tree-scalar-evolution.c (interpret_rhs_expr, instantiate_scev_1):
451 Likewise.
452
453 2009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
454
455 * config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
456 to 0 for EABI64.
457
458 2009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
459
460 * config/mips/mips.md (type): Reclassify lui_movf as "unknown".
461
462 2009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
463
464 * config/mips/mips.c (mips_gimplify_va_arg_expr): Fix invalid
465 tree sharing.
466
467 2009-02-17 Ruan Beihong <ruanbeihong@gmail.com>
468 Richard Sandiford <rdsandiford@googlemail.com>
469
470 * config/mips/mips.c (CODE_FOR_loongson_biadd): Delete.
471 * config/mips/loongson.md (reduc_uplus_<mode>): Rename to...
472 (loongson_biadd): ...this.
473
474 2009-02-17 Richard Guenther <rguenther@suse.de>
475
476 PR tree-optimization/39202
477 * tree-ssa-structalias.c (do_structure_copy): Before collapsing
478 a var make sure to follow existing collapses.
479
480 2009-02-17 Richard Guenther <rguenther@suse.de>
481
482 PR middle-end/39214
483 * langhooks.c (lhd_print_error_function): Check for NULL block.
484
485 2009-02-17 Richard Guenther <rguenther@suse.de>
486
487 PR tree-optimization/39204
488 * tree-ssa-pre.c (phi_translate_1): Lookup the value-number
489 of the PHI arg.
490
491 2009-02-17 Uros Bizjak <ubizjak@gmail.com>
492
493 * config/soft-fp/double.h: Update from glibc CVS.
494
495 2009-02-17 Richard Guenther <rguenther@suse.de>
496
497 PR tree-optimization/39207
498 * tree-ssa-structalias.c (find_what_p_points_to): Do not emit
499 strict-aliasing warnings for pointers pointing to NULL.
500
501 2009-02-16 Joseph Myers <joseph@codesourcery.com>
502
503 PR c/35446
504 * c-parser.c (c_parser_braced_init): Call pop_init_level when
505 skipping until next close brace.
506
507 2009-02-16 H.J. Lu <hongjiu.lu@intel.com>
508
509 PR target/37049
510 * config/i386/i386.c (ix86_expand_push): Set memory alignment
511 to function argument boundary.
512
513 2009-02-16 Hariharan Sandanagobalane <hariharan@picochip.com>
514
515 * config/picochip/picochip.md (lea_add): Allow any nonimmediate
516 in the lea_add. Reload eventually constraints it properly.
517 * config/picochip/constraints.md : Remove the target constraint
518 "b", since it is not needed anymore.
519
520 2009-02-16 Jakub Jelinek <jakub@redhat.com>
521
522 * gthr-dce.h: Uglify function parameter and local variable names.
523 * gthr-gnat.h: Likewise.
524 * gthr-mipssde.h: Likewise.
525 * gthr-nks.h: Likewise.
526 * gthr-posix95.h: Likewise.
527 * gthr-posix.h: Likewise.
528 * gthr-rtems.h: Likewise.
529 * gthr-single.h: Likewise.
530 * gthr-solaris.h: Likewise.
531 * gthr-tpf.h: Likewise.
532 * gthr-vxworks.h: Likewise.
533 * gthr-win32.h: Likewise.
534
535 2009-02-15 H.J. Lu <hongjiu.lu@intel.com>
536
537 PR target/39196
538 * config/i386/i386.md: Restrict the new peephole2 to move
539 between MMX/SSE registers.
540
541 2009-02-15 Richard Guenther <rguenther@suse.de>
542
543 Revert
544 2009-02-13 Richard Guenther <rguenther@suse.de>
545
546 * configure.ac: Enable LFS.
547 * configure: Re-generate.
548 * config.in: Likewise.
549
550 2009-02-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
551
552 * config/spu/spu_internals.h (spu_sr, spu_sra, spu_srqw,
553 spu_srqwbyte, spu_srqwbytebc): Define.
554 * config/spu/spu-builtins.def (spu_sr, spu_sra, spu_srqw,
555 spu_srqwbyte, spu_srqwbytebc): New overloaded builtins.
556 * config/spu/spu.md ("shrqbybi_<mode>", "shrqbi_<mode>",
557 "shrqby_<mode>"): New insn-and-split patterns.
558 * config/spu/spu.c (expand_builtin_args): Determine and return
559 number of operands using spu_builtin_description data.
560 (spu_expand_builtin_1): Use it.
561
562 2009-02-13 Steve Ellcey <sje@cup.hp.com>
563
564 PR target/38056
565 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check
566 TARGET_CONST_GP.
567
568 2009-02-13 H.J. Lu <hongjiu.lu@intel.com>
569
570 PR target/39149
571 * config/i386/i386.c (override_options): Correct warning
572 messages for -malign-loops, -malign-jumps and -malign-functions.
573
574 2009-02-13 H.J. Lu <hongjiu.lu@intel.com>
575
576 PR target/39152
577 * config/i386/i386.md: Restrict the new peephole2 to move
578 between the general purpose registers.
579
580 2009-02-13 H.J. Lu <hongjiu.lu@intel.com>
581
582 PR target/39162
583 * config/i386/i386.c (type_natural_mode): Add a new argument.
584 Return the original mode and warn ABI change if vector size is 32byte.
585 (function_arg_advance): Updated.
586 (function_arg): Likewise.
587 (ix86_function_value): Likewise.
588 (ix86_return_in_memory): Likewise.
589 (ix86_sol10_return_in_memory): Likewise.
590 (ix86_gimplify_va_arg): Likewise.
591 (function_arg_32): Don't warn ABX ABI change here.
592 (function_arg_64): Likewise.
593
594 2009-02-13 Bernd Schmidt <bernd.schmidt@analog.com>
595
596 * loop-iv.c (implies_p): In the final case, test that operands 0
597 of the two comparisons match.
598
599 * config/bfin/bfin.c (find_prev_insn_start): New function.
600 (bfin_optimize_loop): Use it in some cases instead of PREV_INSN.
601 (find_next_insn_start): Move.
602
603 2009-02-13 Richard Guenther <rguenther@suse.de>
604
605 * configure.ac: Enable LFS.
606 * configure: Re-generate.
607 * config.in: Likewise.
608
609 2009-02-13 Joseph Myers <joseph@codesourcery.com>
610
611 PR c/35444
612 * c-parser.c (c_parser_parms_list_declarator): Discard pending
613 sizes on syntax error after some arguments have been parsed.
614
615 2009-02-12 Jakub Jelinek <jakub@redhat.com>
616
617 * doc/invoke.texi (-fira): Remove.
618
619 2009-02-12 H.J. Lu <hongjiu.lu@intel.com>
620
621 * caller-save.c: Replace regclass.c with reginfo.c in comments.
622 * recog.c: Likewise.
623 * rtl.h: Likewise.
624
625 2009-02-12 Uros Bizjak <ubizjak@gmail.com>
626
627 * longlong.h (sub_ddmmss): New for ia64. Ported from GMP 4.2.
628 (umul_ppmm): Likewise.
629 (count_leading_zeros): Likewise.
630 (count_trailing_zeros): Likewise.
631 (UMUL_TIME): Likewise.
632
633 2009-02-12 H.J. Lu <hongjiu.lu@intel.com>
634
635 * config.gcc (ia64*-*-linux*): Add ia64/t-fprules-softfp and
636 soft-fp/t-softfp to tmake_file.
637
638 * config/ia64/ia64.c (ia64_soft_fp_init_libfuncs): New.
639 (ia64_expand_compare): Use HPUX library for TFmode only for HPUX.
640 (ia64_builtins) [IA64_BUILTIN_COPYSIGNQ, IA64_BUILTIN_FABSQ,
641 IA64_BUILTIN_INFQ]: New.
642 (ia64_init_builtins): Initialize __builtin_infq,
643 __builtin_fabsq and __builtin_copysignq if not HPUX.
644 (ia64_expand_builtin): Handle IA64_BUILTIN_COPYSIGNQ,
645 IA64_BUILTIN_FABSQ and IA64_BUILTIN_INFQ.
646
647 * config/ia64/lib1funcs.asm (__divtf3): Define only if
648 SHARED is defined.
649 (__fixtfti): Likewise.
650 (__fixunstfti): Likewise.
651 (__floattitf): Likewise.
652
653 * config/ia64/libgcc-glibc.ver: New.
654 * config/ia64/t-fprules-softfp: Likewise.
655 * config/ia64/sfp-machine.h: Likewise.
656
657 * config/ia64/linux.h (LIBGCC2_HAS_TF_MODE): New.
658 (LIBGCC2_TF_CEXT): Likewise.
659 (TF_SIZE): Likewise.
660 (TARGET_INIT_LIBFUNCS): Likewise.
661
662 * config/ia64/t-glibc (SHLINB_MAPFILES):
663 Add $(srcdir)/config/ia64/libgcc-glibc.ver.
664
665 2009-02-12 H.J. Lu <hongjiu.lu@intel.com>
666
667 * config/i386/i386.c (construct_container): Rewrite processing
668 BLKmode with X86_64_SSE_CLASS.
669
670 2009-02-12 Paolo Bonzini <bonzini@gnu.org>
671
672 PR target/39152
673 * config/i386/i386.md: Replace simplify_replace_rtx with
674 replace_rtx in the new peephole2.
675
676 2009-02-12 Nathan Sidwell <nathan@codesourcery.com>
677
678 * doc/invoke.texi (Optimize Options): Stop claiming inlining and
679 loop unrolling do not happen at -O2.
680
681 2009-02-12 Michael Matz <matz@suse.de>
682
683 * gcc.c (ASM_DEBUG_SPEC): Check for -g0.
684
685 2009-02-12 Jakub Jelinek <jakub@redhat.com>
686
687 * dwarf2out.c (dwarf2out_finish): Force output of comp_unit_die
688 for -g3.
689
690 2009-02-12 Ben Elliston <bje@au.ibm.com>
691
692 * config/rs6000/rs6000.md (allocate_stack): Use _stack form of
693 patterns when updating the back chain. Missed in the 2009-02-10
694 change.
695
696 2009-02-11 Janis Johnson <janis187@us.ibm.com>
697
698 * doc/extend.texi (Decimal Floating Types): Update identifier of
699 draft TR and list of missing support.
700
701 2009-02-11 Jakub Jelinek <jakub@redhat.com>
702
703 PR middle-end/39154
704 * gimplify.c (omp_notice_variable): If adding GOVD_SEEN
705 bit to variable length decl's flags, add it also to its
706 pointer replacement variable.
707
708 2009-02-11 Uros Bizjak <ubizjak@gmail.com>
709 Jakub Jelinek <jakub@redhat.com>
710
711 PR target/39118
712 * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
713 (memory_blockage): New expander.
714 (*memory_blockage): New insn pattern.
715 * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
716 instead of general blockage at the end of function prologue when
717 frame pointer is used to access red zone area. Do not emit blockage
718 when profiling, it is emitted in generic code.
719 (ix86_expand_epilogue): Emit memory_blockage at the beginning of
720 function epilogue when frame pointer is used to access red zone area.
721
722 2009-02-11 Paolo Bonzini <bonzini@gnu.org>
723
724 PR target/38824
725 * config/i386/i386.md: Add two new peephole2 to avoid mov followed
726 by arithmetic with memory operands.
727 * config/i386/predicates.md (commutative_operator): New.
728
729 2009-02-10 Janis Johnson <janis187@us.ibm.com>
730
731 * doc/extend.texi (Fixed-Point Types): Break long paragraphs into
732 bulleted lists.
733
734 2009-02-10 Eric Botcazou <ebotcazou@adacore.com>
735
736 * alias.h (record_alias_subset): Declare.
737 * alias.c (record_alias_subset): Make global.
738
739 2009-02-10 Nick Clifton <nickc@redhat.com>
740
741 * tree-parloops.c: Change license to GPLv3.
742 * ipa-struct-reorg.c: Change license to GPLv3.
743 * ipa-struct-reorg.h: Change license to GPLv3.
744
745 2009-02-10 Steve Ellcey <sje@cup.hp.com>
746
747 PR c/39084
748 * c-decl.c (start_struct): Return NULL on error.
749
750 2009-02-10 Jakub Jelinek <jakub@redhat.com>
751
752 PR middle-end/39124
753 * cfgloopmanip.c (remove_path): Call remove_bbs after
754 cancel_loop_tree, not before it.
755
756 PR target/39139
757 * function.h (struct function): Add has_local_explicit_reg_vars bit.
758 * gimplify.c (gimplify_bind_expr): Set it if local DECL_HARD_REGISTER
759 VAR_DECLs were seen.
760 * tree-ssa-live.c (remove_unused_locals): Recompute
761 cfun->has_local_explicit_reg_vars.
762 * tree-ssa-sink.c (statement_sink_location): Don't sink BLKmode
763 copies or clearings if cfun->has_local_explicit_reg_vars.
764
765 2009-02-10 Uros Bizjak <ubizjak@gmail.com>
766
767 PR target/39118
768 * config/i386/i386.c (expand_prologue): Emit blockage at the end
769 of function prologue when frame pointer is used to access
770 red zone area.
771
772 2009-02-10 Richard Guenther <rguenther@suse.de>
773
774 PR middle-end/39127
775 * gimplify.c (gimple_regimplify_operands): Always look if
776 we need to create a temporary.
777
778 2009-02-10 Richard Guenther <rguenther@suse.de>
779
780 PR tree-optimization/39132
781 * tree-loop-distribution.c (todo): New global var.
782 (generate_memset_zero): Trigger TODO_rebuild_alias.
783 (tree_loop_distribution): Return todo.
784
785 2009-02-10 H.J. Lu <hongjiu.lu@intel.com>
786
787 PR target/39119
788 * config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS.
789 (x86_64_reg_class_name): Removed.
790 (classify_argument): Return 0 if bytes > 32. Return 0 if the
791 first one isn't X86_64_SSE_CLASS or any other ones aren't
792 X86_64_SSEUP_CLASS when size > 16bytes. Don't turn
793 X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one
794 is X86_64_SSEUP_CLASS. Set AVX modes to 1 X86_64_SSE_CLASS
795 and 3 X86_64_SSEUP_CLASS.
796 (construct_container): Remove X86_64_AVX_CLASS. Handle 4
797 registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS.
798
799 2009-02-10 Ben Elliston <bje@au.ibm.com>
800
801 * config/rs6000/rs6000.md (allocate_stack): Always use an update
802 form instruction to update the stack back chain word, even if the
803 user has disabled the generation of update instructions.
804 (movdi_<mode>_update_stack): New.
805 (movsi_update_stack): Likewise.
806 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Likewise,
807 always use an update form instruction to update the stack back
808 chain word.
809
810 2009-02-09 Sebastian Pop <sebastian.pop@amd.com>
811
812 PR middle-end/38953
813 * graphite.c (if_region_set_false_region): After moving a region in
814 the false branch of a condition, remove the empty dummy basic block.
815 (gloog): Remove wrong fix for PR38953.
816
817 2009-02-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
818
819 * config/spu/spu.c (array_to_constant): Fix (latent) wrong-code
820 generation due to implicit sign extension.
821
822 2009-02-09 Eric Botcazou <ebotcazou@adacore.com>
823
824 PR middle-end/38981
825 * tree-ssa-coalesce.c (add_coalesce): Cap the costs of coalesce pairs
826 at MUST_COALESCE_COST-1 instead of MUST_COALESCE_COST.
827
828 2009-02-09 Richard Guenther <rguenther@suse.de>
829
830 PR middle-end/35202
831 * convert.c (convert_to_real): Disable (float)fn((double)x)
832 to fnf(x) conversion if errno differences may occur and
833 -fmath-errno is set.
834
835 2009-02-07 Anatoly Sokolov <aesok@post.ru>
836
837 * config/avr/avr.c (avr_mcu_t): Add ata6289 device.
838 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
839 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
840
841 2009-02-06 Joseph Myers <joseph@codesourcery.com>
842
843 PR c/35434
844 * c-common.c (handle_alias_attribute): Disallow attribute for
845 anything not a FUNCTION_DECL or VAR_DECL.
846
847 2009-02-06 Janis Johnson <janis187@us.ibm.com>
848
849 PR c/39035
850 * real.c (do_compare): Special-case compare of zero against
851 decimal float value.
852
853 2009-02-06 Joseph Myers <joseph@codesourcery.com>
854
855 PR c/36432
856 * c-decl.c (grokdeclarator): Don't treat [] declarators in fields
857 as indicating flexible array members unless the field itself is
858 being declarared as the incomplete array.
859
860 2009-02-06 Jan Hubicka <jh@suse.cz>
861
862 PR tree-optimization/38844
863 * ipa-inline.c (try_inline): Stop inlining recursion when edge
864 is already inlined.
865
866 2009-02-06 Richard Guenther <rguenther@suse.de>
867
868 PR middle-end/38977
869 * tree-cfg.c (need_fake_edge_p): Force a fake edge for
870 fork because we may expand it as __gcov_fork.
871
872 2009-02-06 Nick Clifton <nickc@redhat.com>
873
874 * config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to zero.
875
876 2009-02-06 Paolo Bonzini <bonzini@gnu.org>
877
878 PR tree-optimization/35659
879 * tree-ssa-sccvn.c (vn_constant_eq, vn_reference_eq, vn_nary_op_eq
880 vn_phi_eq): Shortcut if hashcode does not match.
881 (vn_reference_op_compute_hash): Do not call iterative_hash_expr for
882 NULL operands.
883 * tree-ssa-pre.c (pre_expr_hash): Look at hashcode if available,
884 and avoid iterative_hash_expr.
885 (FOR_EACH_VALUE_ID_IN_SET): New.
886 (value_id_compare): Remove.
887 (sorted_array_from_bitmap_set): Use FOR_EACH_VALUE_ID_IN_SET to
888 sort expressions by value id.
889
890 2009-02-05 Kaz Kojima <kkojima@gcc.gnu.org>
891
892 PR target/38991
893 * config/sh/predicates.md (general_movsrc_operand): Don't check
894 the subreg of system registers here.
895
896 2009-02-05 Jakub Jelinek <jakub@redhat.com>
897
898 PR c++/39106
899 * cgraphunit.c (cgraph_function_versioning): Clear also DECL_VIRTUAL_P
900 on the copied decl.
901
902 2009-02-05 Paolo Bonzini <bonzini@gnu.org>
903
904 PR rtl-optimization/39110
905 * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned
906 addresses, not aligned ones.
907
908 2009-02-05 Daniel Berlin <dberlin@dberlin.org>
909 Richard Guenther <rguenther@suse.de>
910
911 PR tree-optimization/39100
912 * tree-ssa-structalias.c (do_ds_constraint): Actually do what the
913 comment says and add edges.
914
915 2009-02-05 Joseph Myers <joseph@codesourcery.com>
916
917 PR c/35435
918 * c-common.c (handle_tls_model_attribute): Ignore attribute for
919 non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
920
921 2009-02-04 Tobias Grosser <grosser@fim.uni-passau.de>
922
923 * graphite.c (bb_in_sese_p, sese_build_livein_liveouts_use,
924 sese_build_livein_liveouts_bb, sese_build_livein_liveouts,
925 register_bb_in_sese, new_sese, free_sese): Moved.
926 (dot_scop_1, build_scop_loop_nests, build_loop_iteration_domains,
927 outermost_loop_in_scop, build_scop_iteration_domain,
928 expand_scalar_variables_ssa_name, get_vdef_before_scop,
929 limit_scops): Use bb_in_sese_p instead of bb_in_scop_p.
930 Use loop_in_sese_p instead of loop_in_scop_p.
931 (new_graphite_bb, gloog): Do not initialize SCOP_BBS_B.
932 (new_scop, free_scop): Remove SCOP_LOOP2CLOOG_LOOP and SCOP_BBS_B.
933 (scopdet_basic_block_info): Fix bug in scop detection.
934 (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop,
935 eq_loop_to_cloog_loop): Remove.
936 (nb_loops_around_loop_in_scop, nb_loop
937 ref_nb_loops): Moved here...
938 * graphite.h (ref_nb_loops): ... from here.
939 (struct scop): Remove bbs_b bitmap and loop2cloog_loop.
940 (loop_domain_dim, loop_iteration_vector_dim): Remove.
941 (SCOP_BBS_B, bb_in_scop_p, loop_in_scop_p): Removed.
942 * testsuite/gcc.dg/graphite/scop-19.c: New
943
944 2009-02-04 Paolo Bonzini <bonzini@gnu.org>
945 Hans-Peter Nilsson <hp@axis.com>
946
947 PR rtl-optimization/37889
948 * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
949 Move offset handling from PLUS to before the switch. Use new
950 arguments when considering SYMBOL_REFs too.
951 (rtx_addr_can_trap_p): Pass dummy offset and size.
952 (enum may_trap_p_flags): Remove.
953 (may_trap_p_1): Pass size from MEM_SIZE.
954
955 PR rtl-optimization/38921
956 * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
957 * rtl.h (may_trap_after_code_motion_p): Delete prototype.
958 * rtlanal.c (may_trap_after_code_motion_p): Delete.
959 (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.
960
961 2009-02-04 H.J. Lu <hongjiu.lu@intel.com>
962
963 AVX Programming Reference (January, 2009)
964 * config/i386/sse.md (*vpclmulqdq): New.
965
966 2009-02-04 Jakub Jelinek <jakub@redhat.com>
967
968 PR tree-optimization/38977
969 PR gcov-profile/38292
970 * calls.c (special_function_p): Disregard __builtin_ prefix.
971
972 2009-02-04 Hariharan Sandanagobalane <hariharan@picochip.com>
973
974 * config/picochip/picochip.c (GO_IF_LEGITIMATE_ADDRESS): Disallow
975 non-indexable addresses even before reload.
976
977 2009-02-03 Joseph Myers <joseph@codesourcery.com>
978
979 PR c/29129
980 * c-decl.c (grokdeclarator): Mark [*] arrays in field declarators
981 as having variable size. Do not give an error for unnamed
982 parameters with [*] declarators. Give a warning for type names
983 with [*] declarators and mark them as variable size.
984 * c-parser.c (c_parser_sizeof_expression): Do not give an error
985 for sizeof applied to [*] type names.
986
987 2009-02-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
988
989 PR C++/36607
990 * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
991
992 2009-02-03 Jakub Jelinek <jakub@redhat.com>
993
994 * gcc.c (process_command): Update copyright notice dates.
995 * gcov.c (print_version): Likewise.
996 * gcov-dump.c (print_version): Likewise.
997 * mips-tfile.c (main): Likewise.
998 * mips-tdump.c (main): Likewise.
999
1000 2009-02-03 Joseph Myers <joseph@codesourcery.com>
1001
1002 PR c/35433
1003 * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT
1004 for composite type involving a zero-length array type.
1005
1006 2009-02-03 Jakub Jelinek <jakub@redhat.com>
1007
1008 PR target/35318
1009 * function.c (match_asm_constraints_1): Skip over
1010 initial optional % in the constraint.
1011
1012 PR inline-asm/39059
1013 * c-parser.c (c_parser_postfix_expression): If fixed point is not
1014 supported, don't accept FIXED_CSTs.
1015 * c-decl.c (finish_declspecs): Error if fixed point is not supported
1016 and _Sat is used without _Fract/_Accum. Set specs->type to
1017 integer_type_node for cts_fract/cts_accum if fixed point is not
1018 supported.
1019
1020 2009-02-02 Catherine Moore <clm@codesourcery.com>
1021
1022 * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as -mabicalls.
1023
1024 2009-02-02 Richard Sandiford <rdsandiford@googlemail.com>
1025
1026 * config/mips/mips.h (FILE_HAS_64BIT_SYMBOLS): New macro.
1027 (ABI_HAS_64BIT_SYMBOLS): Use it.
1028 (DWARF2_ADDR_SIZE): Use it instead of ABI_HAS_64BIT_SYMBOLS.
1029
1030 2009-02-02 Paul Brook <paul@codesourcery.com>
1031
1032 * config/arm/arm.md (arm_addsi3): Add r/r/k alternative.
1033
1034 2009-02-02 Jakub Jelinek <jakub@redhat.com>
1035
1036 PR inline-asm/39058
1037 * recog.h (asm_operand_ok): Add constraints argument.
1038 * recog.c (asm_operand_ok): Likewise. If it is set, for digits
1039 recurse on matching constraint.
1040 (check_asm_operands): Pass constraints as 3rd argument to
1041 asm_operand_ok. Don't look up matching constraint here.
1042 * stmt.c (expand_asm_operands): Pass NULL as 3rd argument
1043 to asm_operand_ok.
1044
1045 2009-02-02 Ben Elliston <bje@au.ibm.com>
1046
1047 * doc/tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and
1048 TARGET_NARROW_VOLATILE_BITFIELD macro names.
1049
1050 2009-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1051
1052 * doc/install.texi (hppa*-hp-hpux*): Update binutils and linker
1053 information. Remove some obsolete information. Reorganize.
1054
1055 * config/pa/fptr.c: Revert license to GPL 2.
1056 * config/pa/milli64.S: Likewise.
1057
1058 2009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
1059
1060 PR target/38904
1061 * mkmap-flat.awk (END): Use pe_dll command-line arg to pass
1062 LIBRARY name in, instead of hard-coding it.
1063 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add an
1064 extra target make frag to tmake_files according to EH model.
1065 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
1066 * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Add new target
1067 frags that define makefile variable EH_MODEL appropriately.
1068 * config/i386/cygming.h (DWARF2_UNWIND_INFO): Add comment.
1069 * config/i386/cygwin.h (LIBGCC_EH_EXTN): Define to nothing or
1070 to "-sjlj" according to type of EH configured.
1071 (LIBGCC_SONAME): Concatenate it to shared library base name.
1072 * config/i386/mingw32.h (LIBGCC_EH_EXTN): Define to "_dw2" or
1073 to "_sjlj" according to type of EH configured.
1074 (LIBGCC_SONAME): Concatenate it to shared library base name.
1075 * config/i386/t-cygming (SHLIB_SONAME): Use EH_MODEL.
1076 (SHLIB_LINK): Add missing semicolon to if-else construct.
1077 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
1078 string value of "pe_dll" command-line option.
1079 * config/i386/t-cygwin (SHLIB_EH_EXTENSION): New helper.
1080 (SHLIB_SONAME): Use it when overriding t-cygming default.
1081 (SHLIB_IMPLIB): Override t-cygming default.
1082 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
1083 string value of "pe_dll" command-line option.
1084
1085 2009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
1086
1087 PR target/38952
1088 * config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
1089 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point at it.
1090
1091 2009-01-31 Richard Guenther <rguenther@suse.de>
1092
1093 PR tree-optimization/38937
1094 * tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
1095 computing the transitive closure.
1096
1097 2009-01-30 Richard Guenther <rguenther@suse.de>
1098
1099 PR tree-optimization/39041
1100 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
1101 Propagate variable indices only if the types match for this stmt.
1102
1103 2009-01-30 Jakub Jelinek <jakub@redhat.com>
1104
1105 PR target/39013
1106 * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
1107 inline but never defined.
1108
1109 2009-01-30 Wolfgang Gellerich <gellerich@de.ibm.com>
1110
1111 * config/s390/s390.md (*insv<mode>_reg_extimm): Removed.
1112 (*insv_h_di_reg_extimm): New insn.
1113 (*insv_l<mode>_reg_extimm): New insn.
1114
1115 2009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
1116
1117 * config/picochip/picochip.c (flag_conserve_stack): set
1118 PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
1119 fconserve-stack. Reduce call-overhead used by inliner.
1120
1121 2009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
1122
1123 PR/38157
1124 * common.opt (flag_conserve_stack): Initialised to zero.
1125
1126 2009-01-30 Kai Tietz <kai.tietz@onevision.com>
1127
1128 PR/39002
1129 * config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
1130 (ix86_expand_epilogue): Take nsseregs in account to use proper restore
1131 method.
1132
1133 2009-01-29 H.J. Lu <hongjiu.lu@intel.com>
1134
1135 * ira-color.c (allocno_reload_assign): Update comments.
1136 * regmove.c (regmove_optimize): Likewise.
1137
1138 * ra.h: Removed.
1139
1140 2009-01-29 Robert Millan <rmh@aybabtu.com>
1141
1142 * gcc/config.gcc: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
1143 * gcc/config/i386/kopensolaris-gnu.h: New file. Undefine
1144 `MD_UNWIND_SUPPORT'.
1145 * gcc/config/kopensolaris-gnu.h: New file (based on kfreebsd-gnu.h).
1146
1147 2009-01-29 Kazu Hirata <kazu@codesourcery.com>
1148
1149 PR tree-optimization/39007
1150 * tree-loop-distribution.c (generate_builtin): Use
1151 recompute_dominator to compute the immediate dominator of the
1152 basic block just after the loop.
1153
1154 2009-01-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1155
1156 * config/i386/sol2-10.h [!HAVE_AS_IX86_DIFF_SECT_DELTA]
1157 (ASM_OUTPUT_DWARF_PCREL): Define.
1158
1159 2009-01-29 Vladimir Makarov <vmakarov@redhat.com>
1160
1161 * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
1162 * doc/passes.texi: Remove entries about regclass, local-alloc, and
1163 global. Modify entries about regmove and IRA.
1164
1165 * ra-conflict.c: Remove the file.
1166
1167 * reload.c (push_reload, find_dummy_reload): Remove flag_ira.
1168
1169 * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
1170 (pass_regclass_init): Rename to pass_reginfo_init.
1171
1172 * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.
1173
1174 * toplev.h (flag_ira): Remove.
1175
1176 * caller-save.c (setup_save_areas): Remove flag_ira.
1177
1178 * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot): Ditto.
1179
1180 * global.c: Remove the file.
1181
1182 * opts.c: (decode_options): Remove flag_ira.
1183
1184 * hard-reg-set.h (losing_caller_save_reg_set): Remove.
1185
1186 * regmove.c: Modify file description.
1187 (find_use_as_address, try_auto_increment): Define them only if
1188 AUTO_INC_DEC is defined.
1189 (replacement_quality, replace_in_call_usage, fixup_match_1,
1190 stable_and_no_regs_but_for_p): Remove.
1191 (reg_set_in_bb): Make it static.
1192 (regmove_optimize): Remove flag_ira and code which worked for
1193 !flag_ira.
1194
1195 * local-alloc.c: Remove the file.
1196
1197 * common.opt (fira): Remove.
1198
1199 * ira.c: Include except.h.
1200 (eliminable_regset): Move from global.c.
1201 (mark_elimination): Ditto. Remove flag_ira.
1202 (reg_renumber, struct equivalence, reg_equiv, equiv_mem,
1203 equiv_mem_modified, validate_equiv_mem_from_store,
1204 validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
1205 contains_replace_regs, memref_referenced_p, memref_used_between_p,
1206 no_equiv, recorded_label_ref): Move from local-alloc.c.
1207 (update_equiv_regs): Ditto. Make it static.
1208 (print_insn_chain, print_insn_chains): Move it from global.c.
1209 (pseudo_for_reload_consideration_p): Ditto. Remove flag_ira.
1210 (build_insn_chain): Ditto. Make it static.
1211 (ra_init_live_subregs): Move from ra-conflict.c. Make it static.
1212 Rename to init_live_subregs.
1213 (gate_ira): Remove flag_ira.
1214
1215 * regclass.c: Rename reginfo.c. Change file description.
1216 (FORBIDDEN_INC_DEC_CLASSES): Remove.
1217 (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec): Remove.
1218 (init_reg_sets_1): Remove code for evaluation of
1219 reg_class_superclasses and losing_caller_save_reg_set.
1220 (init_regs): Remove init_reg_autoinc.
1221 (struct costs, costs, init_cost, ok_for_index_p_nonstrict,
1222 ok_for_base_p_nonstrict): Remove.
1223 (regclass_init): Rename to reginfo_init. Don't initialize init_cost.
1224 (pass_regclass_init): Rename to pass_reginfo_init. Modify
1225 corresponding entries.
1226 (dump_regclass, record_operand_costs, scan_one_insn,
1227 init_reg_autoinc, regclass, record_reg_classes, copy_cost,
1228 record_address_regs, auto_inc_dec_reg_p): Remove.
1229 (gt-regclass.h): Rename to gt-reginfo.h.
1230
1231 * rtl.h (dump_global_regs, retry_global_alloc,
1232 build_insn_chain, dump_local_alloc, update_equiv_regs): Remove.
1233
1234 * Makefile.in (RA_H): Remove.
1235 (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
1236 Rename regclass.o to reginfo.o.
1237 (regclass.o): Rename to reginfo.o. Rename gt-regclass.h to
1238 gt-reginfo.h.
1239 (global.o, local-alloc.o, ra-conflict.o): Remove entries.
1240 (GTFILES): Rename regclass.c to reginfo.c.
1241
1242 * passes.c (init_optimization_passes): Remove pass_local_alloc and
1243 pass_global_alloc. Rename pass_regclass_init to pass_reginfo_init.
1244
1245 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
1246 count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
1247 Remove flag_ira.
1248 (finish_spills): Ditto. Remove code for !flag_ira.
1249
1250 2009-01-29 Kenneth Zadeck <zadeck@naturalbridge.com>
1251
1252 PR middle-end/35854
1253 * doc/invoke.texi (rtl debug options): Complete rewrite.
1254 * auto-inc-dec.c (pass_inc_dec): Rename pass from "auto-inc-dec"
1255 to auto_inc_dec".
1256 * mode-switching.c (pass_mode_switching): Rename pass from
1257 "mode-sw" to "mode_sw".
1258 * except.c (pass_convert_to_eh_ranges): Rename pass from
1259 "eh-ranges" to "eh_ranges".
1260 * lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
1261 to "subreg1".
1262
1263
1264 2009-01-29 Andrey Belevantsev <abel@ispras.ru>
1265 Alexander Monakov <amonakov@ispras.ru>
1266
1267 PR middle-end/38857
1268 * sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
1269 register.
1270 (move_exprs_to_boundary): Change return type and pass through
1271 should_move from move_op. Relax assert. Update usage ...
1272 (schedule_expr_on_boundary): ... here. Use should_move instead of
1273 cant_move.
1274 (move_op_orig_expr_found): Indicate that insn was disconnected from
1275 stream.
1276 (code_motion_process_successors): Do not call after_merge_succs
1277 callback if original expression was not found when traversing any of
1278 the branches.
1279 (code_motion_path_driver): Change return type. Update prototype.
1280 (move_op): Update comment. Add a new parameter (should_move). Update
1281 prototype. Set *should_move based on indication provided by
1282 move_op_orig_expr_found.
1283
1284 2009-01-28 Pat Haugen <pthaugen@us.ibm.com>
1285
1286 * doc/invoke.texi (avoid-indexed-addresses): Document new option.
1287 * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
1288 * config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
1289 * config/rs6000/rs6000.c (rs6000_override_options): Default
1290 avoid-indexed-addresses on for Power6, off for everything else.
1291 (avoiding_indexed_address_p): New function.
1292 (rs6000_legitimize_address): Use it.
1293 (rs6000_legitimate_address): Likewise.
1294 * config/rs6000/rs6000.md (movXX_updateX): Likewise
1295
1296 2009-01-28 Kazu Hirata <kazu@codesourcery.com>
1297
1298 PR tree-optimization/38997
1299 * tree-loop-distribution.c (generate_memset_zero): Use
1300 POINTER_PLUS_EXPR for a pointer addition.
1301
1302 2009-01-28 Andreas Krebbel <krebbel1@de.ibm.com>
1303
1304 * config/s390/s390.md (bswap<mode>2): New pattern added.
1305
1306 2009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
1307
1308 * config/s390/s390.md (*tls_load_31): Added type attribute.
1309
1310 2009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
1311
1312 * config/s390/s390.md: Fix a few comments.
1313
1314 2009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
1315
1316 * config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
1317 (*tm<mode>_full): Fixed z10prop attribute.
1318 (*tst<mode>_extimm): Fixed z10prop attribute.
1319 (*tst<mode>_cconly_extimm): Fixed z10prop attribute.
1320 (*tstqiCCT_cconly): Fixed z10prop attribute.
1321 (*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
1322 (*movsi_larl): Fixed z10prop attribute.
1323 (*movsi_zarch): Fixed z10prop attribute.
1324 (*movsi_eas): Fixed z10prop attribute.
1325 (*movhi): Fixed z10prop attribute.
1326 (*movqi): Fixed z10prop attribute.
1327 (*movstrictqi): Fixed z10prop attribute.
1328 (*mov<mode>): Fixed z10prop attribute.
1329 (*movcc): Fixed z10prop attribute.
1330 (*sethighpartdi_64): Fixed z10prop attribute.
1331 (*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
1332 (*negdi2_sign_cc): Fixed z10prop attribute.
1333 (*negdi2_sign): Fixed z10prop attribute.
1334 (*absdi2_sign_cc): Fixed z10prop attribute.
1335 (*absdi2_sign): Fixed z10prop attribute.
1336 (*negabsdi2_sign_cc): Fixed z10prop attribute.
1337 (*negabsdi2_sign): Fixed z10prop attribute.
1338 (*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
1339 (*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
1340 (doloop_si64): Fixed z10prop attribute.
1341 (doloop_si31): Fixed z10prop attribute.
1342 (doloop_long): Fixed z10prop attribute.
1343 (indirect_jump): Fixed z10prop attribute.
1344 (nop): Fixed z10prop attribute.
1345 (main_base_64): Fixed z10prop attribute.
1346 (reload_base_64): Fixed z10prop attribute.
1347
1348 2009-01-28 Jakub Jelinek <jakub@redhat.com>
1349
1350 PR rtl-optimization/38740
1351 * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
1352 if !optimize.
1353 * config/mips/mips.c (mips_reorg): Likewise.
1354
1355 2009-01-28 Richard Guenther <rguenther@suse.de>
1356
1357 PR tree-optimization/38926
1358 * tree-ssa-pre.c (add_to_value): Assert we add only expressions
1359 with the correct value id to a value.
1360 (do_regular_insertion): Use the value number of edoubleprime
1361 for the value number of the expr.
1362
1363 Revert
1364 2008-08-21 Richard Guenther <rguenther@suse.de>
1365
1366 * tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
1367 a PHI ask VN if it is already available.
1368 * tree-ssa-sccvn.h (vn_phi_lookup): Declare.
1369 * tree-ssa-sccvn.c (vn_phi_lookup): Export.
1370
1371 2009-01-28 Jakub Jelinek <jakub@redhat.com>
1372
1373 PR middle-end/38934
1374 * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
1375 set to varying whenever max has TREE_OVERFLOW set, similarly
1376 for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
1377
1378 2009-01-28 Richard Guenther <rguenther@suse.de>
1379
1380 PR middle-end/38908
1381 * tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
1382 uninitialized aggregate uses in call arguments.
1383
1384 2009-01-28 Paolo Bonzini <bonzini@gnu.org>
1385
1386 PR tree-optimization/38984
1387 * tree-ssa-structalias.c (get_constraints_for_1): Do not use
1388 the nothing_id variable if -fno-delete-null-pointer-checks.
1389
1390 2009-01-28 Uros Bizjak <ubizjak@gmail.com>
1391
1392 PR target/38988
1393 * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
1394 (set_got_offset_rex64): Ditto.
1395
1396 2009-01-27 H.J. Lu <hongjiu.lu@intel.com>
1397
1398 PR target/38941
1399 * doc/extend.texi: Improve local variable with asm reg.
1400
1401 2009-01-27 Adam Nemet <anemet@caviumnetworks.com>
1402
1403 * c.opt (Wpacked-bitfield-compat): Change init value to -1.
1404 * c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
1405 was not supplied then set warn_packed_bitfield_compat to the
1406 default value of 1.
1407 * stor-layout.c (place_field): Check warn_packed_bitfield_compat
1408 against 1.
1409
1410 2009-01-27 Richard Guenther <rguenther@suse.de>
1411
1412 PR tree-optimization/38503
1413 * cfgexpand.c (expand_gimple_basic_block): Ignore
1414 GIMPLE_CHANGE_DYNAMIC_TYPE during expansion.
1415 * tree-ssa-structalias.c (set_uids_in_ptset): Do not prune
1416 variables that cannot have TBAA applied.
1417 (compute_points_to_sets): Do not remove GIMPLE_CHANGE_DYNAMIC_TYPE
1418 statements.
1419
1420 2009-01-27 Uros Bizjak <ubizjak@gmail.com>
1421
1422 PR middle-end/38969
1423 * calls.c (initialize_argument_information): Do not wrap complex
1424 arguments in SAVE_EXPR.
1425
1426 2009-01-26 Andreas Tobler <a.tobler@schweiz.org>
1427
1428 * config/t-vxworks (LIBGCC2_INCLUDES): Fix typo.
1429 (INSTALL_LIBGCC): Revert typo commit.
1430
1431 2009-01-26 Richard Guenther <rguenther@suse.de>
1432
1433 PR tree-optimization/38745
1434 * tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL
1435 from special handling.
1436
1437 2009-01-26 Richard Guenther <rguenther@suse.de>
1438
1439 PR tree-optimization/38745
1440 * tree-ssa.c (execute_update_addresses_taken): Do not include
1441 variables that cannot possibly be a register in not_reg_needs.
1442 Do not clear TREE_ADDRESSABLE on vars that may not become
1443 registers.
1444 * tree-ssa.c (update_alias_info_1): Include those in the set
1445 of addressable vars.
1446
1447 2009-01-26 Richard Guenther <rguenther@suse.de>
1448
1449 PR middle-end/38851
1450 * Makefile.in (tree-ssa-dse.o): Add langhooks.h.
1451 * tree-ssa-dse.c: Include langhooks.h
1452 (execute_simple_dse): Remove stores with zero size.
1453
1454 2009-01-24 Jakub Jelinek <jakub@redhat.com>
1455
1456 PR c/38957
1457 * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
1458 as PLUS_EXPR.
1459
1460 2009-01-24 Julian Brown <julian@codesourcery.com>
1461
1462 * config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add
1463 config/arm/linux-atomic.c.
1464 * config/arm/linux-atomic.c: New.
1465
1466 2009-01-24 Eric Botcazou <ebotcazou@adacore.com>
1467
1468 * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete.
1469 * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise.
1470 * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
1471
1472 2009-01-24 H.J. Lu <hongjiu.lu@intel.com>
1473
1474 PR c/38938
1475 * c-opts.c (c_common_handle_option): Update warn_pointer_sign
1476 properly.
1477
1478 2009-01-24 Sebastian Pop <sebastian.pop@amd.com>
1479
1480 PR tree-optimization/38953
1481 * graphite.c (graphite_verify): Add a call to verify_loop_closed_ssa.
1482 (scop_adjust_phis_for_liveouts): Initialize false_i to zero.
1483 (gloog): Split the exit of the scop when the scop exit is a loop exit.
1484 (graphite_transform_loops): Only call cleanup_tree_cfg if gloog
1485 changed the CFG.
1486
1487 2009-01-24 Paul Brook <paul@codesourcery.com>
1488
1489 * config/arm/neon.md (neon_type): Move to arm.md.
1490 (neon_mov<VSTRUCT>): Add neon_type attribute.
1491 * config/arm/arm.md (neon_type): Move to here.
1492 (conds): Add "unconditioal" and use as default for NEON insns.
1493
1494 2009-01-24 Ben Elliston <bje@au.ibm.com>
1495
1496 * bitmap.h (BITMAP_FREE): Eliminate `implicit conversion from
1497 void *' warning from -Wc++-compat.
1498 * Makefile.in (dominance.o-warn): Remove.
1499
1500 2009-01-23 Paolo Bonzini <bonzini@gnu.org>
1501
1502 PR tree-optimization/38932
1503 * fold-const.c (fold_unary_ignore_overflow): New.
1504 * tree.h (fold_unary_ignore_overflow): Declare.
1505 * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow.
1506 * tree-ssa-sccvn.c (visit_reference_op_load,
1507 simplify_unary_expression): Likewise.
1508
1509 2009-01-22 Adam Nemet <anemet@caviumnetworks.com>
1510
1511 * c-decl.c (finish_struct): Move code to set DECL_PACKED after
1512 DECL_BIT_FIELD is alreay known. Also inherit packed for bitfields
1513 regardless of their type.
1514 * c-common.c (handle_packed_attribute): Don't ignore packed on
1515 bitfields.
1516 * c.opt (Wpacked-bitfield-compat): New warning option.
1517 * stor-layout.c (place_field): Warn if offset of a field changed.
1518 * doc/extend.texi (packed): Mention the ABI change.
1519 * doc/invoke.texi (-Wpacked-bitfield-compat): Document.
1520 (Warning Options): Add it to the list.
1521
1522 2009-01-22 H.J. Lu <hongjiu.lu@intel.com>
1523
1524 * c-opts.c (c_common_post_options): Fix a typo in comments.
1525
1526 2009-01-22 Steve Ellcey <sje@cup.hp.com>
1527
1528 PR middle-end/38615
1529 * gimplify.c (gimplify_init_constructor): Fix promotion of const
1530 variables to static.
1531 * doc/invoke.texi (-fmerge-all-constants): Update description.
1532
1533 2009-01-22 Uros Bizjak <ubizjak@gmail.com>
1534
1535 PR target/38931
1536 * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
1537 (*movdi_1_rex64): Use type "mmx" for alternative 5.
1538
1539 2009-01-22 Richard Earnshaw <rearnsha@arm.com>
1540
1541 * arm.h (DATA_ALIGNMENT): Align structures, unions and arrays to
1542 a word boundary.
1543 (LOCAL_ALIGNMENT): Similarly.
1544
1545 2009-01-22 Mark Shinwell <shinwell@codesourcery.com>
1546 Joseph Myers <joseph@codesourcery.com>
1547
1548 * config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
1549 * config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
1550 * config/arm/arm-tune.md: Regenerate.
1551 * doc/invoke.texi (ARM Options): Document -mcpu=iwmmxt2 and
1552 -march=iwmmxt2.
1553
1554 2009-01-22 Mark Shinwell <shinwell@codesourcery.com>
1555
1556 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Bump EABI
1557 version number to five.
1558
1559 2009-01-22 Dodji Seketeli <dodji@redhat.com>
1560
1561 PR c++/38930
1562 * c-decl.c: (clone_underlying_type): Revert PR c++/26693 changes.
1563 * c-common.c (set_underlying_type): Likewise.
1564 (is_typedef_decl ): Likewise
1565 * tree.h: Likewise
1566 (set_underlying_type): Likewise.
1567 (is_typedef_type): Likewise.
1568
1569 2009-01-21 Vladimir Makarov <vmakarov@redhat.com>
1570
1571 PR middle-end/38587
1572 * ira-color.c (coalesce_spill_slots): Don't coalesce allocnos
1573 crossing setjmps.
1574
1575 2009-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
1576
1577 PR bootstrap/37660
1578 * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): New helper macro.
1579 (LIBGCC_SPEC): Don't define.
1580 (REAL_LIBGCC_SPEC): Define instead, using SHARED_LIBGCC_SPEC.
1581
1582 2009-01-21 Uros Bizjak <ubizjak@gmail.com>
1583
1584 PR rtl-optimization/38879
1585 * alias.c (base_alias_check): Unaligned access via AND address can
1586 alias all surrounding object types except those with sizes equal
1587 or wider than the size of unaligned access.
1588
1589 2009-01-21 Dodji Seketeli <dodji@redhat.com>
1590
1591 PR c++/26693
1592 * c-decl.c: (clone_underlying_type): Move this ...
1593 * c-common.c (set_underlying_type): ... here.
1594 Also, make sure the function properly sets TYPE_STUB_DECL() on
1595 the newly created typedef variant type.
1596 (is_typedef_decl ): New entry point.
1597 * tree.h: Added a new member member_types_needing_access_check to
1598 struct tree_decl_non_common.
1599 (set_underlying_type): New entry point.
1600 (is_typedef_type): Likewise.
1601
1602 2009-01-21 Bingfeng Mei <bmei@broadcom.com>
1603
1604 * alias.c (walk_mems_1, walk_mems_2, insn_alias_sets_conflict_p):
1605 Check whether two instructions have memory references that
1606 belong to conflicting alias sets. walk_mems_1 and walk_mems_2
1607 are helper functions for traversing.
1608 * alias.h (insn_alias_sets_confilict_p): New prototypes.
1609 * ddg.c (add_inter_loop_mem_dep): Call insn_alias_sets_conflict_p
1610 not to draw dependency edge for instructions with non-conflicting
1611 alias sets.
1612
1613 2009-01-20 Joseph Myers <joseph@codesourcery.com>
1614
1615 PR other/38758
1616 * longlong.h: Update copyright years. Use soft-fp license notice.
1617 Sync __clz_tab declaration with glibc.
1618
1619 2009-01-20 Steve Ellcey <sje@cup.hp.com>
1620
1621 PR target/30687
1622 * doc/extend.texi (syscall_linkage): New.
1623 (version_id): Modify.
1624
1625 2009-01-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
1626 Richard Guenther <rguenther@suse.de>
1627
1628 PR tree-optimization/38747
1629 PR tree-optimization/38748
1630 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Disable the VCE
1631 conversion if the base address is an indirect reference and the
1632 aliasing sets could cause issues.
1633
1634 2009-01-20 Sebastian Pop <sebastian.pop@amd.com>
1635
1636 * common.opt (fgraphite, fgraphite-identity): Add comment for
1637 explaining why these options are not documented.
1638
1639 2009-01-20 Sebastian Pop <sebastian.pop@amd.com>
1640
1641 * graphite.c (stmt_simple_for_scop_p): Also handle cases when
1642 gimple_call_lhs is NULL.
1643
1644 2009-01-20 Paolo Bonzini <bonzini@gnu.org>
1645
1646 PR target/38868
1647 * emit-rtl.c (adjust_address_1): Make sure memref is never
1648 overwritten.
1649
1650 2009-01-20 Ben Elliston <bje@au.ibm.com>
1651
1652 * libgcov.c (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
1653 const qualifier from arg parameter. Remove unnecessary cast to char *.
1654 * gcov-io.h (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
1655 const qualifier from arg 2.
1656
1657 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
1658
1659 * config/darwin.h: Add static-libgfortran to LINK_SPEC.
1660
1661 2009-01-19 Vladimir Makarov <vmakarov@redhat.com>
1662
1663 PR c/38869
1664 * rtl.h (reinit_regs): New prototype.
1665 * regclass.c: Include ira.h.
1666 (reinit_regs): New.
1667 * Makefile.in (regclass.o): Add ira.h.
1668 * config/i386/i386.c (ix86_maybe_switch_abi): Use reinit_regs.
1669
1670 2009-01-18 H.J. Lu <hongjiu.lu@intel.com>
1671
1672 PR target/38736
1673 * c-common.c (handle_aligned_attribute): Use
1674 ATTRIBUTE_ALIGNED_VALUE instead of BIGGEST_ALIGNMENT for
1675 default alignment value.
1676
1677 * c-cppbuiltin.c (c_cpp_builtins): Define __BIGGEST_ALIGNMENT__.
1678
1679 * defaults.h (ATTRIBUTE_ALIGNED_VALUE): New.
1680 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Likewise.
1681
1682 * doc/extend.texi: Update __attribute__ ((aligned)). Document
1683 __BIGGEST_ALIGNMENT__.
1684
1685 * doc/tm.texi: Document ATTRIBUTE_ALIGNED_VALUE.
1686
1687 2009-01-18 Richard Guenther <rguenther@suse.de>
1688
1689 PR tree-optimization/38819
1690 * tree-flow.h (operation_could_trap_helper_p): Declare.
1691 * tree-eh.c (operation_could_trap_helper_p): Export.
1692 * tree-ssa-sccvn.h (vn_nary_may_trap): Declare.
1693 * tree-ssa-sccvn.c (vn_nary_may_trap): New function.
1694 * tree-ssa-pre.c (insert_into_preds_of_block): Check if we
1695 are about to insert a possibly trapping instruction and fail
1696 in this case.
1697
1698 2009-01-18 Andreas Schwab <schwab@suse.de>
1699
1700 * doc/install.texi (Configuration): Remove obsolete paragraph
1701 about use of --with-gnu-ld with --with-gnu-as.
1702
1703 2009-01-18 Kazu Hirata <kazu@codesourcery.com>
1704
1705 * doc/extend.texi, doc/gimple.texi, doc/invoke.texi,
1706 doc/md.texi, doc/sourcebuild.texi, doc/tm.texi: Fix typos.
1707 Follow spelling conventions.
1708
1709 2009-01-18 Ben Elliston <bje@au.ibm.com>
1710
1711 * bitmap.c (bitmap_obstack_alloc_stat): Adjust cast to eliminate
1712 C++ warning about implicit conversion from void * to struct
1713 bitmap_head_def *.
1714 (bitmap_obstack_free): Likewise for bitmap_element *.
1715 * Makefile.in (bitmap.o-warn): Remove.
1716
1717 2009-01-17 Dave Korn <dave.korn.cygwin@gmail.com>
1718
1719 * Makefile.in (BACKENDLIBS): Reorder to match dependencies.
1720
1721 2009-01-17 Sebastian Pop <sebastian.pop@amd.com>
1722 Tobias Grosser <tobi.grosser@amd.com>
1723
1724 * graphite.c (graphite_trans_scop_block): Do not block single
1725 nested loops.
1726
1727 2009-01-16 Alexandre Oliva <aoliva@redhat.com>
1728
1729 * ebitmap.h (ebitmap_iter_init): Initialize all fields.
1730 * ipa-struct-reorg.c (gen_struct_type): Replace known-true
1731 test with assertion.
1732
1733 2009-01-16 Richard Guenther <rguenther@suse.de>
1734
1735 PR tree-optimization/38835
1736 PR middle-end/36227
1737 * fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
1738 and INT + PTR -> (INT)(PTR p+ INT) folding.
1739 * tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.
1740
1741 2009-01-16 Adam Nemet <anemet@caviumnetworks.com>
1742
1743 PR target/38554
1744 * expmed.c (expand_shift): With SHIFT_COUNT_TRUNCATED, don't lift
1745 the subreg from a lowpart subreg if it is also casting the value.
1746
1747 2009-01-16 Sebastian Pop <sebastian.pop@amd.com>
1748 Tobias Grosser <tobi.grosser@amd.com>
1749
1750 * graphite.c (compare_prefix_loops): New.
1751 (build_scop_canonical_schedules): Rewritten.
1752 (graphite_transform_loops): Move build_scop_canonical_schedules
1753 after build_scop_iteration_domain.
1754
1755 2009-01-16 Sebastian Pop <sebastian.pop@amd.com>
1756 Tobias Grosser <tobi.grosser@amd.com>
1757
1758 * graphite.c (add_conditions_to_domain): Add the loops to
1759 the dimension of the iteration domain. Do copy the domain
1760 only when it exists.
1761 (build_scop_conditions_1): Do not call add_conditions_to_domain.
1762 (add_conditions_to_constraints): New.
1763 (can_generate_code_stmt, can_generate_code): Removed.
1764 (gloog): Do not call can_generate_code.
1765 (graphite_transform_loops): Call add_conditions_to_constraints
1766 after building the iteration domain.
1767
1768 2009-01-16 Jakub Jelinek <jakub@redhat.com>
1769
1770 PR tree-optimization/38789
1771 * tree-ssa-threadedge.c
1772 (record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
1773 __builtin_constant_p.
1774
1775 2009-01-16 Kenneth Zadeck <zadeck@naturalbridge.com>
1776
1777 * dce.c (delete_unmarked_insns): Reversed the order that insns are
1778 examined before deleting them.
1779
1780 2009-01-16 Richard Earnshaw <rearnsha@arm.com>
1781
1782 * function.c (aggregate_value_p): Correctly extract the function
1783 type from CALL_EXPR_FN lookup.
1784
1785 2009-01-16 Hariharan Sandanagobalane <hariharan@picochip.com>
1786
1787 * config/picochip/picochip.c (picochip_override_options): Revert
1788 CFI asm flag disable commited previously.
1789
1790 2009-01-15 Sebastian Pop <sebastian.pop@amd.com>
1791 Tobias Grosser <tobi.grosser@amd.com>
1792 Jan Sjodin <jan.sjodin@amd.com>
1793
1794 * graphite.c (scan_tree_for_params): On substractions negate
1795 all the coefficients of the term.
1796 (clast_to_gcc_expression_red): New. Handle reduction expressions
1797 of more than two operands.
1798 (clast_to_gcc_expression): Call clast_to_gcc_expression_red.
1799 (get_vdef_before_scop): Handle also the case of default definitions.
1800
1801 2009-01-15 Richard Sandiford <rdsandiford@googlemail.com>
1802
1803 * caller-save.c (add_used_regs_1, add_used_regs): New functions.
1804 (insert_one_insn): Use them instead of REG_DEAD and REG_INC notes.
1805 Also use them when walking CALL_INSN_FUNCTION_USAGE.
1806
1807 2009-01-15 H.J. Lu <hongjiu.lu@intel.com>
1808 Joey Ye <joey.ye@intel.com>
1809
1810 PR middle-end/37843
1811 * cfgexpand.c (expand_stack_alignment): Don't update stack
1812 boundary nor check incoming stack boundary here.
1813 (gimple_expand_cfg): Update stack boundary and check incoming
1814 stack boundary here.
1815
1816 2009-01-15 Kenneth Zadeck <zadeck@naturalbridge.com>
1817
1818 * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed comments.
1819
1820 2009-01-14 Jakub Jelinek <jakub@redhat.com>
1821
1822 PR rtl-optimization/38245
1823 * calls.c (expand_call): Add stack arguments to
1824 CALL_INSN_FUNCTION_USAGE even for pure calls (when
1825 ACCUMULATE_OUTGOING_ARGS) and even for args partially passed
1826 in regs and partially in memory or BLKmode arguments.
1827 (emit_library_call_value_1): Add stack arguments to
1828 CALL_INSN_FUNCTION_USAGE even for pure calls (when
1829 ACCUMULATE_OUTGOING_ARGS).
1830 * dce.c: Include tm_p.h.
1831 (find_call_stack_args): New function.
1832 (deletable_insn_p): Call it for CALL_P insns. Add ARG_STORES
1833 argument.
1834 (mark_insn): Call find_call_stack_args for CALL_Ps.
1835 (prescan_insns_for_dce): Walk insns backwards in bb rather than
1836 forwards. Allocate and free arg_stores bitmap if needed, pass it
1837 down to deletable_insn_p, don't mark stores set in arg_stores
1838 bitmap, clear the bitmap at the beginning of each bb.
1839 * Makefile.in (dce.o): Depend on $(TM_P_H).
1840
1841 2009-01-14 Michael Meissner <gnu@the-meissners.org>
1842
1843 PR target/22599
1844 * config/i386/i386.c (print_operand): Add tests for 'D', 'C', 'F', 'f'
1845 to make sure the insn is a conditional test (bug 22599). Reformat a
1846 few long lines.
1847
1848 2009-01-14 Sebastian Pop <sebastian.pop@amd.com>
1849
1850 PR middle-end/38431
1851 * graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
1852 (scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
1853 (gloog): Do not call cleanup_tree_cfg.
1854 (graphite_transform_loops): Call cleanup_tree_cfg after all
1855 scops have been code generated.
1856
1857 2009-01-14 Basile Starynkevitch <basile@starynkevitch.net>
1858 * doc/gty.texi (Invoking the garbage collector): Added new node
1859 and section documenting ggc_collect.
1860
1861 2009-01-14 Richard Guenther <rguenther@suse.de>
1862
1863 PR tree-optimization/38826
1864 PR middle-end/38477
1865 * tree-ssa-structalias.c (emit_alias_warning): Emit the pointer
1866 initialization notes only if we actually emitted a warning.
1867 (intra_create_variable_infos): Add constraints for a result decl
1868 that is passed by hidden reference.
1869 (build_pred_graph): Mark all related variables non-direct on
1870 address-taking.
1871
1872 2009-01-14 Nick Clifton <nickc@redhat.com>
1873
1874 * ira-conflicts.c: Include addresses.h for the definition of
1875 base_reg_class.
1876 (ira_build_conflicts): Use base_reg_class instead of BASE_REG_CLASS.
1877 * Makefile.in: Add a dependency of ira-conflicts.o on addresses.h.
1878
1879 2009-01-13 Vladimir Makarov <vmakarov@redhat.com>
1880
1881 PR target/38811
1882 * Makefile.in (ira-lives.o): Add except.h.
1883
1884 * ira-lives.c: Include except.h.
1885 (process_bb_node_lives): Process can_throw_internal.
1886
1887 2009-01-13 Jakub Jelinek <jakub@redhat.com>
1888
1889 PR rtl-optimization/38774
1890 * combine.c (simplify_set): When undoing cc_use change, don't do
1891 PUT_CODE on the newly created comparison, but instead put back the
1892 old comparison.
1893
1894 2009-01-13 Joseph Myers <joseph@codesourcery.com>
1895
1896 * doc/invoke.texi (ARM Options): Update lists of -mcpu and -march
1897 values. Remove duplicate arm8 entry.
1898
1899 2009-01-13 Sebastian Pop <sebastian.pop@amd.com>
1900
1901 PR tree-optimization/38786
1902 * graphite.c (expand_scalar_variables_ssa_name): New, outlined from
1903 the SSA_NAME case of expand_scalar_variables_expr.
1904 Set the type of an expression to the type of its assign statement.
1905 (expand_scalar_variables_expr): Also gather the scalar computation
1906 used to index the memory access. Do not pass loop_p.
1907 Fix comment. Stop recursion on tcc_constant or tcc_declaration.
1908 (expand_scalar_variables_stmt): Pass to expand_scalar_variables_expr
1909 the gimple_stmt_iterator where it inserts new code.
1910 Do not pass loop_p.
1911 (copy_bb_and_scalar_dependences): Do not pass loop_p.
1912 (translate_clast): Update call to copy_bb_and_scalar_dependences.
1913
1914 2009-01-13 Sebastian Pop <sebastian.pop@amd.com>
1915
1916 * graphite.h (debug_value): Removed.
1917 * graphite.c (debug_value): Removed.
1918
1919 2009-01-13 Richard Earnshaw <rearnsha@arm.com>
1920
1921 * config/arm/arm.c (output_move_double): Don't synthesize thumb-2
1922 ldrd/strd with two 32-bit instructions.
1923
1924 2009-01-13 Richard Earnshaw <rearnsha@arm.com>
1925
1926 * config/arm/arm.c (struct processors): Pass for speed down into
1927 cost helper functions.
1928 (const_ok_for_op): Handle COMPARE and inequality nodes.
1929 (arm_rtx_costs_1): Rewrite.
1930 (arm_size_rtx_costs): Update prototype.
1931 (arm_rtx_costs): Pass speed down to helper functions.
1932 (arm_slowmul_rtx_costs): Rework cost calculations.
1933 (arm_fastmul_rtx_costs, arm_xscale_rtx_costs): Likewise.
1934 (arm_9e_rtx_costs): Likewise.
1935
1936 2009-01-13 Uros Bizjak <ubizjak@gmail.com>
1937
1938 * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
1939 relocations of local symbols wider than UNITS_PER_WORD are not valid.
1940 (alpha_legitimize_address): Do not split local symbols wider than
1941 UNITS_PER_WORD into HIGH/LO_SUM parts.
1942
1943 2009-01-13 Danny Smith <dannysmith@users.sourceforge.net>
1944
1945 PR bootstrap/38580
1946 * gcc.c (process_command): Replace call to execvp with calls
1947 to pex_one and exit.
1948
1949 2009-01-03 Anatoly Sokolov <aesok@post.ru>
1950
1951 PR target/29141
1952 * config/avr/t-avr (LIB1ASMFUNCS): Add _tablejump_elpm.
1953 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Add
1954 variant for devices with 3-byte PC.
1955 (__tablejump_elpm__) : New.
1956
1957 2009-01-12 Jakub Jelinek <jakub@redhat.com>
1958
1959 PR c/32041
1960 * c-parser.c (c_parser_postfix_expression): Allow `->' in
1961 offsetof member-designator, handle it as `[0].'.
1962
1963 2009-01-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1964
1965 * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
1966 function when not using named sections on targets with named sections
1967 if branch distance is less than 262132.
1968
1969 2009-01-12 Richard Earnshaw <rearnsha@arm.com>
1970
1971 * combine.c (combine_instructions): Recompute
1972 optimize_this_for_speed_p for each BB in the main combine loop.
1973
1974 2009-01-12 Tomas Bily <tbily@suse.cz>
1975
1976 PR middlend/38385
1977 * tree-loop-distribution.c (prop_phis): New function.
1978 (generate_builtin): Call prop_phis.
1979 * testsuite/gcc.dg/tree-ssa/pr38385.c: New file.
1980
1981 2009-01-12 Jakub Jelinek <jakub@redhat.com>
1982
1983 PR tree-optimization/38807
1984 * tree-ssa-reassoc.c (remove_visited_stmt_chain): Don't look at
1985 gimple_visited_p unless stmt is GIMPLE_ASSIGN.
1986
1987 2009-01-11 Adam Nemet <anemet@caviumnetworks.com>
1988
1989 * expmed.c (store_bit_field_1): Properly truncate the paradoxical
1990 subreg of op0 to the original op0.
1991
1992 2009-01-11 Laurent GUERBY <laurent@guerby.net>
1993
1994 * doc/sourcebuild.texi (Source Tree): Move up intl and fixinc.
1995
1996 2009-01-11 Markus Schoepflin <markus.schoepflin@comsoft.de>
1997
1998 PR debug/7055
1999 * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
2000 starting with digits.
2001
2002 2009-01-10 Jakub Jelinek <jakub@redhat.com>
2003
2004 PR target/38695
2005 * config/arm/arm.c (arm_is_long_call_p): Don't call
2006 arm_function_in_section_p if decl isn't a FUNCTION_DECL.
2007
2008 2009-01-09 Steven Bosscher <steven@gcc.gnu.org>
2009
2010 * regrename.c (regrename_optimize): Fix dumping.
2011 (find_oldest_value_reg): Preserve REG_POINTER.
2012 (copy_hardreg_forward_1): Likewise.
2013
2014 2009-01-09 Diego Novillo <dnovillo@google.com>
2015
2016 * gimple.h (struct gimple_statement_base) <uid>: Document
2017 the restrictions on its use.
2018 (gimple_uid): Tidy.
2019 (gimple_set_uid): Tidy.
2020
2021 2009-01-09 Jakub Jelinek <jakub@redhat.com>
2022
2023 * config/i386/i386.c (ix86_expand_movmem, ix86_expand_setmem): Add
2024 zero guard even if align_bytes != 0 and count is smaller than
2025 size_needed.
2026
2027 2009-01-09 Vladimir Makarov <vmakarov@redhat.com>
2028
2029 PR rtl-optimization/38495
2030 * ira-emit.c (print_move_list, ira_debug_move_list): New functions.
2031 (add_range_and_copies_from_move_list): Print all added ranges.
2032 Add ranges to memory optimized destination.
2033
2034 2009-01-09 Jakub Jelinek <jakub@redhat.com>
2035
2036 PR target/38686
2037 PR target/38708
2038 * config/i386/i386.c (override_options): Reject
2039 -mstringop-strategy=rep_8byte with -m32.
2040 (ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
2041 to 1. Do count comparison against epilogue_size_needed at compile
2042 time even when count_exp was constant forced into register. For
2043 size_needed don't jump to epilogue, instead just avoid aligning
2044 and invoke the body algorithm. If need_zero_guard, add zero guard
2045 even if count is non-zero, but smaller than size_needed + number of
2046 bytes that could be stored for alignment.
2047 (ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
2048 to 1. If need_zero_guard, add zero guard even if count is non-zero,
2049 but smaller than size_needed + number of bytes that could be stored
2050 for alignment. Compare size_needed with epilogue_size_needed instead
2051 of desired_align - align, don't adjust size_needed, pass
2052 epilogue_size_needed to the epilogue expanders.
2053
2054 PR c/35742
2055 * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like BIND_EXPR.
2056
2057 2009-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2058
2059 * pa.c (last_address): Change to unsigned.
2060 (update_total_code_bytes): Change argument to unsigned. Don't
2061 check if insn addresses are set.
2062 (pa_output_function_epilogue): Set last_address to UINT_MAX if insn
2063 addresses are not set.
2064 (pa_asm_output_mi_thunk): Handle wrap when updating last_address.
2065
2066 2009-01-09 Nick Clifton <nickc@redhat.com>
2067
2068 * config/sh/symbian.c: Replace uses of DECL_INLINE with
2069 DECL_DECLARED_INLINE_P.
2070
2071 2009-01-09 Jakub Jelinek <jakub@redhat.com>
2072
2073 PR middle-end/38347
2074 * dojump.c (do_jump_by_parts_zero_rtx): Use mode instead of
2075 GET_MODE (op0) in operand_subword_force calls.
2076
2077 PR middle-end/38771
2078 * fold-const.c (fold_unary): For COMPOUND_EXPR and COND_EXPR,
2079 fold_convert arg0 operands to TREE_TYPE (op0) first.
2080
2081 2009-01-08 Vladimir Makarov <vmakarov@redhat.com>
2082
2083 * params.def (ira-max-conflict-table-size): Decrease default value
2084 to 1000.
2085
2086 2009-01-08 Jakub Jelinek <jakub@redhat.com>
2087
2088 PR tree-optimization/37031
2089 * lambda-code.c (lambda_collect_parameters): Call pointer_set_destroy
2090 on parameter_set.
2091 (build_access_matrix): Reserve correct size for AM_MATRIX vector,
2092 allocate it using gc instead of heap, use VEC_quick_push instead of
2093 VEC_safe_push.
2094 * graphite.c (build_access_matrix): Allocate AM_MATRIX vector using gc
2095 instead of heap, use VEC_quick_push instead of VEC_safe_push.
2096 * tree-data-ref.h (struct access_matrix): Change matrix to gc
2097 allocated vector from heap allocated.
2098 * lambda.h: Add DEF_VEC_ALLOC_P for gc allocated lambda_vector.
2099 * tree-loop-linear.c (linear_transform_loops): Allocate nest
2100 vector only after perfect_loop_nest_depth call.
2101
2102 2009-01-08 Sebastian Pop <sebastian.pop@amd.com>
2103 Jan Sjodin <jan.sjodin@amd.com>
2104
2105 PR tree-optimization/38559
2106 * graphite.c (debug_value, copy_constraint,
2107 swap_constraint_variables, scale_constraint_variable, ): New.
2108 (get_lower_bound, get_upper_bound): Removed.
2109 (graphite_trans_bb_strip_mine): Clean up this code that works
2110 only for constant number of iterations. Fully copy upper and
2111 lower bound constraints, not only the constant part of them.
2112 * graphite.h (debug_value): Declared.
2113
2114 2009-01-08 Ira Rosen <irar@il.ibm.com>
2115
2116 PR tree-optimization/37194
2117 * tree-vect-transform.c (vect_estimate_min_profitable_iters):
2118 Don't add the cost of cost model guard in prologue to scalar
2119 outside cost in case of known number of iterations.
2120
2121 2009-01-07 Nathan Froyd <froydnj@codesourcery.com>
2122 Alan Modra <amodra@bigpond.net.au>
2123
2124 * config/rs6000/rs6000.c (rs6000_legitimize_address): Check for
2125 non-word-aligned REG+CONST addressing.
2126
2127 2009-01-07 Uros Bizjak <ubizjak@gmail.com>
2128
2129 PR target/38706
2130 * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
2131 free_after_compilation when outputting a thunk.
2132 (alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
2133 Do not call free_after_compilation here.
2134
2135 2009-01-07 Uros Bizjak <ubizjak@gmail.com>
2136
2137 * config/i386/i386.c (ix86_target_string): Use ARRAY_SIZE.
2138 (ix86_valid_target_attribute_inner_p): Ditto.
2139
2140 2009-01-07 Jan Sjodin <jan.sjodin@amd.com>
2141
2142 PR tree-optimization/38492
2143 PR tree-optimization/38498
2144 * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
2145 * tree-chrec.h (scev_is_linear_expression): Declared.
2146 * graphite.c (graphite_cannot_represent_loop_niter): New.
2147 (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
2148 (graphite_loop_normal_form): Use gcc_assert.
2149 (scan_tree_for_params): Use CASE_CONVERT.
2150 (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
2151 (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
2152 Use gcc_assert. Discard scops that contain unhandled cases.
2153 (build_scop_conditions): Return a boolean status for unhandled cases.
2154 (strip_mine_profitable_p): Print the loop number, not its depth.
2155 (is_interchange_valid): Pass the depth of the loop nest, don't
2156 recompute it wrongly.
2157 (graphite_trans_bb_block): Same.
2158 (graphite_trans_bb_block): Print tentative of loop blocking.
2159 (graphite_trans_scop_block): Do not print that the loop has been
2160 blocked.
2161 (graphite_transform_loops): Do not handle scops that contain condition
2162 scalar phi nodes.
2163
2164 2009-01-07 H.J. Lu <hongjiu.lu@intel.com>
2165
2166 AVX Programming Reference (December, 2008)
2167 * config/i386/avxintrin.h (_mm256_stream_si256): New.
2168 (_mm256_stream_pd): Likewise.
2169 (_mm256_stream_ps): Likewise.
2170
2171 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTDQ256,
2172 IX86_BUILTIN_MOVNTPD256 and IX86_BUILTIN_MOVNTPS256.
2173 (ix86_special_builtin_type): Add VOID_FTYPE_PV4DI_V4DI.
2174 (bdesc_special_args): Add __builtin_ia32_movntdq256,
2175 __builtin_ia32_movntpd256 and __builtin_ia32_movntps256.
2176 (ix86_init_mmx_sse_builtins): Handle VOID_FTYPE_PV4DI_V4DI.
2177 (ix86_expand_special_args_builtin): Likewise.
2178
2179 * config/i386/sse.md (AVXMODEDI): New.
2180 (avx_movnt<mode>): Likewise.
2181 (avx_movnt<mode>): Likewise.
2182 (<sse>_movnt<mode>): Remove AVX support.
2183 (sse2_movntv2di): Likewise.
2184
2185 2009-01-07 Richard Guenther <rguenther@suse.de>
2186
2187 PR middle-end/38751
2188 * fold-const.c (extract_muldiv): Remove obsolete comment.
2189 (fold_plusminus_mult_expr): Undo MINUS_EXPR
2190 to PLUS_EXPR canonicalization for the canonicalization.
2191
2192 2009-01-07 Gerald Pfeifer <gerald@pfeifer.com>
2193
2194 * doc/install.texi (alpha*-dec-osf*): Remove note on 32-bit
2195 hosted cross-compilers generating less efficient code.
2196
2197 2009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
2198
2199 * function.h (rtl_data): Add a dbr_scheduled_p field.
2200 * reorg.c (dbr_schedule): Set it.
2201 (gate_handle_delay_slots): Check it.
2202 * config/mips/mips.c (mips_base_delayed_branch): Delete.
2203 (mips_reorg): Check flag_delayed_branch instead of
2204 mips_base_delayed_branch.
2205 (mips_override_options): Don't set mips_base_delayed_branch
2206 or flag_delayed_branch.
2207
2208 2009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
2209
2210 PR rtl-optimization/38426.
2211 * ira.c (ira): Set current_function_is_leaf earlier.
2212
2213 2009-01-06 Jakub Jelinek <jakub@redhat.com>
2214
2215 PR rtl-optimization/38722
2216 * combine.c (try_combine): Don't modify PATTERN (i3) and notes
2217 too early, only set a flag and modify after last possible
2218 undo_all point.
2219
2220 2009-01-06 Janis Johnson <janis187@us.ibm.com>
2221
2222 PR c/34252
2223 * ginclude/float.h: Rename DECnn_DEN to DECnn_SUBNORMAL_MIN.
2224 * real.c (decimal_single_format): Correct values of emin and emax.
2225 (decimal_double_format): Ditto.
2226 (decimal_quad_format): Ditto.
2227 * c-cppbuiltin.c (builtin_define_decimal_float_constants): Adjust
2228 computation of DECnn_MIN and DECnn_MAX for corrected values of
2229 emin and emax. Define __DECnn_SUBNORMAL_MIN__ instead of
2230 __DECnn_MIN__, and adjust its computation for the corrected value
2231 of emin.
2232
2233 2009-01-06 Jan Hubicka <jh@suse.cz>
2234
2235 PR target/38744
2236 * config/i386/i386.c (ix86_expand_call): Use ARRAY_SIZE.
2237
2238 2009-01-06 Gerald Pfeifer <gerald@pfeifer.com>
2239
2240 * doc/contrib.texi (Contributors): Slightly adjust the end note.
2241 Add Robert Clark to the list of testers.
2242
2243 2009-01-06 Jan Hubicka <jh@suse.cz>
2244 Kai Tietz <kai.tietz@onevision.com>
2245
2246 * config/i386/i386.md (*msabi_syvabi): Add SSE regs clobbers.
2247 * config/i386/i386.c (ix86_expand_call): Add clobbers.
2248
2249 2009-01-06 Jan Hubicka <jh@suse.cz>
2250 Kai Tietz <kai.tietz@onevision.com>
2251
2252 * config/i386/i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used
2253 for w64 ABI.
2254 * config/i386/i386.c (struct ix86_frame): Add padding0 and nsseregs.
2255 (ix86_nsaved_regs): Count only general purpose regs.
2256 (ix86_nsaved_sseregs): New.
2257 (ix86_compute_frame_layout): Update nsseregs; set preferred alignment
2258 to 16 for w64; compute padding and size of sse reg save area.
2259 (ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only
2260 general purpose regs.
2261 (ix86_emit_save_sse_regs_using_mov): New.
2262 (ix86_expand_prologue): Save SSE regs if needed.
2263 (ix86_emit_restore_regs_using_mov): Use only general purpose regs.
2264 (ix86_emit_restore_sse_regs_using_mov): New.
2265 (ix86_expand_epilogue): Save SSE regs if needed.
2266
2267 2009-01-06 Jan Hubicka <jh@suse.cz>
2268 Kai Tietz <kai.tietz@onevision.com>
2269
2270 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
2271 * config/i386/i386.c (init_cumulative_args): Disallow calls of MSABI
2272 functions when accumulate outgoing args is off.
2273
2274 2009-01-06 H.J. Lu <hongjiu.lu@intel.com>
2275
2276 PR bootstrap/38742
2277 * ira-color.c (ira_reuse_stack_slot): Check ENABLE_IRA_CHECKING
2278 before using pseudos_have_intersected_live_ranges_p.
2279
2280 * ira-int.h (ira_assert): Always define.
2281
2282 2009-01-06 H.J. Lu <hongjiu.lu@intel.com>
2283
2284 AVX Programming Reference (December, 2008)
2285 * config/i386/avxintrin.h (_mm_permute2_pd): Removed.
2286 (_mm256_permute2_pd): Likewise.
2287 (_mm_permute2_ps): Likewise.
2288 (_mm256_permute2_ps): Likewise.
2289 * config/i386/i386.md (UNSPEC_VPERMIL2): Likewise.
2290 * config/i386/sse.md (avx_vpermil2<mode>3): Likewise.
2291
2292 * config/i386/i386.c (ix86_builtins): Remove
2293 IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
2294 IX86_BUILTIN_VPERMIL2PD256 and IX86_BUILTIN_VPERMIL2PS256.
2295 (ix86_builtin_type): Remove V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
2296 V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT
2297 and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
2298 (bdesc_args): Remove __builtin_ia32_vpermil2pd,
2299 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256 and
2300 __builtin_ia32_vpermil2ps256.
2301 (ix86_init_mmx_sse_builtins): Updated.
2302 (ix86_expand_args_builtin): Likewise.
2303
2304 2009-01-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2305
2306 * pa.c (output_call): Relocate non-jump insns in the delay slot of
2307 long absolute calls when generating PA 2.0 code.
2308
2309 2009-01-05 Vladimir Makarov <vmakarov@redhat.com>
2310
2311 PR rtl-optimization/38583
2312 * params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.
2313
2314 * params.def (ira-max-conflict-table-size): New.
2315
2316 * doc/invoke.texi (ira-max-conflict-table-size): Decribe.
2317
2318 * ira.h (ira_conflicts_p): New external definition.
2319
2320 * ira-conflicts.c (build_conflict_bit_table): Do not build too big
2321 table. Report this. Return result of building.
2322 (ira_build_conflicts): Use ira_conflicts_p. Check result of
2323 building conflict table.
2324
2325 * ira-color.c (fast_allocation): Use num instead of ira_allocnos_num.
2326 (ira_color): Use ira_conflicts_p.
2327
2328 * global.c: Include ira.h.
2329 (pseudo_for_reload_consideration_p, build_insn_chain): Use
2330 ira_conflicts_p.
2331
2332 * Makefile.in (global.o): Add ira.h.
2333
2334 * ira-build.c (mark_all_loops_for_removal,
2335 propagate_some_info_from_allocno): New.
2336 (remove_unnecessary_allocnos): Call
2337 propagate_some_info_from_allocno.
2338 (remove_low_level_allocnos): New.
2339 (remove_unnecessary_regions): Add parameter. Call
2340 mark_all_loops_for_removal and remove_low_level_allocnos. Pass
2341 parameter to remove_unnecessary_regions.
2342 (ira_build): Remove all regions but root if the conflict table was
2343 not built. Update conflict hard regs for allocnos crossing calls.
2344
2345 * ira.c (ira_conflicts_p): New global.
2346 (ira): Define and use ira_conflicts_p.
2347
2348 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
2349 count_spilled_pseudo, find_reg, alter_reg, finish_spills,
2350 emit_input_reload_insns, delete_output_reload): Use ira_conflicts_p.
2351
2352 2009-01-06 Ben Elliston <bje@au.ibm.com>
2353
2354 * gengtype-lex.l (YY_NO_INPUT): Define.
2355
2356 2009-01-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
2357
2358 PR c/34911
2359 * c-common.c (handle_vector_size_attribute): Also reject
2360 BOOLEAN_TYPE types.
2361
2362 2009-01-05 Sebastian Pop <sebastian.pop@amd.com>
2363
2364 PR tree-optimization/38492
2365 * graphite.c (rename_map_elt, debug_rename_elt,
2366 debug_rename_map_1, debug_rename_map, new_rename_map_elt,
2367 rename_map_elt_info, eq_rename_map_elts,
2368 get_new_name_from_old_name, bb_in_sese_p): Moved around.
2369 (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
2370 (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
2371 (sese_build_livein_liveouts): New.
2372 (new_sese, free_sese): New.
2373 (new_scop): Call new_sese.
2374 (free_scop): Call free_sese.
2375 (rename_variables_from_edge, rename_phis_end_scop): Removed.
2376 (register_old_new_names): Renamed register_old_and_new_names.
2377 (register_scop_liveout_renames, add_loop_exit_phis,
2378 insert_loop_close_phis, struct igp,
2379 default_liveout_before_guard, add_guard_exit_phis,
2380 insert_guard_phis, copy_renames): New.
2381 (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
2382 (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
2383 (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
2384 (scop_adjust_phis_for_liveouts): New.
2385 (gloog): Call scop_adjust_phis_for_liveouts.
2386
2387 * graphite.h (struct sese): Documented. Added fields liveout,
2388 num_ver and livein.
2389 (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
2390 (new_sese, free_sese, sese_build_livein_liveouts): Declared.
2391 (struct scop): Added field liveout_renames.
2392 (SCOP_LIVEOUT_RENAMES): New.
2393
2394 2009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
2395
2396 PR tree-optimization/38510
2397 * graphite.c (recompute_all_dominators): Call mark_irreducible_loops.
2398 (translate_clast): Call recompute_all_dominators before
2399 graphite_verify.
2400 (gloog): Call recompute_all_dominators before graphite_verify.
2401
2402 2009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
2403 Jan Sjodin <jan.sjodin@amd.com>
2404
2405 PR tree-optimization/38500
2406 * graphite.c (create_sese_edges): Call fix_loop_structure after
2407 splitting blocks.
2408
2409 2009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
2410
2411 * config.gcc: Add m32r*-*-rtems*.
2412 * config/m32r/rtems.h: New file.
2413
2414 2009-01-05 Ben Elliston <bje@au.ibm.com>
2415
2416 * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
2417 (.po.pox): Likewise.
2418 (po/gcc.pot): Likewise.
2419
2420 2009-01-04 David S. Miller <davem@davemloft.net>
2421
2422 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
2423 (STARTING_FRAME_OFFSET): Always set to zero.
2424
2425 2009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
2426
2427 * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
2428 * tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
2429 fixed-point types, and vectors of the same.
2430
2431 2009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
2432
2433 * config/mips/sync.md (*mb_barrier): Rename to...
2434 (*memory_barrier): ...this.
2435
2436 2009-01-04 Jonathan Wakely <jwakely.gcc@gmail.com>
2437
2438 * doc/extend.texi (Function Attributes): Move @cindex after @item
2439 for 'artificial' and 'flatten'. Fix grammar for 'externally_visible'
2440 and put in alphabetical order. Fix 'target' name and put in order.
2441 * doc/invoke.texi (-Wstrict-null-sentinel, -fipa-matrix-reorg): Fix
2442 typos.
2443
2444 2009-01-04 Uros Bizjak <ubizjak@gmail.com>
2445
2446 * config/s390/s390.md (UNSPEC_MB): Rename from UNSPECV_MB.
2447 (memory_barrier): Expand as unspec instead of unspec_volatile.
2448 Remove mem:BLK from insn operands. Use Pmode scratch register.
2449 (*memory_barrier): Define as unspec instead of unspec_volatile.
2450 Use (match_dup 0) as input operand.
2451
2452 * config/sparc/sparc.md (UNSPEC_MEMBAR): Rename from UNSPECV_MEMBAR.
2453 * config/sparc/sync.md (memory_barrier): Expand as unspec instead of
2454 unspec_volatile. Remove mem:BLK from insn operands. Use Pmode
2455 scratch register. Remove operand 1.
2456 (*stbar): Define as unspec instead of unspec_volatile.
2457 Use (match_dup 0) as input operand, remove (const_int 8).
2458 (*membar): Define as unspec instead of unspec_volatile.
2459 Use (match_dup 0) as input operand, remove input operand 2.
2460
2461 * config/xtensa/xtensa.md (UNSPEC_MEMW): Rename from UNSPECV_MEMW.
2462 (memory_barrier): Expand as unspec instead of unspec_volatile.
2463 Remove mem:BLK from insn operands. Use Pmode scratch register.
2464 (*memory_barrier): Define as unspec instead of unspec_volatile.
2465 Use (match_dup 0) as input operand.
2466
2467 * config/ia64/sync.md (memory_barrier): Redefine as expander pattern.
2468 Remove mem:BLK from insn operands. Use Pmode scratch register.
2469 Set volatile flag on operand 0.
2470 (*memory_barrier): New insn pattern.
2471
2472 * config/rs6000/sync.md (memory_barrier): Remove mem:BLK from
2473 insn operands.
2474 (*memory_barrier): Use (match_dup 0) as input operand.
2475
2476 * config/mips/sync.md (memory_barrier): Redefine as expander pattern.
2477 Remove mem:BLK from insn operands. Use Pmode scratch register.
2478 Set volatile flag on operand 0.
2479 (*mb_internal): New insn pattern.
2480
2481 * config/alpha/sync.md (*memory_barrier): Rename from *mb_internal.
2482
2483 2009-01-04 Steven Bosscher <steven@gcc.gnu.org>
2484
2485 PR middle-end/38586
2486 * function.c (struct temp_slot): Move to the section of the file
2487 that deals with temp slots. Remove field 'address'.
2488 (temp_slot_address_table): New hash table of address -> temp slot.
2489 (struct temp_slot_address_entry): New struct, items for the table.
2490 (temp_slot_address_compute_hash, temp_slot_address_hash,
2491 temp_slot_address_eq, insert_temp_slot_address): Support functions
2492 for the new table.
2493 (find_temp_slot_from_address): Rewrite to use the new hash table.
2494 (remove_unused_temp_slot_addresses): Remove addresses of temp
2495 slots that have been made available.
2496 (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
2497 worker function for remove_unused_temp_slot_addresses.
2498 (assign_stack_temp_for_type): Don't clear the temp slot address list.
2499 Add the temp slot address to the address -> temp slot map.
2500 (update_temp_slot_address): Update via insert_temp_slot_address.
2501 (free_temp_slots): Call remove_unused_temp_slot_addresses.
2502 (pop_temp_slots): Likewise.
2503 (init_temp_slots): Allocate the address -> temp slot map, or empty
2504 the map if it is already allocated.
2505 (prepare_function_start): Initialize temp slot processing.
2506
2507 2009-01-04 Steven Bosscher <steven@gcc.gnu.org>
2508
2509 PR middle-end/38584
2510 * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
2511 Calculate the size of all stack vars assuming no packing of stack
2512 vars will happen, replacing a quadratic algorithm with a linear one.
2513
2514 2009-01-03 Jakub Jelinek <jakub@redhat.com>
2515
2516 PR target/38707
2517 * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
2518 can't be used.
2519
2520 2009-01-03 Diego Novillo <dnovillo@google.com>
2521
2522 * doc/contrib.texi: Update contributions.
2523
2524 2009-01-03 Jakub Jelinek <jakub@redhat.com>
2525
2526 PR c++/38705
2527 * builtins.c (fold_builtin_memory_op): Give up if either operand
2528 is volatile. Set srctype or desttype to non-qualified version
2529 of the other type.
2530
2531 PR c/38700
2532 * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
2533 and FUNCTION_DECLs.
2534
2535 2009-01-02 Kenneth Zadeck <zadeck@naturalbridge.com>
2536
2537 PR rtl-optimization/35805
2538 * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
2539 problem if fast dce is able to remove any instructions.
2540 * dce.c (dce_process_block): Fix dump message.
2541
2542 2009-01-02 Mark Mitchell <mark@codesourcery.com>
2543
2544 PR 33649
2545 * tree-ssa-pre.c (compute_antic): Correct loop bounds.
2546
2547 2009-01-02 Jakub Jelinek <jakub@redhat.com>
2548
2549 PR middle-end/38690
2550 * tree-flow.h (op_code_prio, op_prio): New prototypes.
2551 * tree-pretty-print.c (op_code_prio): New function.
2552 (op_prio): No longer static. Use op_code_prio.
2553 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
2554 Use op_prio and op_code_prio to determine if () should be
2555 printed around operand(s) or not.
2556
2557 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
2558 dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
2559 dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
2560 dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
2561 pp_character instead of pp_string for single letter printing.
2562
2563 2009-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2564
2565 * doc/extend.texi: Fix '#pragma GCC option' typo.
2566
2567 2009-01-02 Richard Guenther <rguenther@suse.de>
2568
2569 * doc/install.texi (--enable-checking): Mention different
2570 default for stage1.
2571 (--enable-stage1-checking): Document.
2572
2573 2009-01-01 Andrew Pinski <pinskia@gmail.com>
2574
2575 PR middle-end/30142
2576 * tree-cfg.c (verify_expr): Add INDIRECT_REF case. Change MODIFY_EXPR
2577 case to be an error.
2578
2579 2009-01-02 Ben Elliston <bje@au.ibm.com>
2580
2581 * config/fp-bit.h (pack_d): Constify argument.
2582 * config/fp-bit.c (makenan): Constify return type. Remove casts.
2583 (isnan): Constify argument.
2584 (isinf): Likewise.
2585 (iszero): Likewise.
2586 (pack_d): Likewise.
2587 (_fpadd_parts): Constify return type.
2588 (_fpmul_parts): Likewise.
2589 (_fpdiv_parts): Likewise.
2590
2591 2009-01-01 Jakub Jelinek <jakub@redhat.com>
2592
2593 PR c/36489
2594 * c-typeck.c (add_pending_init): Add IMPLICIT argument. Only
2595 warn about overwriting initializer with side-effects or
2596 -Woverride-init if !IMPLICIT.
2597 (output_init_element): Likewise. Pass IMPLICIT down to
2598 add_pending_init.
2599 (process_init_element): Add IMPLICIT argument. Pass it down
2600 to output_init_element.
2601 (push_init_element, pop_init_level, set_designator): Adjust
2602 process_init_element callers.
2603 (set_nonincremental_init, set_nonincremental_init_from_string):
2604 Adjust add_pending_init callers.
2605 (output_pending_init_elements): Adjust output_init_element callers.
2606 * c-tree.h (process_init_element): Adjust prototype.
2607 * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
2608 process_init_element callers.