OSDN Git Service

2010-06-09 Kai Tietz <kai.tietz@onevision.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-06-09  Kai Tietz  <kai.tietz@onevision.com>
2
3         * fortran/resolve.c (resolve_deallocate_expr): Avoid warning
4         about possible use of iunitialized sym.
5         (resolve_allocate_expr): Pre-initialize sym by NULL.
6
7         * c-objc-common.c (c_tree_printer): Pre-intialize t by NULL_TREE.
8
9 2010-06-09  Martin Jambor  <mjambor@suse.cz>
10
11         PR tree-optimization/44423
12         * tree-sra.c (dump_access): Dump also grp_assignment_read.
13         (analyze_access_subtree): Pass negative allow_replacements to children
14         if the current type is scalar.
15
16 2010-06-09  Joern Rennecke  <amylaar@spamcop.net>
17
18         PR testsuite/42843
19         * gcc-plugin.h (int plugin_is_GPL_compatible): Declare as extern "C".
20         * doc/plugins.texi (Plugin license check): Update information
21         on type of plugin_is_GPL_compatible.
22         * Makefile.in (PLUGINCC): Define as $(COMPILER).
23         (PLUGINCFLAGS): Define as $(COMPILER_FLAGS).
24
25 2010-06-09  Bernd Schmidt  <bernds@codesourcery.com>
26
27         * config/arm/arm.c (thumb2_reorg): New function.
28         (arm_reorg): Call it.
29         * config/arm/thumb2.md (define_peephole2 for flag clobbering
30         arithmetic operations): Delete.
31
32 2010-06-09  Edmar Wienskoski  <edmar@freescale.com>
33
34         PR target/44067
35         * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
36         e500v2 target.
37
38 2010-06-09  Joern Rennecke  <joern.rennecke@embecosm.com>
39
40         PR plugins/44459
41         * gcc-plugin.h: Encapsulate all declarations in extern "C".
42
43 2010-06-08  Jan Hubicka  <jh@suse.cz>
44
45         * basic-block.h (single_succ_edge, single_pred_edge, ei_container,
46         ei_next, ei_prev): Do sanity checking with ENABLE_CHECKING only.
47
48 2010-06-08  Sandra Loosemore  <sandra@codesourcery.com>
49
50         PR tree-optimization/39874
51         PR middle-end/28685
52         * gimple.h (maybe_fold_and_comparisons, maybe_fold_or_comparisons):
53         Declare.
54         * gimple-fold.c (canonicalize_bool, same_bool_comparison_p,
55         same_bool_result_p): New.
56         (and_var_with_comparison, and_var_with_comparison_1,
57         and_comparisons_1, and_comparisons, maybe_fold_and_comparisons): New.
58         (or_var_with_comparison, or_var_with_comparison_1,
59         or_comparisons_1, or_comparisons, maybe_fold_or_comparisons): New.
60         * tree-ssa-reassoc.c (eliminate_redundant_comparison): Use
61         maybe_fold_and_comparisons or maybe_fold_or_comparisons instead
62         of combine_comparisons.
63         * tree-ssa-ifcombine.c (ifcombine_ifandif, ifcombine_iforif): Likewise.
64
65 2010-06-08  Anatoly Sokolov  <aesok@post.ru>
66
67         * config/pdp11/pdp11.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
68         LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
69         * config/pdp11/pdp11.c (moxie_function_value, moxie_libcall_value,
70         moxie_function_value_regno_p): New functions.
71         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
72         TARGET_FUNCTION_VALUE_REGNO_P): Define.
73
74 2010-06-08  Kazu Hirata  <kazu@codesourcery.com>
75
76         * config/arm/arm.c (arm_rtx_costs_1): Don't special case for
77         Thumb-2 in the MINUS case.
78
79 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
80
81         * doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
82
83         * doc/gty.texi (GTY Options): Document typed GC allocation and
84         variable_size GTY option.
85
86         * ggc-internal.h: New.
87
88         * ggc.h: Update copyright year.
89         (digit_string): Move to stringpool.c.
90         (ggc_mark_stringpool, ggc_purge_stringpool, ggc_mark_roots)
91         (gt_pch_save_stringpool, gt_pch_fixup_stringpool)
92         (gt_pach_restore_stringpool, gt_pch_p_S, gt_pch_note_object)
93         (init_ggc_pch, ggc_pch_count_object, ggc_pch_total_size)
94         (ggc_pch_this_base, ggc_pch_alloc_object, ggc_pch_prepare_write)
95         (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read)
96         (ggc_force_collect, ggc_get_size, ggc_statistics)
97         (ggc_print_common_statistics): Move to ggc-internal.h.
98         (digit_vector, new_ggc_zone, destroy_ggc_zone, ggc_alloc_stat)
99         (ggc_alloc, ggc_alloc_cleared, ggc_realloc, ggc_calloc, GGC_NEW)
100         (GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, ggc_alloc_rtvec)
101         (ggc_alloc_tree, gt_pch_save, ggc_min_expand_heuristic)
102         (ggc_min_heapsize_heuristic, ggc_alloc_zone)
103         (ggc_alloc_zone_pass_stat): Remove.
104         (ggc_internal_alloc_stat, ggc_internal_alloc)
105         (ggc_internal_cleared_alloc_stat): New.
106         (GGC_RESIZEVEC, GGC_RESIZEVAR): Redefine.
107         (ggc_internal_vec_alloc_stat)
108         (ggc_internal_cleared_vec_alloc_stat)
109         (ggc_internal_vec_alloc_stat, ggc_internal_cleared_vec_alloc)
110         (ggc_alloc_atomic_stat, ggc_alloc_atomic)
111         (ggc_alloc_cleared_atomic, ggc_cleared_alloc_htab_ignore_args)
112         (ggc_cleared_alloc_ptr_array_two_args): New.
113         (htab_create_ggc, splay_tree_new_ggc): Redefine.
114         (ggc_splay_alloc): Change the type of the first argument to
115         enum gt_types_enum.
116         (ggc_alloc_string): Make macro.
117         (ggc_alloc_string_stat): New.
118         (ggc_strdup): Redefine.
119         (rtl_zone, tree_zone, tree_id_zone): Declare unconditionally.
120         (ggc_alloc_rtvec_sized): New.
121         (ggc_alloc_zone_stat): Rename to ggc_internal_alloc_zone_stat.
122         (ggc_internal_alloc_zone_pass_stat, ggc_internal_alloc_zone_stat)
123         (ggc_internal_cleared_alloc_zone_stat)
124         (ggc_internal_zone_alloc_stat)
125         (ggc_internal_zone_cleared_alloc_stat)
126         (ggc_internal_zone_vec_alloc_stat)
127         (ggc_alloc_zone_rtx_def_stat)
128         (ggc_alloc_zone_tree_node_stat)
129         (ggc_alloc_zone_cleared_tree_node_stat)
130         (ggc_alloc_cleared_gimple_statement_d_stat): New.
131
132         * ggc-common.c: Include ggc-internal.h.
133         (ggc_internal_cleared_alloc_stat): Rename from
134         ggc_alloc_cleared_stat.
135         (ggc_realloc_stat): Use ggc_internal_alloc_stat.
136         (ggc_calloc): Remove.
137         (ggc_cleared_alloc_htab_ignore_args): New.
138         (ggc_cleared_alloc_ptr_array_two_args): New.
139         (ggc_splay_alloc): Add obj_type parameter.
140         (init_ggc_heuristics): Formatting fixes.
141
142         * ggc-none.c: Update copyright year.
143         (ggc_alloc_stat): Rename to ggc_alloc_stat.
144         (ggc_alloc_cleared_stat): Rename to
145         ggc_internal_cleared_alloc_stat.
146         (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
147
148         * ggc-page.c: Update copyright year.  Include ggc-internal.h.
149         Remove references to ggc_alloc in comments.
150         (ggc_alloc_typed_stat): Call ggc_internal_alloc_stat.
151         (ggc_alloc_stat): Rename to ggc_internal_alloc_stat.
152         (new_ggc_zone, destroy_ggc_zone): Remove.
153         (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
154
155         * ggc-zone.c: Include ggc-internal.h.  Remove references to
156         ggc_alloc in comments.
157         (ggc_alloc_zone_stat): ggc_internal_alloc_zone_stat.
158         (ggc_internal_alloc_zone_pass_stat): New.
159         (ggc_internal_cleared_alloc_zone_stat): New.
160         (ggc_alloc_typed_stat): Use ggc_internal_alloc_zone_pass_stat.
161         (ggc_alloc_stat): Rename ggc_internal_alloc_stat.
162         (new_ggc_zone, destroy_ggc_zone): Remove.
163
164         * stringpool.c: Update copyright year.  Include ggc-internal.h
165         (digit_vector): Make static.
166         (digit_string): Moved from ggc.h.
167         (stringpool_ggc_alloc): Use ggc_alloc_atomic.
168         (ggc_alloc_string): Rename to ggc_alloc_string_stat.
169
170         * Makefile.in (GGC_INTERNAL_H): New.
171         (ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
172         $(GGC_INTERNAL_H) to dependencies.
173
174         * gentype.c: Update copyright year.
175         (walk_type): Accept variable_size GTY option.
176         (USED_BY_TYPED_GC_P): New macro.
177         (write_enum_defn): Use USED_BY_TYPED_GC_P.  Do not output
178         whitespace at the end of strings.
179         (get_type_specifier, variable_size_p): New functions.
180         (alloc_quantity, alloc_zone): New enums.
181         (write_typed_alloc_def): New function.
182         (write_typed_struct_alloc_def): Likewise.
183         (write_typed_typed_typedef_alloc_def): Likewise.
184         (write_typed_alloc_defns): Likewise.
185         (output_typename, write_splay_tree_allocator_def): Likewise.
186         (write_splay_tree_allocators): Likewise.
187         (main): Call write_typed_alloc_defns and
188         write_splay_tree_allocators.
189
190         * lto-streamer.h (lto_file_decl_data_ptr): New.
191
192         * passes.c (order): Define using cgraph_node_ptr.
193
194         * strinpool.c (struct string_pool_data): Declare nested_ptr using
195         ht_identifier_ptr.
196
197         * gimple.h (union gimple_statement_d): Likewise.
198
199         * rtl.h (struct rtx_def): Likewise.
200         (struct rtvec_def): Likewise.
201
202         * tree.h (union tree_node): Likewise.
203
204         * tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
205
206         * cfgloop.c (record_loop_exits): Use htab_create_ggc.
207
208         * tree-scalar-evolution.c (scev_initialize): Likewise.
209
210         * alias.c (record_alias_subset): Update splay_tree_new_ggc call.
211
212         * dwarf2asm.c (dw2_force_const_mem): Likewise.
213
214         * omp-low.c (lower_omp_critical): Likewise.
215
216         * bitmap.h (struct bitmap_head_def): Update comment to not
217         reference ggc_alloc.
218
219         * config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
220
221         * ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
222
223         * ipa-prop.c (duplicate_ggc_array): Rename to
224         duplicate_ipa_jump_func_array.  Use typed GC allocation.
225         (ipa_edge_duplication_hook): Call duplicate_ipa_jump_func_array.
226
227         * gimple.c (gimple_alloc_stat): Use
228         ggc_alloc_cleared_gimple_statement_d_stat.
229
230         * varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
231
232         * tree.c (make_node_stat): Use
233         ggc_alloc_zone_cleared_tree_node_stat.
234         (make_tree_vec_stat): Likewise.
235         (build_vl_exp_stat): Likewise.
236         (copy_node_stat): Use ggc_alloc_zone_tree_node_stat.
237         (make_tree_binfo_stat): Likewise.
238         (tree_cons_stat): Likewise.
239
240         * rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
241         (shallow_copy_rtx_stat): Likewise.
242         (make_node_stat): Likewise.
243
244         * lto-symtab.c: Fix comment.
245
246         * tree-cfg.c (create_bb): Update comment to not reference
247         ggc_alloc_cleared.
248         * tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is
249         value.
250
251         * varpool.c (varpool_node): Use typed GC allocation.
252         (varpool_extra_name_alias): Likewise.
253
254         * varasm.c (emutls_decl): Likewise.
255         (get_unnamed_section): Likewise.
256         (get_noswitch_section): Likewise.
257         (get_section): Likewise.
258         (get_block_for_section): Likewise.
259         (build_constant_desc): Likewise.
260         (create_constant_pool): Likewise.
261         (force_const_mem): Likewise.
262
263         * tree.c (build_vl_exp_stat): Likewise.
264         (build_real): Likewise.
265         (build_string): Likewise.
266         (decl_debug_expr_insert): Likewise.
267         (decl_value_expr_insert): Likewise.
268         (type_hash_add): Likewise.
269         (build_omp_clause): Likewise.
270
271         * tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
272
273         * tree-ssa.c (init_tree_ssa): Likewise.
274
275         * tree-ssa-structalias.c (heapvar_insert): Likewise.
276
277         * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
278
279         * tree-ssa-loop-niter.c (record_estimate): Likewise.
280
281         * tree-ssa-alias.c (get_ptr_info): Likewise.
282
283         * tree-scalar-evolution.c (new_scev_info_str): Likewise.
284
285         * tree-phinodes.c (allocate_phi_node): Likewise.
286
287         * tree-iterator.c (tsi_link_before): Likewise.
288         (tsi_link_after): Likewise.
289
290         * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
291
292         * tree-dfa.c (create_var_ann): Likewise.
293
294         * tree-cfg.c (create_bb): Likewise.
295
296         * toplev.c (alloc_for_identifier_to_locale): Likewise.
297         (general_init): Likewise.
298
299         * stringpool.c (stringpool_ggc_alloc): Likewise.
300         (gt_pch_save_stringpool): Likewise.
301
302         * sese.c (if_region_set_false_region): Likewise.
303
304         * passes.c (do_per_function_toporder): Likewise.
305
306         * optabs.c (set_optab_libfunc): Likewise.
307         (set_conv_libfunc): Likewise.
308
309         * lto-symtab.c (lto_symtab_register_decl): Likewise.
310
311         * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
312         (input_eh_region): Likewise.
313         (input_eh_lp): Likewise.
314         (make_new_block): Likewise.
315         (unpack_ts_real_cst_value_fields): Likewise.
316
317         * lto-section-in.c (lto_new_in_decl_state): Likewise.
318
319         * lto-cgraph.c (input_node_opt_summary): Likewise.
320
321         * loop-init.c (loop_optimizer_init): Likewise.
322
323         * lambda.h (lambda_vector_new): Likewise.
324
325         * lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
326
327         * ira.c (update_equiv_regs): Likewise.
328
329         * ipa.c (cgraph_node_set_new): Likewise.
330         (cgraph_node_set_add): Likewise.
331         (varpool_node_set_new): Likewise.
332         (varpool_node_set_add): Likewise.
333
334         * ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
335         (duplicate_ipa_jump_func_array): Likewise.
336         (ipa_read_node_info): Likewise.
337
338         * ipa-cp.c (ipcp_create_replace_map): Likewise.
339
340         * integrate.c (get_hard_reg_initial_val): Likewise.
341
342         * gimple.c (gimple_alloc_stat): Likewise.
343         (gimple_build_omp_for): Likewise.
344         (gimple_seq_alloc): Likewise.
345         (gimple_copy): Likewise.
346
347         * gimple-iterator.c (gsi_insert_before_without_update): Likewise.
348         (gsi_insert_after_without_update): Likewise.
349
350         * function.c (add_frame_space): Likewise.
351         (insert_temp_slot_address): Likewise.
352         (assign_stack_temp_for_type): Likewise.
353         (allocate_struct_function): Likewise.
354         (types_used_by_var_decl_insert): Likewise.
355
356         * except.c (init_eh_for_function): Likewise.
357         (gen_eh_region): Likewise.
358         (gen_eh_region_catch): Likewise.
359         (gen_eh_landing_pad): Likewise.
360         (add_call_site): Likewise.
361
362         * emit-rtl.c (get_mem_attrs): Likewise.
363         (get_reg_attrs): Likewise.
364         (start_sequence): Likewise.
365         (init_emit): Likewise.
366
367         * dwarf2out.c (new_cfi): Likewise.
368         (queue_reg_save): Likewise.
369         (dwarf2out_frame_init): Likewise.
370         (new_loc_descr): Likewise.
371         (find_AT_string): Likewise.
372         (new_die): Likewise.
373         (add_var_loc_to_decl): Likewise.
374         (clone_die): Likewise.
375         (clone_as_declaration): Likewise.
376         (break_out_comdat_types): Likewise.
377         (new_loc_list): Likewise.
378         (loc_descriptor): Likewise.
379         (add_loc_descr_to_each): Likewise.
380         (add_const_value_attribute): Likewise.
381         (tree_add_const_value_attribute): Likewise.
382         (add_comp_dir_attribute): Likewise.
383         (add_name_and_src_coords_attributes): Likewise.
384         (lookup_filename): Likewise.
385         (store_vcall_insn): Likewise.
386         (dwarf2out_init): Likewise.
387
388         * dbxout.c (dbxout_init): Likewise.
389
390         * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
391
392         * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
393
394         * config/score/score7.c (score7_output_external): Likewise.
395
396         * config/score/score3.c (score3_output_external): Likewise.
397
398         * config/s390/s390.c (s390_init_machine_status): Likewise.
399
400         * config/rs6000/rs6000.c (builtin_function_type): Likewise.
401         (rs6000_init_machine_status): Likewise.
402         (output_toc): Likewise.
403
404         * config/pa/pa.c (pa_init_machine_status): Likewise.
405         (get_deferred_plabel): Likewise.
406
407         * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
408
409         * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
410
411         * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
412
413         * config/mep/mep.c (mep_init_machine_status): Likewise.
414         (mep_note_pragma_flag): Likewise.
415
416         * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
417
418         * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
419
420         * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
421
422         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
423         (i386_pe_maybe_record_exported_symbol): Likewise.
424
425         * config/i386/i386.c (get_dllimport_decl): Likewise.
426         (ix86_init_machine_status): Likewise.
427         (assign_386_stack_local): Likewise.
428
429         * config/frv/frv.c (frv_init_machine_status): Likewise.
430
431         * config/darwin.c (machopic_indirection_name): Likewise.
432
433         * config/cris/cris.c (cris_init_machine_status): Likewise.
434
435         * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
436
437         * config/avr/avr.c (avr_init_machine_status): Likewise.
438
439         * config/arm/arm.c (arm_init_machine_status): Likewise.
440
441         * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
442         (alpha_need_linkage): Likewise.
443         (alpha_use_linkage): Likewise.
444
445         * cgraph.c (cgraph_allocate_node): Likewise.
446         (cgraph_create_edge_1): Likewise.
447         (cgraph_create_indirect_edge): Likewise.
448         (cgraph_add_asm_node): Likewise.
449
450         * cfgrtl.c (init_rtl_bb_info): Likewise.
451
452         * cfgloop.c (alloc_loop): Likewise.
453         (rescan_loop_exit): Likewise.
454
455         * cfg.c (init_flow): Likewise.
456         (alloc_block): Likewise.
457         (unchecked_make_edge): Likewise.
458
459         * c-parser.c (c_parse_init): Likewise.
460         (c_parse_file): Likewise.
461
462         * c-decl.c (bind): Likewise.
463         (record_inline_static): Likewise.
464         (push_scope): Likewise.
465         (make_label): Likewise.
466         (lookup_label_for_goto): Likewise.
467         (finish_struct): Likewise.
468         (finish_enum): Likewise.
469         (c_push_function_context): Likewise.
470
471         * bitmap.c (bitmap_element_allocate): Likewise.
472         (bitmap_gc_alloc_stat): Likewise.
473
474         * alias.c (record_alias_subset): Likewise.
475         (init_alias_analysis): Likewise.
476
477 2010-06-08  Shujing Zhao  <pearly.zhao@oracle.com>
478         
479         * fold-const.c (fold_comparison): Remove redundant parenthesis.
480         * tree-inline.c (expand_call_inline): Pass translated return value of
481         cgraph_inline_failed_string to diagnostic function.
482
483 2010-06-08  Andrew Pinski <pinskia@gmail.com>
484             Shujing Zhao  <pearly.zhao@oracle.com>
485
486         PR c/37724
487         * c-typeck.c (convert_for_assignment): Call pedwarn_init if the
488         implicit bad conversions is initialization.
489         (error_init): Use gmsgid instead of msgid for argument name and change
490         the call for error.
491         (pedwarn_init): Use gmsgid instead of msgid for argument name and
492         change the call for pedwarn.
493         (warning_init): Use gmsgid instead of msgid for argument name and
494         change the call for warning.
495
496 2010-06-07  Nathan Froyd  <froydnj@codesourcery.com>
497
498         * config/mips/mips-protos.h (mips_print_operand): Delete.
499         (mips_print_operand_address): Delete.
500         * config/mips/mips.h (mips_print_operand_punct): Delete.
501         (PRINT_OPERAND): Delete.
502         (PRINT_OPERAND_PUNCT_VALID_P): Delete.
503         (PRINT_OPERAND_ADDRESS): Delete.
504         * config/mips/mips.c (mips_print_operand_punct): Make static.
505         (mips_print_operand_address): Make static.
506         (mips_print_operand): Make static.  Call
507         mips_print_operand_punct_valid_p.
508         (mips_print_operand_punct_valid_p): New function.
509         (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
510         (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
511
512 2010-06-07  Jan Hubicka  <jh@suse.cz>
513
514         PR middle-end/44454
515         (df_lr_top_dump, df_lr_bottom_dump): Check that in/out bitmaps
516         are allocated.
517
518 2010-06-07  Kaz Kojima  <kkojima@gcc.gnu.org>
519
520         * config/sh/sh.c (sh_build_builtin_va_list): Set tree type
521         name of RECORD.
522
523 2010-06-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
524
525         * doc/sourcebuild.texi (Effective-Target Keywords, Other
526         attributes): Document gas.
527
528 2010-06-07  Uros Bizjak  <ubizjak@gmail.com>
529
530         * config/i386/i386.md (*add<mode>_1): Remove alternative 2.
531         <TYPE_LEA>: Split instruction.
532         <default>: Remove alternative 2 handling.
533         (*addsi_1_zext) <TYPE_LEA>: Split instruction.
534         (add lea splitter): Generate SImode lea for mode sizes <= SImode.
535         (add_zext lea splitter): Use ix86_lea_for_add_ok in insn predicate.
536
537         (*movsi_1) <TYPE_LEA>: Use %a modifier to output operand 1.
538         (ashift_zext lea splitter): Use DImode for multiplication.
539
540         * config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
541         to generate addition.
542
543 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
544
545         * common.opt (fira-verbose): Use Var.
546         (fpcc-struct-return): Use Init instead of VarExists.
547         * defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from
548         toplev.c.
549         * flags.h (flag_signed_char, flag_short_enums,
550         flag_pcc_struct_return, flag_ira_verbose,
551         flag_detailed_statistics, flag_remove_unreachable_functions):
552         Remove.
553         * toplev.c (flag_detailed_statistics, flag_signed_char,
554         flag_short_enums, flag_pcc_struct_return, flag_ira_verbose): Remove.
555         (DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
556         * toplev.h (flag_crossjumping, flag_if_conversion,
557         flag_if_conversion2, flag_keep_static_consts, flag_peel_loops,
558         flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer,
559         flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops,
560         flag_cprop_registers, time_report, flag_ira_loop_pressure,
561         flag_ira_coalesce, flag_ira_move_spills,
562         flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove.
563
564 2010-06-07  Jan Hubicka  <jh@suse.cz>
565
566         * df-core.c (df_analyze_problem): Do verification after allocation.
567
568         * df-problems.c (df_lr_problem_data): Add lr_bitmaps.
569         (df_lr_alloc): Initialize problem data; move bitmaps to
570         lr_bitmaps obstack.
571         (df_lr_finalize): Free problem data; do not bother to free bitmaps.
572         (df_lr_verify_solution_start): Do not initialize problem data;
573         allocate bitmaps in lr_bitmaps.
574         (df_lr_verify_solution_end): Do not free problem data.
575
576 2010-06-07  Jan Hubicka  <jh@suse.cz>
577
578         * cgraph.c (cgraph_edge_cannot_lead_to_return): Also check
579         if caller is noreturn.
580         * ipa-reference.c (analyze_function): Use ipa_ref_cannot_lead_to_return
581         * ipa-ref.h (ipa_ref_cannot_lead_to_return): New function.
582         * ipa-ref.c (ipa_ref_cannot_lead_to_return): New function.
583         * ipa-pure-const.c (check_decl): Add IPA parameter.
584         (state_from_flags): New function.
585         (better_state, worse_state): New functions.
586         (check_call): When in IPA mode, do not care about callees.
587         (check_load, check_store): Update.
588         (check_ipa_load, check_ipa_store): New.
589         (check_stmt): When in IPA mode, use IPA checkers.
590         (analyze_function): Use state_from_flags.
591         (propagate): Check indirect edges and references.
592
593 2010-06-07  Kazu Hirata  <kazu@codesourcery.com>
594
595         PR rtl-optimization/44404
596         * auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead
597         of count_occurrences to see if it's safe to modify mem_insn.insn.
598
599 2010-06-07  Richard Guenther  <rguenther@suse.de>
600
601         * gimplify.c (gimplify_cleanup_point_expr): For empty body
602         and EH-only cleanup drop the cleanup instead of inserting it
603         unconditionally.
604
605 2010-06-07  Ira Rosen  <irar@il.ibm.com>
606
607         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Update
608         documentation.
609         * targhooks.c (default_builtin_vectorization_cost): New function.
610         * targhooks.h (default_builtin_vectorization_cost): Declare.
611         * target.h (enum vect_cost_for_stmt): Define.
612         (builtin_vectorization_cost): Change argument and comment.
613         * tree-vectorizer.h: Remove cost model macros.
614         * tree-vect-loop.c: Include target.h.
615         (vect_get_cost): New function.
616         (vect_estimate_min_profitable_iters): Replace cost model macros with
617         calls to vect_get_cost.
618         (vect_model_reduction_cost, vect_model_induction_cost): Likewise.
619         * target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Add
620         default implementation.
621         * tree-vect-stmts.c (cost_for_stmt): Replace cost model macros with
622         calls to target hook builtin_vectorization_cost.
623         (vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
624         Likewise.
625         * Makefile.in (tree-vect-loop.o): Add dependency on TARGET_H.
626         * config/spu/spu.c (spu_builtin_vectorization_cost): Replace with new
627         implementation to return costs.
628         * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
629         * config/spu/spu.h: Remove vectorizer cost model macros.
630         * config/i386/i386.h: Likewise.
631         * tree-vect-slp.c (vect_build_slp_tree): Replace cost model macro with
632         a call to target hook builtin_vectorization_cost.
633
634 2010-06-06  Sriraman Tallam  <tmsriram@google.com>
635
636         PR target/44319
637         * config/i386/i386.c (override_options): Turn zee pass on for level 2
638         and above and defer till target is known.
639         (optimization_options): Turn on zee pass if TARGET_64BIT is set and
640         turn off otherwise.
641
642 2010-05-25  Jan Hubicka  <jh@suse.cz>
643
644         * df-core.c (df_set_blocks): Use bitmap_head instead of bitmap.
645         (df_compact_blocks): Likewise.
646         * df.h (struct df): Turn hardware_regs_used,
647         regular_block_artificial_uses, eh_block_artificial_uses,
648         insns_to_delete, insns_to_rescan, insns_to_notes_rescan into
649         bitmap_head.
650         * df-problems.c (df_lr_local_compute, df_lr_confluence_0,
651         df_byte_lr_alloc, df_simulate_fixup_sets): Update.
652         * df-scan.c (df_scan_free_internal, df_scan_alloc, df_scan_start_dump,
653         df_scan_blocks, df_insn_delete, df_insn_rescan,
654         df_insn_rescan_debug_internal, df_insn_rescan_all,
655         df_process_deferred_rescans, df_process_deferred_rescans,
656         df_notes_rescan, df_get_call_refs, df_get_call_refs,
657         regs_invalidated_by_call_regset, df_get_call_refs, df_bb_refs_collect,
658         df_record_entry_block_defs, df_record_exit_block_uses,
659         df_update_exit_block_uses, df_bb_verify, df_entry_block_bitmap_verify,
660         df_scan_verify): Update.
661
662 2010-05-25  Dodji Seketeli  <dodji@redhat.com>
663
664         PR c++/44188
665         * c-common.c (is_typedef_decl): Move this definition ...
666         * tree.c (is_typedef_decl): ... here.
667         (typdef_variant_p): Move definition here from gcc/cp/tree.c.
668         * c-common.h (is_typedef_decl): Move this declaration ...
669         * tree.h (is_typedef_decl): ... here.
670         (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
671         * dwarf2out.c (is_naming_typedef_decl): New function.
672         (gen_tagged_type_die): Split out of ...
673         (gen_type_die_with_usage): ... this function. When an anonymous
674         tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
675         is emitted for the typedef.
676         (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
677         anonymous tagged types.
678
679 2010-06-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
680
681         PR c/20000
682         * c-decl.c (grokdeclarator): Delete warning.
683
684 2010-06-06  Eric Botcazou  <ebotcazou@adacore.com>
685
686         * stor-layout.c (self_referential_size): Set UNKNOWN_LOCATION on the
687         newly built CALL_EXPR.
688         * tree-profile.c (tree_profiling): Don't profile functions produced
689         for built-in stuff.
690
691 2010-06-06  Segher Boessenkool  <segher@kernel.crashing.org>
692
693         PR bootstrap/44427
694         PR bootstrap/44428
695         * genautomata.c (SET_BIT, CLEAR_BIT, TEST_BIT): Make these macros
696         endianness-independent.
697
698 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
699
700         * c-common.c: Move to c-family/.
701         * c-common.def: Likewise.
702         * c-common.h: Likewise.
703         * c-cppbuiltin.c: Likewise.
704         * c-dump.c: Likewise.
705         * c-format.c: Likewise.
706         * c-format.h : Likewise.
707         * c-gimplify.c: Likewise.
708         * c-lex.c: Likewise.
709         * c-omp.c: Likewise.
710         * c.opt: Likewise.
711         * c-opts.c: Likewise.
712         * c-pch.c: Likewise.
713         * c-ppoutput.c: Likewise.
714         * c-pragma.c: Likewise.
715         * c-pragma.h: Likewise.
716         * c-pretty-print.c: Likewise.
717         * c-pretty-print.h: Likewise.
718         * c-semantics.c: Likewise.
719         * stub-objc.c: Likewise.
720
721         * gengtype.c (get_file_langdir): Special-case files in c-family/.
722         (get_output_file_with_visibility): Fix name for c-common.h.
723         * c-config-lang.in: Update paths in gtfiles for files in c-family/.
724
725         * c-tree.h: Update include path for moved files.
726         * c-lang.c: Likewise.
727         * c-lang.h: Likewise.
728         * c-parser.c: Likewise.
729         * c-convert.c: Likewise.
730         * c-decl.c: Likewise.
731         * c-objc-common.c: Likewise.
732         * configure.ac: Make sure c-family/ exists in the build directory.
733         * configure: Regenerate.
734         * Makefile.in: Update paths for moved files.  Regroup files per
735         location and update dependencies.  Move generated_files down after
736         ALL_GTFILES_H.
737
738         * config/spu/spu-c.c: Update paths for moved files.
739         * config/mep/mep-pragma.c: Likewise.
740         * config/darwin-c.c: Likewise.
741         * config/i386/msformat-c.c: Likewise.
742         * config/i386/i386-c.c: Likewise.
743         * config/avr/avr-c.c: Likewise.
744         * config/sol2-c.c: Likewise.
745         * config/ia64/ia64-c.c: Likewise.
746         * config/rs6000/rs6000-c.c: Likewise.
747         * config/arm/arm.c: Likewise.
748         * config/arm/arm-c.c: Likewise.
749         * config/h8300/h8300.c: Likewise.
750         * config/v850/v850-c.c: Likewise.
751
752         * config/t-darwin: Fix dependencies for moved files.
753         * config/t-sol2: Fix dependencies for moved files.
754         * config/mep/t-mep: Fix dependencies for moved files.
755         * config/ia64/t-ia64: Fix dependencies for moved files.
756         * config/rs6000/t-rs6000: Fix dependencies for moved files.
757         * config/v850/t-v850: Fix dependencies for moved files.
758         * config/v850/t-v850e: Fix dependencies for moved files.
759
760         * config/m32c/m32c-pragma.c
761
762         * po/exgettext: Look in c-family/ also.
763
764 2010-06-05  Eric Botcazou  <ebotcazou@adacore.com>
765
766         * tree-ssa-dce.c (mark_last_stmt_necessary): New function.
767         (mark_control_dependent_edges_necessary): Call it instead of marking
768         the last statement manually.
769         (propagate_necessity): Likewise.
770
771 2010-06-05  Jan Hubicka  <jh@suse.cz>
772
773         * basic-block.h (compute_dominance_frontiers): Updated.
774         (compute_idf): Likewise.
775
776         * tree-into-ssa.c (insert_phi_nodes): Use bitmap heads
777         for dominance frontiers.
778         (rewrite_into_ssa): Update for bitmap heads in dominance
779         frontiers.
780         (insert_updated_phi_nodes_for): Likewise.
781         (update_ssa): Likewise.
782         * cfganal.c (compute_dominance_frontiers_1): Likewise.
783         (compute_dominance_frontiers): Likewise.
784         (compute_idf): Likewise.
785         * df-problems.c (df_md_local_compute): Likewise.
786
787 2010-06-05  Anatoly Sokolov  <aesok@post.ru>
788
789         * target.h (struct gcc_target): Add memory_move_cost field.
790         * target-def.h (TARGET_MEMORY_MOVE_COST): New.
791         (TARGET_INITIALIZER): Use TARGET_MEMORY_MOVE_COST.
792         * targhooks.c (default_memory_move_cost): New function.
793         * targhooks.h (default_memory_move_cost): Declare function.
794         * reload.h (memory_move_cost): Declare.
795         (memory_move_secondary_cost): Change type of 'in' argument to bool.
796         * reginfo.c (memory_move_cost): New function.
797         (memory_move_secondary_cost): Change type of 'in' argument to bool.
798         * ira.h (ira_memory_move_cost): Update comment.
799         * ira.c: (ira_memory_move_cost): Update comment.
800         (setup_class_subset_and_memory_move_costs): Replace MEMORY_MOVE_COST
801         with memory_move_cost.
802         * postreload.c (reload_cse_simplify_set): (Ditto.).
803         * reload1.c (choose_reload_regs): (Ditto.).
804         * doc/tm.texi (TARGET_MEMORY_MOVE_COST): New.
805         (MEMORY_MOVE_COST):  Revise documentation.
806
807         * config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
808         * config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
809         * config/i386/i386.h (ix86_memory_move_cost): Make static. Change
810         type of 'in' argument to bool.
811         (TARGET_MEMORY_MOVE_COST): Define.
812
813 2010-06-05  Jan Hubicka  <jh@suse.cz>
814
815         * ipa-pure-const.c (propagate): Fix typo in handling of functions
816         that cannot return.  Be more careful when merging the results with
817         previously known ones.
818
819 2010-06-05  Matthias Klose  <doko@ubuntu.com>
820
821         * gcc.c (cc1_options, cpp_unique_options): Use find-plugindir spec
822         function to add the -iplugindir option.
823         (find_plugindir_spec_function): Add new declaration and function.
824         (static_spec_func): Use it for "find-plugindir".
825
826 2010-06-05  Jakub Jelinek  <jakub@redhat.com>
827
828         PR c++/44361
829         * c-typeck.c (mark_exp_read): Handle C_MAYBE_CONST_EXPR.
830         * c-parser.c (c_parser_postfix_expression): Call mark_exp_read on
831         statement expression.
832
833 2010-06-05  Jan Hubicka  <jh@suse.cz>
834
835         * df-problems.c (seen_in_block, seen_in_insn): Convert to bitmap_head.
836         (df_rd_problem_data): Convert sparse_invalidated_by_call,
837         dense_invalidated_by_call to bitmap head.
838         (df_rd_alloc, df_rd_bb_local_compute_process_def,
839         df_rd_bb_local_compute, df_rd_confluence_n, df_rd_transfer_function,
840         df_rd_start_dump, df_lr_verify_transfer_functions,
841         df_live_verify_transfer_functions, df_chain_create_bb,
842         df_chain_add_problem, df_byte_lr_check_regs, df_byte_lr_alloc,
843         df_byte_lr_confluence_0, df_byte_lr_confluence_n, df_note_compute,
844         df_simulate_one_insn_forwards, df_md_alloc,
845         df_md_bb_local_compute_process_def,
846         df_md_bb_local_compute_process_def, df_md_local_compute,
847         df_md_transfer_function df_md_free): Update.
848
849 2010-06-05  Joseph Myers  <joseph@codesourcery.com>
850
851         PR c/44322
852         * c-typeck.c (build_unary_op): Merge qualifiers into pointer
853         target type for ADDR_EXPR; require no changes to qualifiers except
854         for function types.
855         * c-tree.h (c_build_type_variant): Remove.
856
857 2010-06-05  Segher Boessenkool  <segher@kernel.crashing.org>
858
859         * genautomata.c (get_excl_set): Do work per element, not per char.
860         (check_presence_pattern_sets): Similar.
861         (check_absence_pattern_sets): Similar.
862
863 2010-06-05  Segher Boessenkool  <segher@kernel.crashing.org>
864
865         * genautomata.c (curr_state_pass_num): Delete.
866         (min_issue_delay_pass_states): Delete.
867         (min_issue_delay): Delete.
868         (initiate_min_issue_delay_pass_states): Delete.
869         (output_min_issue_delay_table): Compute min_issue_delay_vect
870         using a breadth-first search variant.
871         (output_tables): Don't call initiate_min_issue_delay_pass_states.
872
873 2010-06-04  H.J. Lu  <hongjiu.lu@intel.com>
874
875         PR boostrap/44421
876         * df-problems.c (df_lr_bb_local_compute): Updated for embedded bitmaps.
877         (df_byte_lr_bb_local_compute): Likewise.
878
879 2010-06-03  Jason Merrill  <jason@redhat.com>
880
881         Implement noexcept operator (5.3.7)
882         * c-common.c (c_common_reswords): Add noexcept.
883         * c-common.h (enum rid): Add RID_NOEXCEPT.
884
885 2010-06-04  Joseph Myers  <joseph@codesourcery.com>
886
887         * config/darwin-driver.c (darwin_default_min_version): Use
888         GCC-specific formats in diagnostics.
889         * cppspec.c (lang_specific_driver): Use GCC-specific formats in
890         diagnostics.
891         * gcc.c (translate_options, read_specs, add_sysrooted_prefix,
892         execute, process_command, end_going_arg, do_self_spec, do_spec_1,
893         eval_spec_function, handle_braces, process_brace_body, main,
894         perror_with_name, used_arg, set_multilib_dir, print_multilib_info,
895         getenv_spec_function, compare_version_strings,
896         version_compare_spec_function): Use GCC-specific formats in
897         diagnostics.
898
899 2010-06-04  Uros Bizjak  <ubizjak@gmail.com>
900
901         * config/i386/i386.md (*addhi_1_lea) <TYPE_INCDEC, default>: Assert
902         that operand 0 and operand 1 are equal.
903         (*addqi_1_lea) <TYPE_INCDEC, default>: Ditto.
904         (*add<mode>_2) <TYPE_INCDEC>: Remove assert that operand 0
905         and operand 1 are equal.
906         <default>: Ditto.  Remove ??? comment.
907         (*add<mode>_3) <TYPE_INCDEC>: Remove assert that operand 0
908         and operand 1 are equal.
909         <default>: Ditto.  Remove ??? comment.
910         (*adddi_4) <default>: Remove assert that operand 0 and operand 1
911         are equal.
912         (*add<mode>_4) <default>: Ditto.
913         (*add<mode>_5) <TYPE_INCDEC, default>: Ditto.
914
915 2010-06-04  Nathan Froyd  <froydnj@codesourcery.com>
916
917         * config/i386/i386-protos.h (ix86_print_operand): Declare.
918         * config/i386/i386.c (ix86_print_operand): Make non-static.
919         * config/i386/sol2.h (ASM_OUTPUT_CALL): Call ix86_print_operand.
920         * output.h (output_operand): Declare.
921         * final.c (output_operand): Make non-static.
922
923 2010-06-04  Alexandre Oliva  <aoliva@redhat.com>
924
925         PR rtl-optimization/44013
926         * sched-deps.c (add_dependence_list_and_free): Don't free lists
927         when processing debug insns.
928
929         PR debug/41371
930         * var-tracking.c (find_loc_in_1pdv): Mark initial value before
931         recursing.  Check that recursion is bounded.  Rename inner var
932         to avoid hiding incoming argument.
933
934 2010-06-04  Uros Bizjak  <ubizjak@gmail.com>
935
936         * config/i386/i386.md (*addqi_2) <TYPE_INCDEC>: Do not assert that
937         operands[2] == 255.
938         (*addqi_3): Ditto.
939         (*addqi_4): Ditto.
940         (*addqi_5): Ditto.
941         (*addqi_ext_1_rex64): Ditto.
942         (*addqi_ext_1): Ditto.
943
944         (*addqi_4): Check for incdec_operand in QImode.
945
946         (*add<mode>_2): Macroize insn from *add<mode>_2 and *add{qi,hi}_2
947         using SWI mode iterator.
948         (*add<mode>_3): Ditto from *add<mode>_3 and *add{qi,hi}_3.
949         (*add<mode>_4): Macroize insn from *add{qi,hi,si}_4 using SWI124
950         mode iterator.
951         (*add<mode>_5): Macroize insn from *add<mode>_5 and *add{qi,hi}_5
952         using SWI mode iterator.
953
954 2010-06-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
955
956         PR c/25880
957         * c-objc-common.c (c_tree_printer): Handle %V, %v and %#v.
958         * c-format.c (gcc_diag_flag_specs): Add hash.
959         (gcc_cxxdiag_flag_specs): Use gcc_diag_flag_specs directly.
960         (gcc_tdiag_char_table,gcc_cdiag_char_table): Handle %V and %v.
961         * c-pretty-print.c (pp_c_cv_qualifier): Rename as
962         pp_c_cv_qualifiers. Handle qualifiers spelling here.
963         (pp_c_type_qualifier_list): Call the function above.
964         * c-pretty-print.h (pp_c_cv_qualifiers): Declare.
965         * c-typeck.c (handle_warn_cast_qual): Print qualifiers.
966         (WARN_FOR_QUALIFIERS): New macro.
967         (convert_for_assignment): Use it.
968
969 2010-06-04  Kai Tietz  <kai.tietz@onevision.com>
970
971         * config/i386/cygming.h (ASM_GENERATE_INTERNAL_LABEL): Prefix by '*'.
972
973 2010-06-04  Jan Hubicka  <jh@suse.cz>
974
975         * df.h (df_rd_bb_info, df_md_bb_info, df_lr_bb_info, df_live_bb_info,
976         df_byte_lr_bb_info): Embedd bitmap_head into the structure.
977         (DF_LIVE_IN, DF_LIVE_OUT, DF_LR_IN, DF_LR_OUT, DF_BYTE_LR_IN,
978         DF_BYTE_LR_OUT): Update for embedded bitmaps.
979         * fwprop.c (single_def_use_enter_block): Likewise.
980         * ddg.c (create_ddg_dep_from_intra_loop_link,
981         add_cross_iteration_register_deps, build_inter_loop_deps): Likewise.
982         * loop-iv.c (latch_dominating_def): Likewise.
983         * df-problems.c (df_rd_free_bb_info, df_rd_alloc,
984         df_rd_bb_local_compute_process_def, df_rd_bb_local_compute_process_def,
985         df_rd_init_solution, df_rd_init_solution, df_rd_transfer_function,
986         df_rd_transfer_function, df_rd_top_dump,
987         df_rd_bottom_dump): Update.
988         (df_lr_free_bb_info, df_lr_alloc, df_lr_reset, df_lr_bb_local_compute,
989         df_lr_bb_local_compute, df_lr_bb_local_compute, df_lr_bb_local_compute,
990         df_lr_bb_local_compute, df_lr_local_compute, df_lr_init, df_lr_init,
991         df_lr_confluence_0, df_lr_free, df_lr_top_dump, df_lr_bottom_dump,
992         df_lr_verify_solution_start, df_lr_verify_solution_end,
993         df_lr_verify_transfer_functions, df_lr_verify_transfer_functions,
994         df_live_free_bb_info, df_live_alloc, df_live_reset,
995         df_live_bb_local_compute, df_live_init, df_live_transfer_function,
996         df_live_finalize, df_live_free, df_live_top_dump, df_live_bottom_dump,
997         df_live_verify_solution_start, df_live_verify_solution_end,
998         df_live_verify_transfer_functions, df_chain_create_bb,
999         df_byte_lr_free_bb_info, df_byte_lr_alloc, df_byte_lr_reset,
1000         df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
1001         df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
1002         df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init,
1003         df_byte_lr_confluence_0, df_byte_lr_confluence_n,
1004         df_byte_lr_transfer_function, df_byte_lr_top_dump,
1005         df_byte_lr_bottom_dump, df_create_unused_note,
1006         df_note_bb_compute, df_md_free_bb_info, df_md_alloc,
1007         df_md_bb_local_compute_process_def, df_md_local_compute, df_md_reset,
1008         df_md_transfer_function, df_md_init, df_md_confluence_0,
1009         df_md_confluence_n,
1010         df_md_top_dump, df_md_bottom_dump): Update.
1011         (struct df_lr_problem_data): Embedd bitmap headers.
1012
1013 2010-06-04  Jan Hubicka  <jh@suse.cz>
1014
1015         * dce.c (dce_process_block): Do not re-scan already marked
1016         instructions.
1017
1018 2010-06-04  Bernd Schmidt  <bernds@codesourcery.com>
1019
1020         PR rtl-optimization/39871
1021         PR rtl-optimization/40615
1022         PR rtl-optimization/42500
1023         PR rtl-optimization/42502
1024         * ira.c (init_reg_equiv_memory_loc: New function.
1025         (ira): Call it twice.
1026         * reload.h (calculate_elim_costs_all_insns): Declare.
1027         * ira-costs.c: Include "reload.h".
1028         (regno_equiv_gains): New static variable.
1029         (init_costs): Allocate it.
1030         (finish_costs): Free it.
1031         (ira_costs): Call calculate_elim_costs_all_insns.
1032         (find_costs_and_classes): Take estimated elimination costs
1033         into account.
1034         (ira_adjust_equiv_reg_cost): New function.
1035         * ira.h (ira_adjust_equiv_reg_cost): Declare it.
1036         * reload1.c (init_eliminable_invariants, free_reg_equiv,
1037         elimination_costs_in_insn, note_reg_elim_costly): New static functions.
1038         (elim_bb): New static variable.
1039         (reload): Move code out of here into init_eliminable_invariants and
1040         free_reg_equiv.  Call them.
1041         (calculate_elim_costs_all_insns): New function.
1042         (eliminate_regs_1): Declare.  Add extra arg FOR_COSTS;
1043         all callers changed.  If FOR_COSTS is true, don't call alter_reg,
1044         but call note_reg_elim_costly if we turned a valid memory address
1045         into an invalid one.
1046         * Makefile.in (ira-costs.o): Depend on reload.h.
1047
1048 2010-06-04  Julian Brown  <julian@codesourcery.com>
1049
1050         * config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
1051         for pool ranges.
1052
1053 2010-06-04  Richard Guenther  <rguenther@suse.de>
1054
1055         PR lto/41584
1056         * cgraph.h (struct varpool_node): Add lto_file_data field.
1057         * lto-cgraph.c (input_varpool_node): Initialize it.
1058
1059 2010-06-04  Uros Bizjak  <ubizjak@gmail.com>
1060
1061         * config/i386/predicates.md (pic_symbolic_operand): Remove predicate.
1062         * config/i386/i386.md (*add<mode>_1): Do not use pic_symbolic_operand
1063         predicate in "type" attribute calculation.
1064         (*addsi_1_zext): Ditto.
1065         (*add<mode>_2): Do not use pic_symbolic_operand in insn predicate.
1066         (*addsi_2_zext): Ditto.
1067         (*add<mode>_3): Ditto.
1068         (*addsi_3_zext): Ditto.
1069         (*add<mode>_5): Ditto.
1070
1071 2010-06-03  Jan Hubicka  <jh@suse.cz>
1072
1073         * tree-into-ssa.c (mark_block_for_update): Avoid redundant call
1074         of bitmap_bit_p.
1075         * cfganal.c (compute_dominance_frontiers_1): Likewise.
1076
1077 2010-06-03  Jan Hubicka  <jh@suse.cz>
1078
1079         * df-problems.c (df_create_unused_note, df_note_bb_compute):
1080         micro-optimize the checks when to add new note.
1081
1082 2010-06-03  Nathan Froyd  <froydnj@codesourcery.com>
1083
1084         * final.c (output_asm_insn): Call
1085         targetm.asm_out.print_operand_punct_valid_p.  Update comments.
1086         (output_operand): Call targetm.asm_out.print_operand.  Update comments.
1087         (output_address): Call targetm.asm_out.print_operand_address.
1088         Update comments.
1089         * target.h (struct gcc_target): Add print_operand,
1090         print_operand_address, and print_operand_punct_valid_p fields.
1091         * targhooks.h (default_print_operand): Declare.
1092         (default_print_operand_address): Declare.
1093         (default_print_operand_punct_valid_p): Declare.
1094         * targhooks.c (default_print_operand): Define.
1095         (default_print_operand_address): Define.
1096         (default_print_operand_punct_valid_p): Define.
1097         * target-def.h (TARGET_PRINT_OPERAND): Define if not defined.
1098         (TARGET_PRINT_OPERAND_ADDRESS): Likewise.
1099         (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Likewise.
1100         (TARGET_ASM_OUT): Add TARGET_PRINT_OPERAND,
1101         TARGET_PRINT_OPERAND_ADDRESS, and TARGET_PRINT_OPERAND_PUNCT_VALID_P.
1102         * vmsdbgout.c (addr_const_to_string): Update comment.
1103         * config/i386/i386.c (print_operand): Rename to...
1104         (ix86_print_operand): ...this.  Make static.
1105         (print_operand_address): Rename to...
1106         (ix86_print_operand_address): ...this.  Make static.  Call
1107         ix86_print_operand instead of PRINT_OPERAND.
1108         (ix86_print_operand_punct_valid_p): New function.
1109         (TARGET_PRINT_OPERAND): Define.
1110         (TARGET_PRINT_OPERAND_ADDRESS): Define.
1111         (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
1112         * config/i386/i386.h (HI_REGISTER_NAMES): Update comment.
1113         (PRINT_OPERAND_PUNCT_VALID_P): Delete.
1114         (PRINT_OPERAND): Delete.
1115         (PRINT_OPERAND_ADDRESS): Delete.
1116         * config/i386/i386-protos.h (print_operand): Delete prototype.
1117         (print_operand_address): Delete prototype.
1118
1119 2010-06-03  Richard Guenther  <rguenther@suse.de>
1120
1121         PR tree-optimization/44403
1122         * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
1123         Preserve pointer qualifiers.
1124         (vect_create_data_ref_ptr): Likewise.
1125
1126 2010-06-03  H.J. Lu  <hongjiu.lu@intel.com>
1127
1128         PR c++/44294
1129         * defaults.h (MAX_FIXED_MODE_SIZE): New.
1130
1131         * stor-layout.c (MAX_FIXED_MODE_SIZE): Removed.
1132
1133 2010-06-03  Jakub Jelinek  <jakub@redhat.com>
1134
1135         PR debug/44375
1136         * tree-cfg.c (gimple_can_merge_blocks_p): For -O0
1137         return false if merging the bbs would lead to goto_locus
1138         location being lost from the IL.
1139
1140 2010-06-03  Jan Hubicka  <jh@suse.cz>
1141             Jakub Jelinek  <jakub@redhat.com>
1142
1143         * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
1144         set->regs[i] is NULL or has just one entry.
1145
1146 2010-06-03  Jan Hubicka  <jh@suse.cz>
1147
1148         * lto-cgraph.c (lto_varpool_encoder_size): Remove.
1149         * lto-streamer.h (lto_varpool_encoder_size): New inline function.
1150
1151 2010-06-03  Paul Brook  <paul@codesourcery.com>
1152
1153         * config/arm/arm.c (FL_TUNE): Define.
1154         (arm_default_cpu, arm_cpu_select): Remove.
1155         (all_cores): Populate core field.
1156         (arm_selected_arch, arm_selected_cpu, arm_selected_tune): New.
1157         (arm_find_cpu): New function.
1158         (arm_handle_option): Lookup cpu/architecture names.
1159         (arm_override_options): Cleanup mcpu/march/mtune handling.
1160         (arm_file_start): Ditto.
1161
1162 2010-06-03  Alan Modra  <amodra@gmail.com>
1163
1164         PR target/44169
1165         * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand.
1166         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label
1167         rtx to gen_load_toc_v4_PIC_1b.  Tidy.
1168         (rs6000_emit_load_toc_table): Likewise.
1169
1170 2010-06-02  Jan Hubicka  <jh@suse.cz>
1171
1172         * passes.c (init_optimization_passes): Put ipa reference
1173         after ipa pure-const.
1174
1175 2010-06-02  Jan Hubicka  <jh@suse.cz>
1176
1177         * ipa-reference.c (ipa_reference_local_vars_info_d): Remove
1178         calls_read_all and calls_write_all.
1179         (get_reference_optimization_summary): Fix formatting.
1180         (is_proper_for_analysis): Check that decl is not readonly.
1181         (propagate_bits): Check CONST/PURE/noreturn flags.
1182         (ipa_init): Move all_module_statics to optimization_summary_obstack.
1183         (analyze_function): Ignore indirect edges.
1184         (copy_global_bitmap): For all module statics, do nothing.
1185         (generate_summary): Do not print calls_read_all/calls_write_all.
1186         (read_write_all_from_decl): Take node as argument; check
1187         cgraph_node_cannot_return.
1188         (propagate): Reorganize read_all/write_all computation;
1189         check indirect edges; check ecf flags; use all_module_statics
1190         in the results; do not free all_module_statics.
1191         (stream_out_bitmap): Handle all_module_statics.
1192         (ipa_reference_write_optimization_summary): Likewise; use
1193         varpool/cgraph encoders to get boundaries.
1194         (ipa_reference_read_optimization_summary): Read in all_module_statics;
1195         use it when possible.
1196
1197 2010-06-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
1198
1199         PR target/44218
1200         * doc/invoke.texi (RS/6000 and PowerPC Options): Delete obsolete
1201         -mswdiv option.  Add -mrecip, -mrecip=<xxx>, -mrecip-precision options.
1202
1203         * doc/extend.texi (powerpc builtins): Document vec_recip,
1204         vec_rsqrt, vec_rsqrte altivec/vsx builtins.
1205
1206         * config/rs6000/rs60000-protos.h (rs6000_emit_swdiv): New function.
1207         (rs6000_emit_swrsqrt): Ditto.
1208         (rs6000_emit_swdivsf): Delete.
1209         (rs6000_emit_swdivdf): Ditto.
1210         (rs6000_emit_swrsqrtsf): Ditto.
1211
1212         * config/rs6000/rs6000.c (rs6000_recip_bits): New global to
1213         describe the reciprocal estimate support for each type.
1214         (recip_options): Map -mrecip=<opt> into option bits.
1215         (gen_2arg_fn_t): New typedef for binary rtx gen function.
1216         (rs6000_debug_reg_global): If -mdebug=reg, print the state of the
1217         reciprocal estimate instructions.
1218         (rs6000_init_hard_regno_mode_ok): Key ws constraint off of the
1219         debug -mvsx-scalar-memory switch instead of -mvsx-scalar-double.
1220         Set up rs6000_recip_bits based on the -mrecip* options.  Print the
1221         cost information if -mdebug=cost or -mdebug=reg.
1222         (rs6000_override_options): Set -mrecip-precision for power6, and
1223         power7 machines.  If -mvsx or -mdfp, enable various options that
1224         came in previous instruction set ISAs, unless the option was
1225         explicitly disabled by the command line option.  Parse
1226         -mrecip=<opt> options.
1227         (rs6000_builtin_vectorized_function): Add support for vectorizing
1228         the reciprocal estimate builtins and expansions.
1229         (rs6000_handle_option): Add -mrecip, -mrecip=<opt> support.
1230         (bdesc_2arg): Add reciprocal estimate builtins.
1231         (bdesc_1arg): Add reciprocal square root estimate builtins.
1232         (rs6000_expand_builtin): Rewrite to use a switch statement,
1233         instead of multiple if/then/elses.  Add reciprocal estimate builtins.
1234         (rs6000_init_builtins): Create declarations for reciprocal
1235         estimate builtins.
1236         (rs6000_preferred_reload_class): Simplify VSX preferences, if scalar
1237         sized, prefer traditional floating point registers, if integer
1238         vector types, prefer altivec registers.  Don't actually look at
1239         the memory address any more.
1240         (rs6000_builtin_reciprocal): Add new builtin reciprocal estimate
1241         builtins.
1242         (rs6000_load_constant_and_splat): New helper function to load up
1243         the constant for reciprocal estimate instructions.
1244         (rs6000_emit_madd): New helper function for generating
1245         multiply/add type instructions, based on the current switches.
1246         (rs6000_emit_msub): Ditto.
1247         (rs6000_emit_mnsub): Ditto.
1248         (rs6000_emit_swdiv_high_precision): Replace rs6000_emit_swdivsf to
1249         replace a divide with a reciprocal estimate and fixup, adding
1250         support for machines with high precision and vectors.
1251         (rs6000_emit_swdiv_low_precision): Rewrite rs6000_emit_swdivdf for
1252         low precision machines.
1253         (rs6000_emit_swdiv): New common function to be called to replace a
1254         division with reciprocal estimate and fixup.
1255         (rs6000_emit_swrsqrt): Replace rs6000_emit_swrsqrtsf.  Add support
1256         for double and vector types.  Add support for high precision machines.
1257
1258         * config/rs6000/rs6000.h (TARGET_FRES): New macro to say whether
1259         the reciprocal estimate instructions can be generated.
1260         (TARGET_FRE): Ditto.
1261         (TARGET_FRSQRTES): Ditto.
1262         (TARGET_FRSQRTE): Ditto.
1263         (RS6000_RECIP_*): New macros for reciprocal estimate support.
1264
1265         * config/rs6000/vector.md (rsqrte<mode>2): New insn for reciprocal
1266         square root estimate on vectors.
1267         (re<mode>2): New insn for reciprocal division estimate on vectors.
1268
1269         * config/rs6000/rs6000-buitlins.def (ALTIVEC_BUILTIN_VRSQRTFP):
1270         New builtin.
1271         (ALTIVEC_BUILTIN_VRECIPFP): Ditto.
1272         (ALTIVEC_BUITLIN_VEC_RE): Ditto.
1273         (ALTIVEC_BUILTIN_VEC_RSQRT): Ditto.
1274         (VSX_BUILTIN_RSQRT_V4SF): Ditto.
1275         (VSX_BUITLIN_RSQRT_V2DF): Ditto.
1276         (RS6000_BUILTIN_RSQRT): Ditto.
1277         (ALTIVEC_BUILTIN_VEC_RSQRTE): Denote that the builtin is a
1278         floating point builtin.
1279
1280         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
1281         macros __RECIP__, __RECIPF__, __RSQRTE__, __RSQRTEF__,
1282         __RECIP_PRECISION__ based on the command line switches.
1283         (altivec_overloaded_builtins): Add reciprocal estimate builtins.
1284
1285         * config/rs6000/rs6000.opt (-mrecip): Document add support for
1286         replacing division instructions with reciprocal estimate and fixup.
1287         (-mrecip=<opt>): New option.
1288         (-mrecip-precision): Ditto.
1289
1290         * config/rs6000/vsx.md (UNSPEC_VSX_RSQRTE): Delete.
1291         (vsx_rsqrte<mode>2): Use UNSPEC_RSQRT not UNSPEC_VSX_RSQRTE.
1292         (vsx_copysignsf3): If -mvsx, use double precision cpsign on single
1293         precision scalar.
1294
1295         * config/rs6000/altivec.md (UNSPEC_RSQRTEFP): Delete.
1296         (UNSPEC_VREFP): Ditto.
1297         (altivec_vnmsubfp*): Make altivec nmsub mirror the scalar and VSX
1298         conterparts with regard to support of -mno-fused-madd and -ffast-math.
1299         (altivec_vrsqrtefp): Use common UNSPEC to allow scalar/vector
1300         reciprocal estimate instructions to be generated.
1301         (altivec_vrefp): Ditto.
1302
1303         * config/rs6000/rs6000.md (RECIPF): New iterator for reciprocal
1304         estimate support.
1305         (rreg): New mode attribute for reciprocal estimate support.
1306         (recip<mode>3): New insn for division using reciprocal estimate
1307         and fixup builtins.
1308         (divide define_split): New define_split to convert floating point
1309         division to use reciprocal estimate if the user used the
1310         appropriate options and the split is run when we can add new
1311         pseudo registers for the fixup.
1312         (rsqrt<mode>2): New insn for reciprocal square root support.
1313         (recipsf3): Move into recip<mode>3.
1314         (recipdf3): Ditto.
1315         (fres): Use TARGET_FRES.
1316         (rsqrtsf2): Move into rsqrt<mode>2.
1317         (rsqrtsf_internal1): Use TARGET_FRSQRTSES.
1318         (copysignsf3): Add support for VSX.
1319         (fred): Use TARGET_FRE.
1320         (fred_fpr): Ditto.
1321         (rsqrtdf_internal1): New function for frsqrte instruciton.
1322
1323         * config/rs6000/altivec.h (vec_recipdiv): Define new vector builtin.
1324         (vec_rsqrt): Ditto.
1325
1326 2010-06-03  Richard Guenther  <rguenther@suse.de>
1327
1328         PR middle-end/44291
1329         * optabs.c (init_one_libfunc): Use IDENTIFIER_HASH_VALUE.
1330         (set_user_assembler_libfunc): Likewise.
1331
1332 2010-06-02  Steven Bosscher  <steven@gcc.gnu.org>
1333
1334         * mkconfig.sh: Include insn-flags.h and insn-constants.h before
1335         defaults.h.
1336         * except.h: Move MUST_USE_SJLJ_EXCEPTIONS and USING_SJLJ_EXCEPTIONS
1337         to defaults.h
1338         * expr.h (BRANCH_COST, MOVE_RATIO, CLEAR_RATIO, SET_RATIO,
1339         DEFAULT_FUNCTION_ARG_PADDING, FUNCTION_ARG_PADDING,
1340         FUNCTION_ARG_BOUNDARY, STACK_SAVEAREA_MODE, STACK_SIZE_MODE,
1341         STACK_CHECK_BUILTIN, STACK_CHECK_STATIC_BUILTIN,
1342         STACK_CHECK_PROBE_INTERVAL_EXP, STACK_CHECK_MOVING_SP,
1343         STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT,
1344         STACK_CHECK_MAX_FRAME_SIZE, STACK_CHECK_FIXED_FRAME_SIZE,
1345         STACK_CHECK_MAX_VAR_SIZE): Move target macro defaults to defaults.h.
1346         * defaults.h: Updated for above mentioned changes.
1347
1348 2010-06-02  Kai Tietz  <kai.tietz@onevision.com>
1349
1350         * c-common.c: Remove header include of tm_p.h.
1351         * Makefile.in (c-common.o): Remove TM_P_H dependency.
1352
1353 2010-06-02  Jakub Jelinek  <jakub@redhat.com>
1354
1355         * tree.h (struct tree_decl_map): New type.
1356         (tree_decl_map_eq, tree_decl_map_marked_p): Define.
1357         (tree_decl_map_hash): New prototype.
1358         (debug_expr_for_decl, value_expr_for_decl): Change into
1359         tree_decl_map hashtab from tree_map.
1360         (init_ttree): Adjust initialization.
1361         (tree_decl_map_hash): New function.
1362         (decl_debug_expr_lookup, decl_debug_expr_insert,
1363         decl_value_expr_lookup, decl_value_expr_insert): Adjust.
1364
1365 2010-06-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1366
1367         * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
1368         linker emulations.
1369         * configure: Regenerate.
1370         * config.in: Regenerate.
1371
1372         * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
1373         (X86_64_EMULATION): Define.
1374         (TARGET_LD_EMULATION): Use them.
1375
1376         * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
1377         (SPARC64_EMULATION): Define.
1378         (LINK_ARCH_SPEC): Use them.
1379
1380 2010-06-02  Sebastian Pop  <sebastian.pop@amd.com>
1381
1382         * graphite-clast-to-gimple.c (gcc_type_for_interval): Use
1383         smallest_mode_for_size for computing the precision types of new
1384         graphite IVs.  Do not call lang_hooks.types.type_for_size.
1385
1386 2010-06-02  Sebastian Pop  <sebastian.pop@amd.com>
1387
1388         * tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
1389         information.
1390         (remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
1391
1392 2010-06-02  Sebastian Pop  <sebastian.pop@amd.com>
1393
1394         PR middle-end/44363
1395         * tree-if-conv.c (predicate_bbs): Do not call gcc_unreachable,
1396         return false instead.
1397
1398 2010-06-02  Jan Hubicka  <jh@suse.cz>
1399
1400         PR middle-end/44295
1401         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Do not
1402         create new cgraph node to check callee.
1403
1404 2010-06-02  Richard Guenther  <rguenther@suse.de>
1405
1406         * lto-streamer-in.c (input_gimple_stmt): Fix typo.
1407
1408 2010-06-02  Richard Guenther  <rguenther@suse.de>
1409
1410         * lto-wrapper.c (lto_wrapper_exit): Rename to ...
1411         (lto_wrapper_cleanup): ... this.  Do not exit.
1412         (fatal): Adjust.  Exit here.
1413         (fatal_perror): Likewise.
1414         (fatal_signal): New function.
1415         (main): Set up signal handlers to cleanup temporary files.
1416         * Makefile.in (lto-wrapper.o): Adjust dependencies.
1417
1418 2010-06-02  Richard Guenther  <rguenther@suse.de>
1419
1420         PR tree-optimization/44377
1421         * tree-ssa-structalias.c (find_func_aliases): Fix typo.
1422
1423 2010-06-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1424
1425         * config/s390/2097.md (z10_fhex): Remove insn reservation.
1426         * config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant.
1427         (*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF,
1428         *mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero
1429         instruction.
1430         * config/s390/s390.c: Don't accept fp zeros as valid constants anymore.
1431
1432 2010-06-02  Jan Hubicka  <jh@suse.cz>
1433
1434         * bitmap.c (bitmap_descriptor): Add search_iter.
1435         (bitmap_find_bit): Increment it.
1436         (print_statistics): Print it.
1437
1438 2010-06-02  Nathan Froyd  <froydnj@codesourcery.com>
1439
1440         * tree-vect-slp.c (vect_create_mask_and_perm): Use gimple_build_call
1441         instead of gimple_build_call_vec.  Delete unnecessary local variable.
1442
1443 2010-06-02  Steven Bosscher  <steven@gcc.gnu.org>
1444
1445         * gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling"
1446         change from yesterday.
1447
1448 2010-06-02  Steven Bosscher  <steven@gcc.gnu.org>
1449
1450         * c-ada-spec.c: Clean up redundant includes.
1451
1452 2010-06-01  Steven Bosscher  <steven@gcc.gnu.org>
1453
1454         * gimplify.c: Do not include except.h and optabs.h.
1455         (gimplify_body): Do not initialize RTL profiling.
1456         * gimple-low.c: Do not include rtl.h, diagnostic.h, langhooks.h,
1457         langhooks-def.h, timevar.h, except.h, hashtab.h, and expr.h.
1458         * gimple-fold.c: Do not include rtl.h, tm_p.h, ggc.h, basic-block.h,
1459         output.h, expr.h, diagnostic.h, timevar.h, value-prof.h, and
1460         langhooks.h.
1461
1462         * tree-pretty-print.h: Include pretty-print.h.
1463         * gimple-pretty-print.h: Include pretty-print.h.
1464
1465         * tree-pretty-print.c: Do not include diagnostic.h.
1466         * tree-vrp.c: Likewise.
1467         * tree-tailcall.c: Likewise
1468         * tree-scalar-evolution.c: Likewise
1469         * tree-ssa-dse.c: Likewise
1470         * tree-chrec.c: Likewise
1471         * tree-ssa-sccvn.c: Likewise
1472         * tree-ssa-copyrename.c: Likewise
1473         * tree-nomudflap.c: Likewise
1474         * tree-call-cdce.c: Likewise
1475         * tree-stdarg.c: Likewise
1476         * tree-ssa-math-opts.c: Likewise
1477         * tree-nrv.c: Likewise
1478         * tree-ssa-sink.c: Likewise
1479         * tree-browser.c: Likewise
1480         * tree-ssa-loop-ivcanon.c: Likewise
1481         * tree-ssa-loop.c: Likewise
1482         * tree-parloops.c: Likewise
1483         * tree-ssa-address.c: Likewise
1484         * tree-ssa-ifcombine.c: Likewise
1485         * tree-if-conv.c: Likewise
1486         * tree-data-ref.c: Likewise
1487         * tree-affine.c: Likewise
1488         * tree-ssa-phiopt.c: Likewise
1489         * tree-ssa-coalesce.c: Likewise
1490         * tree-ssa-pre.c: Likewise
1491         * tree-ssa-live.c: Likewise
1492         * tree-predcom.c: Likewise
1493         * tree-ssa-forwprop.c: Likewise
1494         * tree-ssa-dce.c: Likewise
1495         * tree-ssa-ter.c: Likewise
1496         * tree-ssa-loop-prefetch.c: Likewise
1497         * tree-optimize.c: Likewise
1498         * tree-ssa-phiprop.c: Likewise
1499         * tree-object-size.c: Likewise
1500         * tree-outof-ssa.c: Likewise
1501         * tree-ssa-structalias.c: Likewise
1502         * tree-switch-conversion.c: Likewise
1503         * tree-ssa-reassoc.c: Likewise
1504         * tree-ssa-operands.c: Likewise
1505         * tree-vectorizer.c: Likewise
1506         * tree-vect-data-refs.c: Likewise
1507         * tree-vect-generic.c: Likewise
1508         * tree-vect-stmts.c: Likewise
1509         * tree-vect-patterns.c: Likewise
1510         * tree-vect-slp.c: Likewise
1511         * tree-vect-loop.c: Likewise
1512         * tree-ssa-loop-ivopts.c: Likewise
1513         * tree-ssa-loop-im.c: Likewise
1514         * tree-ssa-loop-niter.c: Likewise
1515         * tree-ssa-loop-unswitch.c: Likewise
1516         * tree-ssa-loop-manip.c: Likewise
1517         * tree-ssa-loop-ch.c: Likewise
1518         * tree-dump.c: Likewise
1519         * tree-complex.c: Likewise
1520
1521         * tree-into-ssa.c: Do not include diagnostic.h and expr.h.
1522         * tree-ssa-uninit.c: Likewise
1523         * tree-ssa-threadupdate.c: Likewise
1524         * tree-ssa-uncprop.c: Likewise
1525         * tree-ssa-ccp.c: Likewise
1526         * tree-ssa-dom.c: Likewise
1527         * tree-ssa-propagate.c: Likewise
1528         * tree-ssa-alias.c: Likewise
1529         * tree-dfa.c: Likewise
1530         * tree-cfgcleanup.c: Likewise
1531         * tree-sra.c: Likewise
1532         * tree-ssa-copy.c: Likewise
1533         * tree-ssa.c: Likewise
1534         * tree-profile.c: Likewise
1535         * tree-cfg.c: Likewise
1536         * tree-ssa-threadedge.c: Likewise
1537         * tree-vect-loop-manip.c: Likewise
1538
1539         * tree-inline.c: Do not include diagnostic.h and expr.h.
1540         Include rtl.h.
1541         (copy_decl_for_dup_finish): Do not use NULL_RTX.
1542
1543         * tree-loop-linear.c: Do not include diagnostic.h, expr.h and optabs.h.
1544         * tree-loop-distribution.c: Likewise.
1545
1546 2010-06-01  Jan Hubicka  <jh@suse.cz>
1547
1548         * ipa-pure-const.c (local_pure_const): Do NORETURN discovery.
1549
1550 2010-06-01  Jan Hubicka  <jh@suse.cz>
1551
1552         * tree-cfgcleanup.c (fixup_noreturn_call): Break out from ...;
1553         remove return value.
1554         (split_bbs_on_noreturn_calls) .... here.
1555         * tree-optimize.c (execute_fixup_cfg): Fixup noreturn calls too.
1556         * tree-flow.h (fixup_noreturn_call): New.
1557
1558 2010-06-01  Jan Hubicka  <jh@suse.cz>
1559
1560         * emit-rtl.c (remove_insn): Fix thinko in prevoius patch.
1561
1562 2010-06-01  Nathan Froyd  <froydnj@codesourcery.com>
1563
1564         * tree.h (build_nt_call_list): Delete.
1565         * tree.c (build_nt_call_list): Delete.
1566
1567 2010-06-01  Jan Hubicka  <jh@suse.cz>
1568
1569         * fwprop.c: Make emit-rtl.h include last.
1570         * rtlanal.c: Include emit-rtl.h.
1571         * genautomata.c: Output emit-rtl include into insn-automata.c
1572         * df-scan.c: Include emit-rtl.h.
1573         * haifa-sched.c: Indlude emit-rtl.h.
1574         * mode-switching.c: Indlude emit-rtl.h.
1575         * graph.c: Indlude emit-rtl.h.
1576         * sel-sched.c: Include emit-rtl.h.
1577         * sel-sched-ir.c: Include emit-rtl.h.
1578         * ira-build.c: Include emit-rtl.h.
1579         * emit-rtl.c: (first_insn, last_insn): Remove defines.
1580         (get_insns, set_first_insn, get_last_insn, set_last_insn, get_max_uid):
1581         Move to emit-rtl.h.
1582         (set_new_first_and_last_insn, get_last_insn_anywhere,
1583         get_first_nonnote_insn, get_last_nonnote_insn, try_split,
1584         make_call_insn_raw, add_insn_after, add_insn_before, remove_insn,
1585         delete_insns_since, reorder_insns_nobb, emit_insn_after_1,
1586         emit_debug_insn_before, emit_insn, start_sequence, push_to_sequence,
1587         push_to_sequence2, push_topmost_sequence, end_sequence, copy_insn):
1588         Use accessor functions.
1589         * emit-rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
1590          gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
1591         set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
1592         mem_expr_equal_p): Move here from rtl.h.
1593         (get_insns, set_first-insn, get_last_insn, set_last_insn, get_max_uid):
1594         Move here from emit-rtl.c; make inline.
1595         * cfglayout.h: Include emit-rtl.h.
1596         * rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
1597          gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
1598         set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
1599         mem_expr_equal_p, get_insns, set_first-insn,
1600         get_last_insn, set_last_insn, get_max_uid): Move to emit-rtl.h.
1601         * reg-stack.c: Include emit-rtl.h.
1602         * dce.c: Likewise.
1603
1604 2010-06-01  Jan Hubicka  <jh@suse.cz>
1605
1606         * cgraph.h (tree_function_versioning): Update prototype.
1607         (cgraph_function_versioning): Update prototype.
1608         * cgraphunit.c (cgraph_copy_node_for_versioning): Accept bbs_to_copy
1609         bitmap.
1610         (cgraph_function_versioning): Accept new_entry_block and bbs_to_copy.
1611         (cgraph_materialize_clone, save_inline_function_body): Update use of
1612         tree_function_versioning.
1613         * tree-inline.c (copy_bb): Look for previous copied block to link
1614         after; fix debug output.
1615         (copy_cfg_body): Accept new_entry_block and bbs_to_copy.
1616         (copy_body): Likewise.
1617         (expand_call_inline): Update use of copy_body.
1618         (tree_function_versioning): Update use of copy body; accept
1619         blocks_to_copy and new_entry.
1620
1621 2010-06-01  Jan Hubicka  <jh@suse.cz>
1622
1623         * gegenrtl.c: Remove unnecesary prototypes.
1624         (gendecl): Remove.
1625         (gendef): Produce static inline.
1626         (gencode): Remove.
1627         (main): Do not decode parameters; generate header only.
1628         * Makefile.in (genrtl.c): Remove.
1629
1630 2010-06-01  Jan Hubicka  <jh@suse.cz>
1631
1632         * tree-switch-conversion.c (build_one_array): Make it readonly.
1633
1634 2010-06-01  Richard Guenther  <rguenther@suse.de>
1635
1636         * optabs.c (init_optabs): Guard all accesses to reinit.
1637         * ipa-pure-const.c (propagate): Fix another typo.
1638         * opts.c (common_handle_option): Split assignment to bool.
1639         * c-opts.c (c_common_handle_option): Likewise.
1640
1641 2010-06-01  Arnaud Charlet  <charlet@adacore.com>
1642             Matthew Gingell  <gingell@adacore.com>
1643
1644         * doc/invoke.texi: Mention -fdump-ada-spec.
1645         * tree-dump.c (dump_files): Add ada-spec.
1646         (FIRST_AUTO_NUMBERED_DUMP): Bump to 8.
1647         * tree-pass.h (tree_dump_index): Add TDI_ada.
1648         * gcc.c: Add support for -C without -E and for -fdump-ada-spec.
1649         (cpp_unique_options): Do not reject -C or -CC when -E isn't present.
1650         (default_compilers) <@c-header>: Allow -fdump-ada-spec on header files.
1651         * c-decl.c: Include c-ada-spec.h.
1652         (collect_source_ref_cb, collect_all_refs, for_each_global_decl): New
1653         functions.
1654         (c_write_global_declarations): Add handling of -fdump-ada-spec.
1655         * c-lex.c (c_lex_with_flags): Add handling of CPP_COMMENT.
1656         * Makefile.in (C_AND_OBJC_OBJS): Add c-ada-spec.o.
1657         * c-ada-spec.h, c-ada-spec.c: New files.
1658
1659 2010-06-01  Richard Guenther  <rguenther@suse.de>
1660
1661         PR lto/43853
1662         * ipa-pure-const.c (get_function_state): Hand back varying state
1663         if we do not have one.
1664         (has_function_state): New function.
1665         (duplicate_node_data): Adjust.
1666         (remove_node_data): Likewise.
1667         (pure_const_write_summary): Likewise.
1668         (propagate): Likewise.  Fix typo.
1669
1670 2010-06-01  Jan Hubicka  <jh@suse.cz>
1671
1672         * tree-cfg.c (verify_stmt): Do not skip could_throw test.
1673         * passes.c (execute_function_todo): Do not make implicit verify_ssa.
1674         (execute_all_ipa_transforms): Do not play with the states.
1675
1676 2010-06-01  Maxim Kuvyrkov  <maxim@codesourcery.com>
1677
1678         * config/arm/t-linux-androideabi: New.
1679         * config.gcc (arm*-*-linux-androideabi): Include multilib config.
1680
1681 2010-06-01  Jan Hubicka  <jh@suse.cz>
1682
1683         * tree-inline.c (estimate_num_insns): For stdarg functions look
1684         into call statement to count cost of argument passing.
1685
1686 2010-06-01  Kai Tietz  <kai.tietz@onevision.com>
1687
1688         * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX
1689         argument for fprintf.
1690         (ix86_output_addr_diff_elt): Likewise.
1691         (x86_function_profiler): Likewise.
1692         * config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore.
1693         (LPREFIX): Likewise.
1694         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1695
1696 2010-05-31  Jakub Jelinek  <jakub@redhat.com>
1697
1698         PR target/44338
1699         * config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256,
1700         fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4,
1701         fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4,
1702         fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4,
1703         fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4,
1704         fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4,
1705         fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4):
1706         Guard only with TARGET_FMA4 instead of TARGET_FMA4 &&
1707         TARGET_FUSED_MADD.
1708
1709 2010-05-31  Jan Hubicka  <jh@suse.cz>
1710
1711         * tree.h (tree_range_check_failed): Declare noreturn.
1712
1713 2010-05-31  Jan Hubicka  <jh@suse.cz>
1714
1715         * gimple.c (gimple_call_builtin_p): New function.
1716         * gimple.h (gimple_call_builtin_p): Declare.
1717         * tree-cfg.c (make_edges): Produce edge from BUILT_IN_RETURN
1718         to exit.
1719         (execute_warn_function_return): BUILT_IN_RETURN is return.
1720         (split_critical_edges): Return edges are not critical.
1721         (is_ctrl_altering_stmt): Builtin_in_return is altering.
1722         (gimple_verify_flow_info): Handle built_in_return.
1723         (execute_warn_function_return): Handle built_in_return.
1724         * ipa-pure-const.c (check_call): Ignore builtin_return.
1725
1726 2010-05-31  Jakub Jelinek  <jakub@redhat.com>
1727
1728         PR middle-end/44337
1729         * expr.c (expand_assignment): Don't store anything for out-of-bounds
1730         array accesses with non-MEM.
1731
1732         PR tree-optimization/44182
1733         * tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that
1734         newly needs to end a bb is followed by debug stmts, instead return
1735         true from the function at the end.
1736         (maybe_move_debug_stmts_to_successors): New function.
1737         (copy_cfg_body): Call it if copy_edges_for_bb returned true.
1738
1739 2010-05-31  Kai Tietz  <kai.tietz@onevision.com>
1740
1741         PR target/44161
1742         * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle flag_pic.
1743
1744 2010-05-31  Eric Botcazou  <ebotcazou@adacore.com>
1745
1746         * cgraphunit.c (cgraph_decide_is_function_needed): Really return false
1747         for nested functions in non-optimized compilation.
1748
1749 2010-05-31  Richard Guenther  <rguenther@suse.de>
1750
1751         * tree-ssa-structalias.c (find_func_aliases): Handle BUILT_IN_RETURN.
1752
1753 2010-05-30  Jan Hubicka  <jh@suse.cz>
1754
1755         * predict.c (maybe_hot_edge_p): Calls to functions called once is cold.
1756
1757 2010-05-30  Richard Guenther  <rguenther@suse.de>
1758
1759         PR lto/42975
1760         * tree-eh.c (execute_cleanup_eh_1): Copy from execute_cleanup_eh.
1761         (execute_cleanup_eh): Clear DECL_FUNCTION_PERSONALITY if it is
1762         no longer needed.
1763
1764 2010-05-30  Iain Sandoe  <iains@gcc.gnu.org>
1765
1766         * config/darwin.c (output_objc_section_asm_op): Add comment.
1767         (name_needs_quotes): Add '_' to list of valid comment chars.
1768         (machopic_output_function_base_name): Remove unneeded quotes.
1769         (darwin_encode_section_info): Adjust asm whitespace.
1770         * config/i386/darwin.h (ASM_OUTPUT_COMMON): Adjust asm tabs.
1771         (ASM_OUTPUT_LOCAL): Ditto.
1772         * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Ditto.
1773         * config/darwin.h (GLOBAL_ASM_OP): Ditto.
1774         * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Ditto.
1775
1776 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
1777
1778         * config/rs6000/rs6000.c (rs6000_output_function_entry): Use
1779         RS6000_OUTPUT_BASENAME unconditionally.
1780         (rs6000_output_function_epilogue): Likewise.
1781
1782 2010-05-30  Jan Hubicka  <jh@suse.cz>
1783
1784         * toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
1785         nodes.
1786
1787 2010-05-30  Richard Guenther  <rguenther@suse.de>
1788
1789         * tree-cfg.c (verify_gimple_assign_single): Implement
1790         verification for COND_EXPR rhs.
1791
1792 2010-05-30  Jan Hubicka  <jh@suse.cz>
1793
1794         * cgraph.h (cgraph_dump_file): Declare.
1795         * cgraphunit.c (cgraph_dump_file): Export.
1796         * ipa.c (dump_cgraph_node_set, dump_varpool_node_set): Be less verbose.
1797
1798 2010-05-30  Jan Hubicka  <jh@suse.cz>
1799
1800         * dwarf2out.c (reference_to_unused,
1801         premark_types_used_by_global_vars_helper): Avoid creation of new
1802         varpool nodes.
1803
1804 2010-05-30  Jan Hubicka  <jh@suse.cz>
1805
1806         * cgraph.h (cgraph_node_cannot_return,
1807         cgraph_edge_cannot_lead_to_return): New functions.
1808         * cgraph.c (cgraph_node_cannot_return,
1809         cgraph_edge_cannot_lead_to_return): Use them.
1810         * ipa-pure-const.c (pure_const_names): New static var.
1811         (check_call): Handle calls not leading to return.
1812         (pure_const_read_summary): Dump info read.
1813         (propagate): Dump info about propagation process; ignore side effects
1814         of functions not leading to exit; fix handling of pure functions.
1815
1816 2010-05-30  Jan Hubicka  <jh@suse.cz>
1817
1818         * config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
1819         for tail call epilogues.
1820
1821 2010-05-30  Jan Hubicka  <jh@suse.cz>
1822
1823         * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
1824         ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initialize
1825         dump files.
1826
1827 2010-05-29  Jan Hubicka  <jh@suse.cz>
1828
1829         * ipa.c (cgraph_remove_unreachable_node): Walk references of correct
1830         node; remove references in node we no longer keep in cgrpah but need
1831         body of.
1832
1833 2010-05-29  Jan Hubicka  <jh@suse.cz>
1834
1835         * cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
1836
1837 2010-05-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1838
1839         PR target/44165
1840         * config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
1841
1842 2010-05-29  Jan Hubicka  <jh@suse.cz>
1843
1844         * tree-vrp.c (debug_value_range, debug_all_value_ranges,
1845         debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION.
1846         * tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs,
1847         debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks,
1848         debug_names_replaced_by, debug_update_ssa): Likewise.
1849         * sbitmap.c (debug_sbitmap): Likewise.
1850         * genrecog.c (debug_decision, debug_decision_list): Likewise.
1851         * tree-pretty-print.c (debug_generic_expr, debug_generic_stmt,
1852         debug_tree_chain): Likewise.
1853         * tree-loop-distribution.c (debug_rdg_partitions): Likewise.
1854         * cgraph.c (debug_cgraph_node, debug_cgraph): Likewise.
1855         * optabs.c  (debug_optab_libfuncs): Likewise.
1856         (verify_loop_closed_ssa): Likewise.
1857         * value-prof.c (verify_histograms): Likewise.
1858         * reload.c (debug_reload_to_stream, debug_reload): Likewise.
1859         * bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise.
1860         * cfghooks.c (verify_flow_info): Likewise.
1861         * fold-const.c (debug_fold_checksum): Likewise.
1862         * omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise.
1863         * cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n):
1864         Likewise.
1865         * omega.c (debug_omega_problem): Likewise.
1866         * cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise.
1867         * tree-ssa-ccp.c (debug_lattice_value): Likewise.
1868         * dominance.c (verify_dominators, debug_dominance_info,
1869         debug_dominance_tree): Likewise.
1870         * df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno,
1871         * df_regno_debug, df_ref_debug,
1872         debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref,
1873         debug_df_defno, debug_df_useno, debug_df_chain): Likewise.
1874         * tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise.
1875         * sel-sched.c (debug_state): Likewise.
1876         * tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for):
1877         Likewise.
1878         * cfganal.c (print_edge_list, verify_edge_list): Likewise.
1879         * dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise.
1880         * tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise.
1881         * gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq):
1882         Likewise.
1883         * c-pretty-print.c (debug_c_tree): Likewise.
1884         * sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn
1885         debug_av_set, debug_lv_set, debug_ilist, debug_blist,
1886         debug_insn_vector, debug_hard_reg_set, debug_mem_addr_value): Likewise.
1887         * ebitmap.c (debug_ebitmap): Likewise.
1888         * function.c (debug_find_var_in_block_tree): Likewise.
1889         * print-rtl.c (debug_rtx): Likewise.
1890         (debug_rtx_count): Likewise.
1891         (debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise.
1892         * stor-layout.c (debug_rli): Likewise.
1893         * ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise.
1894         * tree-data-ref.c (debug_data_references,
1895         debug_data_dependence_relations, debug_data_reference,
1896         debug_data_dependence_relation, debug_rdg_vertex,
1897         debug_rdg_component, debug_rdg): Likewise.
1898         * tree-affine.c (debug_aff): Likewise.
1899         * tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats):
1900         Likewise.
1901         * except.c (debug_eh_tree, verify_eh_tree): Likewise.
1902         * emit-rtl.c (verify_rtl_sharing): Likewise.
1903         * tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set,
1904         debug_value_expressions): Likewise.
1905         * tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise.
1906         * sese.c (debug_rename_map, debug_ivtype_map): Likewise.
1907         * print-tree.c (debug_tree, debug_vec_tree): Likewise.
1908         * cfglayout.c (verify_insn_chain): Likewise.
1909         * graphite-clast-to-gimple.c (debug_clast_name_indexes,
1910         debug_clast_stmt, debug_generated_program): Likewise.
1911         * ggc-page.c (debug_print_page_list): Likewise.
1912         * tree-ssa-ter.c (debug_ter): Likewise.
1913         * graphite-dependences.c (debug_pddr): Likewise.
1914         * sched-deps.c (debug_ds): Likewise.
1915         * tree-ssa.c (verify_ssa): Likewise.
1916         * graphite-poly.c (debug_scattering_function, debug_iteration_domain,
1917         debug_scattering_functions, debug_iteration_domains, debug_pdr,
1918         debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context,
1919         debug_scop, debug_cloog, debug_scop_params, debug_lst): Likewise.
1920         * tree-inline.c (debug_find_tree): Likewise.
1921         * graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix,
1922         debug_ppl_powerset_matrix): Likewise.
1923         * var-tracking.c (debug_dv): Likewise.
1924         * system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define.
1925         * cfgloop.c (verify_loop_structure): Likewise.
1926         * plugin.c (dump_active_plugins, debug_active_plugins): Likewise.
1927         * c-common.c (verify_sequence_points): Likewise.
1928         * sched-rgn.c (debug_regions, debug_region, debug_candidate,
1929         debug_candidates, debug_rgn_dependencies): Likewise.
1930         * tree-ssa-structalias.c (debug_constraint, debug_constraints,
1931         * debug_constraint_graph, debug_solution_for_var,
1932         debug_sa_points_to_info): Likewise.
1933         * sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim):
1934         Likewie.
1935         * tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function,
1936         debug_loops, debug_loop, debug_loop_num): Likewise.
1937         * passes.c (debug_pass): Likewise.
1938         (dump_properties): Likewise; add cfglayout property.
1939         (debug_properties): Likewise.
1940         * tree-ssa-reassoc.c (debug_ops_vector): Likewise.
1941         * varpool.c (debug_varpool): Likewise.
1942         * regcprop.c (debug_value_data): Likewise.
1943         * tree-ssa-operands.c (verify_imm_links, debug_immediate_uses,
1944         debug_immediate_uses_for): Likewise.
1945
1946 2010-05-29  H.J. Lu  <hongjiu.lu@intel.com>
1947
1948         PR bootstrap/44315
1949         * Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
1950         Filter out insn-flags.h.
1951
1952 2010-05-29  Jan Hubicka  <jh@suse.cz>
1953
1954         * cgraph.h (struct varpool_node_set_def,
1955         struct cgraph_node_set_def): Remove unused AUX pointer.
1956         (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): Use
1957         VEC_empty macro.
1958
1959 2010-05-29  Jan Hubicka  <jh@suse.cz>
1960
1961         PR middle-end/44324
1962         * ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
1963
1964 2010-05-29  Richard Guenther  <rguenther@suse.de>
1965
1966         * lto-streamer.c (cached_bp): New global variable.
1967         (bitpack_create): Return the cached bitpack, if available.
1968         (bitpack_delete): Clear and cache the bitpack, if appropriate.
1969         (bp_pack_value): Remove redundant asserts.
1970
1971 2010-05-29  Sebastian Pop  <sebastian.pop@amd.com>
1972
1973         PR middle-end/44306
1974         * tree-if-conv.c (is_true_predicate): New.
1975         (is_predicated): Use is_true_predicate.
1976         (add_to_predicate_list): Same.  Do not use unshare_expr.
1977         (add_to_dst_predicate_list): Same.
1978
1979 2010-05-29  Sebastian Pop  <sebastian.pop@amd.com>
1980
1981         * tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
1982         field on edges.
1983         (predicate_bbs): Same.
1984         (clean_predicate_lists): Same.
1985         (find_phi_replacement_condition): Do not AND the predicate from
1986         edge->aux.
1987
1988 2010-05-29  H.J. Lu  <hongjiu.lu@intel.com>
1989
1990         PR bootstrap/44315
1991         * Makefile.in (build/gencondmd.o): Add a missing `\'.
1992
1993 2010-05-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1994
1995         PR target/44261
1996         config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
1997         (negdf2): Adjust expander pattern and use negdf2_slow.
1998         (negsf2): Likewise.
1999
2000 2010-05-29  Nathan Froyd  <froydnj@codesourcery.com>
2001
2002         * basic-block.h (struct control_flow_graph): Move last_label_uid field
2003         up.
2004         * df.h (struct df_base_ref): Move regno field up.
2005         * dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down.
2006         * expr.h (struct separate_ops): Move location field up.
2007         * optabs.h (struct optab_d): Move libcall_basename field down.
2008         * config/i386/i386.c (struct ix86_frame): Move red_zone_size up.
2009         * config/i386/i386.h (struct machine_function): Convert call_abi field
2010         into a bitfield.  Move cfa field to the end of the structure.
2011
2012 2010-05-29  Jan Hubicka  <jh@suse.cz>
2013
2014         * varpool.c (varpool_get_node): Fix lookup.
2015
2016 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
2017
2018         * config/spu/spu-protos.h: Do not include rtl.h.  Protect
2019         RTL specific prototypes with #ifdef RTX_CODE.
2020         * config/spu/spu-c.c: Include c-common.h instead of c-tree.h.
2021         * config/spu/t-spu-elf: Fix dependencies.
2022
2023         * config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
2024
2025 2010-05-29  Mike Stump  <mikestump@comcast.net>
2026
2027         PR bootstrap/44315
2028         * Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
2029         TM_H when building to avoid dependency loops.
2030
2031 2010-05-29  Jan Hubicka  <jh@suse.cz>
2032
2033         * cgraphunit.c (cgraph_materialize_clone): Only remove calles,
2034         refs and body; not the whole node for masters of materialized
2035         clones.
2036
2037 2010-05-29  Mike Stump  <mikestump@comcast.net>
2038
2039         * config/rs6000/rs6000-c.c: Remove c-tree.h include.
2040
2041 2010-05-29  Jan Hubicka  <jh@suse.cz>
2042
2043         * cgraph.c (clone_function_name): Take SUFFIX argument; export.
2044         (cgraph_create_virtual_clone): Take SUFFIX argument; udpate
2045         use of clone_function_name.
2046         * cgraph.h (cgraph_create_virtual_clone,
2047         cgraph_function_versioning): update prototypes.
2048         (clone_function_name): Declare.
2049         * ipa-cp.c (ipcp_insert_stage): Update call of
2050         cgraph_create_virtual_clone.
2051         * omp-low.c (create_omp_child_function_name): Use
2052         cgraph_create_virtual_clone.
2053         * cgraphunit.c (cgraph_copy_node_for_versioning): Fix edges updating.
2054         (cgraph_function_versioning): Take SUFFIX argument; produce new name
2055         and make decl local.
2056
2057 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
2058
2059         * vec.h: Include statistics.h
2060         * Makefile.in: Introduce VEC_H.  Replace all vec.h dependencies
2061         with VEC_H.
2062
2063 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
2064
2065         * c-lex.c: Do not include c-tree.h.
2066         * c-pretty-print.c: Likewise.
2067         * c-opts.c: Likewise.
2068         * c-gimplify.c: Likewise.
2069         * c-common.c: Likewise.
2070         * c-dump.c: Likewise.  Include c-common.h.
2071
2072 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
2073
2074         * c-common.h (GCC_DIAG_STYLE): Define earlier in the file,
2075         before including diagnostic-core.h.
2076         (c_cpp_error): New prototype moved from c-tree.h.
2077         Use ATTRIBUTE_GCC_DIAG instead of ATTRIBUTE_GCC_CDIAG.
2078         * c-tree.h (ATTRIBUTE_GCC_CDIAG): Remove define.
2079         (pedwarn_c90, perwarn_c99): Use ATTRIBUTE_GCC_DIAG instead.
2080         (c_cpp_error): Prototype moved to c-common.h.
2081         * Makefile.in: Update dependency for C_COMMON_H.
2082
2083 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
2084
2085         * c-common.h: Add FIXME for awkward split of c_register_addr_space.
2086         * c-common.c (c_register_addr_space): Remove here.
2087         * c-decl.c (c_register_addr_space): Re-add here.
2088
2089 2010-05-28  Mike Stump  <mikestump@comcast.net>
2090
2091         * config/darwin-c.c: Remove c-tree.h include.
2092
2093 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
2094
2095         * gcc.c: Include diagnostic.h.
2096         (error_count): Remove.  All users changed to use errorcount.
2097         (programname): Remove.  All users changed to use progname.
2098         (fancy_abort, internal_error, fatal_error, error, warning, inform,
2099         fnotice): Remove.
2100         (execute): Don't include "Internal error" and bug reporting
2101         information in argument of internal_error call.
2102         (process_command): Don't increment error_count after calling
2103         perror_with_name.
2104         (input_filename): Rename to gcc_input_filename.  All users
2105         changed.
2106         (main): Call diagnostic_initialize.  Register delete_temp_files
2107         with atexit.  Use seen_error to test for errors.
2108         * gcc.h: Include diagnostic-core.h.
2109         (fatal_error, error, warning): Remove.
2110         * Makefile.in (GCC_H): Add $(DIAGNOSTIC_CORE_H).
2111         (GCC_OBJS): Add diagnostic.o, pretty-print.o and input.o.
2112         (gcc.o): Update dependencies.
2113
2114 2010-05-28  Jeff Law  <law@redhat.com>
2115
2116         * ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
2117         functions.
2118         * ira.h (ira_bad_reload_regno): Declare
2119         * reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
2120
2121         * ira-color.c (update_curr_costs): Free updated hard reg costs.
2122         (ira_reassign_conflict_allocnos): Remove bogus asserts.
2123         (allocno_reload_assign): Likewise.
2124
2125 2010-05-28  Nathan Froyd  <froydnj@codesourcery.com>
2126
2127         * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
2128         build1_stat.
2129
2130 2010-05-28  Richard Guenther  <rguenther@suse.de>
2131
2132         PR lto/44312
2133         * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
2134         Stream fixed-point constants mode.
2135         (unpack_ts_type_value_fields): Fix width of TYPE_MODE
2136         and TYPE_PRECISION.
2137         * lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
2138         Stream fixed-point constants mode.
2139         (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
2140         and TYPE_PRECISION.
2141
2142 2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
2143
2144         * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
2145         only place it was called from.
2146         (number_of_latch_executions): Do not return chrec_dont_know when the
2147         may_be_zero is a runtime condition: instead, return a COND_EXPR
2148         including the may_be_zero condition.
2149         * cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
2150         of nb_iterations.
2151         * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
2152         COND_EXPRs.
2153
2154 2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
2155
2156         * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
2157         generate COND_EXPRs for degenerate_phi_result.
2158
2159 2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
2160
2161         PR middle-end/44293
2162         * tree-if-conv.c (if_convertible_loop_p): Check the
2163         if-convertibility of phi nodes in non predicated BBs.
2164
2165 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
2166
2167         * gcc.c (error, warning, inform): Remove duplicate ": " in output.
2168
2169 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
2170
2171         PR driver/15303
2172         * gcc.c (inform, warning, inform): New functions.
2173         (fatal_ice): Rename to internal_error; change cmsgid parameter to
2174         gmsgid.  All callers changed.
2175         (notice): Rename to fnotice; add parameter fp.  All callers
2176         changed.
2177         (fatal_error): Rename to fatal_signal.  All users changed.
2178         (fatal): Rename to fatal_error; change cmsgid parameter to
2179         gmsgid.  All callers changed.
2180         (process_command): Use warning instead of error for warnings.
2181         (end_going_arg): Don't use _() around argument of error.
2182         (do_spec_1): Use inform for message from %n specs.  Use warning
2183         instead of error for warnings.
2184         (main): Use inform for comparison messages.  Use warning for
2185         message about unused linker input.
2186         (error): Increment error_count.  Print "error: ".
2187         * gcc.h (fatal): Change to fatal_error.
2188         (warning): Declare.
2189         * config/darwin-driver.c (darwin_default_min_version): Use warning
2190         instead of fprintf for warnings.
2191         * cppspec.c (lang_specific_driver): Use fatal_error instead of
2192         fatal.
2193
2194 2010-05-28  Julian Brown  <julian@codesourcery.com>
2195
2196         * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
2197         (*thumb2_addsi3_compare0_scratch): New.
2198         * config/arm/constraints.md (Pv): New.
2199         * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
2200         for ARM mode only.
2201         (*addsi3_compare0_scratch): Likewise.
2202
2203 2010-05-28  Jan Hubicka  <jh@suse.cz>
2204
2205         * ipa-reference.c (add_static_var): Remove redundant all_module_statics
2206         check.
2207         (ipa_reference_write_optimization_summary): Call is_proper_for_analysis
2208         only on local statics.
2209
2210 2010-05-28  Iain Sandoe  <iains@gcc.gnu.org>
2211
2212         * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
2213
2214 2010-05-28  Maxim Kuvyrkov  <maxim@codesourcery.com>
2215
2216         PR bootstrap/44314
2217         * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
2218         (OPTION_GLIBC): Define.
2219
2220 2010-05-28  Jakub Jelinek  <jakub@redhat.com>
2221
2222         PR debug/41048
2223         * dwarf2out.c (double_int_type_size_in_bits): New function.
2224         (round_up_to_align): Change first argument and return value to
2225         double_int.
2226         (field_byte_offset): Work internally on double_ints.
2227
2228         PR target/43636
2229         * builtins.c (expand_movstr): Use a temporary pseudo instead
2230         of target even when target is not NULL and not const0_rtx, but
2231         fails movstr predicate.
2232         * config/m32c/blkmov.md (movstr): Add predicate to first operand.
2233
2234 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
2235
2236         * final.c (rest_of_clean_state): Use %m in errors instead of
2237         strerror (errno).
2238         * gengtype.c (read_input_list, close_output_files): Use xstrerror
2239         instead of strerror.
2240         * toplev.c (process_options): Use %m in errors instead of strerror
2241         (errno).
2242         * tree-dump.c (dump_begin): Use %m in errors instead of strerror
2243         (errno).
2244
2245 2010-05-28  Uros Bizjak  <ubizjak@gmail.com>
2246
2247         * config/i386/i386.c (ix86_fn_abi_va_list): Make static.
2248         (ix86_canonical_va_list_type): Make static.  Add declaration.
2249         (ix86_enum_va_list): Make static.  Reindent.
2250         * config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration.
2251         (ix86_canonical_va_list_type): Ditto.
2252         (ix86_enum_va_list): Ditto.
2253
2254 2010-05-28  Richard Guenther  <rguenther@suse.de>
2255
2256         * lto-wrapper.c (run_gcc): With -save-temps generate a
2257         user-visible ltrans filename.  Fixup ltrans unit numbering.
2258
2259 2010-05-28  Kai Tietz  <kai.tietz@onevision.com>
2260
2261         * c-common.c (c_common_nodes_and_builtins): Replace use
2262         of TARGET_ENUM_VA_LIST by target hook enum_va_list.
2263         * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook
2264         to ix86_enum_va_list.
2265         * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed.
2266         * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed.
2267         (TARGET_ENUM_VA_LIST_P): Add hook description.
2268         * target-def.h (TARGET_ENUM_VA_LIST_P): Added.
2269         * target.h (gcc_target): Add enum_va_list hook.
2270
2271         PR bootstrap/44299
2272         * config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c.
2273         * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine.
2274         * config/i386/winnt.c (IN_GCC_FRONTEND): Likewise.
2275
2276 2010-05-28  Alan Modra  <amodra@gmail.com>
2277
2278         PR target/44266
2279         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
2280         emit_library_call machinery to set up __tls_get_addr calls.
2281
2282 2010-05-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2283
2284         * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
2285
2286 2010-05-28  Dodji Seketeli  <dodji@redhat.com>
2287
2288         Revert fix for PR c++/44188
2289         * c-common.c (is_typedef_decl): Revert the moving of  this
2290         definition ...
2291         * tree.c (is_typedef_decl): ... here.
2292         (typdef_variant_p): Revert the moving of this  definition
2293         here from gcc/cp/tree.c.
2294         * c-common.h (is_typedef_decl): Revert the moving of this
2295         declaration ...
2296         * tree.h (is_typedef_decl): ... here.
2297         (typedef_variant_p): Revert the moving of this  declaration here
2298         from gcc/cp/cp-tree.h
2299         * dwarf2out.c (is_naming_typedef_decl): Revert this new function.
2300         (gen_tagged_type_die): Revert the splitting out of ...
2301         (gen_type_die_with_usage): ... this function. Revert the anonymous
2302         tagged type handling.
2303         (gen_typedef_die): Revert emitting DW_TAG_typedef  for
2304         typedefs naming anonymous tagged types.
2305
2306 2010-05-28  Segher Boessenkool  <segher@kernel.crashing.org>
2307
2308         * config/rs6000/rs6000-modes.def (PSImode): Delete.
2309
2310 2010-05-28  Segher Boessenkool  <segher@kernel.crashing.org>
2311
2312         * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
2313         * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
2314         throughout.
2315         * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
2316         "xer" to "ca".
2317         Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
2318         XER_REGS to CA_REGS throughout.
2319         * config/rs6000/rs6000.h: Same.
2320         (ADDITIONAL_REGISTER_NAMES): Add "xer".
2321         * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO.  Document
2322         that mode_iterator "P" is the size for arithmetic carries as well.
2323         * doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
2324
2325 2010-05-28  Jakub Jelinek  <jakub@redhat.com>
2326
2327         PR bootstrap/44255
2328         * combine.c (struct rtx_subst_pair): Define unconditionally.
2329         (propagate_for_debug_subst): Likewise.  If not AUTO_INC_DEC,
2330         copy_rtx pair->to instead of cleanup_auto_inc_dec it.
2331         Call make_compound_operation on pair->to.
2332         (propagate_for_debug): Don't call make_compound_operation here.
2333         Always use simplify_replace_fn_rtx.
2334
2335 2010-05-27  Sterling Augustine  <sterling@tensilica.com>
2336
2337         * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
2338         * config/xtensa/xtensa.c (override_options): Check
2339           TARGET_FORCE_NO_PIC and set flag_pic.
2340         * config/xtensa/xtensa.opt: Document -mforce-no-pic
2341
2342 2010-05-27  Kai Tietz  <kai.tietz@onevision.com>
2343
2344         PR bootstrap/44299
2345         * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
2346         * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
2347
2348 2010-05-27  Joseph Myers  <joseph@codesourcery.com>
2349
2350         * diagnostic-core.h: New.  Contents moved from diagnostic.h and
2351         toplev.h.
2352         * diagnostic.c: Don't include toplev.h.
2353         (progname): Define.  Moved from toplev.c.
2354         (seen_error): New function.
2355         * diagnostic.h: Include diagnostic-core.h.
2356         (diagnostic_t, emit_diagnostic): Don't declare here.
2357         * toplev.c (progname): Move to toplev.c.
2358         (emit_debug_global_declarations, compile_file, finalize,
2359         do_compile, toplev_main): Use seen_error.
2360         * toplev.h: Include diagnostic-core.h.
2361         (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
2362         internal_error, warning, warning_at, error, error_n, error_at,
2363         fatal_error, pedwarn, permerror, sorry, inform, inform_n,
2364         verbatim, fnotice, progname): Move to diagnostic-core.h.
2365         * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
2366         (expand_builtin_expect): Use seen_error.
2367         * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
2368         (c_make_fname_decl, c_write_global_declarations): Use seen_error.
2369         * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
2370         * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
2371         * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
2372         * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
2373         errorcount for errors.
2374         * c-opts.c (c_common_finish): Use seen_error.
2375         * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
2376         * cgraphunit.c (verify_cgraph_node, verify_cgraph,
2377         cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
2378         * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
2379         (get_coverage_counts): Use seen_error.
2380         * dwarf2out.c (dwarf2out_finish): Use seen_error.
2381         * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
2382         gimplify_body): Use seen_error.
2383         * ipa-inline.c (cgraph_early_inlining): Use seen_error.
2384         * ipa-pure-const.c (gate_pure_const): Use seen_error.
2385         * ipa-reference.c (gate_reference): Use seen_error.
2386         * jump.c: Include diagnostic-core.h instead of diagnostic.h.
2387         * lambda-code.c: Include diagnostic-core.h instead of
2388         diagnostic.h.
2389         * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
2390         * lto-compress.c: Include diagnostic-core.h instead of
2391         diagnostic.h.
2392         * lto-section-in.c: Include diagnostic-core.h instead of
2393         diagnostic.h.
2394         * lto-streamer-out.c: Include diagnostic-core.h instead of
2395         diagnostic.h.
2396         * lto-streamer.c: Include diagnostic-core.h instead of
2397         diagnostic.h.
2398         (gate_lto_out): Use seen_error.
2399         * matrix-reorg.c: Include diagnostic-core.h instead of
2400         diagnostic.h.
2401         * omega.c: Include diagnostic-core.h instead of diagnostic.h.
2402         * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
2403         (gate_expand_omp, lower_omp_1): Use seen_error.
2404         * passes.c: Include diagnostic-core.h instead of diagnostic.h.
2405         (rest_of_decl_compilation, rest_of_type_compilation,
2406         gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
2407         * tree-cfg.c (label_to_block_fn): Use seen_error.
2408         * tree-inline.c (optimize_inline_calls): Use seen_error.
2409         * tree-mudflap.c (mudflap_finish_file): Use
2410         seen_error.
2411         * tree-optimize.c (gate_all_optimizations,
2412         gate_all_early_local_passes, gate_all_early_optimizations): Use
2413         seen_error.
2414         * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
2415         * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
2416         (varpool_remove_unreferenced_decls,
2417         varpool_assemble_pending_decls): Use seen_error.
2418         * Makefile.in (DIAGNOSTIC_CORE_H): Define.
2419         (TOPLEV_H, DIAGNOSTIC_H): Update.
2420         (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
2421         lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
2422         c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
2423         builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
2424         coverage.o, lambda-code.o): Update dependencies.
2425
2426 2010-05-25  Dodji Seketeli  <dodji@redhat.com>
2427
2428         PR c++/44188
2429         * c-common.c (is_typedef_decl): Move this definition ...
2430         * tree.c (is_typedef_decl): ... here.
2431         (typdef_variant_p): Move definition here from gcc/cp/tree.c.
2432         * c-common.h (is_typedef_decl): Move this declaration ...
2433         * tree.h (is_typedef_decl): ... here.
2434         (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
2435         * dwarf2out.c (is_naming_typedef_decl): New function.
2436         (gen_tagged_type_die): Split out of ...
2437         (gen_type_die_with_usage): ... this function. When an anonymous
2438         tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
2439         is emitted for the typedef.
2440         (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
2441         anonymous tagged types.
2442
2443 2010-05-27  Jason Merrill  <jason@redhat.com>
2444
2445         * print-tree.c (debug_vec_tree): New fn.
2446         (print_vec_tree): New fn.
2447         * tree.h: Declare them.
2448         * gdbinit.in (pvt): New command.
2449
2450         * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
2451
2452         * gdbinit.in (pdd): New command.
2453
2454 2010-05-27  Jan Hubicka  <jh@suse.cz>
2455
2456         * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
2457         (update_caller_keys): Return early if there are no callers;
2458         only update fibheap when decresing the key.
2459         (update_callee_keys): Avoid recursion.
2460         (decide_inlining_of_small_functions): When badness does not match;
2461         re-insert into fibheap.
2462
2463 2010-05-27  Steven Bosscher  <steven@gcc.gnu.org>
2464
2465         * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
2466         (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
2467         (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
2468         (ALL_HOST_OBJS): Now a union of the above two.
2469         <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
2470         all files in ALL_HOST_FRONTEND_OBJS.
2471         * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
2472
2473         * c-common.c: Pretend to be a backend file by undefining
2474         IN_GCC_FRONTEND (still need rtl.h here).
2475
2476 2010-05-27  Jan Hubicka  <jh@suse.cz>
2477
2478         * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
2479         * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
2480
2481 2010-05-27  Jan Hubicka  <jh@suse.cz>
2482
2483         * sched-ebb.c: Rename struct deps to struct deps_desc.
2484         * ddg.c: Likewise.
2485         * sel-sched-ir.c: Likewise.
2486         * sched-deps.c: Likewise.
2487         * sched-int.h: Likewise.
2488         * sched-rgn.c: Likewise.
2489
2490 2010-05-27  Jon Beniston <jon@beniston.com>
2491
2492         PR 43726
2493         * config/lm32/lm32.h: Remove definition of
2494         GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
2495
2496 2010-05-27  Eric Botcazou  <ebotcazou@adacore.com>
2497
2498         PR lto/44230
2499         * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
2500
2501 2010-05-27  Richard Guenther  <rguenther@suse.de>
2502
2503         PR tree-optimization/44284
2504         * tree-vect-stmts.c (vectorizable_assignment): Handle
2505         sign-changing conversions as simple copy.
2506
2507 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
2508
2509         * gthr-posix.h (pthread_cancel): Don't declare if compiling against
2510         Bionic C library.
2511         (__gthread_active_p): Check for pthread_create if compiling against
2512         Bionic C library.
2513
2514 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
2515
2516         Support compilation for Android platform.  Reimplement -mandroid.
2517
2518         * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
2519         (*android*): Set ANDROID_DEFAULT.
2520         (arm*-*-linux*): Include linux-android.h.
2521         (arm*-*-eabi*): Don't include previous -mandroid implementation.
2522         * config/arm/eabi.h: Remove, move Android-specific parts ...
2523         * config/linux-android.h: ... here.  New file.
2524         * config/arm/eabi.opt: Rename to ...
2525         * config/linux-android.opt: ... this.
2526         (mandroid): Allow -mno-android option.  Initialize based on
2527         ANDROID_DEFAULT.
2528         * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
2529         Move logic to corresponding LINUX_TARGET_* macros.
2530         (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
2531         * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
2532         (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
2533         Android definitions.
2534         (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
2535         * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
2536         Document.
2537
2538 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
2539
2540         Add support for Bionic C library
2541
2542         * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
2543         macro.
2544         (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
2545         (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
2546
2547         * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
2548         (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
2549         (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
2550         to support multiple C libraries.  Handle Bionic.
2551         (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
2552         (BIONIC_DYNAMIC_LINKER64): Define.
2553         (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
2554         Update.
2555         (TARGET_HAS_SINCOS): Enable for Bionic.
2556
2557         * config/linux.opt: Rewrite to handle more than 2 C libraries.  Make
2558         the last option specified on command line take effect.
2559         (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
2560         (mbionic): New.
2561         (mglibc, muclibc): Update.
2562
2563         * config/alpha/linux-elf.h, config/rs6000/linux64.h,
2564         * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
2565         DEFAULT_LIBC.
2566
2567         * doc/invoke.texi (-mglibc, -muclibc): Update.
2568         (-mbionic): Document.
2569
2570 2010-05-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2571
2572         * c-common.h (c_register_addr_space): Add prototype.
2573         (ADDR_SPACE_KEYWORD): Remove.
2574         * c-common.c (c_register_addr_space): New function.
2575         (c_addr_space_name): Reimplement.
2576         (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
2577
2578         * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
2579         (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
2580
2581         * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
2582         Remove TARGET_ADDR_SPACE_KEYWORDS.
2583
2584 2010-05-27  Joseph Myers  <joseph@codesourcery.com>
2585
2586         * input.c: New file.
2587         * input.h (main_input_filename): Move declaration to toplev.h.
2588         * toplev.c (input_location, line_table): Move to input.c
2589         * toplev.h (main_input_filename): Move declaration from input.h.
2590         * tree.c (expand_location): Move to input.c.
2591         * Makefile.in (OBJS-common): Add input.o.
2592         (input.o): Add dependencies.
2593
2594 2010-05-27  Richard Guenther  <rguenther@suse.de>
2595
2596         * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
2597         for non-existant files.
2598         (fork_execute): Mark args_name file as deleted.
2599
2600 2010-05-27  Kai Tietz  <kai.tietz@onevision.com>
2601
2602         PR bootstrp/44287
2603         * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
2604         (narrow_signed_type): Likewise.
2605
2606 2010-05-26  Jan Hubicka  <jh@suse.cz>
2607
2608         * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
2609         edge only when checking is enabled; check using former_clone_of;
2610         check inline clones too.
2611         (cgraph_materialize_clone): Record former_clone_of pointer.
2612         (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
2613         combining redirections; dump args_to_skip bitmap
2614         (cgraph_materialize_all_clones): Do no redirection here.
2615         * ipa-inline.c (inline_transform): Do redirection here.
2616         * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
2617         cheking only).
2618
2619 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
2620
2621         * config/avr/avr-c.c: Do not include regs.h.
2622         Include cpplib.h for cpp_define and tree.h for c-common.h.
2623         * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
2624         * config/avr/t-avr: Fix dependencies for avr-c.o.
2625
2626 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
2627
2628         * explow.c (set_stack_check_libfunc): Adjust to accept name as a
2629         string instead of SYMBOL_REF rtx.
2630         * rtl.h (set_stack_check_libfunc): Move prototype from here...
2631         * libfuncs.h: ...to here.  Adjust for explow.c change.
2632
2633 2010-05-26  Joseph Myers  <joseph@codesourcery.com>
2634
2635         * pretty-print.c: Don't include ggc.h.
2636         (identifier_to_locale_alloc, identifier_to_locale_free): Define.
2637         (identifier_to_locale): Use them for allocation.
2638         * pretty-print.h (identifier_to_locale_alloc,
2639         identifier_to_locale_free): Declare.
2640         * toplev.c (alloc_for_identifier_to_locale): New.
2641         (general_init): Set identifier_to_locale_alloc and
2642         identifier_to_locale_free.
2643         * Makefile.in (pretty-print.o): Update dependencies.
2644
2645 2010-05-26  Eric Botcazou  <ebotcazou@adacore.com>
2646
2647         * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
2648         pointer types if they have different alignment or mode.
2649
2650 2010-05-26  Anatoly Sokolov  <aesok@post.ru>
2651
2652         * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
2653         LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
2654         * config/sparc/sparc-protos.h (function_value): Remove declaration.
2655         * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
2656         sparc_function_value_regno_p): New functions.
2657         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
2658         TARGET_FUNCTION_VALUE_REGNO_P): Define.
2659         (function_value): Rename to...
2660         (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
2661         argument to 'outgoing'.
2662         (function_arg_record_value, function_arg_union_value,
2663         function_arg_vector_value): Update comment.
2664
2665 2010-05-26  Eric Botcazou  <ebotcazou@adacore.com>
2666
2667         * dwarf2out.c (struct dw_fde_struct): Reorder flags.
2668         (fde_needed_for_eh_p): New predicate.
2669         (output_call_frame_info): Use it throughout to decide whether FDEs
2670         are needed for EH purpose.
2671         (dwarf2out_begin_prologue): Reorder assignments.
2672
2673 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
2674
2675         * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
2676         special case loop->header.
2677         (is_predicated): New.
2678         (if_convertible_loop_p): Call it.
2679
2680 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
2681
2682         * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
2683         iterator in parameter.  Do not generate code during the analysis.
2684         (tree_if_convert_cond_stmt): Removed.
2685         (tree_if_convert_stmt): Removed.
2686         (predicate_bbs): New.
2687         (if_convertible_loop_p): Call predicate_bbs.
2688         (tree_if_conversion): Simplify the top-level logic as predicate_bbs
2689         now contains all the analysis part.
2690
2691 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
2692
2693         * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
2694         statements in the analysis part.
2695         (tree_if_convert_stmt): Update comment.
2696         (remove_conditions_and_labels): New.
2697         (combine_blocks): Call remove_conditions_and_labels.
2698         (tree_if_conversion): Update comment.
2699
2700 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
2701
2702         * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
2703         than 2 predecessors or more than 2 successors.
2704
2705 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
2706
2707         * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
2708         of loops in which the data dependence analysis fails.
2709
2710 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
2711
2712         * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
2713         CDI_POST_DOMINATORS.
2714         (tree_if_conversion): Same.
2715
2716 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
2717
2718         * tree-if-conv.c (tree_if_conversion): Do not return a bool.
2719
2720 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
2721
2722         * tree-if-conv.c: Update copyright years.  Fix comments.
2723         Fix indentation.
2724
2725 2010-05-26  Kai Tietz  <kai.tietz@onevision.com>
2726
2727         * builtin-types.def (BT_INT128): New primitive type.
2728         (BT_UINT128): Likewise.
2729         * c-common.c (c_common_r): Add __int128 keyword.
2730         (c_common_type_for_size): Handle __int128.
2731         (c_common_type_for_mode): Likewise.
2732         (c_common_signed_or_unsigned_type): Likewise.
2733         (c_common_nodes_and_builtins): Add builtin type
2734         if target supports 128-bit integer scalar.
2735         * c-common.h (enum rid): Add RID_INT128.
2736         * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
2737         if target supports 128-bit integer scalar.
2738         * c-decl.c (declspecs_add_type): Handle new keyword __int128.
2739         (finish_declspecs): Likewise.
2740         * c-parser.c (c_token_starts_typename): Handle RID_INT128.
2741         (c_token_starts_declspecs): Likewise.
2742         (c_parser_declspecs): Likewise.
2743         (c_parser_attributes): Likewise.
2744         (c_parser_objc_selector): Likewise.
2745         * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
2746         * c-tree.h (enum c_typespec_keyword): Add cts_int128.
2747         * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
2748         * tree.c (make_or_reuse_type): Likewise.
2749         (make_unsigned_type): Likewise.
2750         (build_common_tree_nodes_2): Likewise.
2751         * tree.h (enum integer_type_kind): Add itk_int128 and
2752         itk_unsigned_int128.
2753         (int128_integer_type_node): New define.
2754         (int128_unsigned_type_node): New define.
2755         * doc/extend.texi: Add documentation about __int128 type.
2756
2757 2010-05-26  Richard Guenther  <rguenther@suse.de>
2758
2759         * tree-ssa-sccvn.c (copy_nary): Adjust.
2760         (copy_phis): Rename to ...
2761         (copy_phi): ... this.  Adjust.
2762         (copy_references): Rename to ...
2763         (copy_reference): ... this.  Adjust.
2764         (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
2765         result into the valid table.
2766
2767 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
2768
2769         * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
2770         insn-config.h, insn-codes.h, recog.h, and optabs.h.
2771
2772 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2773
2774         * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
2775
2776 2010-05-26  Richard Guenther  <rguenther@suse.de>
2777
2778         * opts.c (common_handle_option): Handle OPT_Ofast.
2779
2780 2010-05-26  Joseph Myers  <joseph@codesourcery.com>
2781
2782         * diagnostic.c: Don't include opts.h.
2783         (permissive_error_option): Define.
2784         (diagnostic_initialize): Take n_opts parameter.  Allocate memory
2785         for classify_diagnostic.  Don't use memset for
2786         classify_diagnostic.  Initialize new and recently added fields.
2787         (diagnostic_classify_diagnostic): Use context->n_opts instead of
2788         N_OPTS.
2789         (diagnostic_report_diagnostic): Pass context parameter to
2790         diagnostic_report_warnings_p.  Use option_enabled and option_name
2791         hooks from context.
2792         (emit_diagnostic): Use permissive_error_option.
2793         (permerror): Likewise.
2794         * diagnostic.h: Don't include options.h.
2795         (struct diagnostic_context): Add n_opts, opt_permissive,
2796         inhibit_warnings, warn_system_headers, option_enabled and
2797         option_name fields.  Change classify_diagnostic to a pointer.
2798         * opts-diagnostic.h: New file.
2799         * opts.c: Include opts-diagnostic.h.
2800         (common_handle_option): Set global_dc fields for -Wfatal-errors,
2801         -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
2802         (option_name): New function.
2803         * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
2804         (c_common_handle_option): Set global_dc->permissive for
2805         -fpermissive.
2806         * c-common.c (c_cpp_error): Save and restore
2807         global_dc->warn_system_headers, not variable warn_system_headers.
2808         * toplev.c: Include opts-diagnostic.h.
2809         (general_init): Update call to diagnostic_initialize.  Set
2810         global_dc->show_column, global_dc->option_enabled and
2811         global_dc->option_name.
2812         (process_options): Don't set global_dc fields here.
2813         * Makefile.in (DIAGNOSTIC_H): Remove options.h.
2814         (diagnostic.o, opts.o, toplev.o): Update dependencies.
2815
2816 2010-04-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
2817
2818         * config/picochip/picochip.md (movsi): Split a movsi from a
2819         const after reload.
2820
2821 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2822
2823         * ggc-zone.c: Update copyright year.
2824         (poison_region): Mark memory for Valgrind as undefined before
2825         memset () call and inaccessible afterwards.
2826         (ggc_pch_total_size): Change type of i to int.
2827
2828 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2829
2830         * ggc-common.c (ggc_free_overhead): Allow empty slot.
2831
2832 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2833
2834         * ggc-common.c: Update copyright year.
2835         (ggc_rlimit_bound): Remove prototype.  Compile only if
2836         !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
2837         (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
2838         && !ENABLE_GC_ALWAYS_COLLECT.  Make static.
2839         (ggc_min_heapsize_heuristic): Likewise.
2840
2841 2010-05-26  Richard Guenther  <rguenther@suse.de>
2842
2843         PR rtl-optimization/44164
2844         * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
2845         no-common access-path disambiguation.
2846         (indirect_ref_may_alias_decl_p): Adjust.
2847         (indirect_refs_may_alias_p): Likewise.
2848         (refs_may_alias_p_1): Likewise.
2849
2850 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
2851
2852         * c-typeck.c: Do not include expr.h.
2853
2854 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
2855
2856         * rtl.h (decl_default_tls_model): Move prototype from here...
2857         * output.h: ...to here.
2858         * c-decl.c: Do not include rtl.h.
2859         * c-pragma.c: Likewise.
2860         * c-parser.c: Likewise.
2861         * c-gimplify.c: Likewise.  And also not hard-reg-set.
2862         * c-common.c: Do not include rtl.h.  Include tm_p.h and add a
2863         FIXME note for it.  Add a FIXME note for expr.h.
2864         * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
2865         ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
2866         defined.
2867
2868 2010-05-26  Jakub Jelinek  <jakub@redhat.com>
2869
2870         PR target/44199
2871         * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
2872         or total_size is larger than red zone size for non-V4 ABI, emit a
2873         stack_tie resp. frame_tie insn before stack pointer restore.
2874         * config/rs6000/rs6000.md (frame_tie): New insn.
2875
2876 2010-05-25  Eric Botcazou  <ebotcazou@adacore.com>
2877
2878         * function.h (struct function): Add can_throw_non_call_exceptions bit.
2879         * lto-streamer-in.c (input_function): Stream it in.
2880         * lto-streamer-out.c (output_function): Stream it out.
2881         * function.c (allocate_struct_function): Set it.
2882         (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
2883         for flag_non_call_exceptions.
2884         * cfgbuild.c (control_flow_insn_p): Likewise.
2885         (make_edges): Likewise.
2886         * cfgexpand.c (expand_stack_alignment): Likewise.
2887         * combine.c (distribute_notes): Likewise.
2888         * cse.c (cse_extended_basic_block): Likewise.
2889         * except.c (insn_could_throw_p): Likewise.
2890         * gcse.c (simple_mem): Likewise.
2891         * ipa-pure-const.c (check_call): Likewise.
2892         (check_stmt ): Likewise.
2893         * lower-subreg.c (lower-subreg.c): Likewise.
2894         * optabs.c (emit_libcall_block): Likewise.
2895         (prepare_cmp_insn): Likewise.
2896         * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
2897         * postreload.c (rest_of_handle_postreload): Likewise.
2898         * reload1.c (reload_as_needed): Likewise.
2899         (emit_input_reload_insns): Likewise.
2900         (emit_output_reload_insns): Likewise.
2901         (fixup_abnormal_edges): Likewise.
2902         * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
2903         * store-motion.c (find_moveable_store): Likewise.
2904         * tree-eh.c (stmt_could_throw_p): Likewise.
2905         (tree_could_throw_p): Likewise.
2906         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
2907         * config/arm/arm.c (arm_expand_prologue): Likewise.
2908         (thumb1_expand_prologue): Likewise.
2909         * config/rx/rx.md (cbranchsf4): Likewise.
2910         (cmpsf): Likewise.
2911         * config/s390/s390.c (s390_emit_prologue): Likewise.
2912         * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
2913         (inline_forbidden_into_p): New predicate.
2914         (expand_call_inline): Use it to forbid inlining.
2915         (tree_can_inline_p): Likewise.
2916
2917 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
2918
2919         * config/i386/i386-c.c: Do not include rtl.h.
2920         * config/i386/t-i386: Update dependencies.
2921
2922 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
2923
2924         * attribs.c: Do not include rtl.h.
2925         * Makefile.in: Update dependencies.
2926
2927 2010-05-25  Anatoly Sokolov  <aesok@post.ru>
2928
2929         * double-int.h (double_int_and): New.
2930         * combine.c (try_combine): Clean up, use double_int_* and
2931         immed_double_int_const functions.
2932
2933 2010-05-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2934
2935         * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
2936         stderr to /dev/null instead of grep -q.
2937         * configure: Regenerate.
2938
2939 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
2940
2941         * Makefile.in (EXCEPT_H): Fix typo.
2942
2943 2010-05-25  Vladimir Makarov <vmakarov@redhat.com>
2944
2945         * ira-build.c (update_conflict_hard_reg_costs): New.
2946         (ira_build): Call update_conflict_hard_reg_costs.
2947
2948 2010-05-25  Jakub Jelinek  <jakub@redhat.com>
2949
2950         PR debug/41371
2951         * var-tracking.c (find_loc_in_1pdv): Guard asserts with
2952         ENABLE_CHECKING.
2953         (intersect_loc_chains): Walk the s2var's loc_chain together
2954         with s1node chain as long as the locations are equal, don't
2955         call find_loc_in_1pdv in that case.
2956
2957         PR debug/42801
2958         * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
2959         (copy_bind_expr): ... instead of here.
2960         (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
2961         if the block hasn't been remapped.
2962         * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
2963         emitting concrete instance of abstract VLA, add DW_AT_type attribute.
2964
2965 2010-05-25  Richard Guenther  <rguenther@suse.de>
2966
2967         PR middle-end/44069
2968         * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
2969         out-of-bounds array accesses.
2970
2971 2010-05-25  Richard Guenther  <rguenther@suse.de>
2972
2973         * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
2974         (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
2975         (run_gcc): Re-organize to make cleanup easier.
2976
2977 2010-05-25  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2978
2979         * config/s390/s390.c (optimization_options): Fix and move the
2980         flag_prefetch_loop_arrays override ...
2981         (override_options): ... here.
2982
2983 2010-05-25  Joseph Myers  <joseph@codesourcery.com>
2984
2985         * diagnostic.c: Don't include plugin.h.
2986         (diagnostic_report_diagnostic): Don't handle plugins specially
2987         here.  Pass context to internal_error callback.
2988         * diagnostic.h (struct diagnostic_context): Add context parameter
2989         to internal_error callback.
2990         * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
2991         * plugin.h (struct diagnostic_context): Declare.
2992         (warn_if_plugins, plugins_internal_error_function): Declare.
2993         * toplev.c (general_init): Set global_dc->internal_error.
2994         * Makefile.in (diagnostic.o): Update dependencies.
2995
2996 2010-05-25 Iain Sandoe  <iains@gcc.gnu.org>
2997
2998         * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
2999         * config/rs6000/t-darwin64: New.
3000         * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
3001         build crt2.
3002
3003 2010-05-25  Christian Borntraeger  <borntraeger@de.ibm.com>
3004
3005         PR 44203
3006         * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
3007         match the original (and intended) behaviour before r159557.  This
3008         changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
3009         in two ways.
3010
3011 2010-05-25  Richard Guenther  <rguenther@suse.de>
3012
3013         * doc/invoke.texi: Document -Ofast.
3014         * target.h (struct gcc_target): Add handle_ofast.
3015         * target-def.h (TARGET_HANDLE_OFAST): Add.
3016         (TARGET_INITIALIZER): Adjust.
3017         * opts.c (decode_options): Handle -Ofast.  Enable -ffast-math with it.
3018         * common.opt (Ofast): Add.
3019
3020 2010-05-25  Paolo Bonzini  <bonzini@gnu.org>
3021
3022         * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
3023         * doc/md.texi (cstoreXX4): Update for cond-optab changes.
3024
3025 2010-05-25  Paolo Bonzini  <bonzini@gnu.org>
3026
3027         PR target/43610
3028         * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
3029         even if !FLOAT_LIB_COMPARE_RETURNS_BOOL.  Always compute true_rtx and
3030         false_rtx.  Use false_rtx to compute the correct *ptest for reversed
3031         comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
3032
3033 2010-05-25  Jakub Jelinek  <jakub@redhat.com>
3034
3035         * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
3036         DW_OP_minus with negated offset instead of DW_OP_plus.
3037         (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
3038
3039 2010-05-25  Wei Guozhi  <carrot@google.com>
3040
3041         * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
3042         tst instruction and a new alternative.
3043         * config/arm/constraints.md (Pu): New constraint.
3044
3045 2010-05-24  Sebastian Pop  <sebastian.pop@amd.com>
3046
3047         * function.c (assign_stack_local_1): Initialize variable
3048         to avoid warning when bootstrapping at -O3.
3049
3050 2010-05-24  Steven Bosscher  <steven@gcc.gnu.org>
3051
3052         * configure.ac (all_lang_makefiles): Remove everything related to it.
3053         * configure: Regenerate.
3054         * Makefile.in: Fix reference to ada Make-lang.in.
3055         Remove support for LANG_MAKEFILES.
3056
3057 2010-05-24  Daniel Jacobowitz  <dan@codesourcery.com>
3058             Sandra Loosemore  <sandra@codesourcery.com>
3059
3060         * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
3061         * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
3062         description.  Add arm_neon_fp16_ok.
3063         (Add Options): Add arm_neon and arm_neon_fp16.
3064
3065 2010-05-24  Joseph Myers  <joseph@codesourcery.com>
3066
3067         * diagnostic.c: Don't include flags.h.
3068         (pedantic_warning_kind, permissive_error_kind): Take diagnostic
3069         context parameters.  Check flags in the context passed as a parameter.
3070         (diagnostic_build_prefix): Add context parameter.  Check
3071         show_column flag in context.
3072         (diagnostic_action_after_output): Check fatal_errors flag in context.
3073         (diagnostic_report_current_module): Check show_column flag in context.
3074         (default_diagnostic_starter): Update call to
3075         diagnostic_build_prefix.
3076         (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
3077         (emit_diagnostic): Pass context to permissive_error_kind.
3078         (permerror): Pass context to permissive_error_kind.
3079         * diagnostic.h (struct diagnostic_context): Add show_column,
3080         pedantic_errors, permissive and fatal_errors fields.
3081         (diagnostic_build_prefix): Update prototype.
3082         * langhooks.c
3083         * toplev.c (process_options): Set flags in global_dc from
3084         flag_show_column, flag_pedantic_errors, flag_permissive,
3085         flag_fatal_errors.
3086         * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
3087         to diagnostic_build_prefix.
3088         * Makefile.in (diagnostic.o): Update dependencies.
3089
3090 2010-05-24  H.J. Lu  <hongjiu.lu@intel.com>
3091
3092         * config/i386/ia32intrin.h (__crc32q): Define only if
3093         __SSE4_2__ is defined.
3094
3095 2010-05-24  Iain Sandoe  <iains@gcc.gnu.org>
3096
3097         PR target/44132
3098         PR middle-end/43602
3099         * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
3100         DECL_VISIBILITY_SPECIFIED.
3101         (emutls_decl): Set DECL_PRESERVE_P and copy
3102         DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
3103         (emutls_finalize_control_var): New callback.
3104         (emutls_finish): Finalize emutls control variables.
3105         * toplev.c (compile_file): Move the call to emutls_finish ()
3106         before varpool_assemble_pending_decls ().
3107
3108 2010-05-24  Daniel Gutson  <dgutson@codesourcery.com>
3109
3110         * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
3111         added to the preprocessor condition.
3112
3113 2010-05-24  Paul Brook  <paul@codesourcery.com>
3114
3115         * gengtype-lex.l: Add HARD_REG_SET.
3116         * expr.c (expand_expr_real_1): Record writes to hard registers.
3117         * function.c (rtl_data): Add asm_clobbers.
3118         * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
3119         (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
3120         Use crtl->asm_clobbers.
3121
3122 2010-05-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3123
3124         * doc/makefile.texi (Makefile): Mention stages 'profile'
3125         and 'feedback' for profiledbootstrap.
3126
3127 2010-05-23  H.J. Lu  <hongjiu.lu@intel.com>
3128
3129         PR target/44245
3130         * config/i386/i386.c (def_builtin): Properly check
3131         OPTION_MASK_ISA_64BIT.
3132
3133 2010-05-23  Joseph Myers  <joseph@codesourcery.com>
3134
3135         * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
3136         typedefs with different but compatible types.  Allow duplicate
3137         typedefs with the same type except for pedantic non-C1X, but give
3138         warning for variably modified types.
3139         * c-typeck.c (tagged_types_tu_compatible_p,
3140         function_types_compatible_p, type_lists_compatible_p,
3141         comptypes_internal): Add parameter different_types_p; set
3142         *different_types_p for different but compatible types.  All
3143         callers changed.
3144         (comptypes_check_different_types): New.
3145         * c-tree.h (comptypes_check_different_types): Declare.
3146
3147 2010-05-23  Steven Bosscher  <steven@gcc.gnu.org>
3148
3149         * regs.h: Do not include obstack.h, basic-block.h.  Include machmode.h.
3150         * jump.c: Include basic-block.h.
3151         * profile.c: Likewise.
3152         * tree-profile.c: Likewise.
3153         * coverage.c: Likewise.
3154         * basic-block.h (optimize_function_for_size_p): Move to function.h.
3155         (optimize_function_for_speed_p): Likewise.
3156         * function.h (optimize_function_for_size_p,
3157         optimize_function_for_speed_p): Moved here from basic-block.h.
3158         * Makefile.in: Update dependencies.
3159
3160 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3161
3162         * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
3163         before calling make; allow override through $MAKE.
3164         * doc/invoke.texi (Optimize Options): Document override.
3165
3166 2010-05-23  Anatoly Sokolov  <aesok@post.ru>
3167
3168         * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
3169         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3170         (rs6000_mode_dependent_address_ptr): Make static.
3171         * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3172         * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
3173         Remove.
3174
3175 2010-05-23  Maarten Lankhorst  <mlankhorst@codeweavers.com>
3176
3177         PR target/43869
3178         * config/i386/i386.c: Make sure that the correct regparm is passed.
3179
3180 2010-05-23  Steven Bosscher  <steven@gcc.gnu.org>
3181
3182         * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
3183         * sbitmap.c: ...to here to internalize sbitmap element access.
3184         Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
3185         Explain why basic-block.h is included.
3186         * function.h: Include tm.h for CUMULATIVE_ARGS.
3187         * Makefile.in: Update dependencies.
3188
3189 2010-05-22  Steven Bosscher  <steven@gcc.gnu.org>
3190
3191         * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
3192         New core types.
3193         * sbitmap.h (struct sbitmap_def): Do not typedef here.
3194         * sbitmap.c: Include sbitmap.h.
3195         * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
3196         hard-reg-set.h.  Split everything related to regsets out from here...
3197         * regset.h: ...to here.  New file.
3198         * df.h: Include regset.h and sbitmap.h.
3199         * tree-flow.h: Likewise.
3200         * cfgloop.h: Likewise.
3201         * except.h: Do not include sbitmap.h.  Include hashtab.h.
3202         * cgraph.h: Include vec.h and function.h.
3203         * reload.h (struct insn_chain): Change types of live_throughout
3204         and dead_or_set from regset_head to bitmap_head.
3205         (compute_use_by_pseudos): Be defined also if regset.h is not included.
3206         * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
3207         spilled_regs from regset_head to bitmap_head to avoid dependency
3208         in regset.h.
3209         * sel-sched-ir.h: Include regset.h.
3210         * reload.c: Include df.h before reload.h.
3211         * caller-save.c: Likewise.
3212         * reload1.c: Likewise.
3213         * ira.c: Likewise.
3214         (mark_elimination): Update type of r to bitmap, consistent with
3215         DF_LR_IN.
3216         * dominance.c: Include bitmap.h.
3217         * modulo-sched.c: Include df.h.
3218         * cfganal.c: Include bitmap.h and sbitmap.h.
3219         * cfgbuild.c: Include sbitmap.h.
3220         * lcm.c: Include sbitmap.h.
3221         * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
3222         * domwalk.c: Include sbitmap.h, exclude ggc.h.
3223         * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
3224         * cselib.c: Include bitmap.h.
3225         * tree-optimize.c: Include regset.h.
3226         * stmt.c: Include bitmap.h.
3227         * Makefile.in: Update dependencies.
3228
3229 2010-05-22  Jan Hubicka  <jh@suse.cz>
3230
3231         * cgraph.h (struct varpool_node): Add same_comdat_group.
3232         * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
3233         pointer.
3234         (output_varpool): Update call of lto_output_varpool_node.
3235         (input_varpool): Read same_comdat_group pointer.
3236         (input_varpool_1): Fixup same_comdat_group pointer.
3237         * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
3238         group is needed, all are.
3239         * varpool.c (varpool_remove_node): Remove node from same comdat group
3240         linklist too.
3241         (varpool_analyze_pending_decls): Walk same comdat groups.
3242
3243 2010-05-22  Steven Bosscher  <steven@gcc.gnu.org>
3244
3245         * rtl.h (union rtunion_def): Remove rt_bit member.
3246         (XBITMAP, X0BITMAP, XCBITMAP): Remove.
3247         * print-rtl (print_rtx): Do not print the member.
3248         * gengtype.c (adjust_field_rtx_def): Do not handle it.
3249         * gengenrtl.c (type_from_format): Likewise.
3250         (accessor_from_format): Likewise.
3251
3252 2010-05-22  Joseph Myers  <joseph@codesourcery.com>
3253
3254         * dbgcnt.c: Include toplev.h instead of errors.h.
3255         * ira-emit.c: Don't include errors.h.
3256         * ira.c: Include toplev.h instead of errors.h.
3257         * lto-compress.c: Include toplev.h instead of errors.h.
3258         * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
3259         ira.o, dbgcnt.o): Update dependencies.
3260
3261 2010-05-22  Richard Guenther  <rguenther@suse.de>
3262
3263         * gimple.c (gimple_types_compatible_p): Check type qualifications
3264         before merging pointer to complete and pointer to incomplete type.
3265         * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
3266         we use our own resolution algorithm.  The gold linker plugin
3267         doesn't do the job we want it to do here.
3268
3269 2010-05-22  Anatoly Sokolov  <aesok@post.ru>
3270
3271         * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3272         * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3273         (sparc_mode_dependent_address_p): New function.
3274
3275 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
3276
3277         * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
3278
3279         * timevar.c: Do not include any core headers.
3280         (timevar_print): De-i18n-ize.
3281         (print_time): Likewise.
3282         * timevar.h (timevar_push, timevar_pop): Make inline functions.
3283
3284 2010-05-21  Joseph Myers  <joseph@codesourcery.com>
3285
3286         * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
3287         langhooks-def.h.
3288         (diagnostic_initialize): Initialize x_data not last_function.
3289         (diagnostic_report_current_function): Move to tree-diagnostic.c.
3290         (default_diagnostic_starter): Call
3291         diagnostic_report_current_module not
3292         diagnostic_report_current_function.
3293         (diagnostic_report_diagnostic): Initialize x_data not
3294         abstract_origin.
3295         (verbatim): Likewise.
3296         * diagnostic.h (struct diagnostic_info): Change abstract_origin to
3297         x_data.
3298         (struct diagnostic_context): Change last_function to x_data.
3299         (diagnostic_auxiliary_data): Replace with
3300         diagnostic_context_auxiliary_data and
3301         diagnostic_info_auxiliary_data.
3302         (diagnostic_last_function_changed, diagnostic_set_last_function,
3303         diagnostic_report_current_function): Move to tree-diagnostic.h.
3304         (print_declaration, dump_generic_node, print_generic_stmt,
3305         print_generic_stmt_indented, print_generic_expr,
3306         print_generic_decl, debug_c_tree, dump_omp_clauses,
3307         print_call_name, debug_generic_expr, debug_generic_stmt,
3308         debug_tree_chain, default_tree_printer): Move to
3309         tree-pretty-print.h.
3310         (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
3311         print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
3312         gimple-pretty-print.h.
3313         * pretty-print.c: Don't include tree.h
3314         (pp_base_format): Don't handle %K here.
3315         (pp_base_tree_identifier): Move to tree-pretty-print.c.
3316         * pretty-print.h (text_info): Change abstract_origin to x_data.
3317         (pp_tree_identifier, pp_unsupported_tree,
3318         pp_base_tree_identifier): Move to tree-pretty-print.h.
3319         * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
3320         tree-pretty-print.h: New files.
3321         * tree-pretty-print.c: Include tree-pretty-print.h.
3322         (percent_K_format): New.  Moved from pretty-print.c.
3323         (pp_base_tree_identifier): Move from pretty-print.c.
3324         * c-objc-common.c: Include tree-pretty-print.h.
3325         (c_tree_printer): Handle %K here.
3326         * langhooks.c: Include tree-diagnostic.h.
3327         (lhd_print_error_function): Use diagnostic_abstract_origin macro.
3328         * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
3329         (default_tree_printer): Handle %K using percent_K_format.
3330         (general_init): Use default_tree_diagnostic_starter.
3331         * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
3332         (free_lang_data): Use default_tree_diagnostic_starter.
3333         * c-pretty-print.c: Include tree-pretty-print.h.
3334         * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
3335         * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
3336         * dwarf2out.c: Include tree-pretty-print.h.
3337         * except.c: Include tree-pretty-print.h.
3338         * gimple-pretty-print.c: Include tree-pretty-print.h and
3339         gimple-pretty-print.h.
3340         * gimplify.c: Include tree-pretty-print.h.
3341         * graphite-poly.c: Include tree-pretty-print.h and
3342         gimple-pretty-print.h.
3343         * ipa-cp.c: Include tree-pretty-print.h.
3344         * ipa-inline.c: Include gimple-pretty-print.h.
3345         * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
3346         * ipa-pure-const.c: Include gimple-pretty-print.h.
3347         * ipa-struct-reorg.c: Include tree-pretty-print.h and
3348         gimple-pretty-print.h.
3349         * ipa-type-escape.c: Include tree-pretty-print.h.
3350         * print-rtl.c: Include tree-pretty-print.h.
3351         * print-tree.c: Include gimple-pretty-print.h.
3352         * sese.c: Include tree-pretty-print.h.
3353         * tree-affine.c: Include tree-pretty-print.h.
3354         * tree-browser.c: Include tree-pretty-print.h.
3355         * tree-call-cdce.c: Include gimple-pretty-print.h.
3356         * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
3357         * tree-chrec.c: Include tree-pretty-print.h.
3358         * tree-data-ref.c: Include tree-pretty-print.h and
3359         gimple-pretty-print.h.
3360         * tree-dfa.c: Include tree-pretty-print.h.
3361         * tree-if-conv.c: Include tree-pretty-print.h and
3362         gimple-pretty-print.h.
3363         * tree-inline.c: Include tree-pretty-print.h.
3364         * tree-into-ssa.c: Include tree-pretty-print.h and
3365         gimple-pretty-print.h.
3366         * tree-nrv.c: Include tree-pretty-print.h.
3367         * tree-object-size.c: Include tree-pretty-print.h and
3368         gimple-pretty-print.h.
3369         * tree-outof-ssa.c: Include tree-pretty-print.h and
3370         gimple-pretty-print.h.
3371         * tree-parloops.c: Include tree-pretty-print.h and
3372         gimple-pretty-print.h.
3373         * tree-predcom.c: Include tree-pretty-print.h and
3374         gimple-pretty-print.h.
3375         * tree-scalar-evolution.c: Include tree-pretty-print.h and
3376         gimple-pretty-print.h.
3377         * tree-sra.c: Include tree-pretty-print.h.
3378         * tree-ssa-address.c: Include tree-pretty-print.h.
3379         * tree-ssa-alias.c: Include tree-pretty-print.h.
3380         * tree-ssa-ccp.c: Include tree-pretty-print.h and
3381         gimple-pretty-print.h.
3382         * tree-ssa-coalesce.c: Include tree-pretty-print.h.
3383         * tree-ssa-copy.c: Include tree-pretty-print.h and
3384         gimple-pretty-print.h.
3385         * tree-ssa-copyrename.c: Include tree-pretty-print.h.
3386         * tree-ssa-dce.c: Include tree-pretty-print.h and
3387         gimple-pretty-print.h.
3388         * tree-ssa-dom.c: Include tree-pretty-print.h and
3389         gimple-pretty-print.h.
3390         * tree-ssa-dse.c: Include gimple-pretty-print.h.
3391         * tree-ssa-forwprop.c: Include tree-pretty-print.h.
3392         * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
3393         * tree-ssa-live.c: Include tree-pretty-print.h and
3394         gimple-pretty-print.h.
3395         * tree-ssa-loop-im.c: Include tree-pretty-print.h and
3396         gimple-pretty-print.h.
3397         * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
3398         gimple-pretty-print.h.
3399         * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
3400         gimple-pretty-print.h.
3401         * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
3402         gimple-pretty-print.h.
3403         * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
3404         * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
3405         * tree-ssa-operands.c: Include tree-pretty-print.h and
3406         gimple-pretty-print.h.
3407         * tree-ssa-phiprop.c: Include tree-pretty-print.h and
3408         gimple-pretty-print.h.
3409         * tree-ssa-pre.c: Include tree-pretty-print.h and
3410         gimple-pretty-print.h.
3411         * tree-ssa-propagate.c: Include gimple-pretty-print.h.
3412         * tree-ssa-reassoc.c: Include tree-pretty-print.h and
3413         gimple-pretty-print.h.
3414         * tree-ssa-sccvn.c: Include tree-pretty-print.h and
3415         gimple-pretty-print.h.
3416         * tree-ssa-sink.c: Include gimple-pretty-print.h.
3417         * tree-ssa-ter.c: Include tree-pretty-print.h and
3418         gimple-pretty-print.h.
3419         * tree-ssa-uninit.c: Include gimple-pretty-print.h.
3420         * tree-ssa.c: Include tree-pretty-print.h and
3421         gimple-pretty-print.h.
3422         * tree-stdarg.c: Include gimple-pretty-print.h.
3423         * tree-switch-conversion.c: Include gimple-pretty-print.h.
3424         * tree-tailcall.c: Include tree-pretty-print.h and
3425         gimple-pretty-print.h.
3426         * tree-vect-data-refs.c: Include tree-pretty-print.h and
3427         gimple-pretty-print.h.
3428