1 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
3 * config/i386/i386-c.c: Do not include rtl.h.
4 * config/i386/t-i386: Update dependencies.
6 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
8 * attribs.c: Do not include rtl.h.
9 * Makefile.in: Update dependencies.
11 2010-05-25 Anatoly Sokolov <aesok@post.ru>
13 * double-int.h (double_int_and): New.
14 * combine.c (try_combine): Clean up, use double_int_* and
15 immed_double_int_const functions.
17 2010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
20 stderr to /dev/null instead of grep -q.
21 * configure: Regenerate.
23 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
25 * Makefile.in (EXCEPT_H): Fix typo.
27 2010-05-25 Vladimir Makarov <vmakarov@redhat.com>
29 * ira-build.c (update_conflict_hard_reg_costs): New.
30 (ira_build): Call update_conflict_hard_reg_costs.
32 2010-05-25 Jakub Jelinek <jakub@redhat.com>
35 * var-tracking.c (find_loc_in_1pdv): Guard asserts with
37 (intersect_loc_chains): Walk the s2var's loc_chain together
38 with s1node chain as long as the locations are equal, don't
39 call find_loc_in_1pdv in that case.
42 * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
43 (copy_bind_expr): ... instead of here.
44 (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
45 if the block hasn't been remapped.
46 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
47 emitting concrete instance of abstract VLA, add DW_AT_type attribute.
49 2010-05-25 Richard Guenther <rguenther@suse.de>
52 * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
53 out-of-bounds array accesses.
55 2010-05-25 Richard Guenther <rguenther@suse.de>
57 * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
58 (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
59 (run_gcc): Re-organize to make cleanup easier.
61 2010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
63 * config/s390/s390.c (optimization_options): Fix and move the
64 flag_prefetch_loop_arrays override ...
65 (override_options): ... here.
67 2010-05-25 Joseph Myers <joseph@codesourcery.com>
69 * diagnostic.c: Don't include plugin.h.
70 (diagnostic_report_diagnostic): Don't handle plugins specially
71 here. Pass context to internal_error callback.
72 * diagnostic.h (struct diagnostic_context): Add context parameter
73 to internal_error callback.
74 * plugin.c (warn_if_plugins, plugins_internal_error_function):
76 * plugin.h (struct diagnostic_context): Declare.
77 (warn_if_plugins, plugins_internal_error_function): Declare.
78 * toplev.c (general_init): Set global_dc->internal_error.
79 * Makefile.in (diagnostic.o): Update dependencies.
81 2010-05-25 Iain Sandoe <iains@gcc.gnu.org>
83 * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
84 * config/rs6000/t-darwin64: New.
85 * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
88 2010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
91 * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
92 match the original (and intended) behaviour before r159557. This
93 changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
96 2010-05-25 Richard Guenther <rguenther@suse.de>
98 * doc/invoke.texi: Document -Ofast.
99 * target.h (struct gcc_target): Add handle_ofast.
100 * target-def.h (TARGET_HANDLE_OFAST): Add.
101 (TARGET_INITIALIZER): Adjust.
102 * opts.c (decode_options): Handle -Ofast. Enable
104 * common.opt (Ofast): Add.
106 2010-05-25 Paolo Bonzini <bonzini@gnu.org>
108 * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
109 * doc/md.texi (cstoreXX4): Update for cond-optab changes.
111 2010-05-25 Paolo Bonzini <bonzini@gnu.org>
114 * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
115 even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
116 false_rtx. Use false_rtx to compute the correct *ptest for reversed
117 comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
119 2010-05-25 Jakub Jelinek <jakub@redhat.com>
121 * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
122 DW_OP_minus with negated offset instead of DW_OP_plus.
123 (loc_list_from_tree): Don't test whether second operand is
126 2010-05-25 Wei Guozhi <carrot@google.com>
128 * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
129 tst instruction and a new alternative.
130 * config/arm/constraints.md (Pu): New constraint.
132 2010-05-24 Sebastian Pop <sebastian.pop@amd.com>
134 * function.c (assign_stack_local_1): Initialize variable
135 to avoid warning when bootstrapping at -O3.
137 2010-05-24 Steven Bosscher <steven@gcc.gnu.org>
139 * configure.ac (all_lang_makefiles): Remove everything related to it.
140 * configure: Regenerate.
141 * Makefile.in: Fix reference to ada Make-lang.in.
142 Remove support for LANG_MAKEFILES.
144 2010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
145 Sandra Loosemore <sandra@codesourcery.com>
147 * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
148 * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
149 description. Add arm_neon_fp16_ok.
150 (Add Options): Add arm_neon and arm_neon_fp16.
152 2010-05-24 Joseph Myers <joseph@codesourcery.com>
154 * diagnostic.c: Don't include flags.h.
155 (pedantic_warning_kind, permissive_error_kind): Take diagnostic
156 context parameters. Check flags in the context passed as a
158 (diagnostic_build_prefix): Add context parameter. Check
159 show_column flag in context.
160 (diagnostic_action_after_output): Check fatal_errors flag in
162 (diagnostic_report_current_module): Check show_column flag in
164 (default_diagnostic_starter): Update call to
165 diagnostic_build_prefix.
166 (diagnostic_report_diagnostic): Pass context to
167 pedantic_warning_kind.
168 (emit_diagnostic): Pass context to permissive_error_kind.
169 (permerror): Pass context to permissive_error_kind.
170 * diagnostic.h (struct diagnostic_context): Add show_column,
171 pedantic_errors, permissive and fatal_errors fields.
172 (diagnostic_build_prefix): Update prototype.
174 * toplev.c (process_options): Set flags in global_dc from
175 flag_show_column, flag_pedantic_errors, flag_permissive,
177 * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
178 to diagnostic_build_prefix.
179 * Makefile.in (diagnostic.o): Update dependencies.
181 2010-05-24 H.J. Lu <hongjiu.lu@intel.com>
183 * config/i386/ia32intrin.h (__crc32q): Define only if
184 __SSE4_2__ is defined.
186 2010-05-24 Iain Sandoe <iains@gcc.gnu.org>
190 * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
191 DECL_VISIBILITY_SPECIFIED.
192 (emutls_decl): Set DECL_PRESERVE_P and copy
193 DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
194 (emutls_finalize_control_var): New callback.
195 (emutls_finish): Finalize emutls control variables.
196 * toplev.c (compile_file): Move the call to emutls_finish ()
197 before varpool_assemble_pending_decls ().
199 2010-05-24 Daniel Gutson <dgutson@codesourcery.com>
201 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
202 added to the preprocessor condition.
204 2010-05-24 Paul Brook <paul@codesourcery.com>
206 * gengtype-lex.l: Add HARD_REG_SET.
207 * expr.c (expand_expr_real_1): Record writes to hard registers.
208 * function.c (rtl_data): Add asm_clobbers.
209 * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
210 (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
211 Use crtl->asm_clobbers.
213 2010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
215 * doc/makefile.texi (Makefile): Mention stages 'profile'
216 and 'feedback' for profiledbootstrap.
218 2010-05-23 H.J. Lu <hongjiu.lu@intel.com>
221 * config/i386/i386.c (def_builtin): Properly check
222 OPTION_MASK_ISA_64BIT.
224 2010-05-23 Joseph Myers <joseph@codesourcery.com>
226 * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
227 typedefs with different but compatible types. Allow duplicate
228 typedefs with the same type except for pedantic non-C1X, but give
229 warning for variably modified types.
230 * c-typeck.c (tagged_types_tu_compatible_p,
231 function_types_compatible_p, type_lists_compatible_p,
232 comptypes_internal): Add parameter different_types_p; set
233 *different_types_p for different but compatible types. All
235 (comptypes_check_different_types): New.
236 * c-tree.h (comptypes_check_different_types): Declare.
238 2010-05-23 Steven Bosscher <steven@gcc.gnu.org>
240 * regs.h: Do not include obstack.h, basic-block.h.
242 * jump.c: Include basic-block.h.
243 * profile.c: Likewise.
244 * tree-profile.c: Likewise.
245 * coverage.c: Likewise.
246 * basic-block.h (optimize_function_for_size_p): Move to function.h.
247 (optimize_function_for_speed_p): Likewise.
248 * function.h (optimize_function_for_size_p,
249 optimize_function_for_speed_p): Moved here from basic-block.h.
250 * Makefile.in: Update dependencies.
252 2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
254 * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
255 before calling make; allow override through $MAKE.
256 * doc/invoke.texi (Optimize Options): Document override.
258 2010-05-23 Anatoly Sokolov <aesok@post.ru>
260 * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
261 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
262 (rs6000_mode_dependent_address_ptr): Make static.
263 * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
264 * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
267 2010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
270 * config/i386/i386.c: Make sure that the correct regparm is passed.
272 2010-05-23 Steven Bosscher <steven@gcc.gnu.org>
274 * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
275 * sbitmap.c: ...to here to internalize sbitmap element access.
276 Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
277 Explain why basic-block.h is included.
278 * function.h: Include tm.h for CUMULATIVE_ARGS.
279 * Makefile.in: Update dependencies.
281 2010-05-22 Steven Bosscher <steven@gcc.gnu.org>
283 * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
285 * sbitmap.h (struct sbitmap_def): Do not typedef here.
286 * sbitmap.c: Include sbitmap.h.
287 * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
288 hard-reg-set.h. Split everything related to regsets out from here...
289 * regset.h: ...to here. New file.
290 * df.h: Include regset.h and sbitmap.h.
291 * tree-flow.h: Likewise.
292 * cfgloop.h: Likewise.
293 * except.h: Do not include sbitmap.h. Include hashtab.h.
294 * cgraph.h: Include vec.h and function.h.
295 * reload.h (struct insn_chain): Change types of live_throughout
296 and dead_or_set from regset_head to bitmap_head.
297 (compute_use_by_pseudos): Be defined also if regset.h is not included.
298 * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
299 spilled_regs from regset_head to bitmap_head to avoid dependency
301 * sel-sched-ir.h: Include regset.h.
302 * reload.c: Include df.h before reload.h.
303 * caller-save.c: Likewise.
304 * reload1.c: Likewise.
306 (mark_elimination): Update type of r to bitmap, consistent with
308 * dominance.c: Include bitmap.h.
309 * modulo-sched.c: Include df.h.
310 * cfganal.c: Include bitmap.h and sbitmap.h.
311 * cfgbuild.c: Include sbitmap.h.
312 * lcm.c: Include sbitmap.h.
313 * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
314 * domwalk.c: Include sbitmap.h, exclude ggc.h.
315 * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
316 * cselib.c: Include bitmap.h.
317 * tree-optimize.c: Include regset.h.
318 * stmt.c: Include bitmap.h.
319 * Makefile.in: Update dependencies.
321 2010-05-22 Jan Hubicka <jh@suse.cz>
323 * cgraph.h (struct varpool_node): Add same_comdat_group.
324 * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
326 (output_varpool): Update call of lto_output_varpool_node.
327 (input_varpool): Read same_comdat_group pointer.
328 (input_varpool_1): Fixup same_comdat_group pointer.
329 * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
330 group is needed, all are.
331 * varpool.c (varpool_remove_node): Remove node from same comdat group
333 (varpool_analyze_pending_decls): Walk same comdat groups.
335 2010-05-22 Steven Bosscher <steven@gcc.gnu.org>
337 * rtl.h (union rtunion_def): Remove rt_bit member.
338 (XBITMAP, X0BITMAP, XCBITMAP): Remove.
339 * print-rtl (print_rtx): Do not print the member.
340 * gengtype.c (adjust_field_rtx_def): Do not handle it.
341 * gengenrtl.c (type_from_format): Likewise.
342 (accessor_from_format): Likewise.
344 2010-05-22 Joseph Myers <joseph@codesourcery.com>
346 * dbgcnt.c: Include toplev.h instead of errors.h.
347 * ira-emit.c: Don't include errors.h.
348 * ira.c: Include toplev.h instead of errors.h.
349 * lto-compress.c: Include toplev.h instead of errors.h.
350 * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
351 ira.o, dbgcnt.o): Update dependencies.
353 2010-05-22 Richard Guenther <rguenther@suse.de>
355 * gimple.c (gimple_types_compatible_p): Check type qualifications
356 before merging pointer to complete and pointer to incomplete type.
357 * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
358 we use our own resolution algorithm. The gold linker plugin
359 doesn't do the job we want it to do here.
361 2010-05-22 Anatoly Sokolov <aesok@post.ru>
363 * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
364 * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
365 (sparc_mode_dependent_address_p): New function.
367 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
369 * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
371 * timevar.c: Do not include any core headers.
372 (timevar_print): De-i18n-ize.
373 (print_time): Likewise.
374 * timevar.h (timevar_push, timevar_pop): Make inline functions.
376 2010-05-21 Joseph Myers <joseph@codesourcery.com>
378 * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
380 (diagnostic_initialize): Initialize x_data not last_function.
381 (diagnostic_report_current_function): Move to tree-diagnostic.c.
382 (default_diagnostic_starter): Call
383 diagnostic_report_current_module not
384 diagnostic_report_current_function.
385 (diagnostic_report_diagnostic): Initialize x_data not
387 (verbatim): Likewise.
388 * diagnostic.h (struct diagnostic_info): Change abstract_origin to
390 (struct diagnostic_context): Change last_function to x_data.
391 (diagnostic_auxiliary_data): Replace with
392 diagnostic_context_auxiliary_data and
393 diagnostic_info_auxiliary_data.
394 (diagnostic_last_function_changed, diagnostic_set_last_function,
395 diagnostic_report_current_function): Move to tree-diagnostic.h.
396 (print_declaration, dump_generic_node, print_generic_stmt,
397 print_generic_stmt_indented, print_generic_expr,
398 print_generic_decl, debug_c_tree, dump_omp_clauses,
399 print_call_name, debug_generic_expr, debug_generic_stmt,
400 debug_tree_chain, default_tree_printer): Move to
402 (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
403 print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
404 gimple-pretty-print.h.
405 * pretty-print.c: Don't include tree.h
406 (pp_base_format): Don't handle %K here.
407 (pp_base_tree_identifier): Move to tree-pretty-print.c.
408 * pretty-print.h (text_info): Change abstract_origin to x_data.
409 (pp_tree_identifier, pp_unsupported_tree,
410 pp_base_tree_identifier): Move to tree-pretty-print.h.
411 * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
412 tree-pretty-print.h: New files.
413 * tree-pretty-print.c: Include tree-pretty-print.h.
414 (percent_K_format): New. Moved from pretty-print.c.
415 (pp_base_tree_identifier): Move from pretty-print.c.
416 * c-objc-common.c: Include tree-pretty-print.h.
417 (c_tree_printer): Handle %K here.
418 * langhooks.c: Include tree-diagnostic.h.
419 (lhd_print_error_function): Use diagnostic_abstract_origin macro.
420 * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
421 (default_tree_printer): Handle %K using percent_K_format.
422 (general_init): Use default_tree_diagnostic_starter.
423 * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
424 (free_lang_data): Use default_tree_diagnostic_starter.
425 * c-pretty-print.c: Include tree-pretty-print.h.
426 * cfgexpand.c: Include tree-pretty-print.h and
427 gimple-pretty-print.h.
428 * cgraphunit.c: Include tree-pretty-print.h and
429 gimple-pretty-print.h.
430 * dwarf2out.c: Include tree-pretty-print.h.
431 * except.c: Include tree-pretty-print.h.
432 * gimple-pretty-print.c: Include tree-pretty-print.h and
433 gimple-pretty-print.h.
434 * gimplify.c: Include tree-pretty-print.h.
435 * graphite-poly.c: Include tree-pretty-print.h and
436 gimple-pretty-print.h.
437 * ipa-cp.c: Include tree-pretty-print.h.
438 * ipa-inline.c: Include gimple-pretty-print.h.
439 * ipa-prop.c: Include tree-pretty-print.h and
440 gimple-pretty-print.h.
441 * ipa-pure-const.c: Include gimple-pretty-print.h.
442 * ipa-struct-reorg.c: Include tree-pretty-print.h and
443 gimple-pretty-print.h.
444 * ipa-type-escape.c: Include tree-pretty-print.h.
445 * print-rtl.c: Include tree-pretty-print.h.
446 * print-tree.c: Include gimple-pretty-print.h.
447 * sese.c: Include tree-pretty-print.h.
448 * tree-affine.c: Include tree-pretty-print.h.
449 * tree-browser.c: Include tree-pretty-print.h.
450 * tree-call-cdce.c: Include gimple-pretty-print.h.
451 * tree-cfg.c: Include tree-pretty-print.h and
452 gimple-pretty-print.h.
453 * tree-chrec.c: Include tree-pretty-print.h.
454 * tree-data-ref.c: Include tree-pretty-print.h and
455 gimple-pretty-print.h.
456 * tree-dfa.c: Include tree-pretty-print.h.
457 * tree-if-conv.c: Include tree-pretty-print.h and
458 gimple-pretty-print.h.
459 * tree-inline.c: Include tree-pretty-print.h.
460 * tree-into-ssa.c: Include tree-pretty-print.h and
461 gimple-pretty-print.h.
462 * tree-nrv.c: Include tree-pretty-print.h.
463 * tree-object-size.c: Include tree-pretty-print.h and
464 gimple-pretty-print.h.
465 * tree-outof-ssa.c: Include tree-pretty-print.h and
466 gimple-pretty-print.h.
467 * tree-parloops.c: Include tree-pretty-print.h and
468 gimple-pretty-print.h.
469 * tree-predcom.c: Include tree-pretty-print.h and
470 gimple-pretty-print.h.
471 * tree-scalar-evolution.c: Include tree-pretty-print.h and
472 gimple-pretty-print.h.
473 * tree-sra.c: Include tree-pretty-print.h.
474 * tree-ssa-address.c: Include tree-pretty-print.h.
475 * tree-ssa-alias.c: Include tree-pretty-print.h.
476 * tree-ssa-ccp.c: Include tree-pretty-print.h and
477 gimple-pretty-print.h.
478 * tree-ssa-coalesce.c: Include tree-pretty-print.h.
479 * tree-ssa-copy.c: Include tree-pretty-print.h and
480 gimple-pretty-print.h.
481 * tree-ssa-copyrename.c: Include tree-pretty-print.h.
482 * tree-ssa-dce.c: Include tree-pretty-print.h and
483 gimple-pretty-print.h.
484 * tree-ssa-dom.c: Include tree-pretty-print.h and
485 gimple-pretty-print.h.
486 * tree-ssa-dse.c: Include gimple-pretty-print.h.
487 * tree-ssa-forwprop.c: Include tree-pretty-print.h.
488 * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
489 * tree-ssa-live.c: Include tree-pretty-print.h and
490 gimple-pretty-print.h.
491 * tree-ssa-loop-im.c: Include tree-pretty-print.h and
492 gimple-pretty-print.h.
493 * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
494 gimple-pretty-print.h.
495 * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
496 gimple-pretty-print.h.
497 * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
498 gimple-pretty-print.h.
499 * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
500 * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
501 * tree-ssa-operands.c: Include tree-pretty-print.h and
502 gimple-pretty-print.h.
503 * tree-ssa-phiprop.c: Include tree-pretty-print.h and
504 gimple-pretty-print.h.
505 * tree-ssa-pre.c: Include tree-pretty-print.h and
506 gimple-pretty-print.h.
507 * tree-ssa-propagate.c: Include gimple-pretty-print.h.
508 * tree-ssa-reassoc.c: Include tree-pretty-print.h and
509 gimple-pretty-print.h.
510 * tree-ssa-sccvn.c: Include tree-pretty-print.h and
511 gimple-pretty-print.h.
512 * tree-ssa-sink.c: Include gimple-pretty-print.h.
513 * tree-ssa-ter.c: Include tree-pretty-print.h and
514 gimple-pretty-print.h.
515 * tree-ssa-uninit.c: Include gimple-pretty-print.h.
516 * tree-ssa.c: Include tree-pretty-print.h and
517 gimple-pretty-print.h.
518 * tree-stdarg.c: Include gimple-pretty-print.h.
519 * tree-switch-conversion.c: Include gimple-pretty-print.h.
520 * tree-tailcall.c: Include tree-pretty-print.h and
521 gimple-pretty-print.h.
522 * tree-vect-data-refs.c: Include tree-pretty-print.h and
523 gimple-pretty-print.h.
524 * tree-vect-loop-manip.c: Include tree-pretty-print.h and
525 gimple-pretty-print.h.
526 * tree-vect-loop.c: Include tree-pretty-print.h and
527 gimple-pretty-print.h.
528 * tree-vect-patterns.c: Include gimple-pretty-print.h.
529 * tree-vect-slp.c: Include tree-pretty-print.h and
530 gimple-pretty-print.h.
531 * tree-vect-stmts.c: Include tree-pretty-print.h and
532 gimple-pretty-print.h.
533 * tree-vectorizer.c: Include tree-pretty-print.h.
534 * tree-vrp.c: Include tree-pretty-print.h and
535 gimple-pretty-print.h.
536 * value-prof.c: Include tree-pretty-print.h and
537 gimple-pretty-print.h.
538 * var-tracking.c: Include tree-pretty-print.h.
539 * Makefile.in (OBJS-common): Add tree-diagnostic.o.
540 (tree-diagnostic.o): New dependencies.
541 (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
542 tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
543 tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
544 tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
545 tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
546 tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
547 tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
548 tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
549 tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
550 tree-ssa-address.o, tree-ssa-loop-niter.o,
551 tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
552 tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
553 tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
554 gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
555 tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
556 tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
557 tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
558 tree-parloops.o, tree-stdarg.o, tree-object-size.o,
559 gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
560 toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
561 ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
562 ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
563 tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
564 tree-switch-conversion.o, var-tracking.o, value-prof.o,
565 cfgexpand.o, pretty-print.o): Update dependencies.
567 2010-05-22 Andreas Tobler <andreast@fgznet.ch>
569 * tree-ssa-structalias.c: Remove tm_p.h from include.
571 2010-05-21 Jeff Law <law@redhat.com>
573 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
575 2010-05-21 Jason Merrill <jason@redhat.com>
577 * tree-eh.c (cleanup_is_dead_in): New.
578 (lower_try_finally): Don't generate a dead cleanup region.
579 (lower_cleanup): Likewise.
581 2010-05-21 Jakub Jelinek <jakub@redhat.com>
584 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
585 unchain each use from the cyclic next_regno_use chain first.
587 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
589 * real: Do not include gmp.h, mpfr.h, and mpc.h.
590 (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
591 (real_value_negate, real_value_abs): New prototypes.
592 (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
593 * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
594 new include file for interface between MPFR and REAL_VALUE_TYPE.
595 * real.c: Include realmpfr.h.
596 (real_arithmetic2): Remove legacy function.
597 (real_value_negate): New.
598 (real_value_abs): New.
599 (mfpr_from_real, real_from_mpfr): Move from here...
600 * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
601 * builtins.c: Include realmpfr.h.
602 * fold-const.c: Include realmpfr.h.
603 (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
604 (fold_negate_const): Likewise.
605 (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
606 * toplev.c: Include realmpfr.h.
607 * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
608 and real_value_negate.
609 * fixed-value.c (check_real_for_fixed_mode): Likewise.
610 * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
611 (vfp3_const_double_index): Likewise.
612 (arm_print_operand): Likewise.
613 * Makefile.in: Update dependencies.
615 2010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
617 * config/s390/s390.c (override_options): Increase the default
618 of max-completely-peel-times.
620 2010-05-21 Julian Brown <julian@codesourcery.com>
621 Mark Mitchell <mark@codesourcery.com>
623 * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
624 sibling calls for Thumb-1.
625 * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
626 * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
628 (*call_insn, *call_value_insn): Don't use for Thumb-2.
629 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
631 (return): New expander.
632 (*arm_return): New name for ARM return insn.
633 * config/arm/thumb2.md (*thumb2_return): New insn pattern.
635 2010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
637 * config.gcc (sparc64-*-rtems*): New target.
639 2010-05-21 Nathan Froyd <froydnj@codesourcery.com>
641 * tree.c (build_function_decl_skip_args): Fix grammar.
642 (build_function_type_list_1): Fix typos, adjust formatting.
644 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
646 * tree.h: Include real.h and fixed-value.h as basic datatypes.
647 * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
648 tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
649 tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
650 tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
651 genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
652 tree-pretty-print.c, tree-loop-distribution.c,
653 tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
654 tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
655 tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
656 tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
657 tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
658 tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
659 tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
660 tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
661 tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
662 tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
663 genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
664 tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
665 gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
666 tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
667 tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
668 store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
669 tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
670 tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
671 tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
672 tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
673 fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
674 tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
675 config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
676 config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
677 config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
678 config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
679 config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
680 config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
681 config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
682 config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
683 config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
684 config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
685 config/score/score7.c, config/score/score.c, config/arm/arm.c,
686 config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
687 config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
689 Clean up redundant includes.
690 * Makefile.in: Update accordingly.
692 2010-05-21 Nathan Froyd <froydnj@codesourcery.com>
695 * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
696 statement has no arguments.
698 2010-05-21 Kai Tietz <kai.tietz@onevision.com>
701 * varasm.c (emutls_decl): Merge attributes to new decl.
703 2010-05-21 Eric Botcazou <ebotcazou@adacore.com>
706 * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
707 around the uniquized constructor if its type requires a conversion.
709 2010-05-21 Jakub Jelinek <jakub@redhat.com>
712 * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
713 at -O0 goto_locus of any of the incoming edges differs from
714 goto_locus of outgoing edge, or gimple_location of any of the
717 2009-09-14 Vladimir Makarov <vmakarov@redhat.com>
719 * ira.c (ira_non_ordered_class_hard_regs): Define.
720 (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
721 * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
722 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
723 cost of unaligned hard regs when allocating multi-reg pseudos.
725 2010-05-20 Richard Sandiford <rdsandiford@googlemail.com>
727 * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
728 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
730 * config/mips/mips.c (mips_file_start): Expand conditional expression
731 into "if" statements. Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
732 (mips_override_options): Move -mno-float override -msoft-float and
734 * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
735 Condition(TARGET_SUPPORTS_NO_FLOAT).
736 * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
737 __mips_no_float here.
738 (SUBTARGET_OVERRIDE_OPTIONS): Delete.
739 (TARGET_SUPPORTS_NO_FLOAT): Define.
740 * config/mips/sdemtk.opt: Delete.
742 2010-05-20 Segher Boessenkool <segher@kernel.crashing.org>
744 * ipa-prop.c (compute_complex_ancestor_jump_func): Bail
747 2010-05-20 Uros Bizjak <ubizjak@gmail.com>
750 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
751 * configure: Regenerate.
752 * config.in: Regenerate.
753 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
754 instead of sahf only for 64bit targets.
756 2010-05-20 Jakub Jelinek <jakub@redhat.com>
759 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
760 setup_ref_regs for DEBUG_INSNs.
762 2010-05-20 Jan Hubicka <jh@suse.cz>
765 * varpool.c (varpool_remove_node): Handle in-varpool aliases.
767 2010-05-20 Kenneth Zadeck <zadeck@naturalbridge.com>
770 * df-scan.c (df_ref_compare): Stabilize sort.
772 2010-05-20 Jakub Jelinek <jakub@redhat.com>
774 * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
775 argument. Don't use DW_OP_piece if offset is non-zero,
776 put offset into second DW_OP_bit_piece argument.
777 (dw_sra_loc_expr): Adjust callers. For memory expressions
780 2010-05-20 Hans-Peter Nilsson <hp@axis.com>
783 * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
784 settings for 16-bit-constant "addo" alternative.
786 2010-05-19 James E. Wilson <wilson@codesourcery.com>
788 * config/mips/mips-dsp.md (add<DSPV:mode>3,
789 mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
792 * mips.c (mips_call_expr_from_insn): New arg second_call. Set it.
793 (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
796 2010-05-19 Joseph Myers <joseph@codesourcery.com>
798 * diagnostic.c (FLOAT, FFS): Don't undefine.
799 * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
800 * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
803 2010-05-19 Richard Sandiford <rdsandiford@googlemail.com>
805 * combine.c (propagate_for_debug): Call make_compound_operation
807 (try_combine): When implementing a split chosen by find_split_point,
808 either copy i2src or set it to null. Assert that i2src is not null
809 before substituting into CALL_INSN_FUNCTION_USAGE.
811 2010-05-19 Anatoly Sokolov <aesok@post.ru>
813 * double-int.h (double_int_ior): New function.
814 * tree.h (build_int_cst_wide_type): Remove.
815 * tree.c (build_int_cst_wide_type): Remove.
816 * fold-const.c (native_interpret_int): Use double_int_to_tree instead
817 of build_int_cst_wide_type.
818 * stor-layout.c (set_sizetype): (Ditto.).
819 * dojump.c (do_jump): Use build_int_cstu instead of
820 build_int_cst_wide_type.
822 2010-05-19 Eric Botcazou <ebotcazou@adacore.com>
824 * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
825 * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
826 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
827 * gimplify.c: (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
828 TARGET_EXPR nodes, but only once, if instructed to do so. Do not
829 propagate the 'data' argument to copy_tree_r.
830 (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
831 Propagate 'data' argument to walk_tree.
832 (copy_if_shared): New function.
833 (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
834 (unmark_visited): New function.
835 (unshare_body): Call copy_if_shared instead of doing it manually.
836 (unvisit_body): Call unmark_visited instead of doing it manually.
838 2010-05-19 Nathan Froyd <froydnj@codesourcery.com>
840 * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
841 (hook_tree_tree_int_treep_bool_null): ...this. Update signature.
843 * target-def.h (TARGET_FOLD_BUILTIN): Define to
844 hook_tree_tree_int_treep_bool_null.
845 * target.h: (struct gcc_target): Update signature of fold_builtin
847 * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
848 * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
849 instead of the call expression.
850 (fold_builtin_call_array): Pass n and argarray directly.
851 (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
853 * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift
854 MAX_ARGS check out of the loop. Delete declaration of `arity', declare
855 `i' and use it in place of `arity'.
856 * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
857 Dereference `args' directly.
858 * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
860 2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
862 * doc/sourcebuild.texi (Effective-Target Keywords): Document
864 (Directives): Document optional dg-require-effective-target
867 2010-05-19 Richard Guenther <rguenther@suse.de>
870 * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
872 2010-05-19 Richard Guenther <rguenther@suse.de>
874 * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
875 * common.opt (fwhopr=): New.
876 * opts.c (common_handle_option): Handle OPT_fwhopr.
877 * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
878 * collect2.c (main): Match -fwhopr*.
879 * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
880 Execute ltrans stage in parallel when jobs is bigger than 1.
882 2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
884 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
885 pentiumpro on Solaris 8/x86 with Sun as.
886 * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
888 (gcc_cv_as_ix86_quad): Check for .quad directive.
889 * configure: Regenerate.
890 * config.in: Regenerate.
891 * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
893 2010-05-19 Martin Jambor <mjambor@suse.cz>
895 * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
896 also for indirect edges. Actual printing moved...
897 (ipa_print_node_jump_functions_for_edge): ...here.
898 (ipa_compute_jump_functions): Renamed to
899 ipa_compute_jump_functions_for_edge and made static.
900 (ipa_compute_jump_functions): New function.
901 (make_edge_direct_to_target): Check if the number of arguments on
902 the newly direct edge is the same as the number of parametrs of
904 * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
905 ipa_compute_jump_functions. Call ipa_analyze_params_uses.
906 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
907 analysis functions unconditionally, call the new
908 ipa_analyze_params_uses on the node instead of every edge.
910 2010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
912 * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
914 (dump_mem_ref): Adopt debug code to handle a tree as step. This
915 also checks for a constant int vs. non-constant but
916 loop-invariant steps.
917 (find_or_create_group): Change the sort algorithm to only consider
918 steps that are constant ints.
919 (idx_analyze_ref): Adopt code to handle a tree instead of a
920 HOST_WIDE_INT for step.
921 (gather_memory_references_ref): Handle tree instead of int and be
922 prepared to see a NULL_TREE.
923 (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
924 prefetches if the step cannot be calculated at compile time.
925 (issue_prefetch_ref): Issue prefetches for non-constant but
926 loop-invariant steps.
928 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
931 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
933 * tree.h (build_call_list): Remove.
934 * tree.c (build_call_list): Remove.
936 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
938 * tree.h (build_call_list): Remove.
939 * tree.c (build_call_list): Remove.
941 2010-05-18 Jan Hubicka <jh@suse.cz>
943 * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
945 2010-05-18 Vladimir Makarov <vmakarov@redhat.com>
947 PR rtl-optimization/43332
948 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
950 2010-05-18 Anatoly Sokolov <aesok@post.ru>
952 * tree.h (build_int_cstu): Implement as static inline.
953 * tree.c (build_int_cstu): Remove function.
954 (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
957 2010-05-18 Richard Guenther <rguenther@suse.de>
960 * lto-wrapper.c (verbose): New variable. Initialize from -v.
961 (debug): Initialize from -save-temps.
962 (collect_execute): Print command-line when verbose.
963 (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
964 for ltrans invocation. Produce -dumpbase flag again.
965 (process_args): Remove.
967 * collect2.c (maybe_run_lto_and_relink): Only pass object
968 files to lto-wrapper.
969 * gcc.c (LINK_COMMAND_SPEC): Likewise.
971 2010-05-18 Jan Hubicka <jh@suse.cz>
973 * opts.c (decode_options): Do not disable whopr at ipa_cp.
974 * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
976 2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
979 * lto-streamer-out.c (output_gimple_stmt): Output number of labels
981 * lto-streamer-in.c (input_gimple_stmt): Read number of labels
984 2010-05-18 Jakub Jelinek <jakub@redhat.com>
987 * var-tracking.c (find_loc_in_1pdv): Add a few checks from
990 2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
992 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
993 lto-macho as lto_binary_reader.
995 * darwin.c (darwin_asm_named_section): Do not add assembler comment
996 after .section directive; just print it before the directive instead.
998 2010-05-17 Jan Hubicka <jh@suse.cz>
1000 * cgraph.c (cgraph_create_virtual_clone): Only check
1001 versionable_function_p when not in wpa and checking is enabled.
1002 * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
1003 there are no more functions to materialize.
1005 2010-05-17 Jan Hubicka <jh@suse.cz>
1007 * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
1008 * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
1010 (output_cgraph): Call output_cgraph_opt_summary.
1011 (input_cgrpah): Call input_cgraph_opt_summary.
1012 (output_cgraph_opt_summary_p, output_node_opt_summary,
1013 input_node_opt_summary, input_cgraph_opt_section): New functions.
1014 * lto-section-in.c (lto_section_name): Add cgraphopt.
1015 * tree-inline.c (tree_function_versioning): Handle parm_num.
1016 * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
1017 * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
1019 2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
1021 * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
1022 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
1023 the insn to prefetch ratio heuristic to loops with known trip count.
1025 2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
1027 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
1028 (schedule_prefetches): Do not generate a prefetch if the unroll factor
1029 is far from what is required by the prefetch.
1031 2010-05-17 Jan Hubicka <jh@suse.cz>
1033 * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
1034 (ipcp_estimate_growth): Likewise.
1035 (ipcp_const_param_count): Likewise.
1036 (ipcp_insert_stage): Likewise.
1037 * ipa-prop.c (visit_load_for_mod_analysis): New function.
1038 (visit_store_addr_for_mod_analysis): Set used flag.
1039 (ipa_detect_param_modifications): Set used flag for SSE params;
1040 update use of walk_stmt_load_store_addr_ops.
1041 (ipa_print_node_params): Print used flag.
1042 (ipa_write_node_info): Stream used flag.
1043 (ipa_read_node_info): Likewise.
1044 * ipa-prop.h (struct ipa_param_descriptor): Add used field.
1045 (ipa_is_param_used): New function.
1046 (lto_ipa_fixup_call_notes): Remove unused declaration.
1048 2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1051 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
1052 * configure: Regenerate.
1053 * config.in: Regenerate.
1054 * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
1055 !HAVE_AS_IX86_REP_LOCK_PREFIX.
1056 Don't emit whitespace.
1057 * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
1058 (*rep_movsi): Likewise.
1059 (*rep_movsi_rex64): Likewise.
1060 (*rep_movqi): Likewise.
1061 (*rep_movqi_rex64): Likewise.
1062 (*rep_stosdi_rex64): Likewise.
1063 (*rep_stossi): Likewise.
1064 (*rep_stossi_rex64): Likewise.
1065 (*rep_stosqi): Likewise.
1066 (*rep_stosqi_rex64): Likewise.
1067 (*cmpstrnqi_nz_1): Use {%;} after repz.
1068 (*cmpstrnqi_nz_rex_1): Likewise.
1069 (*cmpstrnqi_1): Likewise.
1070 (*cmpstrnqi_rex_1): Likewise.
1071 (*strlenqi_1): Use {%;} after repnz.
1072 (*strlenqi_rex_1): Likewise.
1073 * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
1074 (*sync_compare_and_swap<mode>): Likewise.
1075 (sync_double_compare_and_swap<mode>): Likewise.
1076 (*sync_double_compare_and_swapdi_pic): Likewise.
1077 (sync_old_add<mode>): Likewise.
1078 (sync_add<mode>): Likewise.
1079 (sync_sub<mode>): Likewise.
1080 (sync_<code><mode>): Likewise.
1082 2010-05-17 Martin Jambor <mjambor@suse.cz>
1084 * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
1085 otr_token and polymorphic.
1086 * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
1087 (cgraph_clone_edge): Copy the above fields.
1088 * tree.c (get_binfo_at_offset): New function.
1089 * tree.h (get_binfo_at_offset): Declare.
1090 * ipa-prop.h (enum jump_func_type): Added known_type jump function
1091 type, reordered items, updated comments.
1092 (union jump_func_value): Added base_type field, reordered fields.
1093 (enum ipa_lattice_type): Moved down in the file.
1094 (struct ipa_param_descriptor): New field polymorphic.
1095 (ipa_is_param_polymorphic): New function.
1096 * ipa-prop.c: Include gimple.h and gimple-fold.h.
1097 (ipa_print_node_jump_functions): Print known type jump functions.
1098 (compute_complex_pass_through): Renamed to...
1099 (compute_complex_assign_jump_func): this.
1100 (compute_complex_ancestor_jump_func): New function.
1101 (compute_known_type_jump_func): Likewise.
1102 (compute_scalar_jump_functions): Create known type and complex ancestor
1104 (ipa_note_param_call): New parameter polymorphic, set the corresponding
1105 flag in the call note accordingly.
1106 (ipa_analyze_call_uses): Renamed to...
1107 (ipa_analyze_indirect_call_uses): this. New parameter target, define
1108 variable var only in the block where it is used.
1109 (ipa_analyze_virtual_call_uses): New function.
1110 (ipa_analyze_call_uses): Likewise.
1111 (combine_known_type_and_ancestor_jfs): Likewise.
1112 (update_jump_functions_after_inlining): Implemented handling of a
1113 number of new jump function types combination.
1114 (print_edge_addition_message): Removed.
1115 (make_edge_direct_to_target): New function.
1116 (try_make_edge_direct_simple_call): Likewise.
1117 (try_make_edge_direct_virtual_call): Likewise.
1118 (update_call_notes_after_inlining): Renamed to...
1119 (update_indirect_edges_after_inlining): this. Moved edge creation for
1120 indirect calls to try_make_edge_direct_simple_call, also calls
1121 try_make_edge_direct_virtual_call for virtual calls.
1122 (ipa_print_node_params): Changed the header message.
1123 (ipa_write_jump_function): Stream also known type jump functions.
1124 (ipa_read_jump_function): Likewise.
1125 (ipa_write_indirect_edge_info): Stream new fields in
1126 cgraph_indirect_call_info.
1127 (ipa_read_indirect_edge_info): Likewise.
1128 * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
1131 2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1133 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
1135 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
1137 * tree.h (CALL_EXPR_ARGS): Delete.
1138 (call_expr_arglist): Delete.
1139 * tree.c (call_expr_arglist): Delete.
1140 * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
1141 targetm.fold_builtin.
1142 * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
1143 Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
1144 * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
1145 arglist parameter. Use CALL_EXPR_ARG.
1146 (picochip_expand_builtin_3op): Likewise.
1147 (picochip_expand_builtin_2opvoid): Likewise.
1148 (picochip_expand_array_get): Likewise.
1149 (picochip_expand_array_put): Likewise.
1150 (picochip_expand_array_testport): Likewise.
1151 (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
1152 rather than arglist.
1153 * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
1155 * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
1156 than TREE_VALUE and TREE_CHAIN.
1157 * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
1158 * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
1161 2010-05-17 Jakub Jelinek <jakub@redhat.com>
1164 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
1165 to have no fallthru edge.
1168 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
1169 bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
1170 mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
1171 add BARRIER after previous bb if needed.
1173 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
1175 * tree.c (build_function_type_list_1): Remove bogus assert condition.
1177 2010-05-17 Alan Modra <amodra@gmail.com>
1179 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
1180 unnecessary prototype. Replace copy_r12 and copy_r11 flag params
1181 with copy_reg rtx param.
1182 (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
1183 Correct cases where code for ABI_V4 did not initialise the reg
1184 used to access frame. Also leave frame_reg_rtx as sp for large
1185 frames that save no regs.
1187 2010-05-17 Martin Jambor <mjambor@suse.cz>
1190 * tree-sra.c (create_access_replacement): New parameter rename, mark
1191 the replaement for renaming only when it is true.
1192 (get_access_replacement): Pass true in the rename parameter of
1193 create_access_replacement.
1194 (get_unrenamed_access_replacement): New function.
1195 (replace_uses_with_default_def_ssa_name): New parameter racc, get the
1196 replacement declaration from it.
1198 2010-05-17 Bernd Schmidt <bernds@codesourcery.com>
1200 * function.c (try_fit_stack_local, add_frame_space): New static
1202 (assign_stack_local_1): Use them. Look for opportunities to use
1203 space previously wasted on alignment.
1204 * function.h (struct frame_space): New.
1205 (struct rtl_data): Add FRAME_SPACE_LIST member.
1206 * reload1.c (something_was_spilled): New static variable.
1207 (alter_reg): Set it.
1208 (reload): Test it in addition to testing if the frame size changed.
1210 2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
1212 * config/s390/s390.c: Define sane prefetch settings and activate
1213 flag_prefetch_loop_arrays on -O3.
1214 * config/s390/s390.h: Declare that read can use write prefetch.
1216 2010-05-17 Jakub Jelinek <jakub@redhat.com>
1218 * lto-streamer-out.c (lto_output): Fix --enable-checking=release
1221 2010-05-16 Jan Hubicka <jh@suse.cz>
1223 * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
1224 function body; do not check stdarg field of struct function.
1226 2010-05-16 Jan Hubicka <jh@suse.cz>
1228 * cgraph.c (dump_cgraph_node): Dump versionable flag.
1229 * cgraph.h (cgraph_local_info): Add versionable flag.
1230 * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
1231 (ipcp_versionable_function_p): Use it.
1232 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
1235 2010-05-16 Jan Hubicka <jh@suse.cz>
1237 * cgraph.c (cgraph_clone_node): Take decl argument and insert
1238 clone into hash when it is different from orig.
1239 (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
1240 * cgraph.h (cgraph_clone_node): Update prototype.
1241 * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
1242 (lto_cgraph_encoder_delete): Delete body map.
1243 (lto_cgraph_encoder_size): Move to header.
1244 (lto_cgraph_encoder_encode_body_p,
1245 lto_set_cgraph_encoder_encode_body): New.
1246 (lto_output_node): Do not take written_decls argument; output clone_of
1248 (add_node_to): Add include_body_argument; call
1249 lto_set_cgraph_encoder_encode_body on master of the clone.
1250 (add_references): Update use of add_node_to.
1251 (compute_ltrans_boundary): Likewise.
1252 (output_cgraph): Do not create written_decls bitmap.
1253 (input_node): Take nodes argument; stream in clone_of correctly.
1254 (input_cgraph_1): Update use of input_node.
1255 * lto-streamer-out.c (lto_output): Use encoder info to decide
1256 what bodies to output.
1257 * ipa-inline.c (cgraph_clone_inlined_nodes,
1258 cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
1259 * lto-streamer.h (lto_cgraph_encoder_d): Add body.
1260 (lto_cgraph_encoder_size): Define here.
1261 (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
1264 2010-05-16 Richard Guenther <rguenther@suse.de>
1266 * doc/invoke.texi (-fipa-struct-reorg): Do not mention
1268 * ipa-type-escape.c (gate_type_escape_vars): Run when
1269 -fipa-struct-reorg runs.
1270 * opts.c (decode_options): Do not unset flag_ipa_type_escape.
1271 * common.opt (fipa-type-escape): Remove.
1273 2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
1275 * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
1276 (decode_options): Likewise.
1277 * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
1279 2010-05-16 Jan Hubicka <jh@suse.cz>
1281 * ipa.c (function_and_variable_visibility): Also bring local all
1284 2010-05-16 Richard Guenther <rguenther@suse.de>
1286 * alias.c (nonoverlapping_memrefs_p): Remove use of
1287 IPA type-escape information.
1289 2010-05-16 Joseph Myers <joseph@codesourcery.com>
1291 * c-common.c (c_common_reswords): Add _Static_assert for C.
1292 * c-parser.c (c_token_starts_declaration,
1293 c_parser_next_token_starts_declaration,
1294 c_parser_static_assert_declaration_no_semi,
1295 c_parser_static_assert_declaration): New.
1296 (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
1297 Handle static assertions if static_assert_ok.
1298 (c_parser_external_declaration, c_parser_declaration_or_fndef,
1299 c_parser_compound_statement_nostart, c_parser_label,
1300 c_parser_for_statement, c_parser_objc_methodprotolist,
1301 c_parser_omp_for_loop): All callers of
1302 c_parser_declaration_or_fndef changed.
1303 (c_parser_struct_declaration): Handle static assertions.
1304 (c_parser_compound_statement_nostart): Use
1305 c_parser_next_token_starts_declaration and
1306 c_token_starts_declaration to detect start of declarations.
1307 (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
1310 2010-05-16 Anatoly Sokolov <aesok@post.ru>
1312 * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
1313 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
1314 * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1315 TARGET_FUNCTION_VALUE_REGNO_P): Define.
1316 (mmix_function_outgoing_value): Rename to...
1317 (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
1318 (mmix_function_value_regno_p): Make static.
1319 (mmix_libcall_value): New function.
1320 * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
1321 mmix_function_value_regno_p): Remove declaration.
1323 2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
1325 * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
1326 BUILT_IN_ALLOCA if stack checking is enabled.
1328 2010-05-16 Richard Guenther <rguenther@suse.de>
1330 * var-tracking.c (vars_copy_1): Inline ...
1331 (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
1332 (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
1333 (variable_merge_over_cur): Adjust. Merge asserts.
1334 (variable_merge_over_src): Likewise.
1335 (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
1336 (variable_post_merge_new_vals): Merge asserts.
1337 (variable_post_merge_perm_vals): Likewise.
1338 (find_mem_expr_in_1pdv): Likewise.
1339 (dataflow_set_different_value): Remove.
1340 (onepart_variable_different_p): Merge asserts.
1341 (variable_different_p): Likewise.
1342 (dataflow_set_different_1): Inline ...
1343 (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
1344 (emit_notes_for_differences_1): Merge asserts.
1346 2010-05-16 Richard Guenther <rguenther@suse.de>
1348 * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
1349 * optabs.c (libfunc_decl_hash): Likewise.
1350 * varasm.c (emutls_decl): Likewise.
1352 2010-05-16 Steven Bosscher <steven@gcc.gnu.org>
1354 * c-decl.c: Don't include gimple.h.
1355 (merge_decls): Do not copy gimple_body.
1357 2010-05-15 Jason Merrill <jason@redhat.com>
1359 * c.opt: Add -fnothrow-opt.
1361 2010-05-15 Jan Hubicka <jh@suse.cz>
1363 * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
1365 * passes.c (ipa_write_summaries): Write all analyzed nodes.
1367 2010-05-15 Steven Bosscher <steven@gcc.gnu.org>
1369 * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
1370 * Makefile.in: Add it.
1371 Fix all other Makefile dependencies for changes below.
1372 * tree.h: Include it instead of defining VEC primitives here.
1373 * gimple.h: Likewise.
1375 * tree-inline.h: Inlclude vecir.h instead of gimple.h.
1376 * except.h: Include vecir.h, break dependence on tree.h.
1378 * gimplify.c (append_to_statement_list_1, append_to_statement_list):
1380 * tree-iterator.c: ...to here.
1381 * tree-iterator.h: Fix file introduction comment. Add extern markers.
1383 * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
1385 * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
1386 * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
1387 integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
1388 tree-mudflap.h, and target.h.
1389 * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
1390 predict.h, tree-inline.h, gimple.h, and langhooks.h.
1391 * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
1392 Add FIXME for why gimple.h is still included (should be unnecessary
1393 since GCC 4.5 gimplification unit-at-a-time).
1394 * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
1395 * c-pragma.c: Add FIXME for why function.h needs to be included just
1396 for cfun, at front-end level.
1397 Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
1398 Do not include ggc.h, but include vecprim.h for VEC(char).
1399 * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
1400 Explain why target.h is included.
1401 * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
1402 Explain why gimple.h is included.
1403 * c-ppoutput.c: Do not include tm.h.
1404 * c-common.c: Do not include gimple.h. Explain why expr.h is included.
1405 * c-parses.c: Explain why rtl.h is included, and that this (and only
1406 this) is also why tm.h must be included.
1407 Do not include except.h.
1408 * c-lang.c: Do not include ggc.h.
1410 2010-05-15 Uros Bizjak <ubizjak@gmail.com>
1412 * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
1414 2010-05-15 Joseph Myers <joseph@codesourcery.com>
1416 * c-decl.c (grokfield): Allow typedefs for anonymous structs and
1417 unions by default if those structs and unions have no tags. Do
1418 not condition anonymous struct and unions handling on flag_iso.
1419 Allow anonymous structs and unions for C1X.
1420 (finish_struct): Do not diagnose lack of named fields when
1421 anonymous structs and unions present for C1X. Accept flexible
1422 array members in structure with anonymous structs or unions but no
1423 directly named fields.
1424 * doc/extend.texi (Unnamed Fields): Update.
1426 2010-05-15 Eric Botcazou <ebotcazou@adacore.com>
1428 * gimple.h (compare_field_offset): Rename into...
1429 (gimple_compare_field_offset): ...this.
1430 * gimple.c (compare_field_offset): Rename into...
1431 (gimple_compare_field_offset): ...this. Compare the full access if
1432 the offset is self-referential.
1433 (gimple_types_compatible_p): Adjust for above renaming.
1434 * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
1435 DECL_NONADDRESSABLE_P flag of fields before merging them.
1437 2010-05-15 Nathan Froyd <froydnj@codesourcery.com>
1439 * tree.h (ctor_to_list): Delete.
1440 * tree.c (ctor_to_list): Delete.
1442 2010-05-15 Jan Hubicka <jh@suse.cz>
1444 * ipa-reference.c: Include toplev.h
1445 (is_proper_for_analysis): Only add to all_module_statics
1447 (write_node_summary_p, stream_out_bitmap,
1448 ipa_reference_write_optimization_summary,
1449 ipa_reference_read_optimization_summary): New.
1450 (struct ipa_opt_pass_d pass_ipa_reference): Add
1451 optimization summary streaming.
1452 * lto-cgraph.c (referenced_from_this_partition_p,
1453 reachable_from_this_partition_p): New functions.
1454 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
1455 call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
1456 * opts.c (decode_options): Enable ipa_reference.
1457 * Makefile.in (ipa-reference.o): Add toplev.h dependency.
1458 * lto-streamer.h (referenced_from_this_partition_p,
1459 reachable_from_this_partition_p): Declare.
1461 2010-05-15 Richard Guenther <rguenther@suse.de>
1463 PR tree-optimization/44038
1464 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
1465 taking the address of a V_C_E of a constant.
1467 2010-05-14 Jan Hubicka <jh@suse.cz>
1469 * tree.h (memory_identifier_string): Remove.
1470 * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
1471 (ipa_reference_global_vars_info_d): Remove statics_not_read and
1472 statics_not_written.
1473 (ipa_reference_optimization_summary_d): New structure.
1474 (ipa_reference_optimization_summary_t): New type and vector.
1475 (ipa_reference_vars_info_d): Embedd structures instead of using
1477 (reference_vars_to_consider): Remove out of GGC space.
1478 (module_statics_escape): Remove.
1479 (global_info_obstack): Rename to ...
1480 (optimization_summary_obstack): ... this one.
1481 (initialization_status_t): Remove.
1482 (memory_identifier_string): Remove.
1483 (get_reference_vars_info): Fix indenting.
1484 (set_reference_vars_info): Likewise.
1485 (get_reference_optimization_summary): New.
1486 (set_reference_optimization_summary): New.
1487 (get_global_reference_vars_info): Remove.
1488 (ipa_reference_get_read_global): Remove.
1489 (ipa_reference_get_written_global): Remove.
1490 (ipa_reference_get_not_read_global): Update.
1491 (ipa_reference_get_not_written_global): Update.
1492 (is_proper_for_analysis): Outlaw addressable.
1493 (propagate_bits): Update for new datastructures.
1494 (analyze_variable): Remove.
1495 (init_function_info): Update for new datastructures.
1496 (clean_function_local_data): Remove.
1497 (clean_function): Remove.
1498 (copy_global_bitmap): Use optimizations_summary_obstack.
1499 (duplicate_node_data): Duplicate optimization summary only.
1500 (remove_node_data): Remove optimization summary only.
1501 (generate_summary): Do not analyze variables; do not compute
1502 module_statics_escape; do not prune solutions by it.
1503 (read_write_all_from_decl): Fix typos in comments.
1504 (propagate): Doscover readonly and nonaddressable first;
1505 update for new datastructures; share global bitmaps.
1506 * ipa-reference.h (ipa_reference_get_read_global,
1507 ipa_reference_get_written_global): Remove.
1508 * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
1509 * Makefile.in: Remove ipa-refereference from GT files.
1511 2010-05-14 Jakub Jelinek <jakub@redhat.com>
1514 * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
1515 for all SYMBOL_REF_DECLs.
1517 2010-05-14 Jan Hubicka <jh@suse.cz>
1519 * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
1520 (varpool_all_refs_explicit_p): New inline function.
1521 * ipa-reference.c: Update comment.
1522 (module_statics_written): Remove.
1523 (get_static_decl): Remove.
1524 (ipa_init): Do not initialize module_statics_written.
1525 (analyze_function): Likewise.
1526 (generate_summary): Likewise; do not compute module_statics_readonly
1527 and do not update variable flags.
1528 (propagate): Call ipa_discover_readonly_nonaddressable_vars.
1529 * ipa.c: Inlucde flags.h
1530 (cgraph_local_node_p): New.
1531 (cgraph_remove_unreachable_nodes): Return early when not optimizing;
1532 promote functions to local.
1533 (ipa_discover_readonly_nonaddressable_vars): New function.
1534 (function_and_variable_visibility): Use cgraph_local_node_p.
1535 * varpool.c (varpool_finalize_decl): Set force_output for
1536 DECL_PRESERVE_P vars.
1538 2010-05-14 Jan Hubicka <jh@suse.cz>
1540 * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
1542 2010-05-14 Richard Guenther <rguenther@suse.de>
1544 PR tree-optimization/44119
1545 * tree-ssa-pre.c (eliminate): Properly mark replacement of
1546 a PHI node necessary.
1548 2010-05-14 Eric Botcazou <ebotcazou@adacore.com>
1550 * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
1552 2010-05-14 Jason Merrill <jason@redhat.com>
1555 * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
1556 (gimple_call_set_nothrow): New.
1557 * gimple.c (gimple_build_call_from_tree): Call it.
1558 (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
1561 * gimplify.c (gimplify_seq_add_stmt): No longer static.
1562 * gimple.h: Declare it.
1563 * gimple.c (gimple_build_eh_filter): No ops.
1565 2010-05-14 Jan Hubicka <jh@suse.cz>
1567 * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
1568 nodes already in queue.
1569 (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
1572 2010-05-14 Jakub Jelinek <jakub@redhat.com>
1575 * cfgexpand.c (expand_debug_expr): If non-memory op0
1576 has BLKmode, return NULL.
1578 2010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
1580 * config.gcc: Add support for --with-cpu option for bdver1.
1581 * config/i386/i386.h (TARGET_BDVER1): New macro.
1582 (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
1583 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
1584 (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
1585 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
1586 Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
1587 (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
1588 (processor_type): Add PROCESSOR_BDVER1.
1589 * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
1590 processor_type in config/i386/i386.h.
1591 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
1592 movaps <reg, reg> instead of movapd <reg, reg> when replacing
1593 movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
1594 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
1595 to emit packed xor instead of packed double/packed integer
1596 xor for SSE and AVX when moving a zero value.
1597 * config/i386/sse.md: Add check for
1598 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
1599 movapd/movdqa for SSE and AVX.
1600 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
1601 single logical operations i.e and, or and xor instead of packed double
1602 logical operations for SSE and AVX.
1603 * config/i386/i386-c.c (ix86_target_macros_internal):
1604 Add PROCESSOR_BDVER1.
1605 * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
1606 (has_fma4, has_xop): New.
1607 * config/i386/i386.c (bdver1_cost): New variable.
1608 (m_BDVER1): New macro.
1609 (m_AMD_MULTIPLE): Add m_BDVER1.
1610 (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
1611 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
1612 x86_tune_use_simode_fiop, x86_tune_promote_qimode,
1613 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
1614 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
1615 x86_tune_sse_partial_reg_dependency,
1616 x86_tune_sse_unaligned_load_optimal,
1617 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
1618 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
1619 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
1620 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
1621 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
1622 Enable/disable for bdver1.
1623 (processor_target_table): Add bdver1_cost.
1624 (cpu_names): Add bdver1.
1625 (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
1626 processor_alias_table.
1627 (ix86_expand_vector_move_misalign): Change.
1628 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
1629 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
1630 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
1631 of movupd/movdqu for SSE and AVX.
1632 (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
1633 (ix86_tune_adjust_cost): Add code for bdver1.
1634 (standard_sse_constant_opcode): Add check for
1635 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
1636 of packed double xor for SSE and AVX.
1638 2010-05-14 Pat Haugen <pthaugen@us.ibm.com>
1640 * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
1643 2010-05-14 Tristan Gingold <gingold@adacore.com>
1645 * toplev.c (default_debug_hooks): Remove this variable.
1646 (process_options): Remove assignments to default_debug_hooks.
1648 2010-05-14 Martin Jambor <mjambor@suse.cz>
1650 * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
1651 (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
1652 * langhooks.h (struct lang_hooks_for_decls): Removed field
1654 * tree.c (free_lang_data): Remove assignment to
1655 lang_hooks.fold_obj_type_ref.
1656 * tree.def (OBJ_TYPE_REF): Update comment.
1658 2010-05-14 Richard Guenther <rguenther@suse.de>
1660 PR tree-optimization/44124
1661 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
1663 2010-05-14 Alan Modra <amodra@gmail.com>
1666 * config/rs6000/rs6000.c (struct machine_function): Reorder
1667 fields for better packing. Add lr_save_state.
1668 (rs6000_ra_ever_killed): Return lr_save_state if set.
1669 (rs6000_emit_eh_reg_restore): Set lr_save_state.
1671 2010-05-13 Jan Hubicka <jh@suse.cz>
1673 * varpool.c (decide_is_variable_needed): Drop code checking
1674 TREE_SYMBOL_REFERENCED.
1676 2010-05-13 Jan Hubicka <jh@suse.cz>
1678 * final.c (output_addr_const): Do not call mark_decl_referenced.
1679 * cgraphunit.c (process_function_and_variable_attributes): Use
1680 mark_needed_node dirrectly.
1681 (assemble_thunk): Do not call mark_decl_referenced.
1683 2010-05-13 Anatoly Sokolov <aesok@post.ru>
1685 * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
1687 2010-05-13 Jeff Law <law@redhat.com>
1689 * ira-conflicts.c (print_allocno_conflicts): New function broken out
1691 (print_conflicts): Call print_allocno_conflicts.
1693 2010-05-13 Jakub Jelinek <jakub@redhat.com>
1696 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
1699 2010-05-13 Kai Tietz <kai.tietz@onevision.com>
1701 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
1702 t-mingw-w64 or t-mingw-w32 for multilib configuration.
1703 * config/i386/t-mingw-w32: New.
1704 * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
1706 2010-05-13 Martin Jambor <mjambor@suse.cz>
1708 * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
1710 * gimple-fold.c (get_base_binfo_for_type): New function.
1711 (gimple_get_relevant_ref_binfo): Likewise.
1712 (gimple_fold_obj_type_ref_known_binfo): Likewise.
1713 (gimple_fold_obj_type_ref): Likewise.
1714 (fold_gimple_call): Simplify condition for folding virtual calls
1715 and call gimple_fold_obj_type_ref.
1716 * gimple.h (gimple_get_relevant_ref_binfo): Declare.
1717 (gimple_fold_obj_type_ref_known_binfo): Likewise.
1719 2010-05-13 Andreas Schwab <schwab@linux-m68k.org>
1721 * config/rs6000/rs6000-protos.h
1722 (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
1723 * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
1724 (rs6000_debug_mode_dependent_address)
1725 (rs6000_mode_dependent_address_ptr): Likewise.
1727 2010-05-13 Jakub Jelinek <jakub@redhat.com>
1730 * var-tracking.c (track_expr_p): Allow tracking of variables optimized
1732 * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
1733 * tree-sra.c (create_access_replacement): Call unshare_expr before
1734 passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
1735 * dwarf2out.c: Include tree-flow.h.
1736 (struct var_loc_node): Rename var_loc_note field to loc, add comment.
1737 (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
1738 Handle DW_OP_bit_piece.
1739 (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
1740 construct_piece_list, adjust_piece_list): New functions.
1741 (add_var_loc_to_decl): Handle SRA optimized variables.
1742 Adjust for var_loc_note to loc field renaming.
1743 (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
1744 in VAR_LOCATION note.
1745 (new_loc_descr_op_bit_piece): New function.
1746 (dw_sra_loc_expr): New function.
1747 (dw_loc_list): Use it. Don't handle the last range after the
1748 loop, handle it inside of the loop. Adjust for var_loc_note
1749 to loc field renaming.
1750 (add_location_or_const_value_attribute): Only special case
1751 single entry loc lists if loc is NOTE_P. Adjust for
1752 var_loc_note to loc field renaming.
1753 (dwarf2out_var_location): Don't set newloc->var_loc_note
1754 and newloc->next here.
1756 2010-05-12 Jan Hubicka <jh@suse.cz>
1758 * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
1760 * cgraph.h (cgraph_only_called_directly_p,
1761 cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
1762 (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
1763 * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
1765 * ipa.c (cgraph_remove_unreachable_nodes): Use
1766 cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
1768 * tree-inline.c (copy_bb): Check address_taken flag.
1769 * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
1770 externally_visible flag.
1772 2010-05-12 Jason Merrill <jason@redhat.com>
1776 * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
1777 * sdbout.c (plain_type_1): Likewise.
1778 * dwarf2out.c (is_base_type): Likewise.
1779 (gen_type_die_with_usage): Likewise. Generate
1780 DW_TAG_unspecified_type for any LANG_TYPE.
1782 2010-05-12 Jan Hubicka <jh@suse.cz>
1784 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
1786 * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
1787 (cgraph_clone_edge): Update.
1788 (cgraph_node_remove_callees): Remove indirect calls too.
1789 * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
1790 (cgraph_create_indirect_edge): Update prototype.
1791 * ipa-reference.c (has_proper_scope_for_analysis): Rename to
1792 is_proper_for_analysis.
1793 (add_new_function, visited_nodes, function_insertion_hook_holder,
1794 get_local_reference_vars_info, mark_address_taken, mark_address,
1795 mark_load, mark_store, check_asm_memory_clobber, check_call,
1796 scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
1797 (ipa_init): Do not initialize visited_nodes;
1798 function_insertion_hook_holder.
1799 (analyze_variable): Rewrite.
1800 (analyze_function): Rewrite.
1801 (copy_local_bitmap): Remove.
1802 (duplicate_node_dat): Do not duplicate local info.
1803 (generate_summary): Simplify to only walk cgraph.
1804 (write_node_summary_p, ipa_reference_write_summary,
1805 ipa_reference_read_summary): Remove.
1806 (propagate): Do not remove function insertion;
1808 (pass_ipa_reference): NULLify summary handling fields.
1809 * lto-cgraph.c (lto_output_edge): Output ecf_flags.
1810 (input_edge): Input ecf_flags.
1811 * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
1812 (update_indirect_edges_after_inlining): Ignore edges with unknown
1815 2010-05-12 Sriraman Tallam <tmsriram@google.com>
1817 * implicit-zee.c: New file.
1818 * tree-pass.h (pass_implicit_zee): Declare.
1819 * passes.c (init_optimization_passes): Add zee pass.
1820 * common.opt (fzee): New flag.
1821 * timevar.def (TV_ZEE): Define.
1822 * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
1824 * Makefile.in (implicit-zee.o): Add new build file.
1826 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
1827 Nathan Froyd <froydnj@codesourcery.com>
1829 * c-common.c (sync_resolve_params): Remove write-only variable.
1831 2010-05-12 Anatoly Sokolov <aesok@post.ru>
1833 * target.h (struct gcc_target): Add mode_dependent_address_p field.
1834 * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
1835 (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
1836 * targhooks.c (default_mode_dependent_address_p): New function.
1837 * targhooks.h (default_mode_dependent_address_p): Declare function.
1838 * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
1839 (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
1840 * recog.c: (mode_dependent_address_p): Call mode_dependent_address_p
1841 target hook. Change return type to bool.
1842 * recog.h: (mode_dependent_address_p): Change return type to bool.
1844 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
1845 Nathan Froyd <froydnj@codesourcery.com>
1847 * tree-mudflap.c (build_function_type_0, build_function_type_1,
1848 build_function_type_2, build_function_type_3): Remove.
1849 (mudflap_init): Use build_function_type_list.
1851 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
1852 Nathan Froyd <froydnj@codesourcery.com>
1854 * coverage.c (build_fn_info_value): Call build_constructor instead of
1855 build_constructor_from_list.
1856 (build_ctr_info_value): Likewise.
1857 (build_gcov_info): Likewise.
1859 2010-05-12 Nathan Froyd <froydnj@codesourcery.com>
1861 * tree.c (build_constructor): Compute TREE_CONSTANT for the
1862 resultant constructor.
1863 (build_constructor_single): Don't set TREE_CONSTANT.
1864 (build_constructor_from_list): Don't compute TREE_CONSTANT.
1866 2010-05-12 Jan Hubicka <jh@suse.cz>
1868 * cgraph.h (struct varpool_node): Add aux.
1869 * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
1870 * varpool.c (varpool_remove_node): Do not remove initializer.
1871 (varpool_reset_queue): Export.
1872 (varpool_finalize_decl): Volatile vars are forced to be output.
1873 * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
1875 * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
1876 process_references, varpool_can_remove_if_no_refs): New functions.
1877 (cgraph_remove_unreachable_nodes): Handle variables too.
1879 2010-05-12 H.J. Lu <hongjiu.lu@intel.com>
1882 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
1884 2010-05-12 Jakub Jelinek <jakub@redhat.com>
1887 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
1888 change value of ORT_TASK.
1889 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
1890 (omp_notice_threadprivate_variable): New function.
1891 (omp_notice_variable): Call it for threadprivate variables.
1892 If enclosing ctx is a task, print enclosing task rather than
1893 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
1894 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
1895 if task has untied clause.
1898 * dwarf2out.c (base_type_die): Don't add name attribute here.
1899 (modified_type_die): Instead of sizetype use
1900 its underlying original type. If a DW_TAG_base_type doesn't
1901 have name added, add __unknown__.
1902 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
1903 always call force_type_die instead.
1905 2010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
1907 * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
1908 for __stack_chk_guard.
1910 2010-05-11 Jakub Jelinek <jakub@redhat.com>
1912 * c-opts.c (c_common_parse_file): If start_end_main_source_file,
1913 don't call start_source_file debug hook here...
1914 (finish_options): ... but here, after outputting predefined and
1915 command line defines and undefs.
1918 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
1920 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
1921 optimizing away empty bb with no successors, move over its
1922 footer chain to fallthru predecessor.
1923 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
1924 (rtl_split_edge): For asm goto call patch_jump_insn even if
1925 splitting fallthru edge.
1928 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
1929 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
1930 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1931 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
1935 * c-parser.c (c_parser_expression): Mark LHS of a comma
1936 expression as read if it is a decl, handled component or
1937 COMPOUND_EXPR with that on the RHS.
1938 * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
1939 if it is a decl or handled component.
1941 2010-05-11 Jan Hubicka <jh@suse.cz>
1943 * lto-symtab.c (lto_symtab_free): New function.
1944 * lto-streamer.h (lto_symtab_free): Declare.
1946 2010-05-11 Jan Hubicka <jh@suse.cz>
1948 * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
1949 that if function is needed it is reachable.
1950 (lto_output_node): See if it the function is reachable or referenced.
1951 (output_cgraph): Update call of lto_output_node.
1952 * lto-streamer.h (reachable_from_other_partition_p): Declare.
1954 2010-05-11 Jan Hubicka <jh@suse.cz>
1956 * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
1959 2010-05-11 Jan Hubicka <jh@suse.cz>
1961 PR tree-optimize/44063
1962 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
1964 (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
1966 (estimate_function_body_sizes): Compute sizes even when disregarding.
1968 2010-05-11 Kai Tietz <kai.tietz@onevision.com>
1970 * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
1972 2010-05-11 Jan Hubicka <jh@suse.cz>
1974 * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
1975 into every boundary.
1977 2010-05-11 Jan Hubicka <jh@suse.cz>
1979 * matrix-reorg.c (matrix_reorg): Rebuild edges.
1981 2010-05-11 Jan Hubicka <jh@suse.cz>
1983 * lto-streamer.c (lto_streamer_cache_add_to_node_array,
1984 lto_streamer_cache_delete): Put nodes into heap.
1985 * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
1988 2010-05-11 Jan Hubicka <jh@suse.cz>
1990 * cgraphbuild.c (cgraph_rebuild_references): New.
1991 * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
1993 * cgraph.h (cgraph_rebuild_references): Declare.
1994 * tree-inline.c (tree_function_versioning): Use it.
1995 * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
1997 2010-05-11 Jan Hubicka <jh@suse.cz>
1999 * cgraph.c: Include ipa-utils.h
2000 (cgraph_create_virtual_clone): Update references.
2001 * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
2003 2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
2005 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
2006 prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
2009 2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
2011 * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
2013 2010-05-11 Jakub Jelinek <jakub@redhat.com>
2015 * gcc.c (execute): For -### don't quote arguments that
2016 contain just alphanumerics and _/-. characters.
2017 * doc/invoke.texi: Document that change for -###.
2020 * df-problems.c (struct dead_debug): Add to_rescan field.
2021 (dead_debug_init): Clear to_rescan field.
2022 (dead_debug_finish): Rescan all debug insns in to_rescan
2023 bitmap and free the bitmap.
2024 (dead_debug_insert_before): Instead of rescanning debug insns
2025 immediately queue their rescanning until dead_debug_finish.
2026 (df_note_bb_compute): After dead_debug_add do continue instead
2029 2010-05-10 Jakub Jelinek <jakub@redhat.com>
2032 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
2033 clear also INSN_REG_USE_LIST.
2035 2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2037 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
2039 2010-05-10 Jan Hubicka <jh@suse.cz>
2041 * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
2044 2010-05-10 Jan Hubicka <jh@suse.cz>
2046 * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
2048 * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
2049 * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
2050 (lto_streamer_cache_create): Init alloc pool.
2051 (lto_streamer_cache_delete): Free alloc pool.
2052 * lto-streamer.h: Include alloc pool.
2053 (lto_streamer_cache_d): Use alloc pool.
2054 * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
2056 2010-05-10 Jan Hubicka <jh@suse.cz>
2058 * Makefile.in (cgraphbuild.o): Add dependency on except.h.
2059 * cgraphbuild.c: Include except.h
2060 (record_type_list, record_eh_tables): New function.
2061 (build_cgraph_edges, rebuild_cgraph_edges): Use it.
2063 2010-05-10 Jan Hubicka <jh@suse.cz>
2065 * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
2066 __frame_dummy_init_array_entry, force_to_data): Attribute as used
2069 2010-05-10 Michael Matz <matz@suse.de>
2071 * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
2072 (can_reassociate_p): Use FLOAT_TYPE_P.
2073 * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
2074 (vect_force_simple_reduction): ... this.
2075 * tree-parloops.c (gather_scalar_reductions): Use
2076 vect_force_simple_reduction.
2077 * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
2078 vect_is_simple_reduction, add modify argument, if true rewrite
2079 "a-b" into "a+(-b)".
2080 (vect_is_simple_reduction, vect_force_simple_reduction): New
2082 (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
2084 2010-05-10 H.J. Lu <hongjiu.lu@intel.com>
2085 Vladimir Makarov <vmakarov@redhat.com>
2087 PR rtl-optimization/44012
2088 * ira-build.c (remove_unnecessary_allocnos): Nullify
2089 regno_allocno_map of the removed allocno.
2091 2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2093 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
2095 * configure: Regenerate.
2097 2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2099 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
2101 Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
2102 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
2104 * configure: Regenerate.
2106 2010-05-10 Richard Guenther <rguenther@suse.de>
2108 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
2109 marked if the entry identifier is marked.
2111 2010-05-10 Richard Guenther <rguenther@suse.de>
2113 * c-common.c (struct c_common_attributes): Add fnspec attribute.
2114 (handle_fnspec_attribute): New function.
2115 * gimple.h (gimple_call_return_flags): Declare.
2116 (gimple_call_arg_flags): Likewise.
2117 * gimple.c (gimple_call_arg_flags): New function.
2118 (gimple_call_return_flags): Likewise.
2119 * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
2121 (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
2123 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
2124 * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
2126 (make_heapvar_for): ... this new function.
2127 (handle_rhs_call): Handle fnspec attribute argument specifiers.
2128 (handle_lhs_call): Likewise.
2129 (find_func_aliases): Adjust.
2131 2010-05-10 Richard Guenther <rguenther@suse.de>
2133 PR tree-optimization/44050
2134 * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
2136 2010-05-10 Wei Guozhi <carrot@google.com>
2139 * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
2141 2010-05-09 Joseph Myers <joseph@codesourcery.com>
2144 * c-typeck.c (lookup_field): Take a type directly. Update
2146 (build_component_ref): Update call to lookup_field.
2147 (set_init_label): Use lookup_field to find initialized field.
2148 Handle returned list of fields like a sequence of designators.
2150 2010-05-09 Richard Guenther <rguenther@suse.de>
2153 * fold-const.c (tree_single_nonzero_warnv_p): Properly
2154 handle &FUNCTION_DECL.
2156 2010-05-09 Joseph Myers <joseph@codesourcery.com>
2159 * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
2160 structures and unions recursively.
2161 (detect_field_duplicates): Move duplicate detection with a hash to
2162 detect_field_duplicates_hash. Always use a hash if anonymous
2163 structures or unions are present.
2164 * doc/extend.texi (Unnamed Fields): Document that duplicate fields
2167 2010-05-09 H.J. Lu <hongjiu.lu@intel.com>
2170 * config/i386/driver-i386.c (host_detect_local_cpu): Properly
2171 detect Atom, Core 2 and Core i7.
2173 2010-05-09 Richard Guenther <rguenther@suse.de>
2175 * gcc.c (store_arg): Handle temporary file deletion for
2178 2010-05-09 Richard Guenther <rguenther@suse.de>
2181 * ipa-inline.c (estimate_function_body_sizes): Return after
2182 disregarding inline limits.
2184 2010-05-09 Richard Guenther <rguenther@suse.de>
2186 * gcc.c (store_arg): Revert last change.
2188 2010-05-08 Sandra Loosemore <sandra@codesourcery.com>
2191 * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
2192 (optimize_ops_list): Call it.
2194 2010-05-08 Richard Guenther <rguenther@suse.de>
2196 PR tree-optimization/44030
2197 * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
2198 NECESSARY flag if we propagate from a inserted expression.
2200 2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
2202 * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
2203 domain types as equal if they are both PLACEHOLDER_EXPRs.
2205 2010-05-08 Richard Guenther <rguenther@suse.de>
2207 * lto-wrapper.c (run_gcc): Remove linker output from
2208 command line for LTRANS invocation.
2210 2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
2212 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
2213 lto-macho as lto_binary_reader.
2214 * target.h (struct gcc_target): New hooks lto_start and lto_end.
2215 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
2216 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
2217 in lto_start and lto_end calls.
2218 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
2220 (scan_prog_file): Update is_elf_or_coff call.
2221 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
2223 * collect2.c (main): Fix enum comparison.
2225 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
2227 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
2228 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
2229 and TARGET_ASM_LTO_END.
2230 * darwin.c: Include obstack.h and lto-streamer.h.
2231 (lto_section_names_offset, lto_section_names_obstack,
2232 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
2234 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
2235 (darwin_asm_lto_start): New function. Redirect output to asm_out_file
2236 to a temporary file.
2237 (darwin_asm_lto_end): New function. Restore asm_out_file.
2238 (darwin_asm_named_section): For LTO sections, replace the name with
2239 the offset of the section name in a string table, and build this
2241 (darwin_file_start): Initialize global vars for LTO support.
2242 (darwin_file_end): If output to asm_out_file was redirected, append it
2243 to the proper asm_out_file here. Add the section names section.
2245 2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
2247 * c-pragma.c (pending_weak_d, pending_weak): New.
2248 (pending_weaks): Change the type to VEC((pending_weak,gc) *.
2249 (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
2250 handle_pragma_weak): Update the uses of pending_weaks.
2252 2010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2254 PR documentation/44016
2255 * doc/standards.texi (Standards): Link to unversioned
2256 cxx0x_status.html page.
2258 2010-05-07 Iain Sandoe <iains@gcc.gnu.org>
2261 * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
2262 in addition to TREE_USED, to avoid "set but unused" warnings.
2264 2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
2266 * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
2267 (is_loop_prefetching_profitable): Do not insert prefetches
2268 when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
2269 times the prefetch ahead distance.
2271 2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
2273 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
2274 Account for loop unrolling in the insn-to-prefetch ratio heuristic.
2275 (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
2278 2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
2280 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
2281 a diagnostic info when the insn-to-mem ratio is too small.
2283 2010-05-07 Richard Guenther <rguenther@suse.de>
2285 * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
2287 (store_arg): Queue temp_filename for deletion instead of
2290 2010-05-07 Richard Guenther <rguenther@suse.de>
2292 * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
2293 (run_gcc): Handle LTRANS phase invocation.
2294 * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
2296 2010-05-07 Jakub Jelinek <jakub@redhat.com>
2298 * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
2299 this is also meaningful on PARM_DECLs and RESULT_DECLs.
2301 2010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2303 * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
2305 2010-05-07 Richard Guenther <rguenther@suse.de>
2307 PR tree-optimization/44020
2308 * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
2309 code when PRE is not yet initialized.
2311 2010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2313 * config/mips/dbxmdebug.h: Remove.
2314 * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
2316 2010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
2318 * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
2319 with null pointer and also warn about ordered comparison of zero with
2322 2010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2324 * graphite-blocking.c
2325 (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
2326 * graphite-clast-to-gimple.c
2327 (clast_to_gcc_expression): Same.
2328 (precision_for_value): Same.
2329 (precision_for_interval): Same.
2330 (gcc_type_for_interval): Same.
2331 (graphite_create_new_guard): Same.
2332 (compute_bounds_for_level): Same.
2333 (graphite_create_new_loop_guard): Same.
2334 * graphite-interchange.c
2335 (build_linearized_memory_access): Same.
2336 (pdr_stride_in_loop): Same.
2337 (memory_strides_in_loop_1): Same.
2338 (memory_strides_in_loop): Same.
2339 (extend_scattering): Same.
2340 (psct_scattering_dim_for_loop_depth): Same.
2341 (pbb_number_of_iterations): Same.
2343 (debug_iteration_domains): Same.
2345 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
2346 (ppl_set_inhomogeneous_gmp): Same.
2347 (ppl_strip_loop): Same.
2348 (ppl_lexico_compare_linear_expressions): Same.
2349 (ppl_read_polyhedron_matrix): Same.
2350 (ppl_max_for_le_pointset): Same.
2352 (ppl_read_polyhedron_matrix): Same.
2353 (tree_int_to_gmp): Same.
2354 (gmp_cst_to_tree): Same.
2355 (ppl_set_inhomogeneous): Same.
2356 (ppl_set_inhomogeneous_tree): Same.
2357 (ppl_set_coef): Same.
2358 (ppl_set_coef_tree): Same.
2359 * graphite-sese-to-poly.c
2360 (build_pbb_scattering_polyhedrons): Same.
2361 (build_scop_scattering): Same.
2362 (scan_tree_for_params_right_scev): Same.
2363 (scan_tree_for_params): Same.
2364 (find_params_in_bb): Same.
2365 (find_scop_parameters): Same.
2366 (add_upper_bounds_from_estimated_nit): Same.
2367 (build_loop_iteration_domains): Same.
2368 (add_condition_to_domain): Same.
2369 (pdr_add_memory_accesses): Same.
2371 2010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2373 * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
2374 CLooG's value_* macros to their respective mpz_* counterparts.
2375 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
2376 (graphite_create_new_loop_guard): Same.
2377 * graphite-interchange.c (build_linearized_memory_access): Same.
2378 (pdr_stride_in_loop): Same.
2379 (memory_strides_in_loop_1): Same.
2380 (1st_interchange_profitable_p): Same.
2381 * graphite-poly.c (extend_scattering): Same.
2382 (psct_scattering_dim_for_loop_depth): Same.
2383 (pbb_number_of_iterations): Same.
2384 (pbb_number_of_iterations_at_time): Same.
2385 * graphite-poly.h (new_1st_loop): Same.
2386 * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
2387 (oppose_constraint): Same.
2388 (insert_constraint_into_matrix): Same.
2389 (ppl_set_inhomogeneous_gmp): Same.
2390 (ppl_set_coef_gmp): Same.
2391 (ppl_strip_loop): Same.
2392 (ppl_lexico_compare_linear_expressions): Same.
2393 (ppl_max_for_le_pointset): Same.
2394 (ppl_min_for_le_pointset): Same.
2395 (ppl_build_realtion): Same.
2396 * graphite-ppl.h (gmp_cst_to_tree): Same.
2397 (ppl_set_inhomogeneous): Same.
2398 (ppl_set_inhomogeneous_tree): Same.
2399 (ppl_set_coef): Same.
2400 (ppl_set_coef_tree): Same.
2401 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
2402 (build_scop_scattering): Same.
2403 (add_value_to_dim): Same.
2404 (scan_tree_for_params_right_scev): Same.
2405 (scan_tree_for_params_int): Same.
2406 (scan_tree_for_params): Same.
2407 (find_params_in_bb): Same.
2408 (find_scop_parameters): Same.
2409 (add_upper_bounds_from_estimated_nit): Same.
2410 (build_loop_iteration_domains): Same.
2411 (create_linear_expr_from_tree): Same.
2412 (add_condition_to_domain): Same.
2413 (pdr_add_memory_accesses): Same.
2415 2010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
2416 Jason Merrill <jason@redhat.com>
2418 * c-common.c (c_common_reswords): Add nullptr.
2419 * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
2420 * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
2421 (gen_type_die_with_usage): Likewise.
2422 * dbxout.c (dbxout_type): Likewise.
2423 * sdbout.c (plain_type_1): Likewise.
2425 2010-05-06 Jason Merrill <jason@redhat.com>
2427 * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
2428 Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
2430 (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
2432 * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
2433 stripping WITH_SIZE_EXPR.
2434 (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
2437 2010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2439 * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
2440 list of obsolete configurations.
2441 Disabled check for obsolete configurations.
2442 (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
2443 Removed support for previous versions.
2444 * config/mips/iris.h: Removed.
2445 * config/mips/iris5.h: Removed.
2446 * config/mips/iris6.h: Merged old iris.h contents.
2447 (TARGET_IRIX): Removed.
2448 (DRIVER_SELF_SPECS): Removed mabi=32.
2449 (IDENT_ASM_OP): Removed undef.
2450 (STARTFILE_SPEC): Removed mabi=32.
2451 (ENDFILE_SPEC): Likewise.
2452 (IRIX_SUBTARGET_LINK_SPEC): Likewise.
2453 (MACHINE_TYPE): Update for IRIX 6.5.
2454 * config/mips/mips.c (mips_build_builtin_va_list): Replaced
2455 TARGET_IRIX by TARGET_IRIX6.
2456 (mips_file_start): Likewise.
2457 (mips_output_external): Remove IRIX 5/6 O32 support.
2458 (mips_output_function_prologue): Likewise.
2459 * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
2461 (TARGET_CPU_CPP_BUILTINS): Likewise.
2462 (TARGET_IRIX): Removed.
2463 * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
2464 (MULTILIB_DIRNAMES): Removed 32.
2465 (MULTILIB_OSDIRNAMES): Removed ../lib.
2466 * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
2467 (Specific, mips-sgi-irix5): Document removal.
2468 (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
2469 Remove references to older IRIX 6 releases and the O32 ABI.
2471 2010-05-06 Jakub Jelinek <jakub@redhat.com>
2474 * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
2475 instead of DF_REF_REAL_REG.
2477 2010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
2480 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
2481 handling to still return true for x64 targets.
2483 2010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
2485 * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
2487 2010-05-06 Jan Hubicka <jh@suse.cz>
2489 PR tree-optimization/43791
2490 * ipa-inline.c (update_caller_keys): Remove bogus
2491 disregard_inline_limits check.
2493 2010-05-06 Michael Matz <matz@suse.de>
2495 PR tree-optimization/43984
2496 * tree-ssa-pre.c (inserted_phi_names): Remove.
2497 (inserted_exprs): Change to bitmap.
2498 (create_expression_by_pieces): Set bits, don't append to vector.
2499 (insert_into_preds_of_block): Don't handle inserted_phi_names.
2500 (eliminate): Don't look at inserted_phi_names, remove deleted
2501 insns from inserted_exprs.
2502 (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
2503 (init_pre, fini_pre): Allocate and free bitmaps.
2504 (execute_pre): Insert insns on edges before elimination.
2506 2010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
2508 * tree.c (initializer_zerop): Handle STRING_CST.
2510 2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
2513 * doc/invoke.texi (Wimplicit): Document as C only.
2514 * opts.c (common_handle_option): Add argument kind.
2515 (handle_option): Rename as read_cmdline_option. Factor out code to...
2516 (handle_option): ... here. New.
2517 (handle_options): Rename as read_cmdline_options.
2518 (decode_options): Update call.
2519 (set_option): Use option index instead of option pointer. Classify
2520 diagnostics correctly.
2521 (enable_warning_as_error): Call handle_option.
2522 * opts.h (set_option): Update declaration.
2523 (handle_option): Declare.
2524 * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
2525 * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
2526 * c-opts.c (set_Wimplicit): Delete.
2527 (c_family_lang_mask): New static constant.
2528 (c_common_handle_option): Add argument kind. Use handle_option
2529 instead of set_Wimplicit.
2530 (c_common_post_options): warn_implicit and warn_implicit_int
2531 are disabled by default.
2532 * c-common.c (warn_implicit): Do not define here.
2533 * c-common.h (warn_implicit): Do not declare here.
2534 (c_common_handle_option): Update declaration.
2535 * lto-opts.c (lto_reissue_options): Update call to set_option.
2537 2010-05-06 Richard Guenther <rguenther@suse.de>
2539 PR tree-optimization/43571
2540 * domwalk.c (walk_dominator_tree): Walk the dominator
2541 sons in more optimal order.
2543 2010-05-06 Richard Guenther <rguenther@suse.de>
2545 PR tree-optimization/43934
2546 * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
2547 (stmt_cost): Likewise.
2548 (extract_true_false_args_from_phi): New helper.
2549 (determine_max_movement): For PHI nodes verify we can hoist them
2550 and compute their cost.
2551 (determine_invariantness_stmt): Handle PHI nodes.
2552 (move_computations_stmt): Likewise. Hoist PHI nodes in
2553 if-converted form using COND_EXPRs.
2554 (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
2555 (tree_ssa_lim): Likewise.
2556 * tree-flow.h (tree_ssa_lim): Adjust prototype.
2557 * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
2559 2010-05-06 Richard Guenther <rguenther@suse.de>
2561 PR tree-optimization/43987
2562 * tree-ssa-structalias.c (could_have_pointers): For possibly
2563 address-taken variables force pointers to be recorded.
2564 (create_variable_info_for_1): Likewise.
2565 (push_fields_onto_fieldstack): Pass in wheter all fields
2567 (find_func_aliases): Query types instead of vars whether
2568 they contain pointers where appropriate.
2570 2010-05-06 Jan Hubicka <jh@suse.cz>
2572 * cgraphbuild.c (record_reference_ctx): Add varpool_node.
2573 (record_reference, mark_address, mark_load, mark_store): Record
2575 (record_references_in_initializer): Update call of record_references.
2576 (rebuild_cgraph_edges): Remove all references before rebuiding.
2577 * cgraph.c (cgraph_create_node): Clear ref list.
2578 (cgraph_remove_node): Remove references.
2579 (dump_cgraph_node): Dump references.
2580 (cgraph_clone_node): Clone references.
2581 * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
2582 (struct cgraph_node, varpool_node): Add ref_lst.
2583 * ipa-ref.c: New file.
2584 * ipa-ref.h: New file.
2585 * ipa-ref-inline.h: New file.
2586 * lto-cgraph.c (output_varpool): Take cgrag node set argument.
2587 (referenced_from_other_partition_p): New function.
2588 (lto_output_varpool_node): Take set arugment; call
2589 referenced_from_other_partition.
2590 (lto_output_ref): New.
2591 (add_references): New.
2593 (output_cgraph): Compute boundary based on references; output refs.
2594 (output_varpool): Accept cgraph_node_set argument.
2597 (input_cgraph): Call input_refs.
2598 * lto-section-in.c (lto_section_name): Add refs.
2599 * Makefile.in: (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
2600 (ipa-ref.o): New file.
2601 * varpool.c (varpool_node): Clear ipa ref list.
2602 (varpool_remove_node): Remove references.
2603 (dump_varpool_node): Dump references.
2604 (varpool_assemble_decl): Only compile finalized ones.
2605 (varpool_extra_name_alias): Initialize ref list.
2606 * lto-streamer.c (lto-get_section_name): Add .refs section.
2607 * lto-streamer.h (lto_section_type): Add LTO_section_refs.
2608 (referenced_from_other_partition_p): Declared.
2610 2010-05-06 Ira Rosen <irar@il.ibm.com>
2612 PR tree-optimization/43901
2613 * tree-vect-stmts.c (vectorizable_call): Assert that vector
2614 type is not NULL if it's transformation phase, and return
2615 FALSE if it's analysis.
2616 (vectorizable_conversion, vectorizable_operation,
2617 vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
2619 2010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
2621 * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
2623 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
2625 * config/mips/mips-protos.h
2626 (mips_small_register_classes_for_mode_p): Delete prototype.
2628 2010-05-06 Bernd Schmidt <bernds@codesourcery.com>
2630 * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
2631 * config/arm/arm.c (multiple_operation_profitable_p,
2632 compute_offset_order): New static functions.
2633 (load_multiple_sequence, store_multiple_sequence): Use them.
2634 Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
2635 memory offsets, not register numbers.
2636 (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
2638 2010-05-05 Steven Bosscher <steven@gcc.gnu.org>
2640 * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
2641 (get_pending_sizes, put_pending_size, put_pending_sizes):
2642 Update the uses of pending_sizes.
2643 * c-decl.c (store_parm_decls): Likewise.
2644 * c-tree.h (struct c_arg_info): Likewise.
2645 * tree.h: Update the prototype for get_pending_sizes and
2648 2010-05-05 Jason Merrill <jason@redhat.com>
2651 * c-common.c (handle_aligned_attribute): Respect
2652 ATTR_FLAG_TYPE_IN_PLACE.
2655 * target.h (struct gcc_target): Add attribute_takes_identifier_p.
2656 * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
2657 (TARGET_INITIALIZER): Use it.
2658 * c-common.c (attribute_takes_identifier_p): Call it.
2659 * c-common.h: Update prototype.
2660 * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
2661 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
2663 2010-05-05 Jakub Jelinek <jakub@redhat.com>
2666 * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
2667 DW_ID_down_case for Fortran compilation units.
2669 2010-05-05 Jan Hubicka <jh@suse.cz>
2671 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
2674 2010-05-05 Eric Botcazou <ebotcazou@adacore.com>
2676 * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
2677 a variable-sized RESULT_DECL.
2679 2010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
2681 * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
2683 2010-05-05 Jason Merrill <jason@redhat.com>
2686 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
2688 (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
2690 2010-05-05 Alexandre Oliva <aoliva@redhat.com>
2691 Jakub Jelinek <jakub@redhat.com>
2694 * df-problems.c (struct dead_debug_use, struct dead_debug): New.
2695 (dead_debug_init, dead_debug_finish): New functions.
2696 (dead_debug_add, dead_debug_insert_before): Likewise.
2697 (df_note_bb_compute): Initialize a dead_debug object, add dead
2698 debug uses to it, insert debug bind insns before death insns,
2699 reset debug insns that refer to pending uses at the end.
2700 * rtl.h (make_debug_expr_from_rtl): New prototype.
2701 * varasm.c (make_debug_expr_from_rtl): New function.
2703 2010-05-05 Jan Hubicka <jh@suse.cz>
2705 * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
2706 (lto_varpool_encoder_new, lto_varpool_encoder_delete,
2707 lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
2708 lto_varpool_encoder_deref, lto_varpool_encoder_size,
2709 lto_varpool_encoder_encode_initializer_p,
2710 lto_set_varpool_encoder_encode_initializer): New functions.
2711 (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
2712 call output_varpool.
2713 (input_varpool_node): Do not always set analyzed.
2714 (input_cgraph_1): Return vector of cgraph nodes.
2715 (input_varpool_1): Return vector of varpools.
2716 (input_cgraph): Free the vectors.
2717 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
2718 output only initializers needed.
2719 (lto_output): Only call output_cgraph.
2720 (produce_asm_for_decls): Call lto_varpool_encoder_delete.
2721 * lto-section-out.c (lto_new_out_decl_state): Initialize
2722 state->varpool_node_encoder.
2723 * lto-streamer.h (lto_varpool_encoder_d): New.
2724 (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
2725 (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
2726 (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
2727 lto_varpool_encoder_encode, lto_varpool_encoder_delete,
2728 lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
2730 (output_varpool, input_varpool): Remove declarations.
2732 2010-05-05 Jan Hubicka <jh@suse.cz>
2734 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
2735 with body can prevail.
2737 2010-05-05 Jan Hubicka <jh@suse.cz>
2739 * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
2742 2010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2744 * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
2746 * gengtype.h (erro_at_line): Constify pos argument.
2748 * gengtype.c: Include hashtab.h.
2749 (enum gc_used): Document GC_MAYBE_POINTED_TO.
2750 (error_at_line): Constify pos argument.
2751 (do_typedef): Initialize p->opt field.
2752 (get_file_gtfilename): Fix comment typo.
2753 (struct walk_type_data): Constify line field.
2754 (get_output_file_for_structure): New function.
2755 (write_local_func_for_structure): Constify orig_s argument.
2756 Use get_output_file_for_structure.
2757 (write_func_for_structure): Use get_output_file_for_structure.
2758 (INDENT): New define.
2759 (dump_pair, dump_type, dump_type_list, dump_typekind)
2760 (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
2761 (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
2763 (seen_types): New variable.
2764 (main): New variable do_dump. Process "-d" command line option.
2765 Call dump_everything if dump requested.
2767 2010-05-05 Jakub Jelinek <jakub@redhat.com>
2769 * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
2770 in a temporary instead of invoking the macro multiple times.
2771 (track_expr_p): Likewise.
2773 2010-05-04 Neil Vachharajani <nvachhar@google.com>
2775 * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
2777 * opts.c (decode_options): Enable -Werror=coverage-mismatch.
2778 * coverage.c (get_coverage_counts): Always emit a warning. Adjust
2779 conditions for printing notes.
2780 * common.opt (-Wcoverage-mismatch): Allow negative, default to
2781 true, update documentation.
2782 * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
2784 2010-05-04 Jakub Jelinek <jakub@redhat.com>
2787 * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
2790 2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
2793 * config/i386/i386.md (sse_prologue_save): Clobber CC register.
2794 (*sse_prologue_save_insn1): Likewise.
2795 (SSE prologue save splitter): Likewise.
2797 2010-05-04 Eric Botcazou <ebotcazou@adacore.com>
2799 * tree.c (free_lang_data_in_one_sizepos): New inline function.
2800 (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
2801 types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
2802 (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
2803 all decls. Call it on DECL_FIELD_OFFSET of fields.
2804 (find_decls_types_r): Follow DECL_VALUE_EXPR.
2805 (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
2807 2010-05-04 Martin Jambor <mjambor@suse.cz>
2809 * tree-sra.c (build_access_from_expr_1): The first parameter type
2810 changed to simple tree.
2811 (build_access_from_expr): Likewise, gsi parameter was eliminated.
2812 (scan_assign_result): Renamed to assignment_mod_result, enum elements
2814 (build_accesses_from_assign): Removed all parameters except for a
2815 simple gimple statement. Now returns a simple bool.
2816 (scan_function): All non-analysis parts moved to separate functions
2817 sra_modify_function_body and ipa_sra_modify_function_body. Removed all
2818 parameters and updated both callers.
2819 (sra_modify_expr): Removed parameter data.
2820 (sra_modify_function_body): New function.
2821 (perform_intra_sra): Call sra_modify_function_body to modify the
2823 (replace_removed_params_ssa_names): Parameter data changed into
2825 (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
2826 changed the parameter dont_convert to convert with the opposite
2828 (sra_ipa_modify_assign): Parameter data changed into adjustments
2829 vector, return value changed to bool.
2830 (ipa_sra_modify_function_body): New function.
2831 (sra_ipa_reset_debug_stmts): Updated a comment.
2832 (modify_function): Use ipa_sra_modify_function_body to modify function
2835 2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
2838 * alias.c (true_dependence): Handle the same VALUE in x and mem.
2839 (canon_true_dependence): Likewise.
2840 (write_dependence_p): Likewise.
2842 2010-05-04 Jan Hubicka <jh@suse.cz>
2844 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
2845 * cgraphbuild.c: Include ipa-utils.h
2846 (record_reference_ctx): New struct.
2847 (record_reference): Simplify to work on initializers; not statements.
2848 (mark_address, mark_load, mark_store): New.
2849 (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
2851 (record_references_in_initializer): Update use of record_reference.
2852 (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
2855 2010-05-04 Jan Hubicka <jh@suse.cz>
2857 * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
2858 node will be removed anyway.
2859 (lto_varpool_replace_node): Allow also unanalyzed nodes;
2860 relink aliases of node into prevailing node.
2861 * varpool.c (varpool_remove_node): Remove aliases properly;
2862 when removing node, remove all its aliases too; remove DECL_INITIAL
2863 of removed node; ggc_free the varpool node.
2865 2010-05-04 Richard Guenther <rguenther@suse.de>
2867 PR tree-optimization/43879
2868 * tree-ssa-structalias.c (alias_get_name): Use
2869 DECL_ASSEMBLER_NAME if available.
2870 (create_function_info_for): Return the varinfo node.
2871 (ipa_pta_execute): Associate same-body aliases and extra names
2872 with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
2874 2010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
2876 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
2878 2010-05-04 Mikael Pettersson <mikpe@it.uu.se>
2881 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
2882 only if HONOR_REG_ALLOC_ORDER is not defined.
2884 2010-05-04 Richard Guenther <rguenther@suse.de>
2886 PR tree-optimization/43949
2887 * tree-vrp.c (extract_range_from_binary_expr): Only handle
2890 2010-04-26 Jason Merrill <jason@redhat.com>
2892 * c.opt (-fstrict-enums): New.
2893 * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
2895 2010-05-03 David Ung <davidu@mips.com>
2896 James E. Wilson <wilson@codesourcery.com>
2898 * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
2899 emit the trap instruction before the divide for TUNE_74K.
2901 2010-05-03 Steven Bosscher <steven@gcc.gnu.org>
2903 * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
2904 (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
2905 based on the above, for new target hook.
2907 * hooks.c (hook_bool_mode_true): New generic hook.
2908 * hooks.h (hook_bool_mode_true): Add prototype.
2910 * target.h (struct gcc_target): Add small_register_classes_for_mode_p
2912 * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
2913 target hook, set to hook_bool_mode_false.
2914 * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
2915 * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
2916 with targetm.small_register_classes_for_mode_p.
2917 (find_reusable_reload): Likewise.
2918 (combine_reloads): Likewise.
2919 * reload1.c (reload_as_needed): Likewise.
2920 * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
2921 * ifcvt.c (noce_process_if_block, check_cond_move_block,
2922 dead_or_predicable): Likewise.
2923 * regmove.c (optimize_reg_copy_1): Likewise.
2924 * calls.c (prepare_call_address): Likewise.
2925 (precompute_register_parameters): Likewise.
2927 * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
2929 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
2930 implementation of the hook that considers all register classes
2931 small except for SH64.
2932 (sh_override_options): Use the new hook.
2933 * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
2936 * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
2938 * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
2939 implementation of the hook that considers all register classes
2941 * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
2944 * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
2946 * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
2947 implementation of the hook that considers all register classes
2949 * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
2952 * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
2954 * config/m32c/m32c.h: Likewise.
2955 * config/pdp11/pdp11.h: Likewise.
2956 * config/avr/avr.h: Likewise.
2957 * config/xtensa/xtensa.h: Likewise.
2958 * config/m68hc11/m68hc11.h: Likewise.
2959 * config/mn10300/mn10300.h: Likewise.
2960 * config/mcore/mcore.h: Likewise.
2961 * config/h8300/h8300.h: Likewise.
2962 * config/bfin/bfin.h: Likewise.
2964 * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
2965 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
2967 2010-05-03 Anatoly Sokolov <aesok@post.ru>
2969 * double-int.h (tree_to_double_int): Remove macro.
2970 (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
2971 * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
2972 (tree_to_double_int): New function.
2973 * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
2975 * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
2977 2010-05-03 Richard Guenther <rguenther@suse.de>
2979 PR tree-optimization/43971
2980 * tree-ssa-structalias.c (get_constraint_for_1): Fix
2981 constraints in the !flag_delete_null_pointer_checks case.
2983 2010-05-03 Jakub Jelinek <jakub@redhat.com>
2986 * config/i386/i386.c (ix86_delegitimize_address): Make sure the
2987 result mode matches original rtl mode.
2989 2010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
2992 * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
2994 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
2996 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
2997 when processing flag options.
2999 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
3001 * gcov-iov.c (main): Change format string placeholder
3002 from %#08x to 0x%08x.
3003 * genchecksum.c (dosum): Change format string placeholder
3004 from %#02x to 0x%02x.
3006 2010-05-02 Richard Guenther <rguenther@suse.de>
3008 PR tree-optimization/43879
3009 * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
3011 2010-05-02 Bruno Haible <bruno@clisp.org>
3013 * doc/extend.texi (Function Attributes): Fix a typo.
3015 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
3018 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
3019 placeholder from 0x%x to %#x.
3020 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
3021 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
3022 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
3023 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
3024 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
3025 * config/i386/i386.c (ix86_target_string): Ditto.
3026 * config/i386/i386.c (output_pic_addr_const): Ditto.
3027 (print_operand): Ditto.
3029 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
3031 * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
3032 placeholder from 0x%x to %#x.
3033 (ASM_OUTPUT_DEBUG_DATA1): Ditto.
3034 (ASM_OUTPUT_DEBUG_DATA4): Ditto.
3035 (ASM_OUTPUT_DEBUG_DATA): Ditto.
3036 (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
3037 (ASM_OUTPUT_DEBUG_DATA8): Ditto.
3038 * optc-gen.awk: Ditto.
3039 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
3040 (HOST_WIDE_INT_PRINT_HEX): Ditto.
3041 (HOST_WIDEST_INT_PRINT_HEX): Ditto.
3042 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
3044 2010-05-01 Anatoly Sokolov <aesok@post.ru>
3046 * target.h (struct calls): Add function_value_regno_p field.
3047 * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
3048 (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
3049 * targhooks.c (default_function_value_regno_p): New function.
3050 * targhooks.h (default_function_value_regno_p): Declare function.
3051 * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
3052 * builtins.c. (apply_result_size): (Ditto.).
3053 * combine.c. (likely_spilled_retval_p): (Ditto.).
3054 * mode-switching.c. Include 'target.h'.
3055 (create_pre_exit): Use function_value_regno_p hook.
3056 * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
3057 * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
3058 TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
3060 * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
3061 * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
3062 (ix86_function_value_regno_p): Declare as static, change argument
3063 type to const unsigned int.
3064 * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
3066 2010-05-01 Richard Guenther <rguenther@suse.de>
3068 PR tree-optimization/43949
3069 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
3071 (extract_range_from_binary_expr): Handle *_MOD_EXPR.
3073 2010-05-01 Anatoly Sokolov <aesok@post.ru>
3075 * rtl.h (CONST_DOUBLE_P): Define.
3076 (rtx_to_double_int): Declare.
3077 * emit-rtl.c (rtx_to_double_int): New function.
3078 * dwarf2out.c (insert_double): New function.
3079 (loc_descriptor, add_const_value_attribute): Clean up, use
3080 rtx_to_double_int and insert_double functions.
3082 2010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
3084 * doc/extend.texi (Inline): Add missing return keyword to examples.
3085 (Function Attributes, Variable Attributes, Pragmas): Hyphenate
3088 2010-04-30 Eric Botcazou <ebotcazou@adacore.com>
3090 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
3091 the variable part of the offset as well. Use highest_pow2_factor for
3092 all alignment checks.
3094 2010-04-30 Richard Guenther <rguenther@suse.de>
3096 PR tree-optimization/43879
3097 * tree-ssa-structalias.c (type_could_have_pointers): Functions
3100 2010-04-30 Jan Hubicka <jh@suse.cz>
3102 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
3104 (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
3106 2010-04-30 Jan Hubicka <jh@suse.cz>
3108 * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
3110 * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
3111 * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
3112 (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
3113 cgraph_node_set_needs_ltrans_p): Remove.
3115 2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
3117 * sdbout.c: Include vec.h, do not include varray.h.
3118 (deferred_global_decls, sdbout_global_decl,
3119 sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
3120 * toplev.c: Do not include varray.h.
3121 (dump_memory_report): Do not dump VARRAY statistics.
3122 * gengtype.c (open_base_file): Ignore varray.h.
3123 * Makefile.in: Update for abovementioned changes.
3124 Remove all traces of varray.c and varray.h.
3125 * varray.c: Remove file.
3126 * varray.h: Remove file.
3128 2010-04-30 Jan Hubicka <jh@suse.cz>
3130 * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
3133 2010-04-30 Jan Hubicka <jh@suse.cz>
3135 * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
3138 2010-04-30 Richard Guenther <rguenther@suse.de>
3140 * tree-ssa-structalias.c (get_constraint_for_1): Generate
3141 constraints for CONSTRUCTOR.
3143 2010-04-30 Richard Guenther <rguenther@suse.de>
3146 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
3147 first after all lowering passes.
3149 2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
3151 * toplev.c: Include varray.h for statistics dumping.
3152 * tree.h: Do not declare varray_head_tag.
3153 * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
3154 regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
3155 c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
3156 gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
3157 lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
3158 tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
3159 c-common.c, c-common.h, reg-stack.c, basic-block.h,
3160 tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
3162 * Makefile.in: Update for abovementioned changes.
3164 2010-04-30 Jakub Jelinek <jakub@redhat.com>
3167 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
3169 2010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
3171 * config/picochip/picochip.c (picochip_legitimize_address): Define.
3172 Use this function to do machine-specific conversion.
3173 (picochip_legitimize_reload_address): Likewise.
3174 (picochip_legitimate_address_p): Check valid base register only if
3176 (picochip_check_conditional_copy): Check for modw only if opnd is
3178 * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
3179 to call the function in c.
3180 * config/picochip/picochip-protos.h
3181 (picochip_legitimize_reload_address): Define.
3182 * config/picochip/picochip.md (supported_compare1): Define.
3184 2010-04-30 Jan Hubicka <jh@suse.cz>
3186 * cgraph.h (cgraph_local_info): Remove for_functions_valid.
3187 (cgraph_global_info): Remove inlined.
3188 (LTO_cgraph_tag_names): Remove.
3189 (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
3190 * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
3191 simplify cgraph tags and document.
3192 (lto_output_node): Use only LTO_cgraph_unavail_node and
3193 LTO_cgraph_analyzed_node; Do not save analzed, reachable,
3194 for_functions_valid, global info, process and output flags.
3195 (input_overwrite_node): Initialize estimated stack size and
3196 estimated growth. Do not read flags we no longer store.
3197 (input_node): Likewise do not read info no longer stored.
3198 * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
3201 2010-04-30 Richard Guenther <rguenther@suse.de>
3203 PR tree-optimization/43879
3204 * tree-ssa-structalias.c (get_constraint_for_1): Properly
3205 handle non-zero initializers.
3207 2010-04-30 Richard Guenther <rguenther@suse.de>
3209 * builtins.c (fold_builtin_1): Delete free (0).
3211 2010-04-29 Jan Hubicka <jh@suse.cz>
3213 * gengtype.c (open_base_files): Add lto-streamer.h
3214 * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
3215 (pass_ipa_cp): GGC collect.
3216 * toplev. (compile_file): Do not output symbols.
3217 * ipa-inline.c (pass_ipa_inline): Add ggc collect.
3218 * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
3219 TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
3220 * lto-section-in.c: Include ggc.h
3221 (lto_new_in_decl_state): Alloc in GGC.
3222 (lto_delete_in_decl_state): Likewise.
3223 * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
3226 2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
3229 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
3230 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
3231 (HONOR_REG_ALLOC_ORDER): Describe new macro.
3232 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
3233 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
3234 account only if HONOR_REG_ALLOC_ORDER is not defined.
3235 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
3236 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
3238 2010-04-29 Jon Grant <04@jguk.org>
3240 * collect2.c (vflag): Change type from int to bool.
3242 (helpflag): New global bool.
3243 (main): Set vflag and debug with boolean, not integer truth values.
3244 Accept new "--help" option and output usage text if found.
3245 * collect2.h (vflag): Update prototype.
3248 2010-04-29 H.J. Lu <hongjiu.lu@intel.com>
3251 * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
3253 2010-04-29 Richard Guenther <rguenther@suse.de>
3256 * plugin.h (invoke_plugin_callbacks): Annotate arguments
3257 with ATTRIBUTE_UNUSED.
3259 2010-04-29 H.J. Lu <hongjiu.lu@intel.com>
3262 * config/i386/i386.c (get_some_local_dynamic_name): Replace
3263 INSN_P with NONDEBUG_INSN_P.
3264 (distance_non_agu_define): Likewise.
3265 (distance_agu_use): Likewise.
3267 2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
3269 From Dominique d'Humieres <dominiq@lps.ens.fr>
3271 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
3274 2010-04-29 Brian Hackett <bhackett1024@gmail.com>
3276 * plugin.h (invoke_plugin_callbacks): New inline function.
3277 * plugin.c (flag_plugin_added): New global flag.
3278 (add_new_plugin): Initialize above flag.
3279 (invoke_plugin_callbacks): Rename to ...
3280 (invoke_plugin_callbacks_full): ... this.
3282 2010-04-28 Jan Hubicka <jh@suse.cz>
3284 * lto-symtab.c (lto_symtab_entry_def) Add vnode.
3285 (lto_varpool_replace_node): New.
3286 (lto_symtab_resolve_symbols): Resolve varpool nodes.
3287 (lto_symtab_merge_decls_1): Prefer decls with varpool node.
3288 (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
3289 * cgraph.h (varpool_node_ptr): New type.
3290 (varpool_node_ptr): New vector.
3291 (varpool_node_set_def): New structure.
3292 (varpool_node_set): New type.
3293 (varpool_node_set): New vector.
3294 (varpool_node_set_element_def): New structure.
3295 (varpool_node_set_element, const_varpool_node_set_element): New types.
3296 (varpool_node_set_iterator): New type.
3297 (varpool_node): Add prev pointers, add used_from_other_partition,
3299 (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
3300 varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
3301 varpool_get_node, varpool_remove_node): Declare.
3302 (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
3303 varpool_node_set_size): New inlines.
3304 * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
3305 * tree-pass.h (varpool_node_set_def): Forward declare.
3306 (ipa_opt_pass_d): Summary writting takes vnode sets too.
3307 (ipa_write_optimization_summaries): Update prototype.
3308 * ipa-cp.c (ipcp_write_summary): Update.
3309 * ipa-reference.c (ipa_reference_write_summary): Update.
3310 * lto-cgraph.c (lto_output_varpool_node): New static function.
3311 (output_varpool): New function.
3312 (input_varpool_node): New static function.
3313 (input_varpool_1): New function.
3314 (input_cgraph): Input varpool.
3315 * ipa-pure-const.c (pure_const_write_summary): Update.
3316 * lto-streamer-out.c (lto_output): Update, output varpool too.
3317 (write_global_stream): Kill WPA hack.
3318 (produce_asm_for_decls): Update.
3319 (output_alias_pair_p): Handle variables.
3320 (output_unreferenced_globals): Output only needed partition of varpool.
3321 * ipa-inline.c (inline_write_summary): Update.
3322 * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
3324 * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
3325 * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
3326 varpool_node_set_new, varpool_node_set_add,
3327 varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
3328 debug_varpool_node_set): New functions.
3329 * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
3330 (execute_one_pass): Process new decls too.
3331 (ipa_write_summaries_2): Pass around vsets.
3332 (ipa_write_summaries_1): Likewise.
3333 (ipa_write_summaries): Build vset; be more selective about cgraph nodes
3335 (ipa_write_optimization_summaries_1): Pass around vsets.
3336 (ipa_write_optimization_summaries): Likewise.
3337 * varpool.c (varpool_get_node): New.
3338 (varpool_node): Update doubly linked lists.
3339 (varpool_remove_node): New.
3340 (dump_varpool_node): More dumping.
3341 (varpool_enqueue_needed_node): Update doubly linked lists.
3342 (decide_is_variable_needed): Kill ltrans hack.
3343 (varpool_finalize_decl): Kill lto hack.
3344 (varpool_assemble_decl): Skip decls in other partitions.
3345 (varpool_assemble_pending_decls): Update doubly linkes lists.
3346 (varpool_empty_needed_queue): Likewise.
3347 (varpool_extra_name_alias): Likewise.
3348 * lto-streamer.c (lto_get_section_name): Add vars section.
3349 * lto-streamer.h (lto_section_type): Update.
3350 (output_varpool, input_varpool): Declare.
3352 2010-04-28 Mike Stump <mikestump@comcast.net>
3354 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
3356 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
3358 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
3359 record or union type with RECORD_OR_UNION_TYPE_P predicate.
3360 (lto_input_ts_type_tree_pointers): Likewise.
3361 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
3362 (lto_output_ts_type_tree_pointers): Likewise.
3364 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
3366 Uniquization of constants at the Tree level
3367 * tree.h (DECL_IN_CONSTANT_POOL): New macro.
3368 (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
3370 (tree_output_constant_def): Declare.
3371 * gimplify.c (gimplify_init_constructor): When using block copy, first
3372 uniquize the constant constructor on the RHS.
3373 * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
3374 DECL_IN_CONSTANT_POOL flag.
3375 * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
3376 * varasm.c (make_decl_rtl): Deal with variables belonging to the global
3378 (assemble_variable): Deal with symbols belonging to the tree constant
3380 (get_constant_section): Add ALIGN parameter and simplify.
3381 (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
3382 (assemble_constant_contents): Use the expression of the VAR_DECL.
3383 (output_constant_def_contents): Use the alignment of the VAR_DECL.
3384 (tree_output_constant_def): New global function.
3385 (mark_constant): Use the expression of the VAR_DECL.
3386 (place_block_symbol): Use the alignment of the VAR_DECL and the size of
3388 (output_object_block): Likewise and assemble the expression.
3390 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
3392 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
3393 hash_tree, eq_tree): New tree hash table.
3394 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
3395 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
3396 lto_orig_address_remove): Reimplement.
3398 2010-04-28 Xinliang David Li <davidxl@google.com>
3401 * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
3402 (compute_uninit_opnds_pos): New function.
3403 (is_non_loop_exit_postdominating): New function.
3404 (compute_control_dep_chain): New function.
3405 (find_pdom): New function.
3406 (convert_control_dep_chain_into_preds): New function.
3407 (find_predicates): New function.
3408 (find_control_equiv_block): New function.
3409 (collect_phi_def_edges): New function.
3410 (find_def_preds): New function.
3411 (find_dom): New function.
3412 (dump_predicates): New function.
3413 (get_cmp_code): New function.
3414 (is_value_included_in): New function.
3415 (find_matching_predicate_in_rest_chains): New function.
3416 (use_pred_not_overlap_with_undef_path_pred): New function.
3417 (is_use_properly_guarded): New function.
3418 (normalize_cond_1): New function.
3419 (is_and_or_or): New function.
3420 (normalize_cond): New function.
3421 (is_gcond_subset_of): New function.
3422 (is_subset_of_any): New function.
3423 (is_or_set_subset_of): New function.
3424 (is_and_set_subset_of): New function.
3425 (is_norm_cond_subset_of): New function.
3426 (is_pred_expr_subset_of): New function.
3427 (is_pred_chain_subset_of): New function.
3428 (is_included_in): New function.
3429 (is_superset_of): New function.
3430 (find_uninit_use): New function.
3431 (warn_uninitialized_phi): New function.
3432 (compute_possibly_undefined_names): New function.
3433 (ssa_undefined_value_p): New function.
3434 (execute_late_warn_uninitialized): New function.
3435 * tree-ssa.c (ssa_undefined_value_p): Removed.
3436 (warn_uninit): Changed to extern.
3437 (warn_uninitialized_phi): Removed.
3438 (warn_uninitialized_vars): Changed to extern.
3439 (execute_late_warn_uninitialized): Removed
3440 * tree-flow.h: Add new prototypes.
3441 * timevar.def: Add new time variable.
3442 * Makefile.in: Add new build file.
3444 2010-04-28 Uros Bizjak <ubizjak@gmail.com>
3446 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
3449 2010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3452 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
3454 2010-04-28 Martin Jambor <mjambor@suse.cz>
3456 * cgraph.h (struct cgraph_node): New field indirect_calls.
3457 (struct cgraph_indirect_call_info): New type.
3458 (struct cgraph_edge): Removed field indirect_call. New fields
3459 indirect_info, indirect_inlining_edge and indirect_unknown_callee.
3460 (cgraph_create_indirect_edge): Declare.
3461 (cgraph_make_edge_direct): Likewise.
3462 (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
3463 * ipa-prop.h (struct ipa_param_call_note): Removed.
3464 (struct ipa_node_params): Removed field param_calls.
3465 (ipa_create_all_structures_for_iinln): Declare.
3466 * cgraph.c: Described indirect edges and uids in initial comment.
3467 (cgraph_add_edge_to_call_site_hash): New function.
3468 (cgraph_edge): Search also among the indirect edges, use
3469 cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
3470 (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
3471 one, use cgraph_add_edge_to_call_site_hash to add edges to the call
3473 (initialize_inline_failed): Assign a reason to indirect edges.
3474 (cgraph_create_edge_1): New function.
3475 (cgraph_create_edge): Moved some functionality to
3476 cgraph_create_edge_1.
3477 (cgraph_create_indirect_edge): New function.
3478 (cgraph_edge_remove_callee): Add an assert checking for
3480 (cgraph_edge_remove_caller): Special-case indirect edges.
3481 (cgraph_remove_edge): Likewise.
3482 (cgraph_set_edge_callee): New function.
3483 (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
3484 (cgraph_make_edge_direct): New function.
3485 (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
3486 the declaration of the call statement matches.
3487 (cgraph_node_remove_callees): Special-case indirect edges.
3488 (cgraph_clone_edge): Likewise.
3489 (cgraph_clone_node): Clone also the indirect edges.
3490 (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
3491 indirect_call, dump count of indirect_calls edges.
3492 * ipa-prop.c (iinlining_processed_edges): New variable.
3493 (ipa_note_param_call): Create indirect edges instead of
3494 creating notes. New parameter node.
3495 (ipa_analyze_call_uses): New parameter node, pass it on to
3496 ipa_note_param_call.
3497 (ipa_analyze_stmt_uses): Likewise.
3498 (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
3499 (print_edge_addition_message): Work on edges rather than on notes.
3500 (update_call_notes_after_inlining): Likewise, renamed to
3501 update_indirect_edges_after_inlining.
3502 (ipa_create_all_structures_for_iinln): New function.
3503 (ipa_free_node_params_substructures): Do not free notes.
3504 (ipa_edge_duplication_hook): Propagate bits within
3505 iinlining_processed_edges bitmap.
3506 (ipa_node_duplication_hook): Do not duplicate notes.
3507 (free_all_ipa_structures_after_ipa_cp): Renamed to
3508 ipa_free_all_structures_after_ipa_cp.
3509 (free_all_ipa_structures_after_iinln): Renamed to
3510 ipa_free_all_structures_after_iinln.
3511 (ipa_write_param_call_note): Removed.
3512 (ipa_read_param_call_note): Removed.
3513 (ipa_write_indirect_edge_info): New function.
3514 (ipa_read_indirect_edge_info): Likewise.
3515 (ipa_write_node_info): Do not stream notes, do stream information
3517 (ipa_read_node_info): Likewise.
3518 (lto_ipa_fixup_call_notes): Removed.
3519 * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
3520 * ipa-inline.c (pass_ipa_inline): Likewise.
3521 * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
3522 * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
3523 * tree-inline.c (copy_bb): Removed an unnecessary double check for
3525 * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
3527 * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
3528 (output_cgraph): Stream also indirect edges.
3529 (lto_output_edge): Added capability to stream indirect edges.
3530 (input_edge): Likewise.
3531 (input_cgraph_1): Likewise.
3532 * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
3535 2010-04-28 Richard Guenther <rguenther@suse.de>
3537 PR tree-optimization/43879
3538 PR tree-optimization/43909
3539 * tree-ssa-structalias.c (struct variable_info): Add
3540 only_restrict_pointers flag.
3541 (new_var_info): Initialize it. Increment stats.total_vars here.
3542 (create_function_info_for): Do not increment stats.total_vars here.
3543 (get_function_part_constraint): Fix build with C++.
3544 (insert_into_field_list): Remove.
3545 (push_fields_onto_fieldstack): Properly merge fields.
3546 (create_variable_info_for): Split and simplify.
3547 (create_variable_info_for_1): New piece.
3548 (intra_create_variable_infos): Properly make restrict constraints
3551 2010-04-28 Richard Guenther <rguenther@suse.de>
3554 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
3556 2010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
3557 Jan Hubicka <hubicka@ucw.cz>
3559 * doc/invoke.texi (-Wsuggest-attribute=const,
3560 -Wsuggest-attribute=pure): Document.
3561 * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
3562 (function_always_visible_to_compiler_p,
3563 suggest_attribute, warn_function_pure, warn_function_const):
3565 (check_call): Improve debug info.
3566 (analyze_function): Do not check availability.
3567 (add_new_function): Check availability.
3568 (propagate): Output warnings.
3569 (skip_function_for_local_pure_const): New function.
3570 (local_pure_const): Use it; output warnings.
3571 * common.opt (Wsuggest-attribute=const,
3572 Wsuggest-attribute=pure): New.
3574 2010-04-27 Jakub Jelinek <jakub@redhat.com>
3576 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
3577 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
3578 or DW_CFA_def_cfa_offset{,_sf}.
3580 2010-04-27 Eric Botcazou <ebotcazou@adacore.com>
3582 * tree.h: Fix truncated long macros.
3584 2010-04-27 Kai Tietz <kai.tietz@onevision.com>
3586 * collect2.c (TARGET_64BIT): Redefine to target's default.
3587 * tlink.c: Likewise.
3588 * config/i386/cygming.h (USER_LABEL_PREFIX): Define
3589 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
3590 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
3591 for underscoring __USER_LABEL_PREFIX__.
3592 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
3593 (SUB_LINK_ENTRY32): New.
3594 (SUB_LINK_ENTRY64): New.
3595 (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
3596 * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
3597 (SUB_LINK_ENTRY64): New.
3598 (SUB_LINK_ENTRY): New.
3599 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
3600 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
3601 x64 target is choosen.
3602 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
3603 * configure: Regenerated.
3604 * configure.ac (leading-mingw64-underscores): Option added.
3606 2010-04-27 Jan Hubicka <jh@suse.cz>
3608 * doc/invoke.texi (-fipa-profile): Document.
3609 * opts.c (decode_options): Enable ipa-profile at -O1.
3610 * timevar.def (TV_IPA_PROFILE): Define.
3611 * common.opt (fipa-profile): Add.
3612 * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
3614 (cgraph_propagate_frequency): Handle only local ones.
3615 * tree-pass.h (pass_ipa_profile): Declare.
3616 * ipa-profile.c (gate_profile): Use flag_ipa_profile.
3617 (pass_ipa_profile): Use TV_IPA_PROFILE.
3618 * ipa.c (ipa_profile): New function.
3619 (gate_ipa_profile): Likewise.
3620 (pass_ipa_profile): New global variable.
3621 * passes.c (pass_ipa_profile): New.
3623 2010-04-27 Nathan Froyd <froydnj@codesourcery.com>
3625 * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
3627 2010-04-27 Martin Jambor <mjambor@suse.cz>
3630 * ipa.c (dissolve_same_comdat_group_list): New function.
3631 (function_and_variable_visibility): Call
3632 dissolve_same_comdat_group_list when comdat group contains external or
3634 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
3635 lists are circular and that they contain only DECL_ONE_ONLY nodes.
3637 2010-04-27 Eric Botcazou <ebotcazou@adacore.com>
3639 * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
3640 (const_hash_1) <VECTOR_CST>: New case.
3641 (compare_constant) <VECTOR_CST>: Likewise.
3642 <ADDR_EXPR>: Deal with LABEL_REFs.
3643 (copy_constant) <VECTOR_CST>: New case.
3645 2010-04-27 Jan Hubicka <jh@suse.cz>
3647 * cgraph.c (cgraph_propagate_frequency): New function.
3648 * cgraph.h (cgraph_propagate_frequency): Declare.
3649 * ipa-inline.c (cgraph_clone_inlined_nodes): Call
3650 cgraph_propagate_frequency.
3652 2010-04-27 Jakub Jelinek <jakub@redhat.com>
3654 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
3656 2010-04-27 Bernd Schmidt <bernds@codesourcery.com>
3659 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
3660 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
3661 here to determine which regs to push and how much stack to reserve.
3663 2010-04-27 Jie Zhang <jie@codesourcery.com>
3665 * doc/gimple.texi (gimple_statement_with_ops): Remove
3666 addresses_taken field.
3667 (gimple_statement_with_memory_ops): Likewise.
3669 2010-04-27 Jan Hubicka <jh@suse.cz>
3671 * tree-inline.c (eni_inlining_weights): Remove.
3672 (estimate_num_insns): Special case more builtins.
3674 2010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
3677 * c-typeck.c (build_binary_op): Move forward check for comparison
3678 pointer with null pointer constant and adjust the diagnostic message.
3680 2010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
3683 * configure.ac (gcc_cv_as_section_has_align): Set if installed
3684 binutils supports extended .section directive needed by LTO, or
3685 warn if older binutils found.
3686 (LTO_BINARY_READER): New AC_SUBST'd variable.
3687 (LTO_USE_LIBELF): Likewise.
3688 * gcc/config.gcc (lto_binary_reader): New target-specific configure
3690 * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
3691 (LTO_USE_LIBELF): Likewise.
3692 * configure: Regenerate.
3694 * collect2.c (is_elf): Rename from this ...
3695 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
3696 object files in addition to ELF-formatted ones.
3697 (scan_prog_file): Caller updated. Also allow for LTO info marker
3698 symbol to be prefixed or not by an extra underscore.
3700 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
3701 * config/i386/winnt.c: Also #include lto-streamer.h
3702 (i386_pe_asm_named_section): Specify 1-byte section alignment for
3704 (i386_pe_asm_output_aligned_decl_common): Add comment.
3705 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
3707 2010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
3710 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
3711 Add missing earlyclobber for second alternative.
3713 2010-04-26 Bernd Schmidt <bernds@codesourcery.com>
3715 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
3716 bits for artificial defs at the top of the block.
3717 * fwprop.c (single_def_use_enter_block): Don't call it.
3719 2010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
3722 * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
3723 instead of "$gcc_cv_objdump -T".
3724 Use "-undefined dynamic_lookup" on darwin.
3725 * gcc/configure: Regenerate.
3727 2010-04-26 Jakub Jelinek <jakub@redhat.com>
3730 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
3732 2010-04-26 Nathan Froyd <froydnj@codesourcery.com>
3734 * c-parser.c (struct c_token): Move location field up.
3735 * c-tree.h (struct c_typespec): Move expr_const_operands field up.
3736 (struct c_declspecs): Convert typespec_word, storage_class, and
3737 default_int_p into bitfields.
3738 (struct c_declarator): Move loc field up.
3740 2010-04-26 Nathan Froyd <froydnj@codesourcery.com>
3742 * cfgloop.h (struct loop): Move can_be_parallel field up.
3743 * ipa-prop.h (struct ip_node_params): Move bitfields up.
3744 * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
3746 (struct iv_cand): Convert pos field into a bitfield.
3747 * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
3749 (struct _stmt_vec_info): Shuffle fields for better packing.
3751 2010-04-26 Eric Botcazou <ebotcazou@adacore.com>
3753 * varasm.c (IN_NAMED_SECTION): Remove guard.
3754 * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
3755 (IN_NAMED_SECTION_P): ...this.
3756 (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
3757 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
3759 2010-04-26 Eric Botcazou <ebotcazou@adacore.com>
3761 * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
3762 Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
3763 of shadowing it. Fix comments.
3765 2010-04-26 Jan Hubicka <jh@suse.cz>
3767 * cgraph.c (cgraph_create_node): Set node frequency to normal.
3768 (cgraph_clone_node): Copy function frequency.
3769 * cgraph.h (node_frequency): New enum
3770 (struct cgraph_node): Add.
3771 * final.c (rest_of_clean_state): Update.
3772 * lto-cgraph.c (lto_output_node): Output node frequency.
3773 (input_overwrite_node): Input node frequency.
3774 * tre-ssa-loop-ivopts (computation_cost): Update.
3775 * lto-streamer-out.c (output_function): Do not output function
3777 * predict.c (maybe_hot_frequency_p): Update and handle functions
3779 (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
3781 (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
3782 (compute_function_frequency): Set noreturn functions to be executed
3784 (choose_function_section): Update.
3785 * lto-streamer-in.c (input_function): Do not input function frequency.
3786 * function.c (allocate_struct_function): Do not initialize function
3788 * function.h (function_frequency): Remove.
3789 (struct function): Remove function frequency.
3790 * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
3791 (try_update): Update.
3792 * tree-inline.c (initialize_cfun): Do not update function frequency.
3793 * passes.c (pass_init_dump_file): Update.
3794 * i386.c (ix86_compute_frame_layout): Update.
3795 (ix86_pad_returns): Update.
3797 2010-04-26 Jie Zhang <jie@codesourcery.com>
3799 PR tree-optimization/43833
3800 * tree-vrp.c (range_int_cst_p): New.
3801 (range_int_cst_singleton_p): New.
3802 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
3803 when both operands are constants. Use range_int_cst_p in
3806 2010-04-26 Jan Hubicka <jh@suse.cz>
3808 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
3810 2010-04-26 Richard Guenther <rguenther@suse.de>
3813 * gimple.c (gimple_decl_printable_name): Deal gracefully
3814 with a NULL DECL_NAME.
3816 2010-04-26 Richard Guenther <rguenther@suse.de>
3819 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
3820 if emitting debug information and it is either a function
3821 or a namespace decl.
3823 2010-04-26 Ira Rosen <irar@il.ibm.com>
3825 * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
3826 determine if the statement is vectorizable, and a macro to access it.
3827 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
3828 Skip statements that can't be vectorized. If the analysis fails,
3829 mark the statement as unvectorizable if vectorizing basic block.
3830 (vect_compute_data_refs_alignment): Likewise.
3831 (vect_verify_datarefs_alignment): Skip statements marked as
3832 unvectorizable. Add print.
3833 (vect_analyze_group_access): Skip statements that can't be
3834 vectorized. If the analysis fails, mark the statement as
3835 unvectorizable if vectorizing basic block.
3836 (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
3837 * tree-vect-stmts.c (vectorizable_store): Fix the number of
3838 generated stmts for SLP.
3839 (new_stmt_vec_info): Initialize the new field.
3840 * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
3841 statements marked as unvectorizable.
3843 2010-04-25 Joseph Myers <joseph@codesourcery.com>
3845 * c-common.c (flag_isoc1x): New.
3846 (flag_isoc99): Update comment.
3847 * c-common.h (flag_isoc1x): New.
3848 (flag_isoc99): Update comment.
3849 * c-cppbuiltin.c (builtin_define_float_constants): Also define
3850 __<type>_DECIMAL_DIG__.
3851 * c-opts.c (set_std_c1x): New.
3852 (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
3853 (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
3854 * c.opt (-std=c1x, -std=gnu1x): New options.
3855 * doc/cpp.texi: Mention -std=c1x.
3856 * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
3857 * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
3858 * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
3859 * doc/standards.texi: Mention C1X.
3860 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
3861 LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
3862 LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
3865 2010-04-25 Uros Bizjak <ubizjak@gmail.com>
3867 * config/i386/gmon-sol2.c (_mcleanup): Change format string
3868 placeholder from 0x%x to %#x.
3869 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
3870 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
3871 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
3872 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
3873 * config/i386/i386.c (ix86_target_string): Ditto.
3874 (output_pic_addr_const): Ditto.
3875 (print_operand): Ditto.
3877 2010-04-25 Paolo Bonzini <bonzini@gnu.org>
3879 * combine.c (find_split_point): Add third argument. Use it
3880 to find nested multiply-accumulate instructions. Adjust calls.
3881 (try_combine): Adjust call to find_split_point.
3883 2010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
3885 * doc/contrib.texi (Contributors): Add Dodji Seketeli.
3887 2010-04-24 Bernd Schmidt <bernds@codesourcery.com>
3889 PR tree-optimization/41442
3890 * fold-const.c (merge_truthop_with_opposite_arm): New function.
3891 (fold_binary_loc): Call it.
3893 2010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
3895 * toplev.c (general_init): Set default for fdiagnostics-show-option.
3896 * opts.c (common_handle_option): Allow disabling it.
3897 * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
3899 2010-04-23 Eric Botcazou <ebotcazou@adacore.com>
3901 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
3902 between modes if both types are integral.
3904 2010-04-23 Richard Guenther <rguenther@suse.de>
3906 PR tree-optimization/43572
3907 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
3909 2010-04-23 Richard Guenther <rguenther@suse.de>
3912 * tree-inline.c (tree_can_inline_p): Also check compatibility
3915 2010-04-23 Martin Jambor <mjambor@suse.cz>
3917 PR tree-optimization/43846
3918 * tree-sra.c (struct access): New flag grp_assignment_read.
3919 (build_accesses_from_assign): Set grp_assignment_read.
3920 (sort_and_splice_var_accesses): Propagate grp_assignment_read.
3921 (enum mark_read_status): New type.
3922 (analyze_access_subtree): Propagate grp_assignment_read, create
3923 accesses also if both direct_read and root->grp_assignment_read.
3925 2010-04-23 Martin Jambor <mjambor@suse.cz>
3928 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
3929 function does not have type attributes.
3931 2010-04-23 Richard Guenther <rguenther@suse.de>
3934 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
3937 2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3939 * sese.h (create_if_region_on_edge): Remove.
3941 * sese.c (create_if_region_on_edge): Make static.
3943 * tree-inline.c: Do not include ggc.h.
3945 * expr.c: Do not include ggc.h.
3947 * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
3950 2010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
3953 * config/sh/sh.c (find_barrier): Don't emit a constant pool
3954 in the middle of insns for casesi_worker_2.
3956 2010-04-22 David Edelsohn <edelsohn@gnu.org>
3958 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
3960 2010-04-22 Ira Rosen <irar@il.ibm.com>
3962 PR tree-optimization/43842
3963 * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
3964 loop unrolling in update of exit phis. Fix comment.
3965 * tree-vect-slp.c (vect_analyze_slp): Check that there are at
3966 least two reduction statements in the loop before starting SLP
3969 2010-04-22 Nick Clifton <nickc@redhat.com>
3971 * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
3973 2010-04-22 Alexander Monakov <amonakov@ispras.ru>
3975 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
3978 2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3980 * tree-parloops.c (loop_parallel_p): New argument
3981 parloop_obstack. Pass it down.
3982 (parallelize_loops): New variable parloop_obstack. Initialize it,
3983 pass it down, free it.
3985 * tree-loop-linear.c (linear_transform_loops): Pass down
3988 * tree-data-ref.h (lambda_compute_access_matrices): New argument
3989 of type struct obstack *.
3991 * tree-data-ref.c (analyze_subscript_affine_affine): New variable
3992 scratch_obstack. Initialize it, pass down, free it.
3994 * lambda.h (lambda_loop_new): Remove.
3995 (lambda_matrix_new, lambda_matrix_inverse)
3996 (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
3997 argument of type struct obstack *.
3999 * lambda-trans.c (lambda_trans_matrix_new): New argument
4000 lambda_obstack. Pass it down, use obstack allocation for ret.
4001 (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
4004 * lambda-mat.c (lambda_matrix_get_column)
4005 (lambda_matrix_project_to_null): Remove.
4006 (lambda_matrix_new): New argument lambda_obstack. Use obstack
4008 (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
4011 * lambda-code.c (lambda_loop_new): New function.
4012 (lambda_lattice_new, compute_nest_using_fourier_motzkin)
4013 (lambda_compute_auxillary_space, lambda_compute_target_space)
4014 (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
4015 (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
4016 (build_access_matrix): New argument lambda_obstack. Use obstack
4018 (lambda_compute_step_signs, lambda_compute_access_matrices): New
4019 argument lambda_obstack. Pass it down.
4021 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
4023 * optabs.h (expand_widening_mult): Declare.
4025 2010-04-22 Richard Guenther <rguenther@suse.de>
4027 PR tree-optimization/43845
4028 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
4029 lookup the CALL_EXPR function and arguments.
4031 2010-04-22 Nick Clifton <nickc@redhat.com>
4033 * config/stormy16/stormy16.c
4034 (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
4035 * config/stormy16/stormy16.h: Tidy up formatting.
4036 (DONT_USE_BUILTIN_SETJMP): Remove definition.
4037 * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
4038 (ineqbranchsi): Delete pattern.
4039 * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
4040 * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
4041 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
4042 stormy16-lib2-ucmpsi2.c.
4044 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
4046 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
4047 df_simulate_find_noclobber_defs as appropriate. Keep track of an
4048 extra set merge_set_noclobber, and use it to relax the final test
4050 * df.h (df_simulate_find_noclobber_defs): Declare.
4051 * df-problems.c (df_simulate_find_defs): Don't ignore partial or
4053 (df_simulate_find_noclobber_defs): New function.
4055 2010-04-22 Uros Bizjak <ubizjak@gmail.com>
4057 * config/i386/i386.md: Use {} around multi-line preparation statements.
4059 2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4061 * c-tree.h (push_init_level, pop_init_level, set_init_index)
4062 (process_init_element): New argument of type struct obstack *.
4064 * c-typeck.c (push_init_level, pop_init_level, set_designator)
4065 (set_init_index, set_init_label, set_nonincremental_init)
4066 (set_nonincremental_init_from_string, find_init_member)
4067 (output_init_element, output_pending_init_elements)
4068 (process_init_element): New argument braced_init_obstack. Pass it
4070 (push_range_stack, add_pending_init): New argument
4071 braced_init_obstack. Use obstack allocation.
4073 * c-parser.c (c_parser_initelt, c_parser_initval): New argument
4074 braced_init_obstack. Pass it down.
4075 (c_parser_braced_init): New variables ret, braced_init_obstack.
4076 Initialize obstack, pass it down and finally free it.
4078 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
4081 * tree-pass.h (pass_optimize_widening_mul): Declare.
4082 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
4083 gate_optimize_widening_mul): New static functions.
4084 (pass_optimize_widening_mul): New.
4085 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
4086 <case MULT_EXPR>: Remove support for widening multiplies.
4087 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
4088 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
4089 simplify_gen_unary rather than directly building extensions.
4090 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
4092 * expmed.c (expand_widening_mult): New function.
4093 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
4095 2010-04-21 Jan Hubicka <jh@suse.cz>
4097 * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
4098 * lto-section-in.c (lto_section_name): Remove wpa_fixup.
4099 * lto-wpa-fixup.c: Remove.
4100 * Makefile.in (lto-wpa-fixup.o): Remove.
4101 * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
4102 (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
4103 * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
4105 2010-04-21 Jan Hubicka <jh@suse.cz>
4107 * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
4108 add write_optimization_summary, read_optimization_summary.
4109 (ipa_write_summaries_of_cgraph_node_set): Remove.
4110 (ipa_write_optimization_summaries): Declare.
4111 (ipa_read_optimization_summaries): Declare.
4112 * ipa-cp.c (pass_ipa_cp): Update.
4113 * ipa-reference.c (pass_ipa_reference): Update.
4114 * ipa-pure-const.c (pass_ipa_pure_const): Update.
4115 * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
4117 * ipa-inline.c (pass_ipa_inline): Update.
4118 * ipa.c (pass_ipa_whole_program): Update.
4119 * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
4120 * passes.c (ipa_write_summaries_1): Do not test wpa.
4121 (ipa_write_optimization_summaries_1): New.
4122 (ipa_write_optimization_summaries): New.
4123 (ipa_read_summaries): Do not test ltrans.
4124 (ipa_read_optimization_summaries_1): New.
4125 (ipa_read_optimization_summaries): New.
4127 2010-04-21 Jan Hubicka <jh@suse.cz>
4129 * lto-cgraph.c (lto_output_node): Do not output comdat groups
4131 (output_cgraph): Do not arrange comdat groups for boundary nodes.
4133 2010-04-21 Jakub Jelinek <jakub@redhat.com>
4136 * dwarf2out.c (add_name_and_src_coords_attributes): Add
4137 DW_AT_{,MIPS_}linkage_name even for Fortran decls.
4139 2010-04-21 Jan Hubicka <jh@suse.cz>
4141 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
4143 2010-04-21 Jan Hubicka <jh@suse.cz>
4145 * varpool.c (decide_is_variable_needed): Variable is always needed
4148 2010-04-21 Jan Hubicka <jh@suse.cz>
4150 * opts.c (decode_options): Enable pure-const pass for whopr.
4152 2010-04-21 Jan Hubicka <jh@suse.cz>
4154 * cgraph.c (dump_cgraph_node): Dump also assembler name.
4155 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
4157 (cgraph_decide_inlining): Do not expect callee to be removed in all
4160 2010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
4162 * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
4164 2010-04-21 Uros Bizjak <ubizjak@gmail.com>
4166 * config/i386/i386.md (x86_shrd): Add athlon_decode and
4167 amdfam10_decode attributes.
4169 2010-04-21 Jakub Jelinek <jakub@redhat.com>
4172 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
4173 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
4174 (lower_copyprivate_clauses): Use private var in outer
4175 context instead of original var. Make sure the types
4176 are correct for VLAs.
4178 2010-04-21 Richard Guenther <rguenther@suse.de>
4180 * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
4181 to non-pointer objects.
4183 2010-04-21 Jakub Jelinek <jakub@redhat.com>
4185 * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
4186 last chain entry if it starts with the still current label.
4187 (add_location_or_const_value_attribute): Check that
4188 loc_list->first->next is NULL instead of comparing ->first with ->last.
4189 (dwarf2out_var_location): Pass last_label resp. last_postcall_label
4190 to add_var_loc_to_decl.
4192 * dwarf2out.c (output_call_frame_info): For dw_cie_version
4193 >= 4 add also address size and segment size fields into CIE header.
4195 * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
4196 long as address size is the same as sizeof (void *) and
4198 * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
4199 address size or segment size is unexpected, return DW_EH_PE_omit.
4200 (classify_object_over_fdes): If get_cie_encoding returned
4201 DW_EH_PE_omit, return -1.
4202 (init_object): If classify_object_over_fdes returned -1,
4203 pretend there were no FDEs at all.
4205 2010-04-21 Uros Bizjak <ubizjak@gmail.com>
4207 * config/i386/i386.md (bswap<mode>2): Macroize expander from
4208 bswap{si,di}2 using SWI48 mode iterator.
4209 (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
4210 SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
4211 set modrm attribute of bswap insn to 0 and remove length attribute.
4212 (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
4213 iterator. Set type attribute to bitmanip, set modrm attribute to 0,
4214 set mode attribute to <MODE> and remove length attribute.
4216 2010-04-20 James E. Wilson <wilson@codesourcery.com>
4218 PR rtl-optimization/43520
4219 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
4220 zero available registers.
4222 2010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4224 * builtins.c (fold_builtin_cproj): Fold more cases.
4226 2010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4228 * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
4229 (fold_builtin_1): Fold builtin cproj.
4230 * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
4231 Use ATTR_CONST_NOTHROW_LIST.
4233 2010-04-20 Uros Bizjak <ubizjak@gmail.com>
4235 * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
4236 and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
4237 ffsi2_no_cmove for !TARGET_CMOVE.
4238 (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
4239 (ffssi2): Remove expander.
4240 (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
4242 (ctz<mode>2): Ditto from ctz{si,di}2.
4243 (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
4245 (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
4248 2010-04-20 Jakub Jelinek <jakub@redhat.com>
4250 * dwarf2out.c (AT_linkage_name): Define.
4251 (clone_as_declaration): Handle DW_AT_linkage_name.
4252 (add_name_and_src_coords_attributes): Use AT_linkage_name instead
4253 of DW_AT_MIPS_linkage_name.
4254 (move_linkage_attr): Likewise.
4255 (dwarf2out_finish): Likewise.
4257 2010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
4260 * fold-const.c (fold_comparison): New folding rule.
4262 2010-04-20 Anatoly Sokolov <aesok@post.ru>
4264 * double-int.h (double_int_setbit): Declare.
4265 * double-int.c (double_int_setbit): New function.
4266 * rtl.h (immed_double_int_const): Declare.
4267 * emit-rtl.c (immed_double_int_const): New function.
4268 * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
4269 and immed_double_int_const functions.
4270 * optabs.c (expand_absneg_bit, expand_copysign_absneg,
4271 expand_copysign_bit): (Ditto.).
4272 * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
4273 * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
4274 * dojump.c (prefer_and_bit_test): (Ditto.).
4275 * expr.c (convert_modes, reduce_to_bit_field_precision,
4276 const_vector_from_tree): (Ditto.).
4277 * expmed.c (mask_rtx, lshift_value): (Ditto.).
4279 2010-04-20 Jan Hubicka <jh@suse.cz>
4281 * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
4282 (dump_cgraph_node): Dump new flags.
4283 * cgraph.h (struct cgraph_node): Add flags
4284 reachable_from_other_partition and in_other_partition.
4285 (cgraph_can_remove_if_no_direct_calls_p): Functions used by
4286 other partition can not be removed.
4287 * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
4288 the other partition must be output; silence sanity checking on
4289 leaking functions bodies from other paritition.
4290 * lto-cgraph.c (reachable_from_other_partition_p): New function.
4291 (lto_output_node): Output new flags; do not sanity check that inline
4292 clones are output; drop lto_forced_extern_inline_p code; do not mock
4293 visibility flags at partition boundaries.
4294 (add_node_to): New function.
4295 (output_cgraph): Use it to sort functions so masters appear before
4297 (input_overwrite_node): Input new flags.
4298 * passes.c (ipa_write_summaries): Do not call
4299 lto_new_extern_inline_states.
4300 * lto-section-out.c (forced_extern_inline,
4301 lto_new_extern_inline_states lto_delete_extern_inline_states,
4302 lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
4303 * lto-streamer.h (lto_new_extern_inline_states,
4304 * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
4305 lto_forced_extern_inline_p): Kill.
4307 2010-04-20 Richard Guenther <rguenther@suse.de>
4309 * tree-ssa-structalias.c (do_sd_constraint): Add edges only
4310 from vars that can have pointers.
4311 (process_constraint): Dump useless constraints.
4313 2010-04-20 Richard Guenther <rguenther@suse.de>
4315 * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
4316 (dump_sa_points_to_info): Remove asserts.
4317 (init_base_vars): nothing_id isn't an escape point nor does it
4320 2010-04-20 Jakub Jelinek <jakub@redhat.com>
4322 * tree.h (TYPE_REF_IS_RVALUE): Define.
4323 * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
4324 should_move_die_to_comdat, prune_unused_types_walk): Handle
4325 DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
4326 (modified_type_die, gen_reference_type_die): Emit
4327 DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
4328 if TYPE_REF_IS_RVALUE and -gdwarf-4.
4330 2010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4333 * config/s390/s390.c (s390_emit_call): Turn direct into indirect
4334 calls for -fpic -m31 if they have been sibcall optimized.
4336 2010-04-19 James E. Wilson <wilson@codesourcery.com>
4338 * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
4339 ar.lc fixed and call-used.
4341 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
4343 2010-04-19 Jan Hubicka <jh@suse.cz>
4345 * opts.c (decode_options): Disable whpr incompatible passes.
4346 * lto/lto.c (lto_1_to_1_map): Skip clones.
4347 (read_cgraph_and_symbols): Do not mark everything as needed.
4348 (do_whole_program_analysis): Do map only after optimizing;
4349 set proper cgraph_state; use passmanager.
4351 2010-04-19 DJ Delorie <dj@redhat.com>
4353 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
4354 POINTER_PLUS_EXPR and fix them.
4356 2010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
4358 * config/avr/avr-devices.c (avr_mcu_types): Add support for new
4359 devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
4360 attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
4361 atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
4362 atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
4363 atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
4364 atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
4365 atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
4366 m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
4367 atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
4368 * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
4370 2010-04-19 Eric Botcazou <ebotcazou@adacore.com>
4372 * ifcvt.c (noce_try_cmove_arith): Fix long lines.
4373 (check_cond_move_block): Likewise.
4374 (cond_move_process_if_block): Likewise.
4375 (noce_find_if_block): Improve formatting.
4376 (find_if_header): Pass 0 to memset and tweak conditions.
4377 (cond_exec_find_if_block): Fix long lines and tweak conditions.
4379 2010-04-19 Jakub Jelinek <jakub@redhat.com>
4381 * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
4385 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
4386 with non-local decl doesn't need chain.
4388 2010-04-19 Vladimir Makarov <vmakarov@redhat.com>
4390 * ira-color.c (allocno_reload_assign): Avoid accumulating
4391 reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
4393 2010-04-19 Martin Jambor <mjambor@suse.cz>
4395 * gimple.h (create_tmp_reg): Declare.
4396 * gimplify.c (create_tmp_reg): New function.
4397 (gimplify_return_expr): Use create_tmp_reg.
4398 (gimplify_omp_atomic): Likewise.
4399 (gimple_regimplify_operands): Likewise.
4400 * tree-dfa.c (make_rename_temp): Likewise.
4401 * tree-predcom.c (predcom_tmp_var): Likewise.
4402 (reassociate_to_the_same_stmt): Likewise.
4403 * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
4404 (get_replaced_param_substitute): Likewise.
4405 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
4406 * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
4407 * tree-ssa-pre.c (get_representative_for): Likewise.
4408 (create_expression_by_pieces): Likewise.
4409 * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
4410 (create_tailcall_accumulator): Likewise.
4412 2010-04-19 Martin Jambor <mjambor@suse.cz>
4414 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
4416 (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
4418 2010-04-19 Richard Guenther <rguenther@suse.de>
4420 PR tree-optimization/43796
4421 * tree-vrp.c (adjust_range_with_scev): Lookup init and step
4422 from SCEV in the lattice.
4423 (vrp_visit_phi_node): Dump change.
4425 2010-04-19 Richard Guenther <rguenther@suse.de>
4427 * configure.ac: Fix quoting around elf_getshstrndx ABI check.
4428 * configure: Re-generated.
4430 2010-04-19 Richard Guenther <rguenther@suse.de>
4432 PR tree-optimization/43783
4433 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
4434 constant ARRAY_REF operands two and three if possible.
4436 2010-04-19 Uros Bizjak <ubizjak@gmail.com>
4439 * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
4441 2010-04-19 Jie Zhang <jie@codesourcery.com>
4444 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
4446 2010-04-19 Ira Rosen <irar@il.ibm.com>
4448 PR tree-optimization/37027
4449 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
4450 and macro to access it.
4451 (vectorizable_reduction): Add argument.
4452 (vect_get_slp_defs): Likewise.
4453 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
4454 statements for possible use in SLP.
4455 (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
4456 (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
4457 (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
4459 (vectorizable_reduction): Likewise.
4460 * tree-vect-stmts.c (vect_get_vec_defs): Update call to
4462 (vectorizable_type_demotion, vectorizable_type_promotion,
4463 vectorizable_store): Likewise.
4464 (vect_analyze_stmt): Update call to vectorizable_reduction.
4465 (vect_transform_stmt): Likewise.
4466 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
4467 (vect_build_slp_tree): Fix indentation. Check that there are no loads
4468 from different interleaving chains in same node.
4469 (vect_slp_rearrange_stmts): New function.
4470 (vect_supported_load_permutation_p): Allow load permutations for
4471 reductions. Call vect_slp_rearrange_stmts() to rearrange statements
4472 inside SLP nodes if necessary.
4473 (vect_analyze_slp_instance): Handle reductions.
4474 (vect_analyze_slp): Try to build SLP instances originating from groups
4476 (vect_detect_hybrid_slp_stmts): Skip reduction statements.
4477 (vect_get_constant_vectors): Create initial vectors for reductions
4478 according to reduction code. Add new argument.
4479 (vect_get_slp_defs): Add new argument, pass it to
4480 vect_get_constant_vectors.
4481 (vect_schedule_slp_instance): Remove SLP tree root statements.
4483 2010-04-19 Jakub Jelinek <jakub@redhat.com>
4485 * tree.h (ENUM_IS_SCOPED): Define.
4486 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
4487 for ENUM_IS_SCOPED enums.
4489 2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
4491 * fold-const.c (fold_comparison): Use ssizetype.
4492 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
4493 * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
4494 * tree-loop-distribution.c (build_size_arg_loc): Likewise.
4495 * tree-object-size.c (compute_object_sizes): Use size_type_node.
4497 * tree.h (initialize_sizetypes): Remove parameter.
4498 (build_common_tree_nodes): Remove second parameter.
4499 * stor-layout.c (initialize_sizetypes): Remove parameter.
4500 Always create an unsigned type.
4501 (set_sizetype): Assert that the passed type is unsigned and simplify.
4502 * tree.c (build_common_tree_nodes): Remove second parameter.
4503 Adjust call to initialize_sizetypes.
4504 * c-decl.c (c_init_decl_processing): Remove second argument in call to
4505 build_common_tree_nodes.
4507 2010-04-18 Matthias Klose <doko@ubuntu.com>
4509 * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
4511 2010-04-18 Ira Rosen <irar@il.ibm.com>
4513 PR tree-optimization/43771
4514 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
4515 load permutation doesn't have gaps.
4517 2010-04-18 Jan Hubicka <jh@suse.cz>
4519 * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
4520 (sse_prologue_save_insn expander): Use new pattern.
4521 (sse_prologue_save_insn1): New pattern and splitter.
4522 (sse_prologue_save_insn): Update to deal also with 64bit aligned
4524 * i386.c (setup_incoming_varargs_64): Do not compute jump
4526 (ix86_gimplify_va_arg): Update alignment needed.
4527 (ix86_local_alignment): Do not align all local arrays to 128bit.
4529 2010-04-17 Jan Hubicka <jh@suse.cz>
4531 * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
4533 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
4535 * arm.md (negdi2): Remove redundant code to force values into a
4538 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
4540 * arm/bpabi.S: Add EABI alignment attributes to objects.
4541 * arm/bpabi-v6m.S: Likewise.
4542 * arm/crti.asm: Likewise.
4543 * arm/crtn.asm: Likewise.
4544 * arm/lib1funcs.asm: Likewise.
4545 * arm/libunwind.S: Likewise.
4547 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
4549 * arm-protos.h (tune_params): New structure.
4550 * arm.c (current_tune): New variable.
4551 (arm_constant_limit): Delete.
4552 (struct processors): Add pointer to the tune parameters.
4553 (arm_slowmul_tune): New tuning option.
4554 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
4555 (all_cores): Adjust to pick up the tuning model.
4556 (arm_constant_limit): New function.
4557 (arm_override_options): Select the appropriate tuning model. Delete
4558 initialization of arm_const_limit.
4559 (arm_split_constant): Use the new constant-limit model.
4560 (arm_rtx_costs): Pick up the current tuning model.
4561 * arm.md (is_strongarm, is_xscale): Delete.
4562 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
4563 for Xscale variant architectures.
4564 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
4566 2010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4568 * config/arm/arm.c (arm_gen_constant): Remove unused variable
4570 (arm_rtx_costs_1): Remove unused variable extra_cost.
4571 (arm_unwind_emit_set): Use variable offset.
4572 (thumb1_output_casesi): Remove unused variable flags.
4574 2010-04-16 Jeff Law <law@redhat.com>
4576 * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
4577 needing assignment rather than doing a two-phase assignment. Remove
4578 unused variable 'm'.
4580 2010-04-16 Jakub Jelinek <jakub@redhat.com>
4583 * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
4585 2010-04-16 Doug Kwan <dougkwan@google.com>
4587 * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
4588 (next_operand_entry_id): New static variable.
4589 (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
4590 (add_to_ops_vec): Assigned unique ID to operand entry.
4591 (struct oecount_s): New field ID.
4592 (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
4593 (undistribute_ops_list): Assign unique IDs to oecounts.
4594 (init_reassoc): reset next_operand_entry_id.
4596 2010-04-16 Doug Kwan <dougkwan@google.com>
4598 * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
4599 missing left parenthesis.
4601 2010-04-16 Uros Bizjak <ubizjak@gmail.com>
4603 * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
4604 *btdi_rex64 using SWI48 mode iterator.
4605 (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
4606 (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
4607 *jcc_btdi_mask_rex64.
4609 2010-04-16 Anatoly Sokolov <aesok@post.ru>
4611 * double-int.h (tree_to_double_int): Convert to macro.
4612 * double-int.c (tree_to_double_int): Remove.
4614 2010-04-16 Jakub Jelinek <jakub@redhat.com>
4617 * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
4618 with want_address 2 and in case a single element list might be
4619 possible, call it again with want_address 0.
4621 2010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
4623 * config/h8300/h8300.c (print_operand) : Modify case 'V' and
4624 case 'W' print operands for HI mode.
4625 * config/h8300/h8300.h (Y0, Y2) : New constraints.
4626 * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
4627 (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
4628 * config/h8300/predicate.md (bit_register_indirect_operand): New.
4630 * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
4632 * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
4633 cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
4634 #xx:3 and #xx:4 mode.
4636 * config/h8300/h8300.md (inverted load with HImode dest): Add
4637 support for H8300SX.
4639 * config/h8300/predicate.md (bit_operand): Allow immediate values that
4640 satisfy 'U' constraint.
4642 2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4644 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
4645 * configure: Regenerate.
4646 * config.in: Regenerate.
4647 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
4650 2010-04-16 Richard Guenther <rguenther@suse.de>
4652 * tree.h (struct tree_decl_minimal): Move pt_uid ...
4653 (struct tree_decl_common): ... here.
4654 (DECL_PT_UID): Adjust.
4655 (SET_DECL_PT_UID): Likewise.
4656 (DECL_PT_UID_SET_P): Likewise.
4658 2010-04-16 Richard Guenther <rguenther@suse.de>
4660 PR tree-optimization/43572
4661 * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
4662 * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
4663 * tree-flow.h (is_call_clobbered): Remove.
4664 * tree-flow-inline.h (is_call_clobbered): Likewise.
4665 * tree-dfa.c (dump_variable): Do not dump call clobber state.
4666 * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
4667 (execute_return_slot_opt): Adjust.
4668 * tree-tailcall.c (suitable_for_tail_opt_p): Remove
4669 check for call clobbered vars here.
4670 (find_tail_calls): Move tailcall verification to the
4673 2010-04-16 Diego Novillo <dnovillo@google.com>
4675 * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
4677 2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
4680 * config/arm/arm.md (cbranchqi4): New pattern.
4681 * config/arm/predicates.md (const0_operand,
4682 cbranchqi4_comparison_operator): New predicates.
4684 2010-04-16 Richard Guenther <rguenther@suse.de>
4686 * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
4687 (dump_gimple_stmt): Likewise.
4689 2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
4691 * recog.h (struct recog_data): New field is_operator.
4692 (struct insn_operand_data): New field is_operator.
4693 * recog.c (extract_insn): Set recog_data.is_operator.
4694 * genoutput.c (output_operand_data): Emit code to set the
4696 * reload.c (find_reloads): Use it rather than testing for an
4697 empty constraint string.
4700 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
4701 If the previous insn is a cbranchsi4_insn with the same arguments,
4702 omit the compare instruction.
4704 * config/arm/arm.md (addsi3_cbranch): If destination is a high
4705 register, inputs must be low registers and we need a low register
4706 scratch. Handle alternative 2 like alternative 3.
4708 2010-04-16 Jakub Jelinek <jakub@redhat.com>
4710 * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
4711 don't call get_addr on both. If one expression is a VALUE and
4712 the other a REG, check VALUE's locs if the REG isn't among them.
4714 2010-04-16 Christian Bruel <christian.bruel@st.com>
4716 * config/sh/sh.h (sh_frame_pointer_required): New function.
4717 * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
4718 (flag_omit_frame_pointer) Set.
4719 (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
4720 (rounded_frame_size): Adjust size with outgoing_args_size.
4721 (sh_set_return_address): Must return from stack pointer.
4722 * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
4723 (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
4724 (ACCUMULATE_OUTGOING_ARGS): Define.
4725 * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
4726 * gcc/config/sh/sh.opt: (maccumulate-outgoing-args): New option.
4728 2010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
4731 * config/sh/sh.c (sh_legitimize_reload_address): Use
4732 MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
4733 Remove a unneeded check for offset_base.
4735 2010-04-15 H.J. Lu <hongjiu.lu@intel.com>
4737 * configure: Regenerated.
4739 2010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4741 * config/s390/s390.c (s390_call_save_register_used): Switch back
4742 to HARD_REGNO_NREGS.
4744 2010-04-15 Richard Guenther <rguenther@suse.de>
4746 * alias.c (alias_set_subset_of): Handle alias-set zero
4749 2010-04-15 Mark Shinwell <shinwell@codesourcery.com>
4750 Julian Brown <julian@codesourcery.com>
4752 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
4753 alternatives according to use of high and low regs.
4754 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
4755 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
4756 optimizing for size on Thumb-2.
4758 2010-04-15 Thomas Schwinge <tschwinge@gnu.org>
4760 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
4762 2010-04-15 Richard Guenther <rguenther@suse.de>
4764 * tree-ssa-structalias.c (struct variable_info): Add
4766 (new_var_info): Initialize it.
4767 (dump_constraints): Support printing last added constraints.
4768 (debug_constraints): Adjust.
4769 (dump_constraint_graph): Likewise.
4770 (make_heapvar_for): Check for NULL cfun.
4771 (get_function_part_constraint): New function.
4772 (get_fi_for_callee): Likewise.
4773 (find_func_aliases): Properly implement IPA PTA constraints.
4774 (process_ipa_clobber): New function.
4775 (find_func_clobbers): Likewise.
4776 (insert_into_field_list_sorted): Remove.
4777 (create_function_info_for): Properly allocate vars for IPA mode.
4778 Do not use insert_into_field_list_sorted.
4779 (create_variable_info_for): Properly generate constraints for
4780 global vars in IPA mode.
4781 (dump_solution_for_var): Always dump the solution.
4782 (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
4783 (find_what_var_points_to): Adjust.
4784 (pt_solution_set): Change.
4785 (pt_solution_ior_into): New function.
4786 (pt_solution_empty_p): Export.
4787 (pt_solution_includes_global): Adjust.
4788 (pt_solution_includes_1): Likewise.
4789 (pt_solutions_intersect_1): Likewise.
4790 (dump_sa_points_to_info): Check some invariants.
4791 (solve_constraints): Move constraint dumping ...
4792 (compute_points_to_sets): ... here.
4793 (ipa_pta_execute): ... and here.
4794 (compute_may_aliases): Do not re-compute points-to info
4795 locally if IPA info is available.
4796 (ipa_escaped_pt): New global var.
4797 (ipa_pta_execute): Properly implement IPA PTA.
4798 * tree-into-ssa.c (dump_decl_set): Support dumping
4799 decls not in referenced-vars.
4800 * tree-flow.h (struct gimple_df): Add ipa_pta flag.
4801 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
4802 (dump_points_to_solution): Likewise.
4803 * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
4804 * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
4805 (remap_gimple_stmt): Reset call clobber/use information if necessary.
4806 (copy_decl_to_var): Copy DECL_PT_UID.
4807 (copy_result_decl_to_var): Likewise.
4808 * tree.c (make_node_stat): Initialize DECL_PT_UID.
4809 (copy_node_stat): Copy it.
4810 * tree.h (DECL_PT_UID): New macro.
4811 (SET_DECL_PT_UID): Likewise.
4812 (DECL_PT_UID_SET_P): Likewise.
4813 (struct tree_decl_minimal): Add pt_uid member.
4814 * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
4815 (pt_solution_empty_p): Declare.
4816 (pt_solution_set): Adjust.
4817 (ipa_escaped_pt): Declare.
4818 * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
4819 * gimple-pretty-print.c (pp_points_to_solution): New function.
4820 (dump_gimple_call): Dump call clobber/use information.
4821 * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
4822 * tree-pass.h (TDF_ALIAS): New dump option.
4823 * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
4824 * doc/invoke.texi (-fipa-pta): Update documentation.
4826 2010-04-15 Richard Guenther <rguenther@suse.de>
4828 * Makefile.in (OBJS-common): Add gimple-fold.o.
4829 (gimple-fold.o): New rule.
4830 * tree.h (maybe_fold_offset_to_reference,
4831 maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
4833 * gimple.h: ... here.
4834 * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
4835 may_propagate_address_into_dereference): Move prototypes ...
4836 * gimple.h: ... here.
4837 * tree-ssa-ccp.c (get_symbol_constant_value,
4838 may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
4839 maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
4840 maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
4841 maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
4842 ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
4843 fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
4844 gimplify_and_update_call_from_tree): Move ...
4845 * gimple-fold.c: ... here. New file.
4846 (ccp_fold_builtin): Rename to ...
4847 (gimple_fold_builtin): ... this.
4848 * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
4850 2010-04-15 Richard Guenther <rguenther@suse.de>
4852 * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
4853 fit_double_type, force_fit_type_double, add_double_with_sign,
4854 neg_double, mul_double_with_sign, lshift_double, rshift_double,
4855 lrotate_double, rrotate_double, div_and_round_double): Move ...
4856 * double-int.c: ... here.
4857 * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
4858 add_double, neg_double, mul_double_with_sign, mul_double,
4859 lshift_double, rshift_double, lrotate_double, rrotate_double,
4860 div_and_round_double): Move prototypes ...
4861 * double-int.h: ... here.
4863 2010-04-15 Bernd Schmidt <bernds@codesourcery.com>
4866 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
4867 matching constraints to ensure inputs match the output.
4869 2010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
4872 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
4873 in an input-only operand.
4875 2010-04-15 Anatoly Sokolov <aesok@post.ru>
4877 * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
4878 (double_int_not, double_int_lshift, double_int_rshift): Declare.
4879 (double_int_negative_p): Convert to static inline function.
4880 * double-int.c (double_int_lshift, double_int_lshift): New functions.
4881 (double_int_negative_p): Remove.
4882 * tree.h (lshift_double, rshift_double):
4883 * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
4884 * fold-const.c (fold_convert_const_int_from_real,
4885 fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
4886 (lshift_double): Change type of arith argument to bool.
4887 (rshift_double): Change type of arith argument to bool. Correct
4889 * expmed.c (mask_rtx, lshift_value): (Ditto.).
4891 2010-04-14 Bernd Schmidt <bernds@codesourcery.com>
4894 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
4895 at the start and end of the then/else blocks, and omit them from the
4897 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
4898 argument; all callers changed. Pass zero to old_insns_match_p instead.
4899 (flow_find_head_matching_sequence): New function.
4900 (old_insns_match_p): Check REG_EH_REGION notes for calls.
4901 * basic-block.h (flow_find_cross_jump,
4902 flow_find_head_matching_sequence): Declare functions.
4904 2010-04-14 Jason Merrill <jason@redhat.com>
4907 * c-common.c (attribute_takes_identifier_p): New fn.
4908 * c-common.h: Declare it.
4910 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
4912 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
4914 (*udivmod<mode>4): Ditto.
4916 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
4918 * config/i386/i386.md (maxmin_int): Rename code attribute from
4919 maxminiprefix and update all users.
4920 (maxmin_float): Ditto from maxminfprefix.
4921 (logic): Ditto from logicprefix.
4922 (absneg_mnemonic): Ditto from absnegprefix.
4923 * config/i386/mmx.md: Update all users of maxminiprefix,
4924 maxminfprefix and logicprefix for rename.
4925 * config/i386/sse.md: Ditto.
4926 * config/i386/sync.md (sync_<code><mode>): Update for
4929 2010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
4932 * diagnostics.c (diagnostic_report_diagnostic): Mark specially
4933 warnings converted to errors.
4935 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
4937 * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
4938 used insn_type variable.
4939 (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
4940 to avoid set-but-not-used warning.
4942 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
4944 * df-core.c (df_ref_debug): Change format string placeholder
4946 * dwarf2asm.c (dw2_asm_output_data_raw,
4947 dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
4948 dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
4949 * dwarf2out.c (output_cfi, output_cfi_directive,
4950 dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
4951 output_cfa_loc_raw, output_die, output_ranges, output_file_names):
4953 * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
4954 * print-rtl.c (print_rtx): Ditto.
4956 2010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
4959 * builtins.c (expand_builtin_pow_root): New function to expand pow
4960 calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
4961 series of sqrt and cbrt calls under -ffast-math.
4962 (expand_builtin_pow): Call it.
4964 2010-04-14 Michael Matz <matz@suse.de>
4966 PR tree-optimization/42963
4967 * tree-cfg.c (touched_switch_bbs): New static variable.
4968 (group_case_labels_stmt): New function broken out from ...
4969 (group_case_labels): ... here, use the above.
4970 (start_recording_case_labels): Allocate touched_switch_bbs.
4971 (end_recording_case_labels): Deallocate it, call
4972 group_case_labels_stmt.
4973 (gimple_redirect_edge_and_branch): Remember index of affected BB.
4975 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
4977 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
4980 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
4982 * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
4984 2010-04-13 Jan Hubicka <jh@suse.cz>
4986 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
4987 of optimized out static functions.
4988 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
4989 cost computation. Also sanity check for overflows.
4990 (update_caller_keys): Update cgraph_edge_badness call; properly
4991 update fibheap and sanity check that it is up to date.
4992 (add_new_edges_to_heap): Update cgraph_edge_badness.
4993 (cgraph_decide_inlining_of_small_function): Likewise;
4994 add sanity checking that badness in heap is up to date;
4995 improve dumping of reason; Update badness of calls to the
4996 offline copy of function currently inlined; dump badness
4997 of functions not inlined because of unit growth limits.
4999 2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
5002 * c-common.c (pointer_int_sum): Disregard overflow that occured only
5003 because of sign-extension change when converting to sizetype here...
5004 * fold-const.c (fold_convert_const_int_from_int): ...and not here.
5006 * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
5007 the folding to constants. Remove redundant final conversion.
5008 (fold_binary) <associate>: Do not associate if the re-association of
5009 constants alone overflows.
5010 (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
5011 to the end of the list.
5012 (multiple_of_p) <COND_EXPR>: New case.
5014 2010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
5016 * opt-functions.awk (opt_sanitized_name): New.
5018 * optc-gen.awk: Use it
5019 * opth-gen.awk: Use it.
5021 2010-04-13 Martin Jambor <mjambor@suse.cz>
5023 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
5024 (sra_modify_assign): Delete stmts loading dead data even if racc has no
5025 children. Call replace_uses_with_default_def_ssa_name to handle
5028 2010-04-13 Michael Matz <matz@suse.de>
5031 * builtins.c (expand_builtin_interclass_mathfn): Also create
5032 a register if the predicate doesn't match.
5034 2010-04-13 Diego Novillo <dnovillo@google.com>
5036 * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
5037 * c-pch.c: Include timevar.h.
5038 (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
5039 (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
5040 * ggc-common.c: Include timevar.h.
5041 (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
5042 * timevar.def (TV_PCH_SAVE): Define.
5043 (TV_PCH_CPP_SAVE): Define.
5044 (TV_PCH_PTR_REALLOC): Define.
5045 (TV_PCH_PTR_SORT): Define.
5046 (TV_PCH_RESTORE): Define.
5047 (TV_PCH_CPP_RESTORE): Define.
5049 2010-04-13 Michael Matz <matz@suse.de>
5051 * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
5053 (can_reassociate_p): New function.
5054 (break_up_subtract_bb, reassociate_bb): Use it.
5056 2010-04-13 Richard Guenther <rguenther@suse.de>
5059 * builtins.c (c_readstr): Fix assert.
5061 2010-04-13 Uros Bizjak <ubizjak@gmail.com>
5063 * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
5064 when generating cltd insn.
5066 (*ashl<mode>3_1): Remove special handling for register operand 2.
5067 (*ashlsi3_1_zext): Ditto.
5068 (*ashlhi3_1): Ditto.
5069 (*ashlhi3_1_lea): Ditto.
5070 (*ashlqi3_1): Ditto.
5071 (*ashlqi3_1_lea): Ditto.
5072 (*<shiftrt_insn><mode>3_1): Ditto.
5073 (*<shiftrt_insn>si3_1_zext): Ditto.
5074 (*<shiftrt_insn>qi3_1_slp): Ditto.
5075 (*<rotate_insn><mode>3_1): Ditto.
5076 (*<rotate_insn>si3_1_zext): Ditto.
5077 (*<rotate_insn>qi3_1_slp): Ditto.
5079 2010-04-13 Richard Guenther <rguenther@suse.de>
5081 * tree-ssa-structalias.c (callused_id): Remove.
5082 (call_stmt_vars): New.
5083 (get_call_vi): Likewise.
5084 (lookup_call_use_vi): Likewise.
5085 (lookup_call_clobber_vi): Likewise.
5086 (get_call_use_vi): Likewise.
5087 (get_call_clobber_vi): Likewise.
5088 (make_transitive_closure_constraints): Likewise.
5089 (handle_const_call): Adjust to do per-call call-used handling.
5090 (handle_pure_call): Likewise.
5091 (find_what_var_points_to): Remove general callused handling.
5092 (init_base_vars): Likewise.
5093 (init_alias_vars): Initialize call_stmt_vars.
5094 (compute_points_to_sets): Process call-used and call-clobbered
5095 vars for call statements.
5096 (delete_points_to_sets): Free call_stmt_vars.
5098 2010-04-13 Richard Guenther <rguenther@suse.de>
5100 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
5101 Only add RW dependence for dependence distance zero.
5102 Adjust maximal vectorization factor according to dependences.
5103 Move alignment handling ...
5104 (vect_find_same_alignment_drs): ... here. New function.
5105 (vect_analyze_data_ref_dependences): Adjust.
5106 (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
5107 (vect_analyze_data_refs): Adjust minimal vectorization factor
5108 according to data references.
5109 * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
5110 dependences before determining the vectorization factor.
5111 Analyze alignment after determining the vectorization factor.
5112 * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
5113 dependences before alignment.
5114 * tree-vectorizer.h (vect_analyze_data_ref_dependences):
5116 (vect_analyze_data_refs): Likewise.
5117 (MAX_VECTORIZATION_FACTOR): New define.
5119 2010-04-13 Duncan Sands <baldrick@free.fr>
5121 * except.h (lang_eh_type_covers): Remove.
5122 * except.c (lang_eh_type_covers): Likewise.
5124 2010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5125 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5127 * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
5128 * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
5129 UNITS_PER_LONG where it is ABI relevant.
5130 (s390_return_addr_rtx): Likewise.
5131 (s390_back_chain_rtx): Likewise.
5132 (s390_frame_area): Likewise.
5133 (s390_frame_info): Likewise.
5134 (s390_initial_elimination_offset): Likewise.
5135 (save_gprs): Likewise.
5136 (s390_emit_prologue): Likewise.
5137 (s390_emit_epilogue): Likewise.
5138 (s390_function_arg_advance): Likewise.
5139 (s390_function_arg): Likewise.
5140 (s390_va_start): Likewise.
5141 (s390_gimplify_va_arg): Likewise.
5142 (s390_function_profiler): Likewise.
5143 (s390_optimize_prologue): Likewise.
5144 (s390_rtx_costs): Likewise.
5145 (s390_secondary_reload): Likewise.
5146 (s390_promote_function_mode): Likewise.
5147 (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
5148 (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
5149 registers available.
5150 (s390_unwind_word_mode): New function.
5151 (s390_function_value): Split 64 bit values into register pair if
5152 used as return value.
5153 (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
5154 function call parameters. Handle parallels.
5155 (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
5156 (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
5157 (DWARF_CIE_DATA_ALIGNMENT): New macro.
5158 (s390_expand_setmem): Remove unused variable src_addr.
5159 * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
5160 deal with 64 bit registers.
5161 * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
5162 Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
5163 (UNITS_PER_LONG): New macro.
5164 * libjava/include/s390-signal.h: Define extended ucontext
5165 structure containing the upper halfs of the 64 bit registers.
5167 2010-04-13 Simon Baldwin <simonb@google.com>
5169 * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
5171 2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
5173 * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
5174 rvalue on the RHS if the LHS is of a non-renamable type.
5175 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
5177 2010-04-13 Matthias Klose <doko@ubuntu.com>
5179 * gcc.c (cc1_options): Handle -iplugindir before processing
5180 the cc1 spec. Only add -iplugindir once.
5181 (cpp_unique_options): Add -iplugindir option if -fplugin* options
5183 * common.opt (iplugindir): Remove `Separate' property, initialize.
5184 * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
5186 * Makefile.in (check-%, check-parallel-%): Create plugin dir.
5187 (distclean): Remove plugin dir.
5188 * doc/invoke.texi: Document -iplugindir.
5190 2010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
5192 * doc/plugins.texi (Loading Plugins): Document short
5193 -fplugin=foo option.
5194 (Plugin API): Mention default_plugin_dir_name function.
5196 * gcc.c (find_file_spec_function): Add new declaration.
5197 (static_spec_func): Use it for "find-file".
5198 (find_file_spec_function): Add new function.
5199 (cc1_options): Add -iplugindir option if -fplugin* options found.
5201 * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
5203 * plugin.c (add_new_plugin): Updated comment, and handle short
5205 (default_plugin_dir_name): Added new function.
5207 * common.opt (iplugindir): New option to set the plugin directory.
5209 2010-04-12 Uros Bizjak <ubizjak@gmail.com>
5211 * config/i386/i386.md (any_rotate): New code iterator.
5212 (rotate_insn): New code attribute.
5214 (SWIM124): New mode iterator.
5215 (<rotate_insn>ti3): New expander.
5216 (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
5217 any_rotate code iterator.
5218 (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
5219 using any_rotate code iterator and SWIM124 mode iterator.
5220 (ix86_rotlti3): New insn_and_split pattern.
5221 (ix86_rotrti3): Ditto.
5222 (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
5223 ix86_rotl{di,ti}3 patterns.
5224 (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
5225 (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
5226 and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
5227 *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
5228 code iterator and SWI mode iterator.
5229 (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
5230 Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
5232 (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
5233 Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
5234 (bswap rotatert splitter): Add splitter.
5235 (bswap splitter): Macroize splitter using any_rotate code iterator.
5236 Add insn predicate to split only for TARGET_USE_XCHGB or when
5237 optimizing function for size.
5239 2010-04-12 Steve Ellcey <sje@cup.hp.com>
5241 * config/pa/pa.c (emit_move_sequence): Remove use of
5242 deleted variable flag_argument_noalias.
5244 2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5246 * config.gcc: Removed *-*-solaris2.7* from list of obsolete
5248 Add to unsupported targets list.
5249 * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
5250 sparc*-sun-solaris2.[567]* from target lists.
5251 * configure: Regenerate.
5252 * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
5254 Remove Solaris 7 patch references.
5255 (Specific, sparc-sun-solaris2.7): Removed.
5256 (sparc-sun-solaris2*): Update Solaris 7 example.
5257 (sparc64-*-solaris2*): Likewise.
5259 2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5261 * config.build (alpha*-dec-osf4*): Remove.
5262 * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
5263 of obsolete configurations.
5264 (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
5266 * config/alpha/t-osf4: Renamed to ...
5267 * config/alpha/t-osf5: ... this.
5268 * config/alpha/osf.h: Renamed to ...
5269 * config/alpha/osf5.h: ... this.
5270 Merged old osf5.h contents.
5272 (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
5273 (EXTRA_SPECS): Removed.
5274 * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
5275 reflect removal of Tru64 UNIX V4.0/V5.0 support.
5278 2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5280 * doc/contrib.texi (Contributors, Rainer Orth): Update.
5282 2010-04-12 Kai Tietz <kai.tietz@onevision.com>
5285 * config/i386/i386.c (x86_this_parameter): Handle aggregate for
5286 __thiscall convention.
5288 2010-04-12 Steve Ellcey <sje@cup.hp.com>
5290 * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
5292 * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
5294 2010-04-12 Steve Ellcey <sje@cup.hp.com>
5296 * function.c (assign_parms_initialize_all): Add unused attribute
5299 2010-04-12 Richard Guenther <rguenther@suse.de>
5301 * gsstruct.def (GSS_CALL): New.
5302 * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
5303 * gimple.h: Include tree-ssa-alias.h.
5304 (struct gimple_statement_call): New.
5305 (union gimple_statement_struct_d): Add gimple_call member.
5306 (gimple_call_reset_alias_info): Declare.
5307 (gimple_call_use_set): New function.
5308 (gimple_call_clobber_set): Likewise.
5309 * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
5310 * gimple.c (gimple_call_reset_alias_info): New function.
5311 (gimple_build_call_1): Call it.
5312 * lto-streamer-in.c (input_gimple_stmt): Likewise.
5313 * tree-inline.c (remap_gimple_stmt): Likewise.
5314 (expand_call_inline): Remove callused handling.
5315 * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
5316 * tree-dfa.c (dump_variable): Likewise.
5317 * tree-parloops.c (parallelize_loops): Likewise.
5318 * tree-ssa.c (init_tree_ssa): Likewise.
5319 (delete_tree_ssa): Likewise.
5320 * tree-flow-inline.h (is_call_used): Remove.
5321 * tree-flow.h (struct gimple_df): Remove callused member.
5322 * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
5323 * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
5324 (ref_maybe_used_by_call_p_1): Simplify.
5325 (call_may_clobber_ref_p_1): Likewise.
5326 * tree-ssa-structalias.c (compute_points_to_sets): Set
5327 the call stmt used and clobbered sets.
5328 * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
5329 (find_tail_calls): Verify the tail call.
5331 2010-04-12 Richard Guenther <rguenther@suse.de>
5333 * ipa.c (cgraph_postorder): Adjust postorder to guarantee
5334 single-iteration always-inline inlining.
5335 * ipa-inline.c (cgraph_mark_inline): Do not return anything.
5336 (cgraph_decide_inlining): Do not handle always-inline specially.
5337 (try_inline): Remove always-inline cycle detection special case.
5338 Do not recurse on always-inlines.
5339 (cgraph_early_inlining): Do not iterate if not optimizing.
5340 (cgraph_gate_early_inlining): remove.
5341 (pass_early_inline): Run unconditionally.
5342 (gate_cgraph_decide_inlining): New function.
5343 (pass_ipa_inline): Use it. Do not run the IPA inliner if
5344 not inlining or optimizing.
5345 (cgraph_decide_inlining_of_small_functions): Also consider
5346 always-inline functions.
5347 (cgraph_default_inline_p): Return true for nodes which should
5348 disregard inline limits.
5349 (estimate_function_body_sizes): Assume zero size and time for
5350 nodes which are marked as disregarding inline limits.
5351 (cgraph_decide_recursive_inlining): Do not perform recursive
5352 inlining on always-inline nodes.
5354 2010-04-12 Jakub Jelinek <jakub@redhat.com>
5357 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
5358 for exprs satisfying handled_component_p.
5360 2010-04-12 Eric Botcazou <ebotcazou@adacore.com>
5362 * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
5363 non-constant aggregate elements.
5365 * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
5366 is a real initialization.
5368 2010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
5371 * c-decl.c (start_function): Move forward check for nested function.
5373 2010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
5375 * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
5376 * config/sh/sh.c: Include reload.h.
5377 (sh_legitimize_reload_address): New.
5378 * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
5379 sh_legitimize_reload_address.
5381 2010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
5383 * config/sh/sh.md (*movqi_pop): New insn pattern.
5384 * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
5386 2010-04-11 Uros Bizjak <ubizjak@gmail.com>
5388 * config/i386/i386.md (any_shiftrt): New code iterator.
5389 (shiftrt_insn): New code attribute.
5391 (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
5392 using any_shiftrt code iterator.
5393 (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
5394 *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
5395 (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
5396 pattern from corresponding peephole2 patterns.
5397 (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
5398 using any_shiftrt code iterator.
5399 (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
5400 (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
5401 (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
5402 (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
5403 *{ashr,lshr}<mode>3_cmp_zext.
5404 (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
5406 2010-04-11 Uros Bizjak <ubizjak@gmail.com>
5408 * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
5410 (*lshr<mode>3_cconly): Ditto.
5412 2010-04-11 Uros Bizjak <ubizjak@gmail.com>
5414 * config/i386/i386.md (lshr<mode>3): Macroize expander from
5415 lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
5416 (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
5417 pattern from *lshr{di,ti}3_1 and corresponding splitters using
5419 (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
5420 from corresponding peephole2 patterns.
5421 (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
5422 *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
5423 and *lshrdi3_1_rex64 using SWI mode iterator.
5424 (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
5425 (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
5426 (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
5427 *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
5428 and *lshrdi3_cmp_rex64 using SWI mode iterator.
5429 (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
5430 (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
5431 *lshrdi3_one_bit_cconly_rex64. Macroize insn from
5432 *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
5435 2010-04-10 Uros Bizjak <ubizjak@gmail.com>
5437 * config/i386/i386.md (ashr<mode>3): Macroize expander from
5438 ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
5439 (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
5440 pattern from *ashr{di,ti}3_1 and corresponding splitters using
5442 (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
5443 from corresponding peephole2 patterns.
5444 (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
5445 (ashrsi3_cvt): Rename from ashrsi3_31.
5446 (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
5447 (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
5448 and x86_64_shift_adj_3 using SWI48 mode iterator.
5449 (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
5450 *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
5451 and *ashrdi3_1_rex64 using SWI mode iterator.
5452 (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
5453 (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
5454 (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
5455 *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
5456 and *ashrdi3_cmp_rex64 using SWI mode iterator.
5457 (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
5458 (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
5459 *ashrdi3_one_bit_cconly_rex64. Macroize insn from
5460 *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
5462 (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
5463 * config/i386/i386.c (ix86_split_ashr): Update for renamed
5464 x86_shift<mode>_adj_3 expanders.
5466 2010-04-10 Wei Guozhi <carrot@google.com>
5469 * config/arm/arm.c (arm_pic_static_addr): New function.
5470 (legitimize_pic_address): Call arm_pic_static_addr when it detects
5472 (arm_output_addr_const_extra): Output expression for new pattern.
5473 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
5475 2010-04-10 Bernd Schmidt <bernds@codesourcery.com>
5477 * ira-costs.c (record_reg_classes): Ignore alternatives that are
5480 * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
5481 * web.c: Include "insn-config.h" and "recog.h".
5482 (union_match_dups): New function.
5483 (web_main): Call it.
5484 (union_defs): Don't try to recognize match_dups.
5486 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
5487 if doing so would replace the entire pattern.
5489 2010-04-09 Uros Bizjak <ubizjak@gmail.com>
5493 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
5494 and splitter pattern. Change splitter operand 1 predicate to
5497 2010-04-09 Martin Jambor <mjambor@suse.cz>
5499 * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
5500 lattices are addresses of CONST_DECLs with the same initial value.
5501 (ipcp_print_all_lattices): Print values of CONST_DECLs.
5502 * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
5504 2010-04-09 Eric Botcazou <ebotcazou@adacore.com>
5505 Bernd Schmidt <bernds@codesourcery.com>
5507 * loop-invariant.c (replace_uses): New static function.
5508 (move_invariant_reg): Use it to ensure we can replace the uses.
5510 2010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
5512 * config/picochip/picochip.c (picochip_rtx_costs): Use correct
5514 (picochip_override_options): Enable section anchors only above -O1.
5515 (picochip_reorg): Fixed a couple of build warnings.
5517 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5519 * configure.ac (plugin -rdynamic test): Log result.
5520 * configure: Regenerate.
5521 * config/sol2.h (LINK_SPEC): Handle -rdynamic.
5522 (RDYNAMIC_SPEC): Define.
5523 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
5525 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5527 * configure.ac: Determine Sun ld version numbers.
5528 (comdat_group): Restrict GNU ld version checks to gld.
5529 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
5530 (enable_comdat): Support --enable-comdat.
5531 * configure: Regenerate.
5532 * doc/install.texi (Configuration): Document --enable-comdat.
5534 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5536 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
5537 * config/sol2-gld.h: ... here.
5538 * config.gcc (sparc*-*-solaris2*): Reflect this.
5539 (i[34567]86-*-solaris2*): Use it.
5541 2010-04-09 Steve Ellcey <sje@cup.hp.com>
5543 * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
5545 (final_emit_insn_group_barriers): Remove unused variable prev_insn.
5547 2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5550 * diagnostic.c (diagnostic_initialize): Initialize
5551 some_warnings_are_errors.
5552 (diagnostic_finish): New.
5553 (diagnostic_action_after_output): Call it before exiting.
5554 (diagnostic_report_diagnostic): Do not print message here. Set
5555 some_warnings_are_errors.
5556 * diagnostic.h (diagnostic_context): Delete
5557 issue_warnings_are_errors_message. Add some_warnings_are_errors.
5558 (diagnostic_finish): Declare.
5559 * toplev.c (toplev_main): Call it before exit.
5561 2010-04-09 Jason Merrill <jason@redhat.com>
5564 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
5565 for incomplete type.
5568 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
5569 based on a warning flag.
5571 2010-04-09 Richard Guenther <rguenther@suse.de>
5573 * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
5575 2010-04-09 Iain Sandoe <iains@gcc.gnu.org>
5578 * varasm.c (default_assemble_visibility): Wrap vars that are
5579 set, but unused, by targets without GAS.
5580 * config/rs6000/rs6000.c: (paired_emit_vector_compare):
5581 Remove set, but unused, vars.
5582 (rs6000_legitimize_tls_address): Likewise.
5583 (altivec_expand_dst_builtin): Likewise.
5584 * config/darwin.c (machopic_classify_symbol): Likewise.
5585 (machopic_indirection_name): Likewise.
5587 2010-04-09 Uros Bizjak <ubizjak@gmail.com>
5589 * config/i386/i386.md (DWI): New mode iterator.
5590 (S): New mode attribute.
5591 (shift_operand): Ditto.
5592 (shift_immediate_operand): Ditto.
5593 (ashl_input_operand): Ditto.
5594 (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
5595 using SDWIM mode iterator.
5596 (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
5597 pattern from *ashl{di,ti}3_1 and corresponding splitters using
5599 (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
5600 from corresponding peephole2 patterns.
5601 (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
5602 and x86_64_shift_adj_1 using SWI48 mode iterator.
5603 (x86_shift<mode>_adj_2): Ditto.
5604 (*ashldi3_1_rex64): Split TYPE_LEA pattern.
5605 (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
5606 using SWI48 mode iterator.
5607 (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
5608 *ashldi3_cmp_rex64 using SWI mode iterator.
5609 (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
5610 *ashldi3_cconly_rex64 using SWI mode iterator.
5611 * config/i386/i386.c (ix86_split_ashl): Update for renamed
5612 x86_shift<mode>_adj_{1,2}.
5613 (ix86_split_ashr): Ditto.
5614 (ix86_split_lshr): Ditto.
5616 2010-04-09 Richard Guenther <rguenther@suse.de>
5618 * target.h (builtin_conversion): Pass in input and output types.
5619 * targhooks.c (default_builtin_vectorized_conversion): Adjust.
5620 * targhooks.h (default_builtin_vectorized_conversion): Likewise.
5621 * tree-vect-stmts.c (vectorizable_conversion): Adjust.
5622 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
5624 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
5626 * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
5628 2010-04-09 Richard Guenther <rguenther@suse.de>
5631 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
5633 2010-04-09 Richard Guenther <rguenther@suse.de>
5635 * tree-vectorizer.h (struct _stmt_vec_info): Document
5636 that vectype is the type of the LHS.
5637 (supportable_widening_operation, supportable_narrowing_operation):
5638 Get both input and output vector types as arguments.
5639 (vect_is_simple_use_1): Declare.
5640 (get_same_sized_vectype): Likewise.
5641 * tree-vect-loop.c (vect_determine_vectorization_factor):
5642 Set STMT_VINFO_VECTYPE to the vector type of the def.
5643 (vectorizable_reduction): Adjust.
5644 * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
5645 Adjust. Specify the output vector type.
5646 (vect_pattern_recog_1): Adjust.
5647 * tree-vect-stmts.c (get_same_sized_vectype): New function.
5648 (vectorizable_call): Adjust.
5649 (vectorizable_conversion): Likewise.
5650 (vectorizable_operation): Likewise.
5651 (vectorizable_type_demotion): Likewise.
5652 (vectorizable_type_promotion): Likewise.
5653 (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
5655 (vect_is_simple_use_1): New function.
5656 (supportable_widening_operation): Get both input and output
5658 (supportable_narrowing_operation): Likewise.
5659 * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
5661 2010-04-09 Kai Tietz <kai.tietz@onevision.com>
5663 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
5664 __thiscall and _thiscall as predefined macros.
5665 * config/i386/i386.c (ix86_handle_cconv_attribute): Add
5666 thiscall attribute handling.
5667 (ix86_comp_type_attributes): Likewise.
5668 (ix86_function_regparm): Likewise.
5669 (ix86_return_pops_args): Likewise.
5670 (init_cumulative_args): Likewise.
5671 (find_drap_reg): Likewise.
5672 (ix86_static_chain): Likewise.
5673 (x86_this_parameter): Likewise.
5674 (x86_output_mi_thunk): Likewise.
5675 (ix86_attribute_table): Add description for thiscall attribute.
5676 * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
5677 * doc/extend.texi: Add documentation for thiscall.
5679 2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5682 * c.opt (Wint-to-pointer-cast): Available in C++.
5683 * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
5685 2010-04-08 Eric Botcazou <ebotcazou@adacore.com>
5687 * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
5688 * calls.c (expand_call): Pass the function type to aggregate_value_p.
5689 * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
5690 the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
5691 function type instead. Reorder and simplify checks.
5693 * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
5695 2010-04-08 Jing Yu <jingyu@google.com>
5696 Zdenek Dvorak <ook@ucw.cz>
5698 PR tree-optimization/42720
5699 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
5700 loop unswitch conditions here from ...
5701 (tree_unswitch_single_loop): ... here.
5703 2010-04-08 Sebastian Pop <sebastian.pop@amd.com>
5705 * tree-if-conv.c: Fix comments and simplify logic.
5707 2010-04-08 Sebastian Pop <sebastian.pop@amd.com>
5709 * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
5710 (tree_if_conversion): Same. Update call to if_convertible_loop_p.
5711 (main_tree_if_conversion): Update call to tree_if_conversion.
5713 2010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
5716 * doc/invoke.texi (-b,-V): Delete.
5717 * doc/tm.texi: Do not mention -b.
5718 * gcc.c (display_help): Delete -b and -V.
5719 (process_command): Delete -b and -V.
5720 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
5722 2010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
5723 Wolfgang Gellerich <gellerich@de.ibm.com>
5725 Implement target hook for loop unrolling
5726 * target.h (loop_unroll_adjust): Add a new target hook function.
5727 * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
5728 * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
5729 * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
5730 (s390_loop_unroll_adjust): Implement the new target hook for s390.
5731 * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
5733 (decide_unroll_stupid): Likewise.
5735 2010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5738 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
5740 2010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5742 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
5743 (Specific, *-*-solaris2*): Likewise.
5744 Don't prefer Sun as over GNU as.
5746 2010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
5748 * config/s390/s390.c (override_options): Adjust the z10 defaults
5749 for max-unroll-times, max-completely-peeled-insns
5750 and max-completely-peel-times.
5752 2010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5754 * config/s390/s390.c (s390_expand_movmem): Issue prefetch
5755 instructions for z10.
5756 (s390_expand_setmem): Likewise.
5757 (s390_expand_cmpmem): Likewise.
5759 2010-04-08 Richard Guenther <rguenther@suse.de>
5761 PR tree-optimization/43679
5762 * tree-ssa-pre.c (eliminate): Only propagate copies.
5764 2010-04-08 Jakub Jelinek <jakub@redhat.com>
5767 * expr.c (block_move_libcall_safe_for_call_parm): Avoid
5768 set but not used variable warning.
5770 2010-04-08 Wei Guozhi <carrot@google.com>
5773 * config/arm/arm.c (thumb1_size_rtx_costs): New function.
5774 (arm_size_rtx_costs): Call the new function when optimized for size.
5776 2010-04-08 Jakub Jelinek <jakub@redhat.com>
5779 * cfgexpand.c (expand_debug_expr): If for non-NULL offset
5780 op0 is not a MEM, just return NULL instead of assertion
5782 (discover_nonconstant_array_refs): Don't walk debug stmts.
5784 2010-04-08 Doug Kwan <dougkwan@google.com>
5786 * configure.ac: Recognize gold and do not use its version number
5787 to test ld features.
5788 * configure: Regenerate.
5790 2010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
5793 * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
5794 (negate_value): Move code to push elements to broken_up_substracts ...
5795 (eliminate_plus_minus_pair): ... here. Push operands that have no
5796 negative pair to plus_negates.
5797 (repropagate_negates, init_reassoc, fini_reassoc): Update.
5799 2010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5801 * doc/install.texi (Configuration): Move description of
5802 --enable-lto, --with-libelf*, --enable-gold from Java section to
5805 * doc/generic.texi (Working with declarations)
5806 (Function Properties, C and C++ Trees): Fix typos.
5807 * doc/sourcebuild.texi (Top Level): Likewise.
5809 2010-04-07 Jakub Jelinek <jakub@redhat.com>
5812 * tree.h (DECL_READ_P): Define.
5813 (struct tree_decl_common): Add decl_read_flag.
5814 * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
5815 a set but not used warning.
5816 (merge_decls): Merge DECL_READ_P flag.
5817 (finish_decl, build_compound_literal): Set DECL_READ_P flag.
5818 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
5819 * c-common.c (handle_used_attribute, handle_unused_attribute):
5821 * c-tree.h (default_function_array_read_conversion, mark_exp_read):
5823 * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
5825 (default_conversion, c_process_expr_stmt): Call mark_exp_read.
5826 * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
5827 c_parser_binary_expression, c_parser_cast_expression,
5828 c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
5829 Call default_function_array_read_conversion instead of
5830 default_function_array_conversion where needed.
5831 (c_parser_unary_expression, c_parser_conditional_expression,
5832 c_parser_postfix_expression_after_primary, c_parser_initelt):
5833 Likewise. Call mark_exp_read where needed.
5834 (c_parser_statement_after_labels, c_parser_asm_operands,
5835 c_parser_typeof_specifier, c_parser_sizeof_expression,
5836 c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
5838 * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
5840 * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
5841 (warn_unused_but_set_parameter): Default to warn_unused
5843 * doc/invoke.texi: Document -Wunused-but-set-variable and
5844 -Wunused-but-set-parameter.
5846 * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
5847 used count variable.
5848 * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
5849 when operandN variables aren't used in the body of the expander
5851 * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
5852 FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
5853 * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
5854 * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
5855 FOR_EACH_IMM_USE_ON_STMT): Likewise.
5856 * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
5857 * tree.c (PROCESS_ARG): Likewise.
5859 2010-04-07 Simon Baldwin <simonb@google.com>
5861 * diagnostic.h (diagnostic_override_option_index): New macro to
5862 set a diagnostic's option_index.
5863 * c-tree.h (c_cpp_error): Add warning reason argument.
5864 * opts.c (_warning_as_error_callback): New.
5865 (register_warning_as_error_callback): Store callback for
5866 warnings enabled via enable_warning_as_error.
5867 (enable_warning_as_error): Call callback, minor code tidy.
5868 * opts.h (register_warning_as_error_callback): Declare.
5869 * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
5870 response to -Werror=.
5871 (c_common_init_options): Register warning_as_error_callback in opts.c.
5872 * common.opt: Add -Wno-cpp option.
5873 * c-common.c (struct reason_option_codes_t): Map cpp warning
5874 reason codes to gcc option indexes.
5875 * (c_option_controlling_cpp_error): New function, lookup the gcc
5876 option index for a cpp warning reason code.
5877 * (c_cpp_error): Add warning reason argument, call
5878 c_option_controlling_cpp_error for diagnostic_override_option_index.
5879 * doc/invoke.texi: Document -Wno-cpp.
5881 2010-04-07 Richard Guenther <rguenther@suse.de>
5883 * ipa-reference.c (mark_load): Use get_base_address.
5884 (mark_store): Likewise.
5886 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
5887 inserting GIMPLE_NOPs into the IL.
5888 * tree-ssa-structalias.c (get_constraint_for_component_ref):
5889 Explicitly strip handled components and indirect references.
5891 * fold-const.c (fold_unary_loc): Do not strip qualifiers when
5892 folding address expressions.
5893 * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
5894 * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
5895 operand_equal_p to compare decls.
5896 (ptr_deref_may_alias_decl_p): Likewise.
5897 * tree-ssa-operands.c (get_asm_expr_operands): Simplify
5898 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
5899 Handle reversed comparison ops.
5900 * tree-sra.c (asm_visit_addr): Use get_base_address.
5901 * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
5902 * ipa-reference.c (mark_address): Use get_base_address.
5904 2010-04-07 Richard Guenther <rguenther@suse.de>
5906 * tree-ssa-forwprop.c (forward_propagate_addr_expr):
5907 Propagate constants everywhere.
5909 2010-04-07 Jakub Jelinek <jakub@redhat.com>
5912 * tree.c (MAX_INT_CACHED_PREC): Define.
5913 (nonstandard_integer_type_cache): New array.
5914 (build_nonstandard_integer_type): Cache results for precision
5915 <= MAX_INT_CACHED_PREC.
5917 2010-04-07 Richard Guenther <rguenther@suse.de>
5919 * doc/invoke.texi (-fargument-alias, -fargument-noalias,
5920 -fargument-noalias-global, -fargument-noalias-anything): Remove.
5921 * common.opt: Likewise.
5922 * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
5923 * alias.c (base_alias_check): Remove flag_argument_noalias handling.
5924 (nonoverlapping_memrefs_p): Likewise.
5925 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
5926 * opts.c (common_handle_option): Handle OPT_fargument_alias,
5927 OPT_fargument_noalias, OPT_fargument_noalias_anything and
5928 OPT_fargument_noalias_global for backward compatibility.
5930 2010-04-07 Richard Guenther <rguenther@suse.de>
5932 PR tree-optimization/43270
5933 * tree-vrp.c (check_array_ref): Fix flexible array member detection.
5934 * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
5935 * tree-ssa-pre.c (phi_translate_1): Adjust.
5936 (fully_constant_expression): Split out vn_reference handling to ...
5937 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
5938 Fold reads from constant strings.
5939 (vn_reference_lookup): Handle fully constant references.
5940 (vn_reference_lookup_pieces): Likewise.
5941 * Makefile.in (expmed.o-warn): Add -Wno-error.
5943 2010-04-07 Martin Jambor <mjambor@suse.cz>
5945 * tree-sra.c (find_param_candidates): Allow scalar va_list types.
5947 2010-04-07 Iain Sandoe <iains@gcc.gnu.org>
5950 * gcc.c: Add -static-libstdc++ to list of recognized options.
5952 2010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5954 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
5956 2010-04-07 Richard Guenther <rguenther@suse.de>
5959 * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
5960 bases build simple mem attributes to retain points-to information.
5962 2010-04-07 Richard Guenther <rguenther@suse.de>
5965 * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
5966 preserve points-to related information.
5968 2010-04-07 Richard Guenther <rguenther@suse.de>
5971 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
5972 discard plain indirect references.
5973 * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
5974 * tree.c (tree_nop_conversion): Likewise.
5976 2010-04-07 Dodji Seketeli <dodji@redhat.com>
5979 * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
5981 2010-04-06 Kai Tietz <kai.tietz@onevision.com>
5983 * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
5984 calling convention attributes on METHOD_TYPEs for w64 ABI, too.
5986 2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
5988 * tree-if-conv.c: Fix indentation and comments.
5990 2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
5992 * tree-if-conv.c: Sort static functions in topological order.
5994 2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
5996 * tree-if-conv.c: Fix indentation and comments.
5998 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6001 * graphite-clast-to-gimple.c (max_signed_precision_type): Use
6002 lang_hooks.types.type_for_size instead of
6003 build_nonstandard_integer_type.
6004 When converting an unsigned type to signed, double its precision.
6005 (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
6006 (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
6007 (graphite_create_new_loop_guard): When ub + 1 wraps around,
6010 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6013 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
6014 POINTER_PLUS_EXPR for pointer types.
6016 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6019 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
6020 * graphite-clast-to-gimple.c: Include langhooks.h.
6021 (max_signed_precision_type): New.
6022 (max_precision_type): Takes two types as arguments.
6023 (precision_for_value): New.
6024 (precision_for_interval): New.
6025 (gcc_type_for_interval): New.
6026 (gcc_type_for_value): New.
6027 (gcc_type_for_clast_term): New.
6028 (gcc_type_for_clast_red): New.
6029 (gcc_type_for_clast_bin): New.
6030 (gcc_type_for_clast_expr): Split up into several functions.
6031 (gcc_type_for_clast_eq): Rewritten.
6032 (compute_bounds_for_level): New.
6033 (compute_type_for_level_1): New.
6034 (compute_type_for_level): New.
6035 (gcc_type_for_cloog_iv): Removed.
6036 (gcc_type_for_iv_of_clast_loop): Rewritten.
6037 (graphite_create_new_loop): Compute the lower and upper bound types
6038 with gcc_type_for_clast_expr.
6039 (graphite_create_new_loop_guard): Same.
6040 (find_cloog_iv_in_expr): Removed.
6041 (compute_cloog_iv_types_1): Removed.
6042 (compute_cloog_iv_types): Removed.
6043 (gloog): Do not call compute_cloog_iv_types.
6044 * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
6046 (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
6047 * sese.h (struct gimple_bb): Removed field cloog_iv_types.
6048 (GBB_CLOOG_IV_TYPES): Removed.
6050 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6052 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
6053 gimple_phi_num_args of the loop close SSA phi node is equal to 1.
6054 (detect_commutative_reduction): Same.
6056 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6058 * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
6059 call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
6061 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
6062 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
6063 (rewrite_commutative_reductions_out_of_ssa): Same.
6064 * passes.c (execute_function_todo): Call verify_ssa for every pass
6065 in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
6066 * tree-flow.h (verify_loop_closed_ssa): Update declaration.
6067 * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
6068 with an extra argument.
6069 * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
6070 verify_ssa only when the extra argument is true.
6071 (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
6072 with an extra argument.
6073 (tree_transform_and_unroll_loop): Same.
6075 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6077 * passes.c (execute_function_todo): Call verify_loop_closed_ssa
6078 for all the passes of the LNO having LOOP_CLOSED_SSA.
6079 * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
6080 * tree-loop-distribution.c (pass_loop_distribution): Same.
6081 * tree-pass.h (TODO_verify_loops): Removed.
6082 * tree-ssa-loop.c (pass_tree_loop_init): Same.
6084 (pass_tree_unswitch): Same.
6085 (pass_predcom): Same.
6086 (pass_vectorize): Same.
6087 (pass_linear_transform): Same.
6088 (pass_graphite_transforms): Same.
6089 (pass_iv_canon): Same.
6090 (pass_complete_unroll): Same.
6091 (pass_complete_unrolli): Same.
6092 (pass_parallelize_loops): Same.
6093 (pass_loop_prefetch): Same.
6094 (pass_iv_optimize): Same.
6096 2010-04-06 Changpeng Fang <changpeng.fang@amd.com>
6099 * passes.c (init_optimization_passes): Move pass_lim before
6100 pass_copy_prop and pass_dce_loop.
6102 2010-04-06 Jakub Jelinek <jakub@redhat.com>
6105 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
6106 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
6107 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
6108 MULTI_* defines for 4 argument vpermil2p* builtins.
6110 2010-04-06 Uros Bizjak <ubizjak@gmail.com>
6112 * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
6113 * config/i386/i386.c (x86_maybe_negate_const_int): New.
6114 (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
6115 * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
6116 *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
6117 *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
6118 *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
6119 Use x86_maybe_negate_const_int to output insn mnemonic.
6120 (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
6121 check from instruction predicate. Update comments.
6122 * config/i386/sync.md (sync_add<mode>): Use
6123 x86_maybe_negate_const_int to output insn mnemonic.
6125 2010-04-06 Jan Hubicka <jh@suse.cz>
6127 PR tree-optimization/42906
6128 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
6129 IGNORE_SELF argument. Set visited_control_parents for fully
6131 (find_obviously_necessary_stmts): Update call of
6132 mark_control_dependent_edges_necessary.
6133 (propagate_necessity): Likewise. Handle PHI edges more curefully.
6135 2010-04-06 Uros Bizjak <ubizjak@gmail.com>
6137 * config/i386/i386.md: Remove comment about 'e' and 'E'
6140 2010-04-06 Richard Guenther <rguenther@suse.de>
6142 PR tree-optimization/43627
6143 * tree-vrp.c (extract_range_from_unary_expr): Widenings
6144 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
6147 2010-04-06 Jakub Jelinek <jakub@redhat.com>
6149 * BASE-VER: Change to 4.6.0.
6152 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
6155 2010-04-06 Richard Guenther <rguenther@suse.de>
6158 * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
6160 2010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6162 * doc/invoke.texi (Optimize Options): Document that LTO
6163 won't remove object access purely due to incompatible
6166 2010-04-04 Matthias Klose <doko@ubuntu.com>
6168 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
6169 Initialize variable.
6171 2010-04-03 Richard Guenther <rguenther@suse.de>
6174 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
6175 require a non-NULL MEM_OFFSET.
6177 2010-04-02 Steven Bosscher <steven@gcc.gnu.org>
6179 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
6180 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
6181 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
6182 config/alpha/predicates.md, config/arm/arm.md,
6183 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
6184 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
6185 config/darwin9.h, config/darwin.c, config/darwin.h,
6186 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
6187 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
6188 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
6189 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
6190 config/mips/mips.md, config/mn10300/mn10300.c,
6191 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
6192 config/rs6000/aix.h, config/rs6000/dfp.md,
6193 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
6194 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
6195 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
6196 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
6197 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
6198 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
6199 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
6200 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
6201 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
6202 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
6203 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
6204 gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
6205 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
6206 graphite-dependences.c, graphite-poly.c, graphite-poly.h,
6207 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
6208 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
6209 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
6210 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
6211 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
6212 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
6213 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
6214 opt-functions.awk, opth-gen.awk, params.def, passes.c,
6215 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
6216 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
6217 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
6218 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
6219 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
6220 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
6221 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
6222 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
6223 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
6224 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
6225 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
6226 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
6227 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
6228 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
6230 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6233 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
6234 * aclocal.m4: Regenerate.
6236 2010-04-02 Richard Guenther <rguenther@suse.de>
6238 PR tree-optimization/43629
6239 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
6240 if we have seen a constant value.
6242 2010-04-02 Joseph Myers <joseph@codesourcery.com>
6244 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
6246 2010-04-02 Richard Earnshaw <rearnsha@arm.com>
6249 * arm.c (legitimize_tls_address): Adjust call to
6250 gen_tls_load_dot_plus_four.
6251 (arm_note_pic_base): New function.
6252 (arm_cannot_copy_insn_p): Use it.
6253 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
6256 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6261 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6263 * Makefile.in ($(out_object_file)): Depend on
6264 gt-$(basename $(notdir $(out_file))).h.
6266 2010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
6268 * config.gcc (lm32-*-rtems*): Add t-lm32.
6270 2010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
6272 * config.gcc: Add lm32-*-rtems*.
6273 * config/lm32/rtems.h: New file.
6275 2010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
6278 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
6280 2010-04-01 Jakub Jelinek <jakub@redhat.com>
6282 * dwarf2out.c (output_compilation_unit_header): For
6283 -gdwarf-4 use version 4 instead of version 3.
6284 (output_line_info): For version 4 and above emit additional
6285 maximum ops per insn header field.
6286 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
6288 * dwarf2out.c (is_c_family, is_java): Remove.
6289 (lower_bound_default): New function.
6290 (add_bound_info, gen_descr_array_type_die): Use it.
6292 2010-04-01 Dodji Seketeli <dodji@redhat.com>
6295 * dwarf2out.c (gen_variable_die): Allow debug info for variable
6296 re-declaration when it happens in a function.
6298 2010-04-01 Aldy Hernandez <aldyh@redhat.com>
6300 * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
6301 (cgraph_remove_function_insertion_hook): Same.
6302 (cgraph_call_function_insertion_hooks): Same.
6304 2010-04-01 Richard Guenther <rguenther@suse.de>
6307 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
6308 and TREE_THIS_VOLATILE.
6309 (copy_ref_info): Likewise.
6310 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
6311 * tree.c (build6_stat): Ignore side-effects of all but arg5
6312 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
6315 2010-04-01 Richard Guenther <rguenther@suse.de>
6317 PR tree-optimization/43607
6318 * ipa-type-escape.c (check_call): Do not access non-existing
6321 2010-04-01 Richard Guenther <rguenther@suse.de>
6325 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
6326 Jack Howarth <howarth@bromo.med.uc.edu>
6328 * tree-profile.c (tree_init_ic_make_global_vars): Make static
6331 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6333 * doc/install.texi (Prerequisites): Document libelf usability on
6334 IRIX 5/6 and Solaris 2.
6335 (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
6336 Update GNU as, GNU ld requirements.
6337 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
6338 Document Sun Studio compiler download.
6339 Update and simplify as, ld recommendations.
6340 (Specific, *-*-solaris2.7): Note obsoletion, removal.
6342 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6344 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
6345 with_tune_32 to pentium4.
6347 2010-04-01 Uros Bizjak <ubizjak@gmail.com>
6349 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
6351 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6353 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
6354 obsoletion, removal.
6356 Document GNU as requirement.
6357 Update configure requirements.
6358 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
6359 Recomment IRIX 6.5.18+.
6360 Document IDF/IDL requirement.
6361 Document GNU as requirement.
6362 Document GNU ld bootstrap failure.
6363 Remove freeware.sgi.com reference.
6365 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6367 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
6368 UNIX V4.0, V5.0 obsoletion, removal.
6369 Remove --with-gc=simple reference.
6370 Update VM requirements during bootstrap.
6371 Remove -oldas bootstrap description.
6372 Update binutils reference.
6373 Remove comparison failure note.
6375 2010-03-31 Richard Guenther <rguenther@suse.de>
6376 Zdenek Dvorak <ook@ucw.cz>
6377 Sebastian Pop <sebastian.pop@amd.com>
6380 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
6381 with multiple arguments.
6382 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
6384 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
6386 * graphite-dependences.c (print_pddr): Call print_pdr with an
6388 * graphite-poly.c (debug_pdr): Add an extra argument for the
6391 (print_pbb_domain): Same.
6393 (print_scop_context): Same.
6395 (print_cloog): Same.
6396 (debug_pbb_domain): Same.
6400 (debug_scop_context): Same.
6402 (debug_cloog): Same.
6403 (print_scop_params): Same.
6404 (debug_scop_params): Same.
6405 (print_iteration_domain): Same.
6406 (print_iteration_domains): Same.
6407 (debug_iteration_domain): Same.
6408 (debug_iteration_domains): Same.
6409 (print_scattering_function): Same.
6410 (print_scattering_functions): Same.
6411 (debug_scattering_function): Same.
6412 (debug_scattering_functions): Same.
6413 * graphite-poly.h (debug_pdr): Update declaration.
6415 (print_pbb_domain): Same.
6417 (print_scop_context): Same.
6419 (print_cloog): Same.
6420 (debug_pbb_domain): Same.
6424 (debug_scop_context): Same.
6426 (debug_cloog): Same.
6427 (print_scop_params): Same.
6428 (debug_scop_params): Same.
6429 (print_iteration_domain): Same.
6430 (print_iteration_domains): Same.
6431 (debug_iteration_domain): Same.
6432 (debug_iteration_domains): Same.
6433 (print_scattering_function): Same.
6434 (print_scattering_functions): Same.
6435 (debug_scattering_function): Same.
6436 (debug_scattering_functions): Same.
6438 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
6440 * graphite-poly.c (print_scattering_function_1): New.
6441 (print_scattering_function): Call it.
6442 (print_scop_params): Remove spaces at the end of lines.
6445 * graphite-poly.h (print_cloog): Declared.
6446 (debug_cloog): Declared.
6448 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
6450 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
6452 * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
6453 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
6454 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
6455 to switch between adding the IV bump in loop->latch or in loop->header.
6457 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
6459 * graphite-poly.c (print_scattering_function): Pretty print following
6462 (print_pbb_domain): Same.
6463 (dump_gbb_cases): Same.
6464 (dump_gbb_conditions): Same.
6467 (print_scop_params): Same.
6468 (print_scop_context): Same.
6470 (print_pbb_body): New.
6471 (lst_indent_to): New.
6472 (print_lst): Start new lines with a #.
6473 * graphite-poly.h (pbb_bb): New.
6474 (pbb_index): Use pbb_bb.
6475 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
6477 * tree-data-ref.c (dump_data_reference): Start new lines with a #.
6479 2010-03-31 Jakub Jelinek <jakub@redhat.com>
6481 * dwarf2out.c (size_of_die): For -gdwarf-4 use
6482 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
6483 and 0 instead of 1 for dw_val_class_flag.
6484 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
6485 dw_val_class_range_list, dw_val_class_loc_list,
6486 dw_val_class_lineptr and dw_val_class_macptr, use
6487 DW_FORM_flag_present for dw_val_class_flag and
6488 DW_FORM_exprloc for dw_val_class_loc.
6489 (output_die): For -gdwarf-4 print dw_val_class_loc
6490 size as uleb128 instead of 1 or 2 bytes and don't print
6491 anything for dw_val_class_flag.
6493 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
6494 instead of cselib_lookup following by tweaking locs->setting_insn.
6497 * cselib.c (cselib_process_insn): Clear cselib_current_insn
6498 even before returning from label, setjmp call or volatile asm
6501 2010-03-31 Richard Guenther <rguenther@suse.de>
6504 * cgraphunit.c (cgraph_output_in_order): Do not allocate
6505 temporary data on stack.
6507 2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6509 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
6510 (PUSHSECTION_ASM_OP): Remove.
6511 (POPSECTION_ASM_OP): Remove.
6512 (PUSHSECTION_FORMAT): Remove.
6513 * config/sol2.h (PUSHSECTION_FORMAT): Define.
6514 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
6515 * config/sol2.c (solaris_output_init_fini): Use it.
6517 2010-03-31 Jie Zhang <jie@codesourcery.com>
6520 * opt-functions.awk (var_type_struct): Use signed char type
6521 for simple variables.
6523 2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6525 * config/sol2.c: Include output.h.
6526 (solaris_assemble_visibility): New function.
6527 * config/t-sol2 (sol2.o): Add output.h dependency.
6528 * config/sol2-protos.h (solaris_assemble_visibility): Declare.
6529 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
6532 2010-03-31 Jakub Jelinek <jakub@redhat.com>
6535 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
6536 V2SImode or XFmode on PRE_DEC.
6539 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
6542 2010-03-31 Jie Zhang <jie@codesourcery.com>
6545 * reload.h (caller_save_initialized_p): Declare.
6546 * toplev.c (backend_init_target): Don't call
6547 init_caller_save but set caller_save_initialized_p to false.
6548 * caller-save.c (caller_save_initialized_p): Define.
6549 (init_caller_save): Check caller_save_initialized_p.
6550 * ira.c (ira): Call init_caller_save if flag_caller_saves.
6552 2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6555 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
6556 and soft-fp/t-softfp to tmake_file.
6557 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
6558 (LIBGCC2_TF_CEXT): Define.
6561 2010-03-30 Alexandre Oliva <aoliva@redhat.com>
6564 * cselib.c (n_useless_values): Document handling of debug locs.
6565 (n_useless_debug_values, n_debug_values): New variables.
6566 (new_elt_loc_list): Don't add to debug values, keep count.
6567 (promote_debug_loc): New.
6568 (cselib_reset_table): Zero new variables.
6569 (entry_and_rtx_equal_p): Promote debug locs.
6570 (discard_useless_locs): Increment n_useless_debug_values for
6572 (remove_useless_values): Adjust n_useless_values and n_debug_values
6573 with n_useless_debug_values.
6574 (add_mem_for_addr): Promote debug locs.
6575 (cselib_lookup_mem): Likewise.
6576 (cselib_lookup_addr): Renamed to...
6577 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
6578 (cselib_log_lookup): ... this. Turn into...
6579 (cselib_lookup_addr): ... new wrapper.
6580 (cselib_lookup_from_insn): New.
6581 (cselib_invalidate_regno): Increment n_useless_debug_values for
6583 (cselib_invalidate_mem): Likewise.
6584 (cselib_process_insn): Take n_deleted and n_debug_values into
6585 account to guard remove_useless_value call.
6586 (cselib_finish): Zero n_useless_debug_values.
6587 * cselib.h (cselib_lookup_from_insn): Declare.
6588 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
6589 (sched_analyze_2): Likewise.
6591 2010-03-30 Jakub Jelinek <jakub@redhat.com>
6593 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
6595 (adjust_mems): Replace narrowing SUBREG of expression containing
6596 just PLUS, MINUS, MULT and ASHIFT of registers and constants
6597 with operations in the narrower mode.
6600 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
6601 regs_invalidated_by_call instead all call_used_reg_set registers.
6603 2010-03-30 Sebastian Pop <sebastian.pop@amd.com>
6606 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
6607 pointer comparisons with types_compatible_p.
6608 * tree-vect-stmts.c (vectorizable_call): Same.
6609 (vectorizable_condition): Same.
6611 2010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6613 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
6614 stack check if the mask would be zero.
6616 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
6617 Jack Howarth <howarth@bromo.med.uc.edu>
6619 * tree-profile.c (tree_init_ic_make_global_vars): Make static
6622 2010-03-30 Joseph Myers <joseph@codesourcery.com>
6625 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
6627 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
6628 Include ___unordxf2 and ___unordtf2.
6629 * config/i386/libgcc-glibc.ver: Do not define inheritance from
6632 2010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
6634 * config/lm32/t-lm32: New file.
6635 * config.gcc: Use the above file when targetting lm32.
6637 2010-03-28 Duncan Sands <baldrick@free.fr>
6639 * Makefile.in (PLUGIN_HEADERS): Add except.h.
6641 2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
6644 * tree-vect-loop.c (vect_estimate_min_profitable_iters):
6645 Improve vectorization cost model diagnostic.
6647 2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
6650 * tree-vect-data-refs.c (vect_analyze_data_refs): When
6651 compute_data_dependences_for_loop returns false, early exit
6652 and output an extra diagnostic for the failed data reference
6655 2010-03-29 Richard Guenther <rguenther@suse.de>
6657 PR tree-optimization/43560
6658 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
6659 (can_sm_ref_p): Treat stores to readonly locations as trapping.
6661 2010-03-29 Jie Zhang <jie@codesourcery.com>
6664 * toplev.c (process_options): Set optimization_default_node
6665 and optimization_current_node.
6666 * opts.c (decode_options): Don't set optimization_default_node
6667 and optimization_current_node.
6669 2010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
6671 * config/rtems.h: Abandon -qrtems_debug.
6673 2010-03-28 Jan Hubicka <jh@suse.cz>
6675 PR tree-optimization/43505
6676 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
6677 map should not be copied.
6679 2010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6682 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
6683 cdtors, set DECL_PRESERVE_P.
6684 * ipa.c (cgraph_externally_visible_p): Return true if declaration
6687 2010-03-27 Uros Bizjak <ubizjak@gmail.com>
6689 PR tree-optimization/43528
6690 * stor-layout.c (place_field): Check that constant fits into
6691 unsigned HWI when skipping calculation of MS bitfield layout.
6693 2010-03-27 Jan Hubicka <jh@suse.cz>
6696 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
6697 notice_global_symbol work.
6699 2010-03-27 Jakub Jelinek <jakub@redhat.com>
6701 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
6702 instead of dwarf2out_decl.
6703 (struct var_loc_node): Remove section_label field.
6704 (dwarf2out_function_decl): New function.
6705 (dwarf2out_var_location): Don't set section_label field.
6706 (dwarf2out_begin_function): Don't empty decl_loc_table here.
6708 2010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
6710 PR tree-optimization/43544
6711 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
6712 First argument for builtin vectorized function hook is now a
6713 tree to be able to distinguish between machine specific and
6715 * targhooks.c (default_builtin_vectorized_function): Ditto.
6716 * targhooks.h (default_builtin_vectorized_function): Ditto.
6717 * target.h (struct gcc_target): Ditto.
6718 * tree-vect-stmts.c (vectorizable_function): Ditto.
6719 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
6720 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
6723 2010-03-26 Joseph Myers <joseph@codesourcery.com>
6726 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
6727 nested binding iff it is a FUNCTION_DECL.
6728 (store_parm_decls_newstyle): Pass nested=true to bind for
6729 FUNCTION_DECLs amongst parameters.
6731 2010-03-26 Jakub Jelinek <jakub@redhat.com>
6733 * var-tracking.c (vt_expand_loc_callback): Don't run
6734 cselib_expand_value_rtx_cb in dummy mode if
6735 cselib_dummy_expand_value_rtx_cb returned false.
6737 * var-tracking.c (emit_note_insn_var_location): For one part
6738 notes with offset 0, don't add EXPR_LIST around the location.
6739 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
6740 add_location_or_const_value_attribute): Adjust for that change.
6743 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
6744 into first operand and location into second.
6745 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
6746 dw_cfi_oprnd_loc for DW_CFA_expression.
6747 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
6748 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
6749 assume first argument is regnum and second argument is location.
6751 2010-03-26 Uros Bizjak <ubizjak@gmail.com>
6754 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
6755 of scratch register to DImode. Split to DImode comparison operator.
6756 Use SImode subreg of scratch register in the multiplication.
6757 (*cmp_sadd_sidi): Ditto.
6758 (*cmp_ssub_si): Ditto.
6759 (*cmp_ssub_sidi): Ditto.
6761 2010-03-26 Uros Bizjak <ubizjak@gmail.com>
6764 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
6765 Remove invalid assert and wrong comment.
6767 2010-03-26 Jakub Jelinek <jakub@redhat.com>
6770 * flags.h (final_insns_dump_p): New extern.
6771 * final.c (final_insns_dump_p): New variable.
6772 (rest_of_clean_state): Set it before -fdump-final-insns=
6773 dumping, clear afterwards.
6774 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
6775 MEM_ALIAS_SET on MEMs.
6777 2010-03-26 David S. Miller <davem@davemloft.net>
6779 * configure.ac: Fix sparc GOTDATA_OP bug check.
6780 * configure: Rebuild.
6782 2010-03-26 Alan Modra <amodra@gmail.com>
6784 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
6786 2010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6788 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
6789 TLS_SECTION_ASM_FLAG.
6791 2010-03-25 Jakub Jelinek <jakub@redhat.com>
6794 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
6795 Clear first_function_block_is_cold.
6798 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
6799 argument if the argument is truth_value_p.
6801 2010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
6803 * config/rs6000/constraints.md: Update copyright year for my changes.
6806 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
6807 used in reg+reg addressing, swap registers.
6809 2010-03-24 Jakub Jelinek <jakub@redhat.com>
6812 * target.h (struct gcc_target): Add code_end hook.
6813 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
6815 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
6816 * toplev.c (compile_file): Call targetm.asm_out.code_end
6817 hook before unwind info/debug info output.
6818 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
6819 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
6820 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
6821 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
6822 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
6823 * config/i386/i386.c (ix86_file_end): Renamed to...
6824 (ix86_code_end): ... this. Make static. Don't call
6825 file_end_indicate_exec_stack. Emit unwind info using
6826 final_start_function/final_end_function.
6827 (darwin_x86_file_end): Remove.
6828 (TARGET_ASM_CODE_END): Define.
6829 * config/i386/i386.h (TARGET_ASM_FILE_END,
6830 NEED_INDICATE_EXEC_STACK): Don't define.
6831 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
6832 (TARGET_ASM_FILE_END): Define to darwin_file_end.
6833 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
6834 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
6837 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
6838 at the beginning and final_end_function at the end.
6839 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
6841 2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6843 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
6844 and Sun as TLS syntax.
6845 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
6846 * configure: Regenerate.
6847 * config.in: Regenerate.
6848 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
6849 (default_elf_asm_named_section): Use it.
6850 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
6851 (i386_output_dwarf_dtprel): Likewise.
6852 (output_addr_const_extra): Likewise.
6853 (output_pic_addr_const): Lowercase @GOTTPOFF.
6854 (output_addr_const_extra): Likewise.
6855 (output_pic_addr_const): Lowercase @GOTNTPOFF.
6856 (output_addr_const_extra): Likewise.
6857 (output_pic_addr_const): Lowercase @INDNTPOFF.
6858 (output_addr_const_extra): Likewise.
6859 (output_pic_addr_const): Lowercase @NTPOFF.
6860 (output_addr_const_extra): Likewise.
6861 (output_pic_addr_const): Lowercase @TPOFF.
6862 (output_addr_const_extra): Likewise.
6863 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
6864 (*tls_global_dynamic_64): Likewise.
6865 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
6866 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
6868 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
6869 (ASM_OUTPUT_TLS_COMMON): Use it.
6870 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
6873 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
6874 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
6875 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
6876 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
6877 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
6878 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
6880 2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6882 * config/i386/i386.c (override_options): Don't accept
6883 -mtls-dialect=sun any longer.
6884 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
6885 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
6886 (*tls_local_dynamic_base_32_sun): Likewise.
6887 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
6889 2010-03-24 Jakub Jelinek <jakub@redhat.com>
6892 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
6893 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
6896 * ira.c (adjust_cleared_regs): New function.
6897 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
6901 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
6903 * expr.c (expand_expr_real): Restore previous
6904 curr_insn_source_location and curr_insn_block after
6905 expand_expr_real_1 call.
6906 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
6907 instead of expand_expr_real_1.
6909 2010-03-23 Vladimir Makarov <vmakarov@redhat.com>
6911 PR rtl-optimization/43413
6912 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
6915 2010-03-22 James E. Wilson <wilson@codesourcery.com>
6918 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
6919 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
6921 2010-03-22 H.J. Lu <hongjiu.lu@intel.com>
6923 * config/i386/i386.c (ix86_target_string): Add -mfma.
6924 Fix a typo in comment.
6926 2010-03-22 Mike Stump <mikestump@comcast.net>
6929 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
6930 Don't overly align based upon packed packed fields.
6932 2010-03-22 Jason Merrill <jason@redhat.com>
6934 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
6935 Use () rather than [], and move before the element type.
6937 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6939 * doc/configfiles.texi (Configuration Files): Removed
6940 fixinc/Makefile*, intl/Makefile.*.
6941 * doc/makefile.texi: Fixed markup. Abstract from version
6942 control system used.
6943 (Makefile): Removed obsolete gcc/java/parse.y example.
6944 * doc/sourcebuild.texi: Likewise.
6945 (Top Level): Added config, gnattools, libdecnumber, libgcc,
6946 libgomp, libssp. Removed fastjar.
6947 (Miscellaneous Docs): Clarify location.
6948 Added COPYING3, COPYING3.LIB.
6949 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
6951 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6954 * config/i386/i386.c (x86_function_profiler)
6955 [!NO_PROFILE_COUNTERS]: Fix typo.
6956 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
6959 2010-03-22 Janis Johnson <janis187@us.ibm.com>
6960 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6962 * doc/sourcebuild.texi (Test Directives): Split into six
6963 subsections, with most of the current text in new subsections
6964 Directives, Selectors, and Final Actions.
6965 (Directives): Split list of test directives into multiple
6967 (Selectors): Describe use and syntax of selectors.
6968 (Effective-Target Keywords): Describe all existing keywords.
6969 (Add Options): Describe features for dg-add-options.
6970 (Require Support): Describe variants of dg-require-support.
6971 (Final Actions): Describe commands to use in dg-final.
6973 2010-03-22 Michael Matz <matz@suse.de>
6976 * recog.c (validate_replace_rtx_group): Replace also in
6977 REG_EQUAL and REG_EQUIV notes.
6979 2010-03-22 Richard Guenther <rguenther@suse.de>
6981 PR tree-optimization/43390
6982 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
6983 sure vector extracts are type correct.
6985 2010-03-22 Richard Guenther <rguenther@suse.de>
6988 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
6989 x * sqrt (x) even when optimizing for size if the target
6990 has native support for sqrt.
6992 2010-03-22 Jakub Jelinek <jakub@redhat.com>
6994 * varasm.c (make_decl_rtl_for_debug): Also clear
6995 flag_mudflap for the duration of make_decl_rtl call.
6998 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
6999 locs from preserved VALUEs.
7001 2010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7004 * pa.md (movmemsi): Set align to one if zero.
7005 (movmemdi): Likewise.
7007 2010-03-21 Richard Earnshaw <rearnsha@arm.com>
7010 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
7011 with their corresponding prologue pushes.
7013 2010-03-20 Andrew Pinski <pinskia@gmail.com>
7016 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
7017 at the begining or end.
7018 (spu_expand_epilogue): Likewise.
7020 2010-03-20 Richard Guenther <rguenther@suse.de>
7022 PR rtl-optimization/43438
7023 * combine.c (make_extraction): Properly zero-/sign-extend an
7024 extraction of the low part of a CONST_INT. Also handle
7027 2010-03-19 Mike Stump <mikestump@comcast.net>
7029 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
7030 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
7031 (override_options): Use SUBTARGET32_DEFAULT_CPU.
7033 2010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
7036 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
7039 2010-03-19 Bernd Schmidt <bernds@codesourcery.com>
7041 PR rtl-optimization/42258
7042 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
7043 use that may match DEF.
7046 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
7047 the cost of loading the constant rather than assuming
7049 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
7050 outer code is AND, do the same tests as the andsi3 expander and
7051 return COSTS_N_INSNS (1) if and is cheap.
7053 * optabs.c (avoid_expensive_constant): Fix formatting.
7055 2010-03-19 Michael Matz <matz@suse.de>
7058 * attribs.c (decl_attributes): When rebuilding a function pointer
7059 type use the same qualifiers as the original pointer type.
7061 2010-03-19 Martin Jambor <mjambor@suse.cz>
7063 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
7064 and is_gimple_ip_invariant_address.
7066 2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7069 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7071 * config/arm/arm.c (arm_override_options): Turn off
7072 flag_dwarf2_cfi_asm for AAPCS variants.
7074 2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7077 * config/arm/arm.c (emit_multi_reg_push): Update comments.
7078 Use PRE_MODIFY instead of PRE_DEC.
7079 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
7080 (vfp_emit_fstmd): Likewise.
7082 2010-03-19 Michael Matz <matz@suse.de>
7085 * builtins.c (expand_builtin_interclass_mathfn,
7086 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
7089 2010-03-19 Richard Guenther <rguenther@suse.de>
7091 PR tree-optimization/43415
7092 * tree-ssa-pre.c (phi_translate): Split out worker to ...
7093 (phi_translate_1): ... this.
7094 (phi_translate): Move all caching here. Cache all NARY
7095 and REFERENCE translations.
7097 2010-03-19 David S. Miller <davem@davemloft.net>
7099 With help from Eric Botcazou.
7100 * config/sparc/sparc.c: Include dwarf2out.h.
7101 (emit_pic_helper): Delete.
7102 (pic_helper_symbol_name): Delete.
7103 (pic_helper_emitted_p): Delete.
7104 (pic_helper_needed): New.
7105 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
7106 (get_pc_thunk_name): New.
7107 (load_pic_register): Remove 'delay_pic_helper' arg. Use
7108 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
7109 Set pic_helper_needed to true. Don't call emit_pic_helper.
7110 (sparc_expand_prologue): Update load_pic_register call.
7111 (sparc_output_mi_thunk): Likewise.
7112 (sparc_file_end): Emit a hidden comdat symbol for the PIC
7113 thunk if possible. Output CFI information as needed.
7115 2010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7116 Jack Howarth <howarth@bromo.med.uc.edu>
7119 * config/i386/i386.h: Fix ABI on darwin x86-32.
7121 2010-03-18 Aldy Hernandez <aldyh@redhat.com>
7123 * tree.h: Declare make_decl_rtl_for_debug.
7124 * varasm.c (make_decl_rtl_for_debug): New.
7125 * dwarf2out.c (rtl_for_decl_location): Call it.
7126 * cfgexpand.c (expand_debug_expr): Call it.
7128 2010-03-18 Jakub Jelinek <jakub@redhat.com>
7131 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
7135 * var-tracking.c (vt_init_cfa_base): Do nothing if
7136 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
7138 2010-03-18 Alexandre Oliva <aoliva@redhat.com>
7141 * var-tracking.c (canonicalize_vars_star): New.
7142 (dataflow_post_merge_adjust): Use it.
7144 2010-03-18 Jakub Jelinek <jakub@redhat.com>
7147 * var-tracking.c (non_suitable_const): New function.
7148 (add_uses): For DEBUG_INSNs with constants, don't record any
7149 value, instead just the constant value itself.
7150 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
7151 is not VAR_LOC_UNKNOWN_P, set var to the constant.
7152 (emit_notes_in_bb): Likewise.
7153 (emit_note_insn_var_location): For onepart variables if
7154 cur_loc is a VOIDmode constant, use DECL_MODE.
7156 2010-03-18 Martin Jambor <mjambor@suse.cz>
7159 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
7160 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
7161 all non-clones. Moved call redirection...
7162 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
7163 (cgraph_materialize_all_clones): Dispose of all
7164 combined_args_to_skip bitmaps.
7165 (verify_cgraph_node): Do not check for edges pointing to wrong
7166 nodes in inline clones.
7167 * tree-inline.c (copy_bb): Call
7168 cgraph_redirect_edge_call_stmt_to_callee.
7169 * ipa.c (cgraph_remove_unreachable_nodes): Call
7170 cgraph_node_remove_callees even when there are used clones.
7172 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
7174 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
7176 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
7179 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
7182 2010-03-18 Michael Matz <matz@suse.de>
7185 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
7186 into sqrt(x) if we need to preserve signed zeros.
7188 2010-03-18 Steven Bosscher <steven@gcc.gnu.org>
7189 Eric Botcazou <ebotcazou@adacore.com>
7191 PR rtl-optimization/43360
7192 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
7193 note if we don't know its invariant status.
7195 2010-03-18 Michael Matz <matz@suse.de>
7197 PR tree-optimization/43402
7198 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
7199 PHI chains of ssa names registered for update.
7201 2010-03-17 Peter Bergner <bergner@vnet.ibm.com>
7204 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
7205 non-offsettable and pre_modify update addressing.
7206 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
7207 and "2" alternatives "#".
7208 (*movdd_softfloat32): Make all alternatives "#";
7209 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
7210 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
7211 (*movdf_softfloat32): Make all alternatives "#";
7212 (movdi): Use the new DIFD mode iterator to create a common splitter
7213 for movdi, movdf and movdd patterns.
7215 2010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
7217 * common.opt (dumpdir): Remove redundant tab.
7219 2010-03-17 Martin Jambor <mjambor@suse.cz>
7221 PR tree-optimization/43347
7222 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
7223 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
7225 2010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
7227 PR rtl-optimization/42216
7228 * regrename.c (create_new_chain): New function, broken out from...
7229 (scan_rtx_reg): ... here. Call it. Handle the case where we are
7230 appending a use to an empty chain.
7231 (build_def_use): Remove previous changes that convert OP_INOUT to
7232 OP_OUT operands; instead detect the case where an OP_INOUT operand
7233 uses a previously untracked register and create an empty chain for it.
7235 2010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7237 * doc/extend.texi (Function Attributes): Rewrite unfinished
7238 sentence in ms_abi documentation.
7240 2010-03-17 Alan Modra <amodra@gmail.com>
7242 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
7243 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
7244 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
7245 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
7247 2010-03-16 Richard Henderson <rth@redhat.com>
7250 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
7251 (lower_try_finally): Save and restore eh_seq around the expansion
7254 2010-03-16 Aldy Hernandez <aldyh@redhat.com>
7256 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
7257 statements before splitting block.
7259 2010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7261 * doc/sourcebuild.texi (Testsuites): Fix markup.
7262 Use pathnames relative to gcc/testsuite.
7263 (Test Directives): Move description of how timeout is determined.
7264 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
7265 (C Tests): Correct gcc.misc-tests directory.
7266 Framework tests now live in gcc.test-framework.
7268 2010-03-16 Richard Guenther <rguenther@suse.de>
7271 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
7272 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
7274 2010-03-16 Aldy Hernandez <aldyh@redhat.com>
7275 Alexandre Oliva <aoliva@redhat.com>
7277 PR tree-optimization/42917
7278 * lambda-code.c (remove_iv): Skip debug statements.
7279 (lambda_loopnest_to_gcc_loopnest): Likewise.
7280 (not_interesting_stmt): Debug statements are not interesting.
7282 2010-03-16 Jakub Jelinek <jakub@redhat.com>
7286 * cselib.c (cselib_preserve_constants,
7287 cfa_base_preserved_val): New static variables.
7288 (preserve_only_constants): New function.
7289 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
7290 clear its REG_VALUES. If cselib_preserve_constants, don't
7291 empty the whole hash table, but preserve there VALUEs with constants,
7292 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
7293 (cselib_preserve_cfa_base_value): New function.
7294 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
7295 (cselib_init): Change argument to int bitfield. Set
7296 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
7298 (cselib_finish): Clear cselib_preserve_constants and
7299 cfa_base_preserved_val.
7300 * cselib.h (enum cselib_record_what): New enum.
7301 (cselib_init): Change argument to int.
7302 (cselib_preserve_cfa_base_value): New prototype.
7303 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
7304 * dse.c (dse_step1): Likewise.
7305 * cfgcleanup.c (thread_jump): Likewise.
7306 * sched-deps.c (sched_analyze): Likewise.
7307 * gcse.c (local_cprop_pass): Likewise.
7308 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
7309 If FN is non-NULL, call the callback always and whenever it returns
7310 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
7311 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
7312 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
7313 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
7314 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
7315 * var-tracking.c: Include recog.h.
7316 (bb_stack_adjust_offset): Remove.
7317 (vt_stack_adjustments): Don't call it, instead just gather the
7318 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
7319 (adjust_stack_reference): Remove.
7320 (compute_cfa_pointer): New function.
7321 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
7322 (struct adjust_mem_data): New type.
7323 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
7325 (get_address_mode): New function.
7326 (replace_expr_with_values): Use it.
7327 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
7328 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
7329 (adjust_sets): Remove.
7330 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
7331 Use get_address_mode.
7332 (get_adjusted_src): Remove.
7333 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
7334 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
7335 (add_with_sets): Don't call adjust_sets.
7336 (fp_setter, vt_init_cfa_base): New functions.
7337 (vt_initialize): Change return type to bool. Move most of pool etc.
7338 initialization to the beginning of the function from end. Pass
7339 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
7340 If !frame_pointer_needed, call vt_stack_adjustment before mos
7341 vector is filled, call vt_init_cfa_base if argp/framep has been
7342 eliminated to sp. If frame_pointer_needed and argp/framep has
7343 been eliminated to hard frame pointer, set
7344 hard_frame_pointer_adjustment and call vt_init_cfa_base after
7345 encountering fp setter in the prologue. For MO_ADJUST, call
7346 log_op_type before pusing the op into mos vector, not afterwards.
7347 Call adjust_insn before cselib_process_insn/add_with_sets,
7348 call cancel_changes (0) afterwards.
7349 (variable_tracking_main_1): Adjust for vt_initialize calling
7350 vt_stack_adjustments and returning whether it succeeded or not.
7352 2010-03-15 Aldy Hernandez <aldyh@redhat.com>
7354 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
7357 2010-03-15 Jakub Jelinek <jakub@redhat.com>
7359 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
7361 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
7362 drap_reg has not been set.
7364 2010-03-15 Michael Matz <matz@suse.de>
7367 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
7368 use it to expand block copies.
7369 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
7370 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
7371 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
7373 2010-03-15 Richard Guenther <rguenther@suse.de>
7375 PR tree-optimization/43367
7376 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
7379 2010-03-15 Richard Guenther <rguenther@suse.de>
7381 PR tree-optimization/43317
7382 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
7384 2010-03-15 Martin Jambor <mjambor@suse.cz>
7386 PR tree-optimization/43141
7387 * tree-sra.c (create_abstract_origin): New function.
7388 (modify_function): Call create_abstract_origin.
7390 2010-03-15 Chris Demetriou <cgd@google.com>
7392 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
7395 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7398 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
7399 call insert_out_of_ssa_copy for default definitions.
7401 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7403 * graphite-clast-to-gimple.c (my_long_long): Defined.
7404 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
7405 * graphite-sese-to-poly.c (my_long_long): Defined.
7406 (scop_ivs_can_be_represented): Use it.
7408 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7410 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
7411 graphite-max-bbs-per-function, and loop-block-tile-size.
7412 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
7414 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
7416 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7418 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
7419 forward declaration.
7420 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
7421 (add_upper_bounds_from_estimated_nit): New.
7422 (build_loop_iteration_domains): Use it.
7424 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7426 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
7428 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7431 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
7432 should be an INTEGER_CST. Also handle CASE_CONVERT.
7434 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7436 * graphite.c (graphite_initialize): To bound the number of bbs per
7437 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
7438 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
7439 * doc/invoke.texi: Document it.
7441 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7443 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
7444 * graphite-sese-to-poly.h (build_poly_scop): Same.
7446 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7448 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
7449 the number of parameters in the scop. Use as an upper bound
7450 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
7451 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
7452 * doc/invoke.texi: Document it.
7454 2010-03-13 Jerry Quinn <jlquinn@optonline.net>
7456 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
7457 * doc/c-tree.texi: Remove.
7458 * doc/generic.texi: Merge c-tree.texi here.
7459 * doc/gccint.texi (Trees): Remove menu entry.
7460 (c-tree.texi): Remove @include.
7461 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
7462 * doc/languages.texi (Reading RTL): Ditto.
7464 2010-03-12 Steve Ellcey <sje@cup.hp.com>
7467 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
7469 2010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
7472 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
7473 code added to work around reload clobbering CONST insns.
7475 2010-03-12 Jakub Jelinek <jakub@redhat.com>
7477 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
7478 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
7479 (cselib_preserve_only_values): Remove retain argument, don't
7480 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
7481 * cselib.h (cselib_preserve_only_values): Remove retain argument.
7482 * var-tracking.c (micro_operation): Move insn field before union.
7483 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
7484 (struct variable_tracking_info_def): Remove n_mos field, change
7485 mos into a vector of micro_operations.
7486 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
7487 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
7488 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
7489 changing into a vector.
7490 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
7491 come before all other uops generated by add_stores.
7492 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
7494 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
7495 a vector. Run just one pass over the bbs instead of separate counting
7496 and computation phase.
7497 (vt_finalize): Free VTI (bb)->mos vector instead of array.
7500 * tree-inline.c (remap_decls): Put old_var rather than origin_var
7501 into *nonlocalized_list vector.
7502 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
7503 even if origin is non-NULL.
7504 (gen_variable_die): Likewise.
7505 (process_scope_var): Don't change origin.
7506 (gen_decl_die): Likewise.
7507 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
7508 before adding new edges instead of after it, fix moving over
7511 2010-03-11 David S. Miller <davem@davemloft.net>
7513 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
7515 * configure: Rebuild.
7517 2010-03-11 Martin Jambor <mjambor@suse.cz>
7519 PR tree-optimization/43257
7520 * tree.c (assign_assembler_name_if_neeeded): New function.
7521 (free_lang_data_in_cgraph): Assembler name assignment moved to the
7523 * tree.h (assign_assembler_name_if_neeeded): Declare.
7524 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
7525 the function if needed.
7527 2010-03-11 Chris Demetriou <cgd@google.com>
7529 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
7530 include/stdint-gcc.h, and include/stdint.h world-readable.
7532 2010-03-11 Richard Guenther <rguenther@suse.de>
7534 PR tree-optimization/43255
7535 * tree-vrp.c (process_assert_insertions_for): Do not insert
7536 asserts for trivial conditions.
7538 2010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7540 PR tree-optimization/43280
7541 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
7542 generation. Move calculation of size out of the if branch.
7543 (find_bswap): Modify compare number generation.
7545 2010-03-11 Richard Guenther <rguenther@suse.de>
7548 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
7549 (input_gimple_stmt): Fixup handled component types during
7550 operand read. Also fix up decls in ADDR_EXPRs.
7552 2010-03-10 Eric Botcazou <ebotcazou@adacore.com>
7554 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
7555 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
7557 2010-03-10 Jan Hubicka <jh@suse.cz>
7560 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
7561 * varasm.c (get_variable_section): Don't do that here...
7562 (make_decl_rtl): ... and here.
7563 (do_assemble_alias): Produce decl RTL.
7564 (assemble_alias): Likewise.
7566 2010-03-10 Jakub Jelinek <jakub@redhat.com>
7569 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
7570 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
7572 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
7573 (based_loc_descr): Only express drap or vdrap regno based expressions
7574 using DW_OP_fbreg when not optimizing.
7575 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
7576 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
7577 REG_CFA_SET_VDRAP note.
7579 2010-03-10 Alexander Monakov <amonakov@ispras.ru>
7581 PR tree-optimization/43236
7582 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
7583 error in calculation of base address in reverse iteration case.
7584 (generate_builtin): Take number of latch executions if the statement
7587 2010-03-10 Andrey Belevantsev <abel@ispras.ru>
7590 * tree-eh.c: Include pointer-set.h.
7591 (lower_eh_dispatch): Filter out duplicate case labels and
7592 remove the unneeded edge when the label is unused. Return
7593 true when some edges are removed.
7594 (execute_lower_eh_dispatch): When any lowering resulted in
7595 removing an edge, also delete unreachable blocks.
7597 2010-03-10 Jakub Jelinek <jakub@redhat.com>
7600 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
7601 UNSPEC_MACHOPIC_OFFSET.
7603 2010-03-09 Andreas Schwab <schwab@linux-m68k.org>
7606 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
7607 (m68k_delegitimize_address): New function.
7609 2010-03-09 Jakub Jelinek <jakub@redhat.com>
7612 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
7615 * var-tracking.c (adjust_sets): New function.
7616 (count_with_sets, add_with_sets): Use it.
7617 (get_adjusted_src): New inline function.
7618 (add_stores): Use it.
7621 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
7622 call cselib_dummy_expand_value_rtx_cb instead of
7623 cselib_expand_value_rtx_cb.
7626 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
7627 * config/i386/i386.c: Include debug.h and dwarf2out.h.
7628 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
7629 and .cfi_endproc around the pic thunks.
7630 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
7631 all queued unwind info register saves are saved before the call.
7632 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
7633 considered as sp-=4 for unwind info and the pop as sp+=4 which
7634 also clobbers dest, but doesn't actually restore it.
7637 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
7638 RTX_FRAME_RELATED_P.
7640 2010-03-09 Jie Zhang <jie@codesourcery.com>
7642 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
7643 whitespaces in output template.
7645 2010-03-09 Jie Zhang <jie@codesourcery.com>
7647 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
7650 2010-03-08 Jakub Jelinek <jakub@redhat.com>
7652 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
7653 builtins.exp in a separate job.
7655 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
7657 * graphite-sese-to-poly.c (add_param_constraints): Use
7658 lower_bound_in_type and upper_bound_in_type.
7660 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
7662 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
7663 instead of unsigned_type_node.
7665 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
7666 Reza Yazdani <reza.yazdani@amd.com>
7669 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
7670 on pointer type parameters.
7672 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
7676 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
7677 handle conversions from pointer to integers.
7678 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
7679 induction variable, to be able to work with code generated by CLooG.
7680 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
7681 (build_poly_scop): Bail out if we cannot codegen a loop.
7683 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
7685 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
7686 code generation with gloog_error.
7688 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
7690 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
7691 Call fold_convert on all the returned values.
7692 (expand_scalar_variables_expr): Pass to
7693 expand_scalar_variables_ssa_name the type of the resulting expression.
7695 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
7697 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
7698 ppl_min_for_le_pointset.
7699 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
7700 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
7702 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
7704 * graphite-dependences.c (map_into_dep_poly): Removed.
7705 (dependence_polyhedron_1): Use combine_context_id_scat.
7707 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
7709 * graphite-poly.h (struct poly_scattering): Add layout documentation.
7710 (struct poly_bb): Same.
7711 (combine_context_id_scat): New.
7713 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
7716 * sese.c (name_defined_in_loop_p): Return false for default
7719 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
7721 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
7722 and clean up the logic.
7724 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
7726 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
7729 2010-03-08 Jakub Jelinek <jakub@redhat.com>
7731 * var-tracking.c (remove_cselib_value_chains): Define only for
7733 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
7734 delete_slot_part, emit_notes_for_differences_1): Don't call
7735 remove_cselib_value_chains here.
7736 (set_slot_part, emit_notes_for_differences_2): Don't call
7737 add_cselib_value_chains here.
7738 (preserved_values): New vector.
7739 (preserve_value): New function.
7740 (add_uses, add_stores, vt_add_function_parameters): Use it
7741 instead of cselib_preserve_value.
7742 (changed_values_stack): New vector.
7743 (check_changed_vars_0): New function.
7744 (check_changed_vars_1, check_changed_vars_2): Use it.
7745 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
7746 changed_values_stack VALUEs.
7747 (vt_emit_notes): For all preserved_values call
7748 add_cselib_value_chains. If ENABLE_CHECKING call
7749 remove_cselib_value_chains before verifying value_chains is empty.
7750 Initialize and free changed_values_stack.
7751 (vt_initialize): Initialize preserved_values.
7752 (vt_finalize): Free preserved_values.
7754 2010-03-08 Richard Guenther <rguenther@suse.de>
7756 PR tree-optimization/43269
7757 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
7760 2010-03-08 Martin Jambor <mjambor@suse.cz>
7762 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
7763 (ipa_is_param_called): Removed.
7764 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
7765 (ipa_print_node_params): Do not print the called flag.
7766 (ipa_write_node_info): Do not stream the called flag.
7767 (ipa_read_node_info): Likewise.
7769 2010-03-07 Jakub Jelinek <jakub@redhat.com>
7772 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
7773 * cselib.c (struct expand_value_data): Add dummy field.
7774 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
7776 (cselib_dummy_expand_value_rtx_cb): New function.
7777 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
7779 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
7780 * var-tracking.c: Include pointer-set.h.
7781 (variable): Change n_var_parts to char from int. Add
7782 cur_loc_changed and in_changed_variables fields.
7783 (variable_canonicalize): Remove.
7784 (shared_var_p): New inline function.
7785 (unshare_variable): Maintain cur_loc_changed and
7786 in_changed_variables fields. If var was in changed_variables,
7787 replace it there with new_var. Just copy cur_loc instead of
7788 resetting it to something else.
7789 (variable_union): Don't recompute cur_loc. Use shared_var_p.
7790 (dataflow_set_union): Don't call variable_canonicalize.
7791 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
7792 of their DEBUG_EXPR_TREE_DECLs.
7793 (canonicalize_loc_order_check): Verify that cur_loc is NULL
7794 and in_changed_variables and cur_loc_changed is false.
7795 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
7796 and cur_loc_changed. Don't update cur_loc here.
7797 (variable_merge_over_src): Don't call variable_canonicalize.
7798 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
7799 removing loc that is equal to cur_loc, clear cur_loc,
7800 set cur_loc_changed and ensure variable_was_changed is called.
7801 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
7802 compare pointers in cur_loc check, if it is equal to loc,
7803 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
7804 (variable_different_p): Remove compare_current_location argument,
7805 don't compare cur_loc.
7806 (dataflow_set_different_1): Adjust variable_different_p caller.
7807 (variable_was_changed): If dv had some var in changed_variables
7808 already, reset in_changed_variables flag for it and propagate
7809 cur_loc_changed over to the new variable. On empty var
7810 always set cur_loc_changed. Set in_changed_variables on whatever
7811 var is added to changed_variables.
7812 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
7813 Use shared_var_p. When removing loc that is equal to cur_loc,
7814 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
7815 end, don't set it to something else, just call variable_was_changed.
7816 (delete_slot_part): Use shared_var_p. When cur_loc equals to
7817 loc being removed, clear cur_loc and set cur_loc_changed.
7818 Set cur_loc_changed if all locations have been removed.
7819 (struct expand_loc_callback_data): New type.
7820 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
7821 allocated. Always create SUBREGs if simplify_subreg failed.
7822 Prefer to use cur_loc, when that fails and still in
7823 changed_variables (and seen first time) recompute it. Set
7824 cur_loc_changed of variables which had to change cur_loc and
7825 compute elcd->cur_loc_changed if any of the subexpressions used
7826 had to change cur_loc.
7827 (vt_expand_loc): Adjust to pass arguments in
7828 expand_loc_callback_data structure.
7829 (vt_expand_loc_dummy): New function.
7830 (emitted_notes): New variable.
7831 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
7832 that weren't used for any other decl in current
7833 emit_notes_for_changes call call vt_expand_loc_dummy to update
7834 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
7835 first loc_chain location if NULL before. Always use just
7836 cur_loc instead of first loc_chain location. When cur_loc_changed
7837 is false, when not --enable-checking=rtl just don't emit any note.
7838 When rtl checking, compute the note and assert it is the same
7839 as previous note. Clear cur_loc_changed and in_changed_variables
7840 at the end before removing from changed_variables.
7841 (check_changed_vars_3): New function.
7842 (emit_notes_for_changes): Traverse changed_vars to call
7843 check_changed_vars_3 on each changed var.
7844 (emit_notes_for_differences_1): Clear cur_loc_changed and
7845 in_changed_variables. Recompute cur_loc of new_var.
7846 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
7847 (vt_emit_notes): Initialize and destroy emitted_notes.
7849 2010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
7851 PR rtl-optimization/42220
7852 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
7853 Use verify_reg_tracked to determine if we should use OP_OUT rather
7855 (build_def_use): If we see an in-out operand for a register that we
7856 know nothing about, treat is an output if possible, fail the block if
7859 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
7862 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
7865 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
7868 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
7869 uses of relevant DEFs that are dead outside the loop too.
7871 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
7873 * var-tracking.c (dataflow_set_merge): Swap src and src2.
7875 2010-01-13 Jakub Jelinek <jakub@redhat.com>
7877 * var-tracking.c (values_to_unmark): New variable.
7878 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
7879 values_to_unmark vector. Moved body to...
7880 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
7881 instead queue it into values_to_unmark vector.
7882 (vt_find_locations): Free values_to_unmark vector.
7884 2010-03-05 Eric Botcazou <ebotcazou@adacore.com>
7886 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
7887 (site.exp): Export them when plugins are enabled.
7889 2010-03-05 Sebastian Pop <sebastian.pop@amd.com>
7892 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
7894 (chrec_fold_multiply): Same.
7896 2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
7899 * c-decl.c (build_compound_literal): Return early if init is
7902 2010-03-04 Martin Jambor <mjambor@suse.cz>
7904 PR tree-optimization/43164
7905 PR tree-optimization/43191
7906 * tree-sra.c (type_consists_of_records_p): Reject records with
7907 zero-size bit-fields at the end.
7909 2010-03-04 Mike Stump <mikestump@comcast.net>
7911 * Makefile.in (TAGS): Remove *.y.
7913 2010-03-04 Richard Guenther <rguenther@suse.de>
7915 PR tree-optimization/40761
7916 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
7918 (my_rev_post_order_compute): New function.
7919 (init_pre): Call it.
7921 2010-03-04 Changpeng Fang <changpeng.fang@amd.com>
7924 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
7925 decrease the cost of an IV candidate when the cost is infinite.
7927 2010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7929 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
7930 Use '3DNow!' for the extension of that name, ensure normal space
7932 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
7934 2010-03-03 Jeff Law <law@redhat.com>
7936 * PR middle-end/32693
7937 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
7938 than gen_rtx_SUBREG.
7939 (extract_bit_field_1): Likewise.
7941 2010-03-03 Janis Johnson <janis187@us.ibm.com>
7943 * doc/sourcebuild.texi (Test directives): Document that arguments
7944 include-opts and exclude-opts are now optional for dg-skip-if,
7945 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
7947 2010-03-03 Jason Merrill <jason@redhat.com>
7950 * cgraph.h (varpool_node): Add extra_name field.
7951 * varpool.c (varpool_extra_name_alias): New.
7952 (varpool_assemble_decl): Emit extra name aliases.
7953 (varpool_mark_needed_node): Look past an extra name alias.
7954 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
7955 * lto-streamer-in.c (lto_input_tree): Read it.
7956 * lto-streamer-out.c (output_unreferenced_globals): Write it.
7958 2010-03-03 Eric Botcazou <ebotcazou@adacore.com>
7960 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
7961 (sparc*-*-solaris2*): ...this.
7963 2010-03-03 Jakub Jelinek <jakub@redhat.com>
7966 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
7967 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
7968 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
7969 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
7972 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
7973 fallthrough to default handling, just with want_address 0 instead of 2.
7974 For single element lists, add_AT_loc directly, otherwise create an
7975 artificial variable DIE and stick location list to it.
7978 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
7979 (VAL_EXPR_HAS_REVERSE): Define.
7980 (reverse_op): New function.
7981 (add_stores): For reversible operations add an extra MO_VAL_USE.
7983 2010-03-02 Jason Merrill <jason@redhat.com>
7985 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
7987 2010-03-02 Eric Botcazou <ebotcazou@adacore.com>
7989 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
7990 (sparc64-*-linux*): Likewise.
7991 (sparc64-*-solaris2*): Include assembler files before linker ones.
7992 (sparc-*-solaris2*): Simplify and reorder to match previous case.
7993 * config/sparc/gas.h: Delete.
7994 * config/sparc/sol2-64.h: Add copyright notice.
7995 * config/sparc/sol2-gas-bi.h: Likewise.
7996 * config/sparc/sol2-gld.h: Likewise.
7997 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
7998 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
7999 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
8000 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
8001 (sparc_elf_asm_named_section): Rename into...
8002 (sparc_solaris_elf_asm_named_section): ...this. Always define.
8004 2010-03-02 Uros Bizjak <ubizjak@gmail.com>
8006 * config/alpha/alpha.c (override_options): Fix -mtune error message.
8008 2010-03-02 Jeff Law <law@redhat.com>
8011 * reload1.c (rtx_p, substitute_stack): Declare.
8012 (substitute): Record addresses of changed rtxs.
8013 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
8014 Restore the original rtx when complete.
8015 (reload): Free subsitute_stack when complete.
8017 2010-03-02 Janis Johnson <janis187@us.ibm.com>
8019 * doc/gccint.texi (menu): Add Testsuites as a chapter.
8020 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
8022 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
8023 LTO Testing, gcov Testing, profopt Testing, compat Testing,
8024 Torture Tests): Change from subsection to section.
8026 2010-03-02 Jakub Jelinek <jakub@redhat.com>
8027 Steven Bosscher <steven@gcc.gnu.org>
8029 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
8032 2010-03-02 Reza Yazdani <reza.yazdani@amd.com>
8035 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
8036 the assignment from the new induction variable to the assignment
8037 of the value from the original loop PHI function.
8039 2010-03-01 Janis Johnson <janis187@us.ibm.com>
8040 Daniel Jacobowitz <dan@codesourcery.com>
8042 * doc/sourcebuild.texi (Test directives): Clarify options to
8045 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8047 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
8048 Disable cfi directives unless GCC and gas agree on using read-only
8049 .eh_frame sections for 64-bit.
8050 * configure: Regenerate.
8052 2010-03-01 Richard Guenther <rguenther@suse.de>
8054 PR tree-optimization/43220
8055 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
8056 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
8058 2010-03-01 Richard Guenther <rguenther@suse.de>
8059 Martin Jambor <mjambor@suse.cz>
8062 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
8063 gimplified parameters.
8065 2010-03-01 Christian Bruel <christian.bruel@st.com>
8067 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
8069 2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
8071 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
8073 2010-03-01 Richard Guenther <rguenther@suse.de>
8076 * expr.c (expand_assignment): Use the alias-oracle to tell
8077 if the rhs aliases the result decl.
8079 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8082 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
8083 to sol_gt_pch_get_address.
8084 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
8085 64-bit, SPARC and x86.
8086 (sol_gt_pch_get_address): New function.
8088 2010-03-01 Marco Poletti <poletti.marco@gmail.com>
8090 * toplev.h (inform_n, error_n): Declare.
8091 * diagnostic.c (inform_n, error_n): New function.
8093 2010-03-01 Jakub Jelinek <jakub@redhat.com>
8095 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
8096 has no rtl yet when processing local_decls, queue it and recheck
8097 if deferred stack allocation hasn't assigned it rtl.
8099 2010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
8101 * config/sh/sh.c (unspec_bbr_uid): New.
8102 (gen_block_redirect): Use it instead of INSN_UID.
8103 (gen_far_branch): Likewise.
8105 2010-02-28 H.J. Lu <hongjiu.lu@intel.com>
8107 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
8108 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
8110 2010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8112 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
8113 (Warning Options): -Wno-conversion-null is valid for
8114 Objective-C++ as well.
8115 * doc/tm.texi (Named Address Spaces): Likewise.
8116 * doc/plugins.texi (Plugins): Replace TABs with spaces.
8117 * doc/tree-ssa.texi (Tree SSA): Likewise.
8119 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
8122 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
8123 by default. Don't set the default arch for
8124 i[34567]86-*-darwin*|x86_64-*-darwin*.
8126 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
8129 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
8130 default. Set the default 32bit/64bit archs with $with_arch
8131 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
8133 2010-02-27 Richard Guenther <rguenther@suse.de>
8135 PR tree-optimization/43186
8136 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
8137 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
8138 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
8139 unroller iterations.
8141 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
8143 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
8144 required and i[34567]86-*-* targets don't support 64bit ISA.
8146 2010-02-26 Eric Botcazou <ebotcazou@adacore.com>
8149 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
8152 2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
8154 * config.gcc: Set the default arch at least to Prescott for
8155 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
8156 if SSE math is enabled.
8158 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8160 * diagnostic.c (diagnostic_initialize): Update.
8161 (diagnostic_report_diagnostic): Test inhibit_notes_p for
8163 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
8164 (diagnostic_inhibit_notes): New.
8165 * toplev.c (process_options): inhibit notes with -fcompare-debug.
8167 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8170 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
8171 * doc/standards.texi: Likewise.
8172 * doc/extend.texi: Likewise.
8173 * doc/trouble.texi: Likewise.
8174 * doc/cppopts.texi: Likewise.
8175 * doc/install.texi: Likewise.
8176 * c.opt (std=c90,std=gnu90): New options.
8177 * c-opts.c (c_common_handle_option): Handle them.
8179 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8182 * c-decl.c (undeclared_variable): Use an informative note.
8184 2010-02-26 Richard Guenther <rguenther@suse.de>
8186 PR tree-optimization/43186
8187 * gimple.h (gimple_fold): Remove.
8188 * gimple.c (gimple_fold): Remove. Inline into single user ...
8189 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
8190 Try harder for conditions.
8192 2010-02-26 Jakub Jelinek <jakub@redhat.com>
8195 * function.c (used_types_insert): Don't skip through named pointer
8196 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
8197 and it is different from the main variant's type.
8199 2010-02-26 Nick Clifton <nickc@redhat.com>
8201 * config/rx/rx.md (sminsi3): Remove bogus alternative.
8203 2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
8205 * config.gcc: Support --with-fpmath=sse for x86.
8207 * config/i386/ssemath.h: New.
8209 * doc/install.texi (--with-fpmath=sse): Documented.
8211 2010-02-26 Richard Guenther <rguenther@suse.de>
8213 PR tree-optimization/43188
8214 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
8215 vector types of over-aligned element type.
8217 2010-02-26 Uros Bizjak <ubizjak@gmail.com>
8220 * config/i386/i386.c (expand_vec_perm_blend): Use correct
8221 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
8223 2010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
8225 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
8227 2010-02-26 Jakub Jelinek <jakub@redhat.com>
8229 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
8230 * var-tracking.c: Include diagnostic.h.
8231 (debug_dv): New function.
8232 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
8235 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
8236 (add_value_chain, add_value_chains, remove_value_chain,
8237 remove_value_chains): Handle DEBUG_EXPRs.
8238 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
8241 * regcprop.c (struct queued_debug_insn_change): New type.
8242 (struct value_data_entry): Add debug_insn_changes field.
8243 (struct value_data): Add n_debug_insn_changes field.
8244 (debug_insn_changes_pool): New variable.
8245 (free_debug_insn_changes, apply_debug_insn_changes,
8246 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
8247 (kill_value_one_regno): Call free_debug_insn_changes if needed.
8248 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
8250 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
8252 (copyprop_hardreg_forward_1): Don't call apply_change_group for
8253 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
8254 changes, call cprop_find_used_regs via note_stores.
8255 (copyprop_hardreg_forward): When copying vd from predecessor
8256 which has any queued DEBUG_INSN changes, make sure the pointers are
8257 cleared. At the end call df_analyze and then if there are any
8258 DEBUG_INSN changes queued at the end of some basic block for still
8259 live registers, apply them.
8260 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
8262 2010-02-25 Uros Bizjak <ubizjak@gmail.com>
8264 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
8267 2010-02-25 H.J. Lu <hongjiu.lu@intel.com>
8269 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
8270 targets. Set the default with_cpu/with_arch from arch/cpu.
8271 Allow x86-64 and native for with_cpu/with_arch.
8273 2010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
8275 * ebitmap.c: Change calls to verify_popcount with calls to
8276 sbitmap_verify_popcount.
8277 (ebitmap_clear_bit): Fixed map->cacheindex test and
8278 map>cache update when bit clearing results in an empty
8281 2010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
8284 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
8285 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
8286 and support both V2DF and V2DI modes.
8287 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
8288 support both V2DF and V2DI modes.
8289 (general): Delete trailing whitespace from a few patterns.
8291 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
8292 V2DF/V2DI interleave high/low builtins.
8294 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
8297 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
8298 interleave high/low functions.
8300 2010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
8302 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
8303 #pragma extern_prefix.
8305 2010-02-25 Jakub Jelinek <jakub@redhat.com>
8308 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
8309 BLKmode, assert op0 is a MEM and just adjust its mode.
8312 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
8313 if bitpos isn't multiple of mode's bitsize.
8315 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
8317 * c.opt (-ftemplate-depth=): New.
8318 (-ftemplate-depth-): Deprecate.
8319 * optc-gen.awk: Handle -ftemplate-depth=.
8320 * opth-gen.awk: Likewise.
8321 * c-opts.c (c_common_handle_option): Likewise.
8322 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
8324 2010-02-24 Jason Merrill <jason@redhat.com>
8326 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
8328 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8330 * cfg.c (alloc_aux_for_block): Remove inline.
8331 (alloc_aux_for_edge): Likewise.
8333 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8335 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
8337 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8339 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
8340 * config/i386/sol2-gas.h: New file.
8341 * config.gcc (i[34567]86-*-solaris2*): Use it.
8343 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
8346 * c-typeck.c (ep_convert_and_check): New.
8347 (build_conditional_expr): Use it.
8348 (build_binary_op): Likewise.
8350 2010-02-24 Jakub Jelinek <jakub@redhat.com>
8352 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
8355 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
8356 bounds even for -O+.
8357 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
8358 expr needs to have DECL_NAME set.
8360 2010-02-24 Nick Clifton <nickc@redhat.com>
8362 * config/mep/mep.c: Include gimple.h.
8363 (mep_function_uses_sp): Delete unused function.
8364 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
8365 parameters. Use unsigned integers to count args. Return a
8366 NULL_RTX instead of an error_mark_node. Toidy up formatting.
8368 2010-02-23 Jakub Jelinek <jakub@redhat.com>
8371 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
8372 greater or equal to nelt instead of 2 * nelt.
8373 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
8376 2010-02-23 Jason Merrill <jason@redhat.com>
8379 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
8380 in cfun->local_decls even if they have register types.
8383 * stor-layout.c (place_field): Don't warn about unnecessary
8384 DECL_PACKED if the type is packed.
8386 2010-02-23 Jakub Jelinek <jakub@redhat.com>
8389 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
8390 GOTOFF relocs, even when the base reg isn't pic pointer.
8392 2010-02-23 Michael Matz <matz@suse.de>
8395 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
8396 (expand_gimple_basic_block): Generate and use debug temps if there
8397 are debug uses left after the last real use of TERed ssa names.
8398 Unlink debug immediate uses when they are expanded.
8400 2010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
8403 * config/i386/i386.c (override_options): Reorganise to provide
8404 better error messages.
8406 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
8409 * graphite-scop-detection.c (create_single_exit_edge): Move
8410 the call to find_single_exit_edge to....
8411 (create_sese_edges): ...here. Don't handle multiple edges
8412 exiting the function.
8413 (build_graphite_scops): Don't handle multiple edges
8414 exiting the function.
8416 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
8419 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
8420 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
8422 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
8425 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
8427 2010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8430 * c-typeck.c (convert_arguments): Print declaration location.
8431 * c-common.c (validate_nargs): Rename as
8432 builtin_function_validate_nargs.
8433 (check_builtin_function_arguments): Update.
8435 2010-02-22 Richard Guenther <rguenther@suse.de>
8438 * tree-inline.c (declare_return_variable): Use the type of
8439 the call stmt lhs if available.
8441 2010-02-22 Duncan Sands <baldrick@free.fr>
8443 * passes.c (register_pass): Always consider all pass lists when
8444 ref_pass_instance_number is zero.
8446 2010-02-22 Richard Guenther <rguenther@suse.de>
8448 PR tree-optimization/42749
8449 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
8450 parameter. Do arithmetic in the original type.
8451 (update_accumulator_with_ops): Likewise.
8452 (adjust_accumulator_values): Adjust.
8454 2010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8456 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
8457 (QI to BLKmode splitter): New splitter.
8459 2010-02-22 H.J. Lu <hongjiu.lu@intel.com>
8461 * config/i386/i386.c (initial_ix86_tune_features): Turn on
8462 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
8464 2010-02-22 Richard Guenther <rguenther@suse.de>
8466 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
8468 2010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
8470 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
8471 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
8472 ($(T)crti.o, $(T)crtn.o): Remove rules.
8474 2010-02-21 Tobias Burnus <burnus@net-b.de>
8477 * doc/invoke.texi (-fassociative-math): Document that this
8478 option is automatically enabled for Fortran.
8480 2010-02-20 David S. Miller <davem@davemloft.net>
8482 * configure.ac: Test if linker and assembler properly support
8483 GOTDATA_OP relocations.
8484 * configure: Rebuild.
8485 * config.in: Likewise.
8486 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
8487 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
8488 (movsi_high_pic): Likewise.
8489 (movdi_lo_sum_pic): Likewise.
8490 (movdi_high_pic): Likewise.
8491 (movsi_pic_gotdata_op): New pattern.
8492 (movdi_pic_gotdata_op): Likewise.
8493 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
8494 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
8496 2010-02-20 Uros Bizjak <ubizjak@gmail.com>
8499 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
8500 attribute to ssemul.
8501 (xop_mulv2div2di3_high): Ditto.
8503 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8506 * c.opt (Wconversion-null): New option.
8507 * doc/invoke.texi (Wconversion-null): Document.
8509 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8511 * common.opt (Wlarger-than-): Add Undocumented.
8513 2010-02-19 Mike Stump <mikestump@comcast.net>
8515 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
8517 2010-02-19 Jason Merrill <jason@redhat.com>
8520 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
8521 * configure: Likewise.
8523 2010-02-20 Alan Modra <amodra@gmail.com>
8526 * cgraph.h (cgraph_make_decl_local): Declare.
8527 * cgraph.c (cgraph_make_decl_local): New function.
8528 (cgraph_make_node_local): Use it.
8529 * cgraphunit.c (cgraph_function_versioning): Likewise.
8530 * ipa.c (function_and_variable_visibility): Likewise.
8532 2010-02-19 Jakub Jelinek <jakub@redhat.com>
8535 * except.c (sjlj_emit_function_enter): Don't call
8536 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
8538 * rtl.h (add_reg_br_prob_note): Remove prototype.
8540 2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
8543 * c-common.c (conversion_warning): Remove widening conversions
8544 before checking the conversion of integers to reals.
8546 2010-02-19 Mike Stump <mikestump@comcast.net>
8549 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
8552 * cgraphunit.c (process_function_and_variable_attributes): Check
8553 DECL_PRESERVE_P instead of looking up attribute "used".
8554 * ipa-pure-const.c (check_decl): Likewise.
8555 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
8556 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
8557 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
8558 instead of attribute "used".
8559 * config/sol2-c.c (solaris_pragma_init): Likewise.
8560 (solaris_pragma_fini): Likewise.
8562 2010-02-19 Jakub Jelinek <jakub@redhat.com>
8564 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
8565 Use XCNEW instead of xcalloc.
8566 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
8567 XNEW instead of xmalloc.
8568 (get_fields): Use XNEWVEC instead of xmalloc.
8571 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
8572 populate vars array.
8573 (create_new_general_access): For debug stmts just reset value.
8574 (get_stmt_accesses): For accesses within debug stmts just record them
8575 using add_access_to_acc_sites instead of preventing the peeling or
8576 counting them as accesses.
8579 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
8581 2010-02-19 Richard Guenther <rguenther@suse.de>
8583 PR tree-optimization/42916
8584 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
8587 2010-02-19 Andreas Schwab <schwab@linux-m68k.org>
8589 * configure.ac: Replace all uses of changequote in macro arguments
8590 with proper quoting.
8592 2010-02-19 Jakub Jelinek <jakub@redhat.com>
8595 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
8597 2010-02-19 Richard Guenther <rguenther@suse.de>
8599 PR tree-optimization/42944
8600 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
8601 test for aliasing with errno.
8603 2010-02-19 Jakub Jelinek <jakub@redhat.com>
8606 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
8607 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
8608 * dojump.c: Include output.h.
8609 (inv): New inline function.
8610 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
8611 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
8612 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
8613 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
8614 argument, pass it down to other calls.
8615 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
8616 add REG_BR_PROB note to the conditional jump.
8617 * cfgexpand.c (add_reg_br_prob_note): Removed.
8618 (expand_gimple_cond): Don't call it, add the probability
8619 as last argument to jumpif_1/jumpifnot_1.
8620 * Makefile.in (dojump.o): Depend on output.h.
8621 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
8623 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
8624 * stmt.c (do_jump_if_equal): Likewise.
8625 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
8626 * loop-unswitch.c (compare_and_jump_seq): Likewise.
8627 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
8629 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
8630 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
8631 jumpifnot_1 callers.
8632 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
8634 (store_expr): Adjust jumpifnot caller.
8635 (store_constructor): Adjust jumpif caller.
8638 * gimplify.c (gimple_boolify): For __builtin_expect call
8639 gimple_boolify also on its first argument.
8641 2010-02-18 Uros Bizjak <ubizjak@gmail.com>
8643 * configure.ac (gnu-unique-object): Wrap regexps using [] in
8645 (__stack_chk_fail): Ditto. Remove quadrigraphs.
8646 * configure: Regenerated.
8648 2010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8650 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
8651 lang_hooks.types_compatible_p instead of comptypes.
8653 2010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
8655 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
8656 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
8657 if __prefer_thumb__ is defined.
8659 2010-02-18 Martin Jambor <mjambor@suse.cz>
8661 PR tree-optimization/43066
8662 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
8663 array with zero-sized element type.
8665 2010-02-18 Jakub Jelinek <jakub@redhat.com>
8667 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
8668 rtx, allocate struct var_loc_node here and return it to the
8669 caller, and only if it is actually needed.
8670 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
8671 move it earlier and return immediately if it returns NULL.
8673 2010-02-17 Mikael Pettersson <mikpe@it.uu.se>
8675 * config/sparc/gas.h: New file. Restore
8676 TARGET_ASM_NAMED_SECTION to its ELF default.
8677 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
8679 * config/sparc/sparc.c (sparc_elf_asm_named_section):
8680 Likewise. Add ATTRIBUTE_UNUSED to prototype.
8681 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
8682 after sparc/sysv4.h.
8684 2010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
8686 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
8688 2010-02-17 Steven Bosscher <steven@gcc.gnu.org>
8690 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
8691 patterns from predicated pattern.
8693 2010-02-17 Uros Bizjak <ubizjak@gmail.com>
8696 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
8697 for insn mnemonic suffix.
8699 2010-02-17 Richard Guenther <rguenther@suse.de>
8701 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
8704 2010-02-17 Jakub Jelinek <jakub@redhat.com>
8707 * caller-save.c (save_call_clobbered_regs): If BB ends with
8708 a DEBUG_INSN, move any notes in between last real insn and the last
8709 DEBUG_INSN after the last DEBUG_INSN.
8711 2010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
8713 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
8714 Fix return type. Fix argument type. Explain meaning of return value.
8716 2010-02-16 Richard Guenther <rguenther@suse.de>
8718 PR tree-optimization/41043
8719 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
8720 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
8722 (vrp_visit_phi_node): ... but only for loop PHI nodes.
8724 2010-02-16 Ira Rosen <irar@il.ibm.com>
8726 PR tree-optimization/43074
8727 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
8728 * tree-vect-loop.c (vect_analyze_loop_operations): Add
8729 vectorizable cycles in hybrid SLP check.
8730 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
8732 2010-02-16 Richard Guenther <rguenther@suse.de>
8734 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
8735 (true_dependence): If memrefs_conflict_p computes must-alias
8736 trust it. Move TBAA check after offset-based disambiguation.
8737 (canon_true_dependence): Likewise.
8739 2010-02-16 Alexandre Oliva <aoliva@redhat.com>
8741 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
8742 * doc/invoke.texi: Document it.
8743 * var-tracking.c: Include toplev.h and params.h.
8744 (vt_find_locations): Return bool indicating success. Compute
8745 hash sizes unconditionally. Check new parameter, report.
8746 (variable_tracking_main_1): Check vt_find_locations results and
8747 retry. Renamed from...
8748 (variable_tracking_main): ... this. New wrapper to preserve
8749 flag_var_tracking_assignments.
8750 * Makefile.in (var-tracking.o): Adjust dependencies.
8752 2010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
8753 Jakub Jelinek <jakub@redhat.com>
8756 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
8757 if weak_import attribute is present.
8758 * config/darwin.c (machopic_select_section): Likewise.
8760 2010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
8762 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
8763 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
8764 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
8765 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
8767 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
8770 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
8773 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
8774 Rewrite text to refer to the names.
8776 2010-02-15 Sebastian Pop <sebastian.pop@amd.com>
8778 * config/i386/i386-builtin-types.def
8779 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
8780 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
8781 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
8782 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
8783 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
8784 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
8785 IX86_BUILTIN_VPERMIL2PS256.
8786 (MULTI_ARG_4_DF2_DI_I): Defined.
8787 (MULTI_ARG_4_DF2_DI_I1): Defined.
8788 (MULTI_ARG_4_SF2_SI_I): Defined.
8789 (MULTI_ARG_4_SF2_SI_I1): Defined.
8790 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
8791 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
8792 __builtin_ia32_vpermil2ps256.
8793 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
8794 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
8795 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
8796 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
8797 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
8798 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
8799 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
8800 CODE_FOR_xop_vpermil2v8sf3.
8801 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
8802 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
8803 * config/i386/xopintrin.h (_mm_permute2_pd): New.
8804 (_mm256_permute2_pd): New.
8805 (_mm_permute2_ps): New.
8806 (_mm256_permute2_ps): New.
8808 2010-02-15 Nick Clifton <nickc@redhat.com>
8810 * config/h8300/h8300.c (h8300_push_pop): Use bool type for
8811 boolean parameters. Use emit_jump_insn when emitting a pop
8812 instruction containing a return insn.
8813 (push): Use 'true' rather than '1' as second parameter to F.
8814 (h8300_expand_prologue): Likewise.
8815 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
8816 (h8300_expand_epilogue): Likewise.
8818 2010-02-15 Richard Guenther <rguenther@suse.de>
8821 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
8824 2010-02-15 Nick Clifton <nickc@redhat.com>
8826 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
8829 2010-02-14 Marco Poletti <poletti.marco@gmail.com>
8831 * intl.c (fake_ngettext): New function.
8832 * intl.h (fake_ngettext): Declare.
8833 (ngettext): Define macro.
8834 * collect2.c (notice_translated): New function.
8835 (main): Use notice_translated and ngettext.
8836 * collect2.h (notice_translated): Declare.
8838 2010-02-14 Steven Bosscher <steven@gcc.gnu.org>
8840 * reorg.c (delete_computation): Comment fixes.
8841 * caller-save.c (setup_save_areas): Idem.
8842 * sel-sched-dump.c (dump_lv_set): Idem.
8845 2010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8847 * config/s390/s390.c (s390_sched_init): New function.
8848 (TARGET_SCHED_INIT): Target hook defined.
8850 2010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
8851 Jack Howarth <howarth@bromo.med.uc.edu>
8852 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8855 Partial revert of unintended change in fix for PR41605.
8856 * config/darwin.h: Fix typo.
8857 * config/darwin9.h: Same.
8859 2010-02-11 Jakub Jelinek <jakub@redhat.com>
8861 * c-pch.c (pch_init): Clear v.
8863 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
8866 * graphite-scop-detection.c (graphite_can_represent_scev): Call
8867 graphite_can_represent_init for MULT_EXPR.
8869 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
8873 * graphite-sese-to-poly.c (remove_phi): New.
8874 (translate_scalar_reduction_to_array): Call remove_phi.
8876 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
8879 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
8880 * graphite-clast-to-gimple.h (gloog): Update declaration.
8881 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
8882 * graphite-poly.h (struct poly_bb): Add missing comments.
8883 (struct scop): Add poly_scop_p field.
8885 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
8886 * graphite.c (graphite_transform_loops): Build the polyhedral
8887 representation for each scop before code generation.
8888 * sese.c (rename_variables_in_operand): Removed.
8889 (rename_variables_in_expr): Return the renamed expression.
8890 (rename_sese_parameters): New.
8891 * sese.h (rename_sese_parameters): Declared.
8893 2010-02-11 Richard Guenther <rguenther@suse.de>
8895 PR tree-optimization/42998
8896 * tree-ssa-pre.c (create_expression_by_pieces): Treat
8897 POINTER_PLUS_EXPR properly.
8899 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
8900 Changpeng Fang <changpeng.fang@amd.com>
8903 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
8904 the cost of an IV candidate when the IV is used in a test against zero.
8906 * gcc.dg/tree-ssa/ivopts-3.c: New.
8908 2010-02-11 Richard Guenther <rguenther@suse.de>
8911 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
8912 pointer-vs-decl case by swapping refs. Handle some cases
8913 of pointer-vs-decl disambiguations more conservatively.
8914 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
8915 to false after expanding.
8917 2010-02-11 Richard Guenther <rguenther@suse.de>
8920 * gcc.c (process_command): Handle LTO file@offset case more
8923 2010-02-11 Jakub Jelinek <jakub@redhat.com>
8925 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
8926 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
8928 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
8930 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
8931 if MEM's mode size isn't DWARF2_ADDR_SIZE.
8932 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
8933 Optimize eq/ne comparisons when both arguments are known to be
8935 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
8936 Don't mask operands unnecessarily if they are known to be already
8939 2010-02-10 Vladimir Makarov <vmakarov@redhat.com>
8941 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
8944 2010-02-10 Richard Guenther <rguenther@suse.de>
8946 PR tree-optimization/43017
8947 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
8948 for wrapping signed arithmetic.
8950 2010-02-10 Jakub Jelinek <jakub@redhat.com>
8953 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
8954 if no debug info should be emitted for it.
8956 2010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
8958 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
8959 note when flag_exceptions is set.
8961 2010-02-10 Duncan Sands <baldrick@free.fr>
8963 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
8965 2010-02-10 Richard Guenther <rguenther@suse.de>
8968 * tree.c (get_unwidened): Handle constants.
8969 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
8971 2010-02-10 Martin Jambor <mjambor@suse.cz>
8974 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
8975 check for variable argument counts independently.
8977 2010-02-10 Christian Bruel <christian.bruel@st.com>
8980 * config/sh/sh.c (find_barrier): Increase length for non delayed
8981 conditional branches.
8983 2010-02-10 Christian Bruel <christian.bruel@st.com>
8985 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
8987 2010-02-10 Jakub Jelinek <jakub@redhat.com>
8989 * builtins.c (set_builtin_user_assembler_name): Also handle
8990 ffs if int is smaller than word.
8992 2010-02-09 Vladimir Makarov <vmakarov@redhat.com>
8995 * ira-conflicts.c (get_dup): Remove.
8996 (process_reg_shuffles): Add new parameter. Use it as an
8997 additional guard for copy generation.
8998 (add_insn_allocno_copies): Rewrite.
9000 2010-02-09 Alexander Monakov <amonakov@ispras.ru>
9002 * common.opt (fsched2-use-traces): Preserved for backward
9004 * doc/invoke.texi: Remove the documentation about option
9005 -fsched2-use-traces.
9006 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
9007 flag_sched2_use_traces.
9008 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
9009 the backward compatibility flag section.
9011 2010-02-09 Richard Guenther <rguenther@suse.de>
9013 PR tree-optimization/43008
9014 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
9015 make HEAP variables initialized from global memory if they
9016 are not known builtin functions.
9017 (find_func_aliases): Adjust.
9019 2010-02-09 Richard Guenther <rguenther@suse.de>
9021 PR tree-optimization/43000
9022 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
9023 arithmetic manually.
9025 2010-02-08 Jakub Jelinek <jakub@redhat.com>
9027 PR tree-optimization/42931
9028 * tree-loop-linear.c (try_interchange_loops): Don't call
9029 double_int_mul if estimated_loop_iterations failed.
9031 2010-02-08 Martin Jambor <mjambor@suse.cz>
9034 * tree-sra.c (build_accesses_from_assign): Do not mark in
9035 should_scalarize_away_bitmap if stmt has volatile ops.
9036 (sra_modify_assign): Do not process assigns piecemeal if if stmt
9039 2010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
9041 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
9043 2010-02-07 Adam Nemet <adambnmet@gmail.com>
9045 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
9048 2010-02-07 Andrew Pinski <pinskia@gmail.com>
9051 * df-core.c (df_finish_pass): Change type of saved_flags to int.
9053 2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
9056 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
9057 to unknown_dependence.
9058 (graphite_legal_transform_dr): Handle the unknown_dependence.
9059 (graphite_carried_dependence_level_k): Same.
9061 2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
9063 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
9065 2010-02-07 Richard Guenther <rguenther@suse.de>
9068 * expr.c (get_inner_reference): Always initialize *pbitsize.
9070 2010-02-07 Richard Guenther <rguenther@suse.de>
9073 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
9074 new ARRAY_REFs on variable size element or minimal index arrays.
9076 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
9077 gimple_fold_indirect_ref.
9079 2010-02-06 Richard Earnshaw <rearnsha@arm.com>
9082 * arm.c (arm_override_options): Just return if the user has specified
9083 an invalid fpu name.
9085 2010-02-03 Jason Merrill <jason@redhat.com>
9088 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
9089 i386_pe_maybe_record_exported_symbol.
9091 2010-02-05 Steve Ellcey <sje@cup.hp.com>
9094 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
9095 (pa_delegitimize_address): New function.
9097 2010-02-05 Ozkan Sezer <sezeroz@gmail.com>
9099 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
9100 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
9102 2010-02-05 Richard Guenther <rguenther@suse.de>
9105 * lto-streamer-in.c (get_resolution): Deal with references
9106 to undefined functions.
9108 2010-02-05 Richard Guenther <rguenther@suse.de>
9110 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
9111 (fold_const_aggregate_ref): Likewise.
9112 (ccp_fold_stmt): Substitute loads.
9113 (maybe_fold_reference): Verify types before substituting.
9115 (fold_gimple_assign): Unshare properly.
9116 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
9118 2010-02-05 Nathan Froyd <froydnj@codesourcery.com>
9120 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
9121 for rs6000_gen_cell_microcode.
9123 2010-02-04 Richard Guenther <rguenther@suse.de>
9125 PR rtl-optimization/42952
9126 * dse.c (const_or_frame_p): Remove MEM handling.
9128 2010-02-04 Nick Clifton <nickc@redhat.com>
9130 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
9131 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
9132 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
9133 (mn10300_asm_output_mi_thunk): New function.
9134 (mn10300_can_output_mu_thunk): New function.
9135 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
9136 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
9137 (FUNCTION_ARG): Delete incorrect comment.
9139 2010-02-03 Jason Merrill <jason@redhat.com>
9142 * fold-const.c (operand_equal_p): Handle erroneous types.
9144 2010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
9146 * config/h8300/h8300.md (can_delay): Fix attibute condition.
9148 2010-02-03 Vladimir Makarov <vmakarov@redhat.com>
9150 PR rtl-optimization/42941
9151 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
9154 2010-02-03 Jason Merrill <jason@redhat.com>
9157 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
9159 2010-02-03 Alexandre Oliva <aoliva@redhat.com>
9162 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
9163 (cselib_reset_table): Renamed from...
9164 (cselib_reset_table_with_next_value): ... this.
9165 (cselib_get_next_uid): Renamed from...
9166 (cselib_get_next_unknown_value): ... this.
9167 * cselib.c (next_uid): Renamed from...
9168 (next_unknown_value): ... this.
9169 (cselib_clear_table): Adjust.
9170 (cselib_reset_table): Adjust. Renamed from...
9171 (cselib_reset_table_with_next_value): ... this.
9172 (cselib_get_next_uid): Adjust. Renamed from...
9173 (cselib_get_next_unknown_value): ... this.
9174 (get_value_hash): Use hash.
9175 (cselib_hash_rtx): Likewise.
9176 (new_cselib_val): Adjust. Set and dump uid.
9177 (cselib_lookup_mem): Pass next_uid as hash.
9178 (cselib_subst_to_values): Likewise.
9179 (cselib_log_lookup): Dump uid.
9180 (cselib_lookup): Pass next_uid as hash. Adjust.
9181 (cselib_process_insn): Adjust.
9182 (cselib_init): Initialize next_uid.
9183 (cselib_finish): Adjust.
9184 (dump_cselib_table): Likewise.
9185 * dse.c (canon_address): Dump value uid.
9186 * print-rtl.c (print_rtx): Print value uid.
9187 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
9189 (dv_uid): New function, sort of renamed from...
9190 (dv_htab_hash): ... this, reimplemented in terms of it and...
9191 (dv_uid2hash): ... this. New.
9192 (variable_htab_eq): Drop excess assertions.
9193 (tie_break_pointers): Removed.
9194 (canon_value_cmp): Compare uids.
9195 (variable_post_merge_New_vals): Print uids.
9196 (vt_add_function_parameters): Adjust.
9197 (vt_initialize): Reset table. Adjust.
9199 2010-02-03 Richard Guenther <rguenther@suse.de>
9201 PR tree-optimization/42944
9202 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
9203 (call_may_clobber_ref_p_1): Likewise. Properly handle
9204 malloc and calloc clobbering errno.
9206 2010-02-03 Steven Bosscher <steven@gcc.gnu.org>
9208 * doc/invoke.texi: Fix name of sched1 dump.
9210 * opts.c (decode_options): Set flag_tree_switch_conversion
9211 only conditionally on optimize >= 2.
9213 * gcse.c: Assorted comment fixes in pass description.
9215 2010-02-03 Anthony Green <green@moxielogic.com>
9217 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
9218 nop padding in order to maintain alignment of storage location of
9219 target function address.
9220 (moxie_trampoline_init): Store target function address at newly
9222 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
9224 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
9226 2010-02-03 Richard Guenther <rguenther@suse.de>
9229 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
9231 2010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9233 * config.gcc: Reenable check for obsolete targets.
9234 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
9235 mips-sgi-irix6.[0-4]*.
9237 2010-02-02 Nick Clifton <nickc@redhat.com>
9239 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
9240 constant size of 4 as being the same as 0.
9241 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
9242 can take values in the range 0..4.
9244 2010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
9247 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
9248 as _darwin10_Unwind_FindEnclosingFunction().
9249 * libgcc-libsystem.ver: New.
9251 2010-02-01 Vladimir Makarov <vmakarov@redhat.com>
9254 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
9255 implicitly set registers.
9257 2010-02-01 Richard Earnshaw <rearnsha@arm.com>
9259 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
9260 (arm_override_options): Allow automatic selection of the thread
9261 pointer register if thumb2.
9262 (legitimize_pic_address): Improve code sequences for Thumb2.
9263 (arm_call_tls_get_addr): Likewise.
9264 (legitimize_tls_address): Likewise.
9265 * arm.md (pic_load_addr_arm): Delete. Replace with ...
9266 (pic_load_addr_32bit): ... this. New named pattern.
9267 * thumb2.md (pic_load_addr_thumb2): Delete.
9268 (pic_load_dot_plus_four): Delete.
9269 (tls_load_dot_plus_four): New named pattern.
9271 2010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9274 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
9275 Document fix for TLS bug.
9277 2010-01-31 Richard Guenther <rguenther@suse.de>
9279 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
9280 conservatively correct.
9282 2010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9286 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9288 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
9290 2010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9292 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
9294 2010-01-31 Kai Tietz <kai.tietz@onevision.com>
9296 * config.gcc: Adjust order of makefile fragments for mingw targets.
9298 2010-01-31 Richard Guenther <rguenther@suse.de>
9301 * gimplify.c (gimplify_init_constructor): For volatile LHS
9302 initialize a temporary.
9304 2010-01-31 Matthias Klose <doko@ubuntu.com>
9306 * configure.ac: Fix __stack_chk_fail check for cross builds configured
9308 * configure: Regenerate.
9310 2010-01-29 Eric Botcazou <ebotcazou@adacore.com>
9312 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
9313 the same alias set and their sizes different constantness.
9314 (aliasing_component_refs_p): Revert 2009-10-24 change.
9316 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9318 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
9321 2010-01-29 Richard Guenther <rguenther@suse.de>
9323 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
9324 Assert we successfully updated the call.
9326 2010-01-29 Jakub Jelinek <jakub@redhat.com>
9328 PR rtl-optimization/42889
9329 * df.h (df_set_bb_dirty_nonlr): New prototype.
9330 * df-core.c (df_set_bb_dirty_nonlr): New function.
9331 * df-scan.c (df_insn_rescan): Call it instead of
9332 df_set_bb_dirty for DEBUG_INSNs.
9334 2010-01-29 Richard Guenther <rguenther@suse.de>
9337 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
9338 quadratic behavior in most cases.
9340 2010-01-28 Uros Bizjak <ubizjak@gmail.com>
9343 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
9344 in the call to gen_x86_movsicc_0_m1.
9346 2010-01-28 Richard Guenther <rguenther@suse.de>
9348 PR tree-optimization/42871
9349 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
9351 2010-01-28 Richard Guenther <rguenther@suse.de>
9353 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
9354 into call arguments.
9356 2010-01-28 Richard Guenther <rguenther@suse.de>
9359 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
9360 the forwarder if the destination is an EH landing pad.
9362 2010-01-28 Razya Ladelsky <razya@il.ibm.com>
9364 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
9365 block list passed to gimple_duplicate_sese_tail.
9366 (parallelize_loops): Avoid parallelization when the function
9368 Avoid parallelization when the preheader is IRREDUCIBLE.
9369 Try to optimize when estimated_loop_iterations_int is unresolved.
9370 Add the loop's location to the dump file.
9371 * tree-cfg.c (add_phi_args_after_redirect): Remove.
9372 (gimple_duplicate_sese_tail): Remove the check for the latch.
9373 Redirect nexits to the exit block.
9374 Remove handling of the incoming edges to the latch.
9375 Redirect the backedge from the copied latch to the exit bb.
9377 2010-01-28 Michael Matz <matz@suse.de>
9380 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
9381 Wrap force_reg into a sequence, emit it before user.
9383 2010-01-28 Stephen Thomas <stephen.thomas@arm.com>
9385 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
9387 (arm_legacy_rev): Likewise.
9388 (thumb_legacy_rev): Likewise.
9390 2010-01-27 Jakub Jelinek <jakub@redhat.com>
9392 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
9393 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
9394 on MEM's address failed, try avoid_constant_pool_reference and
9395 recurse if it returned something different.
9396 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
9397 address, try avoid_constant_pool_reference and recurse if it
9398 returned something different.
9399 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
9400 address and avoid_constant_pool_reference returned something
9401 different, don't set have_address.
9403 2010-01-27 Alexandre Oliva <aoliva@redhat.com>
9406 * var-tracking.c (val_store): Add modified argument, obey it.
9408 (count_uses): Move down logging of main.
9409 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
9410 don't need resolution.
9411 (emit_notes_in_bb): Likewise.
9413 2010-01-27 Richard Guenther <rguenther@suse.de>
9416 * tree-inline.c (remap_decl): Delay remapping of SSA name
9417 default definitions until we need them.
9419 2010-01-27 Jakub Jelinek <jakub@redhat.com>
9421 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
9422 (rs6000_delegitimize_address): New function.
9424 * config/s390/s390.c (s390_delegitimize_address): Call
9425 delegitimize_mem_from_attrs.
9428 * tree-inline.c (cannot_copy_type_1): Removed.
9429 (copy_forbidden): Don't forbid copying of functions containing
9430 records/unions with variable length fields.
9432 2010-01-27 Christian Bruel <christian.bruel@st.com>
9436 * config/sh/sh.c (find_barrier): Increase length for non delayed
9437 conditional branches.
9439 2010-01-27 Matthias Klose <doko@ubuntu.com>
9441 * configure.ac (gnu-unique-object): Fix ldd version check.
9442 * configure: Regenerate.
9444 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9446 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
9448 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
9449 Test for HAVE_GNU_AS value.
9451 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9453 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
9454 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
9455 INT64_TYPE): Define.
9456 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
9457 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
9458 INT_LEAST64_TYPE): Define.
9459 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
9460 UINT_LEAST64_TYPE): Define.
9461 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
9462 INT_FAST64_TYPE): Define.
9463 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
9464 UINT_FAST64_TYPE): Define.
9465 (INTMAX_TYPE, UINTMAX_TYPE): Define.
9466 (INTPTR_TYPE, UINTPTR_TYPE): Define.
9467 (SIG_ATOMIC_TYPE): Define.
9469 2010-01-26 Richard Guenther <rguenther@suse.de>
9471 * df-scan.c (df_scan_set_bb_info): Remove assert.
9472 (df_insn_rescan_debug_internal): Merge asserts.
9473 (df_install_ref): Likewise.
9474 (df_mark_reg): Use bitmap_set_range.
9475 (df_hard_reg_used_p): Remove assert.
9476 (df_hard_reg_used_count): Likewise.
9478 2010-01-26 Richard Guenther <rguenther@suse.de>
9480 PR rtl-optimization/42685
9481 * web.c (web_main): Ignore DEBUG_INSNs.
9483 2010-01-26 Joern Rennecke <amylaar@spamcop.net>
9485 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
9487 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
9488 Fix types of fndecl and arglist parameters.
9490 2010-01-26 Richard Guenther <rguenther@suse.de>
9493 * tree-eh.c (unsplit_eh): Skip debug insns.
9495 2010-01-26 Richard Guenther <rguenther@suse.de>
9497 PR tree-optimization/42250
9498 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
9500 2010-01-26 Jakub Jelinek <jakub@redhat.com>
9503 * omp-low.c (expand_omp_sections): Only use single_pred if
9504 l2_bb is single_pred_p.
9506 2010-01-25 Christian Bruel <christian.bruel@st.com>
9509 * config/sh/sh.c (find_barrier): Increase length for non delayed
9510 conditional branches.
9511 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
9513 2010-01-24 David S. Miller <davem@davemloft.net>
9515 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
9516 define if not using GAS.
9517 * config/sparc/sparc.c (sparc_elf_asm_named_section):
9518 Likewise. Delete SECTION_MERGE code, which is only applicable
9521 2010-01-24 Mark Mitchell <mark@codesourcery.com>
9524 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
9525 mangling of va_list in system headers.
9527 2010-01-23 Toon Moene <toon@moene.org>
9529 * tree-predcom.c (combine_chains): Return NULL, not false.
9531 2010-01-23 Joern Rennecke <amylaar@spamcop.net>
9533 * tree-loop-distribution.c (distribute_loop): Fix declaration and
9534 initialization of variable res to agree with return type.
9536 2010-01-22 Steve Ellcey <sje@cup.hp.com>
9538 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
9539 * tree-sra.c: Add include of expr.h.
9541 2010-01-22 Jakub Jelinek <jakub@redhat.com>
9543 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
9544 insert the debug stmt on the single non-EH edge from the stmt.
9546 2010-01-22 Richard Henderson <rth@redhat.com>
9549 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
9550 the RHS until after generate_subtree_copies has insertted its
9551 code before the current statement.
9553 2010-01-22 Joern Rennecke <amylaar@spamcop.net>
9555 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
9557 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
9559 2010-01-21 Martin Jambor <mjambor@suse.cz>
9561 PR tree-optimization/42585
9562 * tree-sra.c (struct access): New field grp_total_scalarization.
9563 (dump_access): Dump the new field.
9564 (should_scalarize_away_bitmap): New variable.
9565 (cannot_scalarize_away_bitmap): Likewise.
9566 (sra_initialize): Allocate new bitmaps.
9567 (sra_deinitialize): Free new bitmaps.
9568 (create_access_1): New function.
9569 (create_access): Parts moved to create_access_1.
9570 (type_consists_of_records_p): New function.
9571 (completely_scalarize_record): Likewise.
9572 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
9573 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
9574 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
9576 (analyze_all_variable_accesses): Completely scalarize small eligible
9579 2010-01-21 Martin Jambor <mjambor@suse.cz>
9581 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
9583 2010-01-21 Andrew Haley <aph@redhat.com>
9585 * gcc.c (process_command): Move lang_specific_driver before
9586 setting cc_libexec_prefix.
9588 2010-01-21 Richard Guenther <rguenther@suse.de>
9591 * fold-const.c (negate_expr_p): Pretend only negative
9592 real constants are easily negatable.
9594 2010-01-20 Janis Johnson <janis187@us.ibm.com>
9595 Jason Merrill <jason@redhat.com>
9597 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
9598 (TYPE_TRANSPARENT_AGGR): this, for union and record.
9599 * calls.c (initialize argument_information): Handle it.
9600 * c-common.c (handle_transparent_union_attribute): Use new name.
9601 * c-decl.c (finish_struct): Ditto.
9602 * c-typeck.c (type_lists_compatible_p): Ditto.
9603 (convert_for_assignment): Use new name and also handle record.
9604 * function.c (aggregate_value_p): Handle it.
9605 (pass_by_reference): Ditto.
9606 (assign_parm_data_types): Ditto.
9607 * print-tree.c (print_node): Ditto.
9608 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
9609 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
9610 * tree.c (first_field): New fn.
9612 2010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
9615 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
9616 even when linking statically, for now.
9618 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
9621 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
9622 without a cselib val.
9623 (count_uses): Accept MO_VAL_SET with no val on stores.
9624 (add_stores): Likewise.
9626 2010-01-20 Jakub Jelinek <jakub@redhat.com>
9628 * var-tracking.c (check_value_val): Add a compile time assertion.
9629 (dv_is_decl_p): Simplify.
9630 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
9631 gcc_assert if ENABLE_CHECKING.
9633 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
9636 * var-tracking.c: Include tree-flow.h.
9637 (mem_dies_at_call): New.
9638 (dataflow_set_preserve_mem_locs): Use it.
9639 (dataflow_set_remove_mem_locs): Likewise.
9640 (dump_var): Renamed from dump_variable. Adjust all callers.
9641 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
9642 * Makefile.in (var-tracking.o): Adjust deps.
9644 2010-01-20 Joern Rennecke <amylaar@spamcop.net>
9646 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
9648 2010-01-20 Richard Guenther <rguenther@suse.de>
9650 PR tree-optimization/42717
9651 * tree-ssa-dce.c (get_live_post_dom): Remove.
9652 (forward_edge_to_pdom): Take an arbitrary edge to copy
9653 degenerate PHI args from.
9654 (remove_dead_stmt): Use the first post-dominator even if it
9655 does not contain live statements as redirection destination.
9657 2010-01-20 Richard Guenther <rguenther@suse.de>
9659 * tree-inline.c (estimate_num_insns): Handle EH builtins.
9661 2010-01-20 Jakub Jelinek <jakub@redhat.com>
9663 * sel-sched.c (create_speculation_check): Remove set but not used
9665 (try_transformation_cache): Remove set but not used variable ds.
9666 (calculate_privileged_insns): Remove set but not used variables
9667 cur_insn and min_spec_insn.
9668 (find_best_expr): Remove set but not used variable avail_n.
9669 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
9671 * cgraphunit.c (assemble_thunk): Remove set but not used variable
9673 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
9674 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
9677 2010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
9680 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
9681 cpu types. Add support for *-sse3 cpu types.
9682 (x86_64-*-*): Ditto.
9684 2010-01-20 Jakub Jelinek <jakub@redhat.com>
9687 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
9688 argument, call initializer_constant_valid_p_1 instead of
9689 initializer_constant_valid_p, pass CACHE to it, return NULL
9690 immediately if first call returns NULL.
9691 (initializer_constant_valid_p_1): New function.
9692 (initializer_constant_valid_p): Use it.
9694 2010-01-20 Thomas Quinot <quinot@adacore.com>
9696 * tree.def (PLACEHOLDER_EXPR): Fix comment.
9698 2010-01-20 Jakub Jelinek <jakub@redhat.com>
9700 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
9701 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
9702 (loc_list_from_tree): Don't handle unsigned division. Handle
9703 signed modulo using DW_OP_{over,over,div,mul,minus}.
9704 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
9705 modulo instead of signed.
9707 2010-01-20 DJ Delorie <dj@redhat.com>
9709 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
9711 (h8300_emit_stack_adjustment): Propogate it.
9713 (h8300_expand_prologue): Likewise.
9714 (h8300_expand_epilogue): Likewise.
9716 2010-01-19 Michael Matz <matz@suse.de>
9718 PR tree-optimization/41783
9719 * tree-data-ref.c (toplevel): Include flags.h.
9720 (dump_data_dependence_relation): Also dump the inputs if the
9721 result will be unknown.
9722 (split_constant_offset_1): Look through some conversions.
9723 * tree-predcom.c (determine_roots_comp): Restart a new chain if
9724 the offset from last element is too large.
9725 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
9726 (reassociate_to_the_same_stmt): Handle vector registers.
9727 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
9729 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
9730 wide_prolog_niters argument, emit widening instructions.
9731 (vect_do_peeling_for_alignment): Adjust caller, use widened
9732 variant of the iteration cound.
9733 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
9735 2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9738 * config/arm/neon-testgen.m (emit_automatics): New parameter
9739 features. Adjust for Fixed_return_reg feature.
9740 (test_intrinsic): Call emit_automatics with new feature.
9741 * config/arm/neon.ml: Update copyright years.
9742 (features): New Fixed_return_reg feature.
9743 (ops): Update feature for Vget_low.
9745 2010-01-19 Jakub Jelinek <jakub@redhat.com>
9747 PR tree-optimization/42719
9748 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
9752 * fwprop.c (all_uses_available_at): Return false if def_set dest
9753 is a REG that is used in def_insn.
9755 2010-01-19 Joern Rennecke <amylaar@spamcop.net>
9757 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
9759 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
9762 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
9764 * target.h (struct gcc_target) <secondary_reload>: Change type
9765 of last argument to secondary_reload_info *.
9767 2010-01-18 Uros Bizjak <ubizjak@gmail.com>
9770 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
9771 memory references with unaligned offsets. Remove CQImode handling.
9772 (unaligned_memory_operand): Return 1 for memory references with
9773 unaligned offsets. Remove CQImode handling.
9775 2010-01-18 Richard Guenther <rguenther@suse.de>
9778 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
9781 2010-01-18 Richard Guenther <rguenther@suse.de>
9783 PR tree-optimization/42781
9784 * tree-ssa-structalias.c (find_what_var_points_to): Skip
9785 restrict processing only if the original variable was artificial.
9787 2010-01-18 Joern Rennecke <amylaar@spamcop.net>
9789 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
9790 find number of popped argument bytes.
9792 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
9793 Fix the text that describes the return value for invalid insns.
9795 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
9797 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
9798 Clarify what 'cost of the -dependence' is. Fix quoting.
9800 * toplev.c (default_get_pch_validity): Rename argument to "sz".
9801 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
9803 2010-01-17 Jakub Jelinek <jakub@redhat.com>
9805 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
9806 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
9808 2010-01-17 Richard Guenther <rguenther@suse.de>
9811 * function.c (split_complex_args): Take a VEC to modify.
9812 (assign_parms_augmented_arg_list): Build a VEC instead of
9813 a chain of PARM_DECLs.
9814 (assign_parms_unsplit_complex): Take a VEC of arguments.
9815 Do not fixup unmodified parms.
9816 (assign_parms): Deal with the VEC.
9817 (gimplify_parameters): Likewise.
9819 2010-01-17 Richard Guenther <rguenther@suse.de>
9821 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
9822 node existence check.
9823 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
9824 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
9825 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
9826 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
9827 (gimple_execute_on_growing_pred): Likewise.
9829 2010-01-17 Richard Guenther <rguenther@suse.de>
9831 PR tree-optimization/42773
9832 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
9833 (compute_antic_aux): Likewise.
9834 (compute_partial_antic_aux): Likewise.
9836 2010-01-17 Jie Zhang <jie.zhang@analog.com>
9839 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
9842 2010-01-17 Joern Rennecke <amylaar@spamcop.net>
9844 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
9847 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
9848 Fix markup for strict argument.
9850 (TARGET_SCHED_REORDER2): Fix argument types.
9852 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
9853 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
9855 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
9856 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
9858 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
9861 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
9862 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
9863 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
9864 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
9865 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
9867 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
9869 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
9871 (TARGET_ASM_RELOC_RW_MASK): Add return type.
9872 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
9874 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
9876 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
9879 (TARGET_ASM_NAMED_SECTION): Fix argument list.
9881 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
9882 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
9884 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
9886 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
9888 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
9889 referring to it. Fix language.
9891 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
9893 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
9895 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
9897 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
9899 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
9900 '@var{stream}. Remove stray 'and'.
9902 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
9904 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
9906 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
9908 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
9909 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
9911 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
9912 Fix description of return value.
9913 Rename argument "sz" to "len."
9915 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
9916 Clarify meaning of 'true' return value.
9918 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
9920 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
9921 rep_mode versus mode_rep.
9923 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
9925 (TARGET_BUILTIN_DECL): Fix name.
9927 (TARGET_COMMUTATIVE_P): Fix type of first argument.
9929 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
9931 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
9933 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
9935 (TARGET_RELAXED_ORDERING): Use @deftypevr.
9937 (TARGET_GET_DRAP_RTX): Note that this is a hook.
9940 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
9941 Rename argument tm_fn to md_fn.
9943 (TARGET_OPTION_PRINT): Fix argument list.
9945 2010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
9948 * config/i386/i386.c (ix86_fixup_binary_operands):
9949 Revert FMA4 fixup of operands.
9951 2010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9954 * Makefile.in (write_entries_to_file, install-plugin):
9955 Use \012 instead of \n with tr.
9957 2010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
9959 * configure.ac (HAVE_AS_REF): New C macro.
9960 * configure: Regenerate.
9961 * config.in: Likewise.
9962 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
9964 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
9967 2010-01-16 Joern Rennecke <amylaar@spamcop.net>
9969 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
9971 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
9973 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
9975 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
9977 (TARGET_IN_SMALL_DATA_P): Fix argument type.
9979 (TARGET_BINDS_LOCAL_P): Fix argument type.
9981 (TARGET_ASM_FILE_END): Use prototype.
9983 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
9985 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
9987 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
9989 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
9991 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
9992 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
9994 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
9995 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
9997 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
9998 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
9999 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
10000 (TARGET_ADDR_SPACE_CONVERT): Likewise.
10002 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
10004 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
10006 (TARGET_INIT_BUILTINS): Use prototype.
10008 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
10009 Put 'const char *' in braces. Fix parameter types.
10010 (TARGET_INVALID_CONVERSION): Fix parameter types.
10011 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
10012 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
10014 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
10017 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
10019 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
10021 2010-01-15 Joern Rennecke <amylaar@spamcop.net>
10023 * doc/tm.texi (TARGET_HELP): Fix return type.
10025 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
10026 in braces. Fix argument types.
10028 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
10030 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
10032 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
10034 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
10035 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
10037 (TARGET_MANGLE_TYPE): Fix argument types.
10039 (TARGET_IRA_COVER_CLASSES): Use prototype.
10041 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
10043 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
10045 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
10047 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
10049 (TARGET_CALLEE_COPIES): Fix argument types.
10051 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
10053 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
10055 (TARGET_FUNCTION_VALUE): Fix argument types.
10057 (TARGET_RETURN_IN_MSB): Fix argument type.
10059 (TARGET_RETURN_IN_MEMORY): Fix argument types.
10061 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
10063 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
10065 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
10066 agree with return type.
10068 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
10070 2010-01-15 Jing Yu <jingyu@google.com>
10072 PR rtl-optimization/42691
10073 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
10074 a pseudo to a constant and are merged, and adjust comments.
10076 2010-01-15 Eric Botcazou <ebotcazou@adacore.com>
10078 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
10080 2010-01-15 Richard Guenther <rguenther@suse.de>
10082 PR middle-end/42739
10083 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
10084 labels of computed or non-local gotos to the destination.
10085 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
10086 landing pad label is the first label.
10088 2010-01-15 Richard Guenther <rguenther@suse.de>
10090 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
10092 2010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10095 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
10096 to allow generation of the xssqrtdp instruction on power7.
10097 (sqrtdf2_fpr): Ditto.
10099 2010-01-14 Jakub Jelinek <jakub@redhat.com>
10101 PR middle-end/42674
10102 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
10103 functions with noreturn attribute.
10106 * varasm.c (declare_weak): Add weak attribute to decl if it
10107 doesn't have one already.
10108 (assemble_external): Only add decls to weak_decls if they also
10109 have weak attribute.
10111 2010-01-14 Alexandre Oliva <aoliva@redhat.com>
10113 * var-tracking.c (var_reg_delete): Don't delete the association
10114 between REGs and values or one-part variables if the register
10117 2010-01-14 Jakub Jelinek <jakub@redhat.com>
10120 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
10121 because its first operand is a non-localized variable.
10123 2010-01-14 Martin Jambor <mjambor@suse.cz>
10125 PR tree-optimization/42706
10126 * tree-sra.c (encountered_recursive_call): New variable.
10127 (encountered_unchangable_recursive_call): Likewise.
10128 (sra_initialize): Initialize both new variables.
10129 (callsite_has_enough_arguments_p): New function.
10130 (scan_function): Call decl and flags check only for IPA-SRA, check
10131 whether there is a recursive call and whether it has enough arguments.
10132 (all_callers_have_enough_arguments_p): New function.
10133 (convert_callers): Look for recursive calls only when
10134 encountered_recursive_call is set.
10135 (ipa_early_sra): Bail out either if
10136 !all_callers_have_enough_arguments_p or
10137 encountered_unchangable_recursive_call.
10139 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
10141 * sel-sched.c: Add 2010 to copyright years.
10142 * sel-sched-ir.c: Likewise.
10143 * sel-sched-ir.h: Likewise.
10145 2010-01-14 Martin Jambor <mjambor@suse.cz>
10147 PR tree-optimization/42714
10148 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
10149 constructors specially.
10151 2010-01-14 Andi Kleen <ak@linux.intel.com>
10153 * config/i386/drivers-i386.c (detect_caches_intel):
10154 Add l2sizekb parameter and fill in.
10155 (host_detect_local_cpu): Add l2sizekb, fill in.
10156 Add Atom small cache heuristic.
10158 2010-01-14 Andi Kleen <ak@linux.intel.com>
10160 * config/i386/drivers-i386.c (detect_caches_cpuid4):
10161 Add level3 parameter and fill in.
10162 (detect_caches_intel): Handle level3 cache.
10164 2010-01-14 Andi Kleen <ak@linux.intel.com>
10166 * config/i386/drivers-i386.c (host_detect_local_cpu):
10167 Fix core duo detection.
10169 2010-01-14 Andi Kleen <ak@linux.intel.com>
10171 * config/i386/drivers-i386.c (host_detect_local_cpu):
10172 Fix Atom detection.
10174 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
10176 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
10177 (rs6000_variable_issue_1): this. Use...
10178 (rs6000_variable_issue): here. Reimplement. Print debug info.
10180 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
10182 * sel-sched-ir.c (sel_restore_other_notes): Rename to
10183 sel_restore_notes. Update all callers. Call reemit_notes
10186 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
10188 PR rtl-optimization/42246
10189 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
10192 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
10194 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
10195 all successors is the same as number of successors in current region.
10197 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
10199 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
10200 to rename is not separable. Otherwise check that its LHS is not NULL.
10202 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
10204 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
10206 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
10208 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
10209 available registers when failed to discover LHS register class.
10210 Fix indentation. Update comment.
10212 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
10213 Alexander Monakov <amonakov@ispras.ru>
10215 PR rtl-optimization/42389
10216 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
10218 (advance_state_on_fence): Likewise.
10219 (sel_target_adjust_priority): Print debug output only when
10220 sched_verbose >= 4, not 2.
10221 (get_expr_cost): Do not issue all unique insns on the next cycle.
10222 (fill_insns): Initialize can_issue_more from the value saved
10224 * sel-sched-ir.c (flist_add): New parameter issue_more.
10225 Init FENCE_ISSUE_MORE with it.
10226 (merge_fences): Likewise.
10227 (init_fences): Update call to flist_add.
10228 (add_to_fences, add_clean_fence_to_fences)
10229 (add_dirty_fence_to_fences): Likewise.
10230 (move_fence_to_fences): Update call to merge_fences.
10231 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
10233 * sel-sched-ir.h (struct _fence): New field issue_more.
10234 (FENCE_ISSUE_MORE): New accessor macro.
10236 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
10238 PR rtl-optimization/42388
10239 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
10240 that have no predecessors nor successors. Do not call move_bb_info
10241 for empty blocks outside of current region.
10243 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
10245 PR rtl-optimization/42294
10246 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
10247 * sel-sched.c (move_exprs_to_boundary): Transitively add all
10248 originators' originators.
10250 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
10252 PR rtl-optimization/39453
10253 PR rtl-optimization/42246
10254 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
10256 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
10258 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
10259 Alexander Monakov <amonakov@ispras.ru>
10261 PR middle-end/42245
10262 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
10263 (maybe_tidy_empty_bb): ... here. Make static. Add new
10264 argument. Update all callers.
10265 (tidy_control_flow): ... and here. Recompute topological order
10266 of basic blocks in region if necessary.
10267 (sel_redirect_edge_and_branch): Change return type. Return true
10268 if topological order might have been invalidated.
10269 (purge_empty_blocks): Export and move from...
10270 * sel-sched.c (purge_empty_blocks): ... here.
10271 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
10272 (maybe_tidy_empty_bb): Delete prototype.
10273 (purge_empty_blocks): Declare.
10275 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
10277 PR rtl-optimization/42249
10278 * sel-sched.c (try_replace_dest_reg): When chosen register
10279 and original register is the same, do not bail out early, but
10280 still check all original insns for validity of replacing destination
10281 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
10284 2010-01-14 Jakub Jelinek <jakub@redhat.com>
10287 Port from no-undefined-overflow branch:
10288 2009-03-09 Richard Guenther <rguenther@suse.de>
10290 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
10292 2010-01-14 Richard Guenther <rguenther@suse.de>
10295 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
10297 2010-01-14 Ira Rosen <irar@il.ibm.com>
10299 PR tree-optimization/42709
10300 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
10301 as scalar type in creation of constant vector operand.
10303 2010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10306 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
10307 (check-parallel-%): Match `testsuite' directory component only
10310 2010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
10312 PR translation/39521
10313 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
10316 2010-01-13 Richard Guenther <rguenther@suse.de>
10318 PR tree-optimization/42730
10319 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
10322 2010-01-13 Steve Ellcey <sje@cup.hp.com>
10325 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
10326 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
10329 2010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
10331 * config/bfin/libgcc-bfin.ver: Regenerate based on current
10332 libgcc-std.ver. Add entries for ___smulsi3_highpart and
10333 ___umulsi3_highpart.
10335 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
10336 rather than schedule_insns if the pass is enabled.
10338 2010-01-13 Martin Jambor <mjambor@suse.cz>
10340 PR tree-optimization/42704
10341 * tree-sra.c (sra_modify_assign): Do not delete assignments to
10344 2010-01-13 Martin Jambor <mjambor@suse.cz>
10346 PR tree-optimization/42703
10347 * tree-sra.c (analyze_access_subtree): Check that we can build a
10348 reference to the original data within the aggregate.
10350 2010-01-13 Richard Guenther <rguenther@suse.de>
10352 PR tree-optimization/42705
10353 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
10355 2010-01-13 Richard Guenther <rguenther@suse.de>
10357 PR middle-end/42716
10358 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
10360 2010-01-13 Jakub Jelinek <jakub@redhat.com>
10363 * var-tracking.c (values_to_unmark): New variable.
10364 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
10365 values_to_unmark vector. Moved body to...
10366 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
10367 instead queue it into values_to_unmark vector.
10368 (vt_find_locations): Free values_to_unmark vector.
10370 2010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
10372 * config/s390/s390.c (override_options): Set
10373 default of max-pending-list-length to 256
10375 2010-01-13 Richard Guenther <rguenther@suse.de>
10378 * tree-pass.h (PROP_gimple_lcx): New.
10379 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
10380 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
10381 before the final cleanup_eh.
10382 (dump_properties): Dump PROP_gimple_lcx.
10383 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
10384 (tree_lower_complex_O0): Remove.
10385 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
10386 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
10387 tree_lower_complex, schedule TODO_update_ssa.
10388 * lto-streamer-out.c (output_function): Stream the functions
10390 * lto-streamer-in.c (input_function): Likewise.
10391 (lto_read_body): Do not override them here.
10393 2010-01-12 Joseph Myers <joseph@codesourcery.com>
10396 * c-typeck.c (build_c_cast): Fold value cast to union type before
10397 wrapping it in a CONSTRUCTOR.
10399 2010-01-12 Jakub Jelinek <jakub@redhat.com>
10401 PR rtl-optimization/42699
10402 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
10405 2010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10407 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
10408 SUBTARGET_WARN_UNUSED_SPEC): Move ...
10409 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
10410 SUBTARGET_WARN_UNUSED_SPEC): ... here
10411 * config/mips/iris5.h (LIBGCC_SPEC): Define.
10413 2010-01-12 Julian Brown <julian@codesourcery.com>
10415 * config/arm/neon-schedgen.ml (Utils): Don't try to
10416 open missing module.
10417 (find_with_result): New.
10419 2010-01-12 Jakub Jelinek <jakub@redhat.com>
10422 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
10423 sharing when canonicalizing ({lt,ge}u (plus a b) b).
10425 PR tree-optimization/42645
10426 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
10427 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
10428 decl_map, set processing_debug_stmt to -1 and return name without
10431 2010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
10433 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
10434 binutils version, and reword target configuration description.
10436 2010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
10438 * config/avr/avr.h (LINKER_NAME): Remove.
10440 2010-01-11 Janis Johnson <janis187@us.ibm.com>
10443 * config/rs6000/rs6000.c (rs6000_override_options): On targets
10444 that support VSX, warn for -mno-altivec if vsx is not disabled,
10447 2010-01-11 Joseph Myers <joseph@codesourcery.com>
10448 Shujing Zhao <pearly.zhao@oracle.com>
10450 PR translation/42469
10451 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
10452 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
10453 character between option name and help text.
10454 * c.opt (imultilib): Likewise.
10456 2010-01-10 Rafael Avila de Espindola <espindola@google.com>
10458 * lto-streamer-out.c (output_unreferenced_globals): Output static
10461 2010-01-10 Steven Bosscher <steven@gcc.gnu.org>
10463 PR rtl-optimization/42621
10464 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
10465 optimizing for size.
10466 (duplicate_computed_gotos): Remove now-redundant check.
10468 2010-01-10 Steve Ellcey <sje@cup.hp.com>
10471 * configure.ac: Save and restore LDFLAGS and LIBS
10472 * configure: Regenerate.
10474 2010-01-10 Richard Guenther <rguenther@suse.de>
10476 PR middle-end/42667
10477 * builtins.c (fold_builtin_strlen): Add type argument and
10478 convert the resulting length to it.
10479 (fold_builtin_1): Adjust.
10481 2010-01-09 Jakub Jelinek <jakub@redhat.com>
10483 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
10484 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
10486 (num_insns_constant_wide): Adjust for that change.
10488 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
10491 * web.c (union_defs): Add used argument, to combine uses of
10492 uninitialized regs.
10493 (entry_register): Adjust type and tests of used argument.
10494 (web_main): Widen used for new use. Pass it to union_defs.
10495 * df.h (union_defs): Adjust prototype.
10497 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
10500 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
10501 uses in new incoming argument. Free body.
10502 (reset_debug_uses_in_loop): New.
10503 (analyze_insn_to_expand_var): Call the latter if the former found
10504 anything. Fix whitespace. Reject invalid dest overlaps before
10505 going through all insns in the loop.
10507 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
10510 * haifa-sched.c (dying_use_p): Debug insns don't count.
10512 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
10514 PR middle-end/42363
10515 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
10516 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
10517 (verify_gimple_call): Reject LHS in noreturn calls.
10519 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
10523 * tree-vect-loop-manip.c (adjust_info): New type.
10524 (adjust_vec): New pointer to vector.
10525 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
10526 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
10527 (slpeel_update_phis_for_duplicate_loop): Use them.
10528 (slpeel_update_phi_nodes_for_guard1): Likewise.
10529 (slpeel_update_phi_nodes_for_guard2): Likewise.
10530 (slpeel_tree_peel_loop_to_edge): Likewise.
10531 (vect_update_ivs_after_vectorizer): Likewise.
10533 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
10535 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
10536 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
10538 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
10540 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
10541 bogus uninitialized warning.
10543 2010-01-09 Richard Guenther <rguenther@suse.de>
10545 PR middle-end/42512
10546 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
10547 the evolution is compatible with the initial condition.
10549 2010-01-09 Jakub Jelinek <jakub@redhat.com>
10551 * gcc.c (process_command): Update copyright notice dates.
10552 * gcov.c (print_version): Likewise.
10553 * gcov-dump.c (print_version): Likewise.
10554 * mips-tfile.c (main): Likewise.
10555 * mips-tdump.c (main): Likewise.
10557 2010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
10560 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
10562 (rotlhi3_8): Delete.
10564 (rotlsi3_8): Delete.
10565 (rotlsi3_16): Delete.
10566 (rotlsi3_24): Delete.
10567 (rotl<mode>3): New.
10568 (*rotw<mode>3): New.
10569 (*rotb<mode>3): New.
10570 * config/avr/avr.c (avr_rotate_bytes): New function.
10571 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
10573 2010-01-08 Steve Ellcey <sje@cup.hp.com>
10576 * configure.ac: Modify -rdynamic check.
10577 * configure: Regenerate.
10579 2010-01-08 DJ Delorie <dj@redhat.com>
10581 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
10582 register popping order.
10584 2010-01-08 Richard Guenther <rguenther@suse.de>
10587 * c.opt (fsigned-char): Also let LTO handle this option.
10588 (funsigned-char): Likewise.
10590 2010-01-07 Richard Guenther <rguenther@suse.de>
10592 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
10593 (gimple_op): Likewise.
10594 (gimple_op_ptr): Likewise.
10595 (gimple_assign_set_lhs): Remove gcc_assert.
10596 (gimple_assign_set_rhs1): Likewise.
10597 (gimple_assign_set_rhs2): Likewise.
10598 (gimple_call_set_lhs): Likewise.
10599 (gimple_call_set_fn): Likewise.
10600 (gimple_call_set_fndecl): Likewise.
10601 (gimple_call_fndecl): Likewise.
10602 (gimple_call_return_type): Likewise.
10603 (gimple_call_set_chain): Likewise.
10604 (gimple_call_num_args): Likewise.
10605 (gimple_call_set_arg): Likewise.
10606 (gimple_cond_set_code): Likewise.
10607 (gimple_cond_set_lhs): Likewise.
10608 (gimple_cond_set_rhs): Likewise.
10609 (gimple_cond_set_true_label): Likewise.
10610 (gimple_cond_set_false_label): Likewise.
10611 (gimple_label_set_label): Likewise.
10612 (gimple_goto_set_dest): Likewise.
10613 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
10614 (gimple_debug_bind_get_value): Likewise.
10615 (gimple_debug_bind_get_value_ptr): Likewise.
10616 (gimple_debug_bind_set_var): Likewise.
10617 (gimple_debug_bind_set_value): Likewise.
10618 (gimple_debug_bind_reset_value): Likewise.
10619 (gimple_debug_bind_has_value_p): Likewise.
10620 (gimple_return_retval_ptr): Remove gcc_assert.
10621 (gimple_return_retval): Likewise.
10622 (gimple_return_set_retval): Likewise.
10623 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
10624 (safe_referenced_var_iterator): Remove.
10625 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
10626 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
10627 (fill_referenced_var_vec): Remove.
10628 (first_readonly_imm_use): Remove redundant gcc_assert.
10629 (phi_arg_index_from_use): Combine gcc_asserts.
10630 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
10631 (first_imm_use_stmt): Remove redundant gcc_assert.
10632 * tree-cfg.c (verify_gimple_call): Verify function and chain
10633 operands. Verify arguments.
10634 (verify_types_in_gimple_stmt): Verify condition code and labels.
10636 2010-01-07 Richard Guenther <rguenther@suse.de>
10638 PR tree-optimization/42641
10639 * sese.c (rename_map_elt_info): Use the SSA name version, do
10642 2010-01-07 Jakub Jelinek <jakub@redhat.com>
10644 PR tree-optimization/42625
10645 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
10646 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
10648 2010-01-07 Duncan Sands <baldrick@free.fr>
10650 * Makefile.in (PLUGIN_HEADERS): Add version.h.
10652 2010-01-07 Uros Bizjak <ubizjak@gmail.com>
10655 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
10656 note itself is not function_invariant_p.
10658 2009-01-07 Steven Bosscher <steven@gcc.gnu.org>
10660 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
10661 Do not add the DF_NOTE problem.
10662 * store-motion.c (execute_rtl_store_motion): Likewise.
10664 2010-01-07 Martin Jambor <mjambor@suse.cz>
10666 PR tree-optimization/42157
10667 * tree-sra.c (compare_access_positions): Stabilize sort if both
10668 accesses have integer types, return zero immediately if they are the
10671 2010-01-06 Richard Henderson <rth@redhat.com>
10673 PR middle-end/41883
10674 * haifa-sched.c (add_to_note_list): Merge into ...
10675 (concat_note_lists): ... here, and ...
10676 (unlink_other_notes, rm_other_notes): Merge into...
10677 (remove_notes): ... here. Create REG_SAVE_NOTEs for
10678 NOTE_INSN_EPILOGUE_BEG.
10680 2010-01-06 Richard Guenther <rguenther@suse.de>
10682 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
10683 not inline regular functions into always-inline functions.
10685 2010-01-06 Nick Clifton <nickc@redhat.com>
10687 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
10688 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
10690 (OVERRIDE_OPTIONS): Delete.
10691 (OPTIMIZATION_OPTIONS): Define.
10692 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
10693 * config/rx/rx.c (rx_handle_option): Issue an error message if
10694 -mcpu=rx200 and -fpu are used together.
10695 (rx_set_optimization_options): New function. Issue an error
10696 message if an optimization attribute attempts to reset the FPU/
10697 math optimization pairing.
10698 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
10699 * config/rx/rx.opt: Set the default to 32-bit doubles.
10700 * config/rx/t-rx: Add multilibs for -nofpu option.
10701 * doc/invoke.texi: Update documentation of RX options.
10703 2010-01-06 Richard Guenther <rguenther@suse.de>
10705 * tree-ssa-pre.c (name_to_id): New global.
10706 (alloc_expression_id): Simplify SSA name handling.
10707 (lookup_expression_id): Likewise.
10708 (init_pre): Zero name_to_id.
10709 (fini_pre): Free it.
10711 2010-01-06 Uros Bizjak <ubizjak@gmail.com>
10713 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
10715 2010-01-05 H.J. Lu <hongjiu.lu@intel.com>
10718 * config/i386/sse.md (smaxv2di3): New.
10719 (umaxv2di3): Likewise.
10720 (sminv2di3): Likewise.
10721 (uminv2di3): Likewise.
10723 2010-01-05 Eric Botcazou <ebotcazou@adacore.com>
10726 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
10727 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
10728 (legitimize_tls_address): Likewise.
10729 (sparc_tls_referenced_p): Likewise.
10730 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
10731 and adjust calls to legitimize_pic_address.
10732 (legitimate_constant_p) Use sparc_tls_referenced_p.
10733 (legitimate_pic_operand_p): Likewise.
10734 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
10735 (sparc_tls_symbol_ref_1): Delete.
10736 (sparc_tls_referenced_p): Make static, recognize specific patterns.
10737 (legitimize_tls_address): Make static, handle CONST patterns.
10738 (legitimize_pic_address): Make static, remove unused parameter and
10739 adjust recursive calls.
10740 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
10741 and adjust call to legitimize_pic_address.
10742 (sparc_output_mi_thunk): Likewise.
10744 2010-01-05 Paolo Bonzini <bonzini@gnu.rg>
10745 H.J. Lu <hongjiu.lu@intel.com>
10748 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
10749 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
10750 operands to make them signed.
10753 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
10756 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
10757 GTU to GT for V4SI and V2DI.
10759 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
10760 (umin<mode>3): Removed.
10762 (uminv4si3): Likewise.
10764 2010-01-05 Martin Jambor <mjambor@suse.cz>
10766 PR tree-optimization/42462
10767 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
10768 current_function_decl to helper functions and macros.
10770 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10773 * flags.h: Don't include real.h.
10774 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
10775 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
10776 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
10777 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
10778 * dominance.c: Update copyright.
10779 * gimple.c (walk_gimple_op): Remove inline.
10780 * tree-ssa-reassoc.c: Include real.h.
10781 * Makefile.in (FLAGS_H): Remove $(REAL_H).
10782 (tree-ssa-reassoc.o): Depend on $(REAL_H).
10784 2010-01-05 Nick Clifton <nickc@redhat.com>
10786 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
10787 register to push into the stack frame when the accumulator has to
10788 be saved during interrupts.
10790 2010-01-05 Eric Fisher <joefoxreal@gmail.com>
10792 * doc/invoke.texi: Remove the documentation about option
10793 -Wunreachable-code.
10794 * common.opt (Wunreachable-code): Preserved for backward
10796 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
10797 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
10798 the backward compatibility flag section.
10800 2010-01-05 Richard Guenther <rguenther@suse.de>
10802 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
10804 2010-01-05 Jakub Jelinek <jakub@redhat.com>
10807 * cfgexpand.c (expand_one_var): Diagnose too large variables.
10809 PR tree-optimization/42508
10810 * tree-sra.c (convert_callers): Check for recursive call
10811 by comparing cgraph nodes instead of decls.
10812 (modify_function): Call ipa_modify_formal_parameters also
10813 on all same_body aliases.
10815 * cgraphunit.c (cgraph_materialize_all_clones): Compare
10816 cgraph nodes when checking for same_body aliases.
10818 2010-01-05 Richard Guenther <rguenther@suse.de>
10820 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
10821 allocation and lookup.
10822 (get_or_alloc_expr_for_constant): Likewise.
10823 (phi_translate): Sink allocation.
10825 2010-01-04 Richard Guenther <rguenther@suse.de>
10827 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
10828 a new entry only if needed.
10829 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
10830 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
10832 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
10834 (phi_translate): Handle CONSTANTs early.
10836 2010-01-04 Martin Jambor <mjambor@suse.cz>
10838 PR tree-optimization/42398
10839 * tree-sra.c (struct access): Removed flag grp_different_types.
10840 (dump_access): Do not dump the removed flag.
10841 (sort_and_splice_var_accesses): Do not set the removed flag.
10842 (sra_modify_expr): Check for type compatibility directly.
10844 2010-01-04 Martin Jambor <mjambor@suse.cz>
10846 PR tree-optimization/42366
10847 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
10848 edges with variable number of parameters.
10849 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
10850 flag instead of asserting it.
10851 (ipa_read_node_info): Read uses_analysis_done flag.
10853 2010-01-04 Richard Guenther <rguenther@suse.de>
10855 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
10856 iterative_hash_* as intended.
10857 (vn_reference_compute_hash): Likewise. Simplify hashing
10859 (vn_reference_lookup_2): Likewise.
10860 (vn_nary_op_compute_hash): Likewise.
10861 (vn_phi_compute_hash): Likewise.
10862 (expressions_equal_p): Remove strange code.
10863 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
10864 (pre_expr_hash): Likewise. Simplify hashing SSA names.
10865 (bitmap_insert_into_set_1): Take value-id as parameter.
10866 (add_to_value): Pass it.
10867 (bitmap_insert_into_set): Likewise.
10868 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
10870 2010-01-04 Jakub Jelinek <jakub@redhat.com>
10873 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
10874 (do_self_spec): For switches with SWITCH_IGNORE set set also
10875 SWITCH_IGNORE_PERMANENTLY.
10876 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
10879 2010-01-04 Rafael Avila de Espindola <espindola@google.com>
10881 * lto-streamer-out.c (output_unreferenced_globals): Output the full
10882 tree of an unreferenced global var.
10884 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
10887 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
10888 GTU to GT for V4SI and V2DI.
10890 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
10891 (umin<mode>3): Removed.
10893 (uminv4si3): Likewise.
10895 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
10898 * collect2.c (main): Turn on trace in collect2 if -v is passed
10901 2010-01-03 Jerry Quinn <jlquinn@optonline.net>
10903 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
10904 description of expression operand.
10906 2010-01-03 Andrew Jenner <andrew@codesourcery.com>
10908 * configure.ac: Add install-html to target_list for Make-hooks.
10909 * configure: Regenerate.
10910 * fortran/Make-lang.in (F95_HTMLFILES): New.
10911 (fortran.html): Use it.
10912 (fortran.install-html): New.
10913 * Makefile.in (install-html): Add lang.install-html.
10914 * java/Make-lang.in (JAVA_HTMLFILES): New.
10915 (java.html): Use it.
10916 (java.install-html): New.
10917 * objc/Make-lang.in (objc.install-html): New.
10918 * objcp/Make-lang.in (obj-c++.install-html): New.
10919 * cp/Make-lang.in (c++.install-html): New.
10920 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
10921 * lto/Make-lang.in (lto.install-html): New.
10923 2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
10926 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
10928 2009-01-03 Steven Bosscher <steven@gcc.gnu.org>
10930 PR rtl-optimization/41862
10931 * store-motion.c (store_killed_in_insn, compute_store_table,
10932 remove_reachable_equiv_notes, replace_store_insn,
10933 build_store_vectors): Ignore all DEBUG_INSNs.
10935 2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
10938 * common.opt: Add dumpdir.
10940 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
10942 (option_map): Add --dumpdir.
10944 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
10946 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
10948 * opts.c (decode_options): Try dump_dir_name first if
10949 dump_base_name isn't an absolute path.
10950 (common_handle_option): Handle OPT_dumpdir.
10952 * toplev.c (dump_dir_name): New.
10953 (print_switch_values): Also ignore -dumpdir.
10955 * toplev.h (dump_dir_name): New.
10957 2010-01-03 Richard Guenther <rguenther@suse.de>
10959 PR tree-optimization/42589
10960 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
10961 double-word expansion of bswap32.
10963 2010-01-03 Steven Bosscher <steven@gcc.gnu.org>
10965 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
10966 with BLOCK_FOR_INSN.
10967 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
10968 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
10969 noce_process_if_block): Likewise.
10970 * gcse.c (compute_local_properties, insert_expr_in_table,
10971 insert_set_in_table, canon_list_insert, find_avail_set,
10972 pre_insert_copy_insn): Likewise.
10974 * basic-block.h (BLOCK_NUM): Move from here...
10975 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
10977 2010-01-03 Richard Guenther <rguenther@suse.de>
10979 PR tree-optimization/42438
10980 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
10981 contains_may_not_return_call flag.
10982 (BB_MAY_NOTRETURN): New.
10983 (valid_in_sets): Trapping nary operations are not valid
10984 in blocks that may not return.
10985 (insert_into_preds_of_block): Remove check for trapping expressions.
10986 (compute_avail): Compute also BB_MAY_NOTRETURN.
10988 2010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
10990 * doc/invoke.texi: Add 2010 to copyright years.
10992 2010-01-03 Eric Botcazou <ebotcazou@adacore.com>
10994 * config/sparc/sparc.c: Fix formatting nits.
10996 2010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
10997 Alexander Monakov <amonakov@ispras.ru>
10999 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
11001 2010-01-02 Richard Guenther <rguenther@suse.de>
11003 PR middle-end/42577
11004 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
11005 (simplify_switch_using_ranges): Mark to be removed edges
11008 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11010 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
11012 * collect2.c (scan_libraries): Add missing argument in call to
11015 2010-01-02 Uros Bizjak <ubizjak@gmail.com>
11018 * config/alpha/predicates.md (aligned_memory_operand): Return false
11020 (unaligned_memory_operand): Return true for CQImode.
11021 * config/alpha/alpha.c (get_aligned_mem): Assert that location
11022 doesn not cross aligned SImode word boundary.
11024 2010-01-02 Anatoly Sokolov <aesok@post.ru>
11026 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
11028 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
11029 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
11031 2010-01-02 Richard Guenther <rguenther@suse.de>
11034 * toplev.c (compile_file): Emit LTO marker properly. Change
11035 it to __gnu_lto_v1.
11036 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
11038 2010-01-01 Richard Guenther <rguenther@suse.de>
11041 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
11043 2010-01-01 Richard Guenther <rguenther@suse.de>
11046 * c-decl.c (grokdeclarator): For zero-size arrays force
11047 structural equality checks as layout_type does.
11049 2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
11051 * builtins.c: Update copyright to 2010.
11053 2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
11056 * lto-streamer-out.c (produce_asm): Revert the last change.
11057 (copy_function): Likewise.
11059 * lto-streamer.c (lto_get_section_name): Skip any leading
11062 2010-01-01 Richard Guenther <rguenther@suse.de>
11064 PR middle-end/42559
11065 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
11069 Copyright (C) 2010 Free Software Foundation, Inc.
11071 Copying and distribution of this file, with or without modification,
11072 are permitted in any medium without royalty provided the copyright
11073 notice and this notice are preserved.