OSDN Git Service

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