OSDN Git Service

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