tree-cfg.c (verify_gimple_assign_single): Implement verification for COND_EXPR rhs.
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2010-05-30  Richard Guenther  <rguenther@suse.de>
2
3         * tree-cfg.c (verify_gimple_assign_single): Implement
4         verification for COND_EXPR rhs.
5
6 2010-05-30  Jan Hubicka  <jh@suse.cz>
7
8         * cgraph.h (cgraph_dump_file): Declare.
9         * cgraphunit.c (cgraph_dump_file): Export.
10         * ipa.c (dump_cgraph_node_set, dump_varpool_node_set): Be less
11         verbose.
12
13 2010-05-30  Jan Hubicka  <jh@suse.cz>
14
15         * dwarf2out.c (reference_to_unused,
16         premark_types_used_by_global_vars_helper): Avoid creating of new
17         varool nodes.
18
19 2010-05-30  Jan Hubicka  <jh@suse.cz>
20
21         * cgraph.h (cgraph_node_cannot_return,
22         cgraph_edge_cannot_lead_to_return): New functions.
23         * cgraph.c (cgraph_node_cannot_return,
24         cgraph_edge_cannot_lead_to_return): Use them.
25         * ipa-pure-const.c (pure_const_names): New static var.
26         (check_call): Handle calls not leading to return.
27         (pure_const_read_summary): Dump info read.
28         (propagate): Dump info about propagation process; ignore side
29         effects of functions not leading to exit; fix handling of
30         pure functions.
31
32 2010-05-30  Jan Hubicka  <jh@suse.cz>
33
34         * config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
35         for tail call epilogues.
36
37 2010-05-30  Jan Hubicka  <jh@suse.cz>
38
39         * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
40         ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initilalize dump
41         files.
42
43 2010-05-29  Jan Hubicka  <jh@suse.cz>
44
45         * ipa.c (cgraph_remove_unreachable_node): Walk references of correct node;
46         remove references in node we no longer keep in cgrpah but need body
47         of.
48
49 2010-05-29  Jan Hubicka  <jh@suse.cz>
50
51         * cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
52
53 2010-05-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
54
55         PR target/44165
56         * config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
57
58 2010-05-29  Jan Hubicka  <jh@suse.cz>
59
60         * tree-vrp.c (debug_value_range, debug_all_value_ranges,
61         debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION.
62         * tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs,
63         debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks,
64         debug_names_replaced_by, debug_update_ssa): Likewise.   
65         * sbitmap.c (debug_sbitmap): Likewise.
66         * genrecog.c (debug_decision, debug_decision_list): Likewise.
67         * tree-pretty-print.c (debug_generic_expr, debug_generic_stmt,
68         debug_tree_chain): Likewise.
69         * tree-loop-distribution.c (debug_rdg_partitions): Likewise.
70         * cgraph.c (debug_cgraph_node, debug_cgraph): Likewise.
71         * optabs.c  (debug_optab_libfuncs): Likewise.
72         (verify_loop_closed_ssa): Likewise.
73         * value-prof.c (verify_histograms): Likewise.
74         * reload.c (debug_reload_to_stream, debug_reload): Likewise.
75         * bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise.
76         * cfghooks.c (verify_flow_info): Likewise.
77         * fold-const.c (debug_fold_checksum): Likewise.
78         * omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise.
79         * cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n):
80         Likewise.
81         * omega.c (debug_omega_problem): Likewise.
82         * cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise.
83         * tree-ssa-ccp.c (debug_lattice_value): Likewise.
84         * dominance.c (verify_dominators, debug_dominance_info,
85         debug_dominance_tree): Likewise.
86         * df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno,
87         * df_regno_debug, df_ref_debug,
88         debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref,
89         debug_df_defno, debug_df_useno, debug_df_chain): Likewise.
90         * tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise.
91         * sel-sched.c (debug_state): Likewise.
92         * tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for): Likewise.
93         * cfganal.c (print_edge_list, verify_edge_list): Likewise.
94         * dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise.
95         * tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise.
96         * gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq): Likewise.
97         * c-pretty-print.c (debug_c_tree): Likewise.
98         * sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn
99         debug_av_set, debug_lv_set, debug_ilist, debug_blist, debug_insn_vector,
100         debug_hard_reg_set, debug_mem_addr_value): Likewise.
101         * ebitmap.c (debug_ebitmap): Likewise.
102         * function.c (debug_find_var_in_block_tree): Likewise.
103         * print-rtl.c (debug_rtx): Likewise.
104         (debug_rtx_count): Likewise.
105         (debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise.
106         * stor-layout.c (debug_rli): Likewise.
107         * ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise.
108         * tree-data-ref.c (debug_data_references, debug_data_dependence_relations,
109         debug_data_reference, debug_data_dependence_relation, debug_rdg_vertex,
110         debug_rdg_component, debug_rdg): Likewise.
111         * tree-affine.c (debug_aff): Likewise.
112         * tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats): Likewise.
113         * except.c (debug_eh_tree, verify_eh_tree): Likewise.
114         * emit-rtl.c (verify_rtl_sharing): Likewise.
115         * tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set,
116         debug_value_expressions): Likewise.
117         * tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise.
118         * sese.c (debug_rename_map, debug_ivtype_map): Likewise.
119         * print-tree.c (debug_tree, debug_vec_tree): Likewise.
120         * cfglayout.c (verify_insn_chain): Likewise.
121         * graphite-clast-to-gimple.c (debug_clast_name_indexes,
122         debug_clast_stmt, debug_generated_program): Likewise.
123         * ggc-page.c (debug_print_page_list): Likewise.
124         * tree-ssa-ter.c (debug_ter): Likewise.
125         * graphite-dependences.c (debug_pddr): Likewise.
126         * sched-deps.c (debug_ds): Likewise.
127         * tree-ssa.c (verify_ssa): Likewise.
128         * graphite-poly.c (debug_scattering_function, debug_iteration_domain,
129         debug_scattering_functions, debug_iteration_domains, debug_pdr,
130         debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context, debug_scop,
131         debug_cloog, debug_scop_params, debug_lst): Likewise.
132         * tree-inline.c (debug_find_tree): Likewise.
133         * graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix,
134         debug_ppl_powerset_matrix): Likewise.
135         * var-tracking.c (debug_dv): Likewise.
136         * system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define.
137         * cfgloop.c (verify_loop_structure): Likewise.
138         * plugin.c (dump_active_plugins, debug_active_plugins): Likewise.
139         * c-common.c (verify_sequence_points): Likewise.
140         * sched-rgn.c (debug_regions, debug_region, debug_candidate,
141         debug_candidates, debug_rgn_dependencies): Likewise.
142         * tree-ssa-structalias.c (debug_constraint, debug_constraints,
143         * debug_constraint_graph, debug_solution_for_var,
144         debug_sa_points_to_info): Likewise.
145         * sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim):
146         Likewie.
147         * tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function,
148         debug_loops, debug_loop, debug_loop_num): Likewise.
149         * passes.c (debug_pass): Likewise.
150         (dump_properties): Likewise; add cfglayout property.
151         (debug_properties): Likewise.
152         * tree-ssa-reassoc.c (debug_ops_vector): Likewise.
153         * varpool.c (debug_varpool): Likewise.
154         * regcprop.c (debug_value_data): Likewise.
155         * tree-ssa-operands.c (verify_imm_links, debug_immediate_uses,
156         debug_immediate_uses_for): Likewise.
157
158 2010-05-29  H.J. Lu  <hongjiu.lu@intel.com>
159
160         PR bootstrap/44315
161         * Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
162         Filter out insn-flags.h.
163
164 2010-05-29  Jan Hubicka  <jh@suse.cz>
165
166         * cgraph.h (struct varpool_node_set_def,
167         struct cgraph_node_set_def): Remove unused AUX pointer.
168         (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): Use
169         VEC_empty macro.
170
171 2010-05-29  Jan Hubicka  <jh@suse.cz>
172
173         PR middle-end/44324
174         * ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
175
176 2010-05-29  Richard Guenther  <rguenther@suse.de>
177
178         * lto-streamer.c (cached_bp): New global variable.
179         (bitpack_create): Return the cached bitpack, if available.
180         (bitpack_delete): Clear and cache the bitpack, if appropriate.
181         (bp_pack_value): Remove redundant asserts.
182
183 2010-05-29  Sebastian Pop  <sebastian.pop@amd.com>
184
185         PR middle-end/44306
186         * tree-if-conv.c (is_true_predicate): New.
187         (is_predicated): Use is_true_predicate.
188         (add_to_predicate_list): Same.  Do not use unshare_expr.
189         (add_to_dst_predicate_list): Same.
190
191 2010-05-29  Sebastian Pop  <sebastian.pop@amd.com>
192
193         * tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
194         field on edges.
195         (predicate_bbs): Same.
196         (clean_predicate_lists): Same.
197         (find_phi_replacement_condition): Do not AND the predicate from
198         edge->aux.
199
200 2010-05-29  H.J. Lu  <hongjiu.lu@intel.com>
201
202         PR bootstrap/44315
203         * Makefile.in (build/gencondmd.o): Add a missing `\'.
204
205 2010-05-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
206
207         PR target/44261
208         config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
209         (negdf2): Adjust expander pattern and use negdf2_slow.
210         (negsf2): Likewise.
211
212 2010-05-29  Nathan Froyd  <froydnj@codesourcery.com>
213
214         * basic-block.h (struct control_flow_graph): Move last_label_uid field up.
215         * df.h (struct df_base_ref): Move regno field up.
216         * dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down.
217         * expr.h (struct separate_ops): Move location field up.
218         * optabs.h (struct optab_d): Move libcall_basename field down.
219         * config/i386/i386.c (struct ix86_frame): Move red_zone_size up.
220         * config/i386/i386.h (struct machine_function): Convert call_abi field
221         into a bitfield.  Move cfa field to the end of the structure.
222
223 2010-05-29  Jan Hubicka  <jh@suse.cz>
224
225         * varpool.c (varpool_get_node): Fix lookup.
226
227 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
228
229         * config/spu/spu-protos.h: Do not include rtl.h.  Protect
230         RTL specific prototypes with #ifdef RTX_CODE.
231         * config/spu/spu-c.c: Include c-common.h instead of c-tree.h.
232         * config/spu/t-spu-elf: Fix dependencies.
233
234         * config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
235
236 2010-05-29  Mike Stump  <mikestump@comcast.net>
237
238         PR bootstrap/44315
239         * Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
240         TM_H when building to avoid dependency loops.
241
242 2010-05-29  Jan Hubicka  <jh@suse.cz>
243
244         * cgraphunit.c (cgraph_materialize_clone): Only remove calles,
245         refs and body; not the whole node for masters of materialized
246         clones.
247
248 2010-05-29  Mike Stump  <mikestump@comcast.net>
249
250         * config/rs6000/rs6000-c.c: Remove c-tree.h include.
251
252 2010-05-29  Jan Hubicka  <jh@suse.cz>
253
254         * cgraph.c (clone_function_name): Take SUFFIX argument; export.
255         (cgraph_create_virtual_clone): Take SUFFIX argument; udpate
256         use of clone_function_name.
257         * cgraph.h (cgraph_create_virtual_clone, 
258         cgraph_function_versioning): update prototypes.
259         (clone_function_name): Declare.
260         * ipa-cp.c (ipcp_insert_stage): Update call of
261         cgraph_create_virtual_clone.
262         * omp-low.c (create_omp_child_function_name): Use
263         cgraph_create_virtual_clone.
264         * cgraphunit.c (cgraph_copy_node_for_versioning): Fix edges updating.
265         (cgraph_function_versioning): Take SUFFIX argument; produce new name
266         and make decl local.
267
268 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
269
270         * vec.h: Include statistics.h
271         * Makefile.in: Introduce VEC_H.  Replace all vec.h dependencies
272         with VEC_H.
273
274 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
275
276         * c-lex.c: Do not include c-tree.h.
277         * c-pretty-print.c: Likewise.
278         * c-opts.c: Likewise.
279         * c-gimplify.c: Likewise.
280         * c-common.c: Likewise.
281         * c-dump.c: Likewise.  Include c-common.h.
282
283 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
284
285         * c-common.h (GCC_DIAG_STYLE): Define earlier in the file,
286         before including diagnostic-core.h.
287         (c_cpp_error): New prototype moved from c-tree.h.
288         Use ATTRIBUTE_GCC_DIAG instead of ATTRIBUTE_GCC_CDIAG.
289         * c-tree.h (ATTRIBUTE_GCC_CDIAG): Remove define.
290         (pedwarn_c90, perwarn_c99): Use ATTRIBUTE_GCC_DIAG instead.
291         (c_cpp_error): Prototype moved to c-common.h.
292         * Makefile.in: Update dependency for C_COMMON_H.
293
294 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
295
296         * c-common.h: Add FIXME for awkward split of c_register_addr_space.
297         * c-common.c (c_register_addr_space): Remove here.
298         * c-decl.c (c_register_addr_space): Re-add here.
299
300 2010-05-28  Mike Stump  <mikestump@comcast.net>
301
302         * config/darwin-c.c: Remove c-tree.h include.
303
304 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
305
306         * gcc.c: Include diagnostic.h.
307         (error_count): Remove.  All users changed to use errorcount.
308         (programname): Remove.  All users changed to use progname.
309         (fancy_abort, internal_error, fatal_error, error, warning, inform,
310         fnotice): Remove.
311         (execute): Don't include "Internal error" and bug reporting
312         information in argument of internal_error call.
313         (process_command): Don't increment error_count after calling
314         perror_with_name.
315         (input_filename): Rename to gcc_input_filename.  All users
316         changed.
317         (main): Call diagnostic_initialize.  Register delete_temp_files
318         with atexit.  Use seen_error to test for errors.
319         * gcc.h: Include diagnostic-core.h.
320         (fatal_error, error, warning): Remove.
321         * Makefile.in (GCC_H): Add $(DIAGNOSTIC_CORE_H).
322         (GCC_OBJS): Add diagnostic.o, pretty-print.o and input.o.
323         (gcc.o): Update dependencies.
324
325 2010-05-28  Jeff Law  <law@redhat.com>
326
327         * ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
328         functions.
329         * ira.h (ira_bad_reload_regno): Declare
330         * reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
331
332         * ira-color.c (update_curr_costs): Free updated hard reg costs.
333         (ira_reassign_conflict_allocnos): Remove bogus asserts.
334         (allocno_reload_assign): Likewise.
335
336 2010-05-28  Nathan Froyd  <froydnj@codesourcery.com>
337
338         * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
339         build1_stat.
340
341 2010-05-28  Richard Guenther  <rguenther@suse.de>
342
343         PR lto/44312
344         * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
345         Stream fixed-point constants mode.
346         (unpack_ts_type_value_fields): Fix width of TYPE_MODE
347         and TYPE_PRECISION.
348         * lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
349         Stream fixed-point constants mode.
350         (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
351         and TYPE_PRECISION.
352
353 2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
354
355         * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
356         only place it was called from.
357         (number_of_latch_executions): Do not return chrec_dont_know when the
358         may_be_zero is a runtime condition: instead, return a COND_EXPR
359         including the may_be_zero condition.
360         * cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
361         of nb_iterations.
362         * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
363         COND_EXPRs.
364
365 2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
366
367         * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
368         generate COND_EXPRs for degenerate_phi_result.
369
370 2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
371
372         PR middle-end/44293
373         * tree-if-conv.c (if_convertible_loop_p): Check the
374         if-convertibility of phi nodes in non predicated BBs.
375
376 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
377
378         * gcc.c (error, warning, inform): Remove duplicate ": " in output.
379
380 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
381
382         PR driver/15303
383         * gcc.c (inform, warning, inform): New functions.
384         (fatal_ice): Rename to internal_error; change cmsgid parameter to
385         gmsgid.  All callers changed.
386         (notice): Rename to fnotice; add parameter fp.  All callers
387         changed.
388         (fatal_error): Rename to fatal_signal.  All users changed.
389         (fatal): Rename to fatal_error; change cmsgid parameter to
390         gmsgid.  All callers changed.
391         (process_command): Use warning instead of error for warnings.
392         (end_going_arg): Don't use _() around argument of error.
393         (do_spec_1): Use inform for message from %n specs.  Use warning
394         instead of error for warnings.
395         (main): Use inform for comparison messages.  Use warning for
396         message about unused linker input.
397         (error): Increment error_count.  Print "error: ".
398         * gcc.h (fatal): Change to fatal_error.
399         (warning): Declare.
400         * config/darwin-driver.c (darwin_default_min_version): Use warning
401         instead of fprintf for warnings.
402         * cppspec.c (lang_specific_driver): Use fatal_error instead of
403         fatal.
404
405 2010-05-28  Julian Brown  <julian@codesourcery.com>
406
407         * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
408         (*thumb2_addsi3_compare0_scratch): New.
409         * config/arm/constraints.md (Pv): New.
410         * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
411         for ARM mode only.
412         (*addsi3_compare0_scratch): Likewise.
413
414 2010-05-28  Jan Hubicka  <jh@suse.cz>
415
416         * ipa-reference.c (add_static_var): Remove redundant all_module_statics
417         check.
418         (ipa_reference_write_optimization_summary): Call is_proper_for_analysis
419         only on local statics.
420
421 2010-05-28  Iain Sandoe  <iains@gcc.gnu.org>
422
423         * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
424
425 2010-05-28  Maxim Kuvyrkov  <maxim@codesourcery.com>
426
427         PR bootstrap/44314
428         * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
429         (OPTION_GLIBC): Define.
430
431 2010-05-28  Jakub Jelinek  <jakub@redhat.com>
432
433         PR debug/41048
434         * dwarf2out.c (double_int_type_size_in_bits): New function.
435         (round_up_to_align): Change first argument and return value to
436         double_int.
437         (field_byte_offset): Work internally on double_ints.
438
439         PR target/43636
440         * builtins.c (expand_movstr): Use a temporary pseudo instead
441         of target even when target is not NULL and not const0_rtx, but
442         fails movstr predicate.
443         * config/m32c/blkmov.md (movstr): Add predicate to first operand.
444
445 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
446
447         * final.c (rest_of_clean_state): Use %m in errors instead of
448         strerror (errno).
449         * gengtype.c (read_input_list, close_output_files): Use xstrerror
450         instead of strerror.
451         * toplev.c (process_options): Use %m in errors instead of strerror
452         (errno).
453         * tree-dump.c (dump_begin): Use %m in errors instead of strerror
454         (errno).
455
456 2010-05-28  Uros Bizjak  <ubizjak@gmail.com>
457
458         * config/i386/i386.c (ix86_fn_abi_va_list): Make static.
459         (ix86_canonical_va_list_type): Make static.  Add declaration.
460         (ix86_enum_va_list): Make static.  Reindent.
461         * config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration.
462         (ix86_canonical_va_list_type): Ditto.
463         (ix86_enum_va_list): Ditto.
464
465 2010-05-28  Richard Guenther  <rguenther@suse.de>
466
467         * lto-wrapper.c (run_gcc): With -save-temps generate a
468         user-visible ltrans filename.  Fixup ltrans unit numbering.
469
470 2010-05-28  Kai Tietz  <kai.tietz@onevision.com>
471
472         * c-common.c (c_common_nodes_and_builtins): Replace use
473         of TARGET_ENUM_VA_LIST by target hook enum_va_list.
474         * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook
475         to ix86_enum_va_list.
476         * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed.
477         * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed.
478         (TARGET_ENUM_VA_LIST_P): Add hook description.
479         * target-def.h (TARGET_ENUM_VA_LIST_P): Added.
480         * target.h (gcc_target): Add enum_va_list hook.
481
482         PR bootstrap/44299
483         * config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c.
484         * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine.
485         * config/i386/winnt.c (IN_GCC_FRONTEND): Likewise.
486
487 2010-05-28  Alan Modra  <amodra@gmail.com>
488
489         PR target/44266
490         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
491         emit_library_call machinery to set up __tls_get_addr calls.
492
493 2010-05-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
494
495         * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
496
497 2010-05-28  Dodji Seketeli  <dodji@redhat.com>
498
499         Revert fix for PR c++/44188
500         * c-common.c (is_typedef_decl): Revert the moving of  this
501         definition ...
502         * tree.c (is_typedef_decl): ... here.
503         (typdef_variant_p): Revert the moving of this  definition
504         here from gcc/cp/tree.c.
505         * c-common.h (is_typedef_decl): Revert the moving of this
506         declaration ...
507         * tree.h (is_typedef_decl): ... here.
508         (typedef_variant_p): Revert the moving of this  declaration here
509         from gcc/cp/cp-tree.h
510         * dwarf2out.c (is_naming_typedef_decl): Revert this new function.
511         (gen_tagged_type_die): Revert the splitting out of ...
512         (gen_type_die_with_usage): ... this function. Revert the anonymous
513         tagged type handling.
514         (gen_typedef_die): Revert emitting DW_TAG_typedef  for
515         typedefs naming anonymous tagged types.
516
517 2010-05-28  Segher Boessenkool  <segher@kernel.crashing.org>
518
519         * config/rs6000/rs6000-modes.def (PSImode): Delete.
520
521 2010-05-28  Segher Boessenkool  <segher@kernel.crashing.org>
522
523         * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
524         * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
525         throughout.
526         * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
527         "xer" to "ca".
528         Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
529         XER_REGS to CA_REGS throughout.
530         * config/rs6000/rs6000.h: Same.
531         (ADDITIONAL_REGISTER_NAMES): Add "xer".
532         * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO.  Document
533         that mode_iterator "P" is the size for arithmetic carries as well.
534         * doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
535
536 2010-05-28  Jakub Jelinek  <jakub@redhat.com>
537
538         PR bootstrap/44255
539         * combine.c (struct rtx_subst_pair): Define unconditionally.
540         (propagate_for_debug_subst): Likewise.  If not AUTO_INC_DEC,
541         copy_rtx pair->to instead of cleanup_auto_inc_dec it.
542         Call make_compound_operation on pair->to.
543         (propagate_for_debug): Don't call make_compound_operation here.
544         Always use simplify_replace_fn_rtx.
545
546 2010-05-27  Sterling Augustine  <sterling@tensilica.com>
547
548         * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
549         * config/xtensa/xtensa.c (override_options): Check
550           TARGET_FORCE_NO_PIC and set flag_pic.
551         * config/xtensa/xtensa.opt: Document -mforce-no-pic
552
553 2010-05-27  Kai Tietz  <kai.tietz@onevision.com>
554
555         PR bootstrap/44299
556         * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
557         * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
558
559 2010-05-27  Joseph Myers  <joseph@codesourcery.com>
560
561         * diagnostic-core.h: New.  Contents moved from diagnostic.h and
562         toplev.h.
563         * diagnostic.c: Don't include toplev.h.
564         (progname): Define.  Moved from toplev.c.
565         (seen_error): New function.
566         * diagnostic.h: Include diagnostic-core.h.
567         (diagnostic_t, emit_diagnostic): Don't declare here.
568         * toplev.c (progname): Move to toplev.c.
569         (emit_debug_global_declarations, compile_file, finalize,
570         do_compile, toplev_main): Use seen_error.
571         * toplev.h: Include diagnostic-core.h.
572         (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
573         internal_error, warning, warning_at, error, error_n, error_at,
574         fatal_error, pedwarn, permerror, sorry, inform, inform_n,
575         verbatim, fnotice, progname): Move to diagnostic-core.h.
576         * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
577         (expand_builtin_expect): Use seen_error.
578         * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
579         (c_make_fname_decl, c_write_global_declarations): Use seen_error.
580         * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
581         * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
582         * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
583         * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
584         errorcount for errors.
585         * c-opts.c (c_common_finish): Use seen_error.
586         * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
587         * cgraphunit.c (verify_cgraph_node, verify_cgraph,
588         cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
589         * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
590         (get_coverage_counts): Use seen_error.
591         * dwarf2out.c (dwarf2out_finish): Use seen_error.
592         * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
593         gimplify_body): Use seen_error.
594         * ipa-inline.c (cgraph_early_inlining): Use seen_error.
595         * ipa-pure-const.c (gate_pure_const): Use seen_error.
596         * ipa-reference.c (gate_reference): Use seen_error.
597         * jump.c: Include diagnostic-core.h instead of diagnostic.h.
598         * lambda-code.c: Include diagnostic-core.h instead of
599         diagnostic.h.
600         * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
601         * lto-compress.c: Include diagnostic-core.h instead of
602         diagnostic.h.
603         * lto-section-in.c: Include diagnostic-core.h instead of
604         diagnostic.h.
605         * lto-streamer-out.c: Include diagnostic-core.h instead of
606         diagnostic.h.
607         * lto-streamer.c: Include diagnostic-core.h instead of
608         diagnostic.h.
609         (gate_lto_out): Use seen_error.
610         * matrix-reorg.c: Include diagnostic-core.h instead of
611         diagnostic.h.
612         * omega.c: Include diagnostic-core.h instead of diagnostic.h.
613         * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
614         (gate_expand_omp, lower_omp_1): Use seen_error.
615         * passes.c: Include diagnostic-core.h instead of diagnostic.h.
616         (rest_of_decl_compilation, rest_of_type_compilation,
617         gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
618         * tree-cfg.c (label_to_block_fn): Use seen_error.
619         * tree-inline.c (optimize_inline_calls): Use seen_error.
620         * tree-mudflap.c (mudflap_finish_file): Use
621         seen_error.
622         * tree-optimize.c (gate_all_optimizations,
623         gate_all_early_local_passes, gate_all_early_optimizations): Use
624         seen_error.
625         * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
626         * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
627         (varpool_remove_unreferenced_decls,
628         varpool_assemble_pending_decls): Use seen_error.
629         * Makefile.in (DIAGNOSTIC_CORE_H): Define.
630         (TOPLEV_H, DIAGNOSTIC_H): Update.
631         (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
632         lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
633         c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
634         builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
635         coverage.o, lambda-code.o): Update dependencies.
636
637 2010-05-25  Dodji Seketeli  <dodji@redhat.com>
638
639         PR c++/44188
640         * c-common.c (is_typedef_decl): Move this definition ...
641         * tree.c (is_typedef_decl): ... here.
642         (typdef_variant_p): Move definition here from gcc/cp/tree.c.
643         * c-common.h (is_typedef_decl): Move this declaration ...
644         * tree.h (is_typedef_decl): ... here.
645         (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
646         * dwarf2out.c (is_naming_typedef_decl): New function.
647         (gen_tagged_type_die): Split out of ...
648         (gen_type_die_with_usage): ... this function. When an anonymous
649         tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
650         is emitted for the typedef.
651         (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
652         anonymous tagged types.
653
654 2010-05-27  Jason Merrill  <jason@redhat.com>
655
656         * print-tree.c (debug_vec_tree): New fn.
657         (print_vec_tree): New fn.
658         * tree.h: Declare them.
659         * gdbinit.in (pvt): New command.
660
661         * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
662
663         * gdbinit.in (pdd): New command.
664
665 2010-05-27  Jan Hubicka  <jh@suse.cz>
666
667         * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
668         (update_caller_keys): Return early if there are no callers;
669         only update fibheap when decresing the key.
670         (update_callee_keys): Avoid recursion.
671         (decide_inlining_of_small_functions): When badness does not match;
672         re-insert into fibheap.
673
674 2010-05-27  Steven Bosscher  <steven@gcc.gnu.org>
675
676         * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
677         (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
678         (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
679         (ALL_HOST_OBJS): Now a union of the above two.
680         <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
681         all files in ALL_HOST_FRONTEND_OBJS.
682         * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
683
684         * c-common.c: Pretend to be a backend file by undefining
685         IN_GCC_FRONTEND (still need rtl.h here).
686
687 2010-05-27  Jan Hubicka  <jh@suse.cz>
688
689         * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
690         * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
691
692 2010-05-27  Jan Hubicka  <jh@suse.cz>
693
694         * sched-ebb.c: Rename struct deps to struct deps_desc.
695         * ddg.c: Likewise.
696         * sel-sched-ir.c: Likewise.
697         * sched-deps.c: Likewise.
698         * sched-int.h: Likewise.
699         * sched-rgn.c: Likewise.
700
701 2010-05-27  Jon Beniston <jon@beniston.com>
702
703         PR 43726
704         * config/lm32/lm32.h: Remove definition of 
705         GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
706
707 2010-05-27  Eric Botcazou  <ebotcazou@adacore.com>
708
709         PR lto/44230
710         * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
711
712 2010-05-27  Richard Guenther  <rguenther@suse.de>
713
714         PR tree-optimization/44284
715         * tree-vect-stmts.c (vectorizable_assignment): Handle
716         sign-changing conversions as simple copy.
717
718 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
719
720         * gthr-posix.h (pthread_cancel): Don't declare if compiling against
721         Bionic C library.
722         (__gthread_active_p): Check for pthread_create if compiling against
723         Bionic C library.
724
725 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
726
727         Support compilation for Android platform.  Reimplement -mandroid.
728
729         * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
730         (*android*): Set ANDROID_DEFAULT.
731         (arm*-*-linux*): Include linux-android.h.
732         (arm*-*-eabi*): Don't include previous -mandroid implementation.
733         * config/arm/eabi.h: Remove, move Android-specific parts ...
734         * config/linux-android.h: ... here.  New file.
735         * config/arm/eabi.opt: Rename to ...
736         * config/linux-android.opt: ... this.
737         (mandroid): Allow -mno-android option.  Initialize based on
738         ANDROID_DEFAULT.
739         * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
740         Move logic to corresponding LINUX_TARGET_* macros.
741         (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
742         * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
743         (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
744         Android definitions.
745         (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
746         * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
747         Document.
748
749 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
750
751         Add support for Bionic C library
752
753         * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
754         macro.
755         (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
756         (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
757
758         * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
759         (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
760         (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
761         to support multiple C libraries.  Handle Bionic.
762         (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
763         (BIONIC_DYNAMIC_LINKER64): Define.
764         (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
765         Update.
766         (TARGET_HAS_SINCOS): Enable for Bionic.
767
768         * config/linux.opt: Rewrite to handle more than 2 C libraries.  Make
769         the last option specified on command line take effect.
770         (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
771         (mbionic): New.
772         (mglibc, muclibc): Update.
773
774         * config/alpha/linux-elf.h, config/rs6000/linux64.h,
775         * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
776         DEFAULT_LIBC.
777
778         * doc/invoke.texi (-mglibc, -muclibc): Update.
779         (-mbionic): Document.
780
781 2010-05-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
782
783         * c-common.h (c_register_addr_space): Add prototype.
784         (ADDR_SPACE_KEYWORD): Remove.
785         * c-common.c (c_register_addr_space): New function.
786         (c_addr_space_name): Reimplement.
787         (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
788
789         * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
790         (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
791
792         * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
793         Remove TARGET_ADDR_SPACE_KEYWORDS.
794
795 2010-05-27  Joseph Myers  <joseph@codesourcery.com>
796
797         * input.c: New file.
798         * input.h (main_input_filename): Move declaration to toplev.h.
799         * toplev.c (input_location, line_table): Move to input.c
800         * toplev.h (main_input_filename): Move declaration from input.h.
801         * tree.c (expand_location): Move to input.c.
802         * Makefile.in (OBJS-common): Add input.o.
803         (input.o): Add dependencies.
804
805 2010-05-27  Richard Guenther  <rguenther@suse.de>
806
807         * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
808         for non-existant files.
809         (fork_execute): Mark args_name file as deleted.
810
811 2010-05-27  Kai Tietz  <kai.tietz@onevision.com>
812
813         PR bootstrp/44287
814         * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
815         (narrow_signed_type): Likewise.
816
817 2010-05-26  Jan Hubicka  <jh@suse.cz>
818
819         * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
820         edge only when checking is enabled; check using former_clone_of;
821         check inline clones too.
822         (cgraph_materialize_clone): Record former_clone_of pointer.
823         (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
824         combining redirections; dump args_to_skip bitmap
825         (cgraph_materialize_all_clones): Do no redirection here.
826         * ipa-inline.c (inline_transform): Do redirection here.
827         * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
828         cheking only).
829
830 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
831
832         * config/avr/avr-c.c: Do not include regs.h.
833         Include cpplib.h for cpp_define and tree.h for c-common.h.
834         * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
835         * config/avr/t-avr: Fix dependencies for avr-c.o.
836
837 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
838
839         * explow.c (set_stack_check_libfunc): Adjust to accept name as a
840         string instead of SYMBOL_REF rtx.
841         * rtl.h (set_stack_check_libfunc): Move prototype from here...
842         * libfuncs.h: ...to here.  Adjust for explow.c change.
843
844 2010-05-26  Joseph Myers  <joseph@codesourcery.com>
845
846         * pretty-print.c: Don't include ggc.h.
847         (identifier_to_locale_alloc, identifier_to_locale_free): Define.
848         (identifier_to_locale): Use them for allocation.
849         * pretty-print.h (identifier_to_locale_alloc,
850         identifier_to_locale_free): Declare.
851         * toplev.c (alloc_for_identifier_to_locale): New.
852         (general_init): Set identifier_to_locale_alloc and
853         identifier_to_locale_free.
854         * Makefile.in (pretty-print.o): Update dependencies.
855
856 2010-05-26  Eric Botcazou  <ebotcazou@adacore.com>
857
858         * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
859         pointer types if they have different alignment or mode.
860
861 2010-05-26  Anatoly Sokolov  <aesok@post.ru>
862
863         * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
864         LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
865         * config/sparc/sparc-protos.h (function_value): Remove declaration.
866         * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
867         sparc_function_value_regno_p): New functions.
868         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
869         TARGET_FUNCTION_VALUE_REGNO_P): Define.
870         (function_value): Rename to...
871         (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
872         argument to 'outgoing'.
873         (function_arg_record_value, function_arg_union_value,
874         function_arg_vector_value): Update comment.
875
876 2010-05-26  Eric Botcazou  <ebotcazou@adacore.com>
877
878         * dwarf2out.c (struct dw_fde_struct): Reorder flags.
879         (fde_needed_for_eh_p): New predicate.
880         (output_call_frame_info): Use it throughout to decide whether FDEs
881         are needed for EH purpose.
882         (dwarf2out_begin_prologue): Reorder assignments.
883
884 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
885
886         * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
887         special case loop->header.
888         (is_predicated): New.
889         (if_convertible_loop_p): Call it.
890
891 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
892
893         * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
894         iterator in parameter.  Do not generate code during the analysis.
895         (tree_if_convert_cond_stmt): Removed.
896         (tree_if_convert_stmt): Removed.
897         (predicate_bbs): New.
898         (if_convertible_loop_p): Call predicate_bbs.
899         (tree_if_conversion): Simplify the top-level logic as predicate_bbs
900         now contains all the analysis part.
901
902 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
903
904         * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
905         statements in the analysis part.
906         (tree_if_convert_stmt): Update comment.
907         (remove_conditions_and_labels): New.
908         (combine_blocks): Call remove_conditions_and_labels.
909         (tree_if_conversion): Update comment.
910
911 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
912
913         * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
914         than 2 predecessors or more than 2 successors.
915
916 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
917
918         * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
919         of loops in which the data dependence analysis fails.
920
921 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
922
923         * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
924         CDI_POST_DOMINATORS.
925         (tree_if_conversion): Same.
926
927 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
928
929         * tree-if-conv.c (tree_if_conversion): Do not return a bool.
930
931 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
932
933         * tree-if-conv.c: Update copyright years.  Fix comments.
934         Fix indentation.
935
936 2010-05-26  Kai Tietz  <kai.tietz@onevision.com>
937
938         * builtin-types.def (BT_INT128): New primitive type.
939         (BT_UINT128): Likewise.
940         * c-common.c (c_common_r): Add __int128 keyword.
941         (c_common_type_for_size): Handle __int128.
942         (c_common_type_for_mode): Likewise.
943         (c_common_signed_or_unsigned_type): Likewise.
944         (c_common_nodes_and_builtins): Add builtin type
945         if target supports 128-bit integer scalar.
946         * c-common.h (enum rid): Add RID_INT128.
947         * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
948         if target supports 128-bit integer scalar.
949         * c-decl.c (declspecs_add_type): Handle new keyword __int128.
950         (finish_declspecs): Likewise.
951         * c-parser.c (c_token_starts_typename): Handle RID_INT128.
952         (c_token_starts_declspecs): Likewise.
953         (c_parser_declspecs): Likewise.
954         (c_parser_attributes): Likewise.
955         (c_parser_objc_selector): Likewise.
956         * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
957         * c-tree.h (enum c_typespec_keyword): Add cts_int128.
958         * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
959         * tree.c (make_or_reuse_type): Likewise.
960         (make_unsigned_type): Likewise.
961         (build_common_tree_nodes_2): Likewise.
962         * tree.h (enum integer_type_kind): Add itk_int128 and
963         itk_unsigned_int128.
964         (int128_integer_type_node): New define.
965         (int128_unsigned_type_node): New define.
966         * doc/extend.texi: Add documentation about __int128 type.
967
968 2010-05-26  Richard Guenther  <rguenther@suse.de>
969
970         * tree-ssa-sccvn.c (copy_nary): Adjust.
971         (copy_phis): Rename to ...
972         (copy_phi): ... this.  Adjust.
973         (copy_references): Rename to ...
974         (copy_reference): ... this.  Adjust.
975         (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
976         result into the valid table.
977
978 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
979
980         * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
981         insn-config.h, insn-codes.h, recog.h, and optabs.h.
982
983 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
984
985         * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
986
987 2010-05-26  Richard Guenther  <rguenther@suse.de>
988
989         * opts.c (common_handle_option): Handle OPT_Ofast.
990
991 2010-05-26  Joseph Myers  <joseph@codesourcery.com>
992
993         * diagnostic.c: Don't include opts.h.
994         (permissive_error_option): Define.
995         (diagnostic_initialize): Take n_opts parameter.  Allocate memory
996         for classify_diagnostic.  Don't use memset for
997         classify_diagnostic.  Initialize new and recently added fields.
998         (diagnostic_classify_diagnostic): Use context->n_opts instead of
999         N_OPTS.
1000         (diagnostic_report_diagnostic): Pass context parameter to
1001         diagnostic_report_warnings_p.  Use option_enabled and option_name
1002         hooks from context.
1003         (emit_diagnostic): Use permissive_error_option.
1004         (permerror): Likewise.
1005         * diagnostic.h: Don't include options.h.
1006         (struct diagnostic_context): Add n_opts, opt_permissive,
1007         inhibit_warnings, warn_system_headers, option_enabled and
1008         option_name fields.  Change classify_diagnostic to a pointer.
1009         * opts-diagnostic.h: New file.
1010         * opts.c: Include opts-diagnostic.h.
1011         (common_handle_option): Set global_dc fields for -Wfatal-errors,
1012         -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
1013         (option_name): New function.
1014         * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
1015         (c_common_handle_option): Set global_dc->permissive for
1016         -fpermissive.
1017         * c-common.c (c_cpp_error): Save and restore
1018         global_dc->warn_system_headers, not variable warn_system_headers.
1019         * toplev.c: Include opts-diagnostic.h.
1020         (general_init): Update call to diagnostic_initialize.  Set
1021         global_dc->show_column, global_dc->option_enabled and
1022         global_dc->option_name.
1023         (process_options): Don't set global_dc fields here.
1024         * Makefile.in (DIAGNOSTIC_H): Remove options.h.
1025         (diagnostic.o, opts.o, toplev.o): Update dependencies.
1026
1027 2010-04-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
1028
1029         * config/picochip/picochip.md (movsi): Split a movsi from a
1030         const after reload.
1031
1032 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1033
1034         * ggc-zone.c: Update copyright year.
1035         (poison_region): Mark memory for Valgrind as undefined before
1036         memset () call and inaccessible afterwards.
1037         (ggc_pch_total_size): Change type of i to int.
1038
1039 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1040
1041         * ggc-common.c (ggc_free_overhead): Allow empty slot.
1042
1043 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1044
1045         * ggc-common.c: Update copyright year.
1046         (ggc_rlimit_bound): Remove prototype.  Compile only if
1047         !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
1048         (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
1049         && !ENABLE_GC_ALWAYS_COLLECT.  Make static.
1050         (ggc_min_heapsize_heuristic): Likewise.
1051
1052 2010-05-26  Richard Guenther  <rguenther@suse.de>
1053
1054         PR rtl-optimization/44164
1055         * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
1056         no-common access-path disambiguation.
1057         (indirect_ref_may_alias_decl_p): Adjust.
1058         (indirect_refs_may_alias_p): Likewise.
1059         (refs_may_alias_p_1): Likewise.
1060
1061 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
1062
1063         * c-typeck.c: Do not include expr.h.
1064
1065 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
1066
1067         * rtl.h (decl_default_tls_model): Move prototype from here...
1068         * output.h: ...to here.
1069         * c-decl.c: Do not include rtl.h.
1070         * c-pragma.c: Likewise.
1071         * c-parser.c: Likewise.
1072         * c-gimplify.c: Likewise.  And also not hard-reg-set.
1073         * c-common.c: Do not include rtl.h.  Include tm_p.h and add a
1074         FIXME note for it.  Add a FIXME note for expr.h.
1075         * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
1076         ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
1077         defined.
1078
1079 2010-05-26  Jakub Jelinek  <jakub@redhat.com>
1080
1081         PR target/44199
1082         * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
1083         or total_size is larger than red zone size for non-V4 ABI, emit a
1084         stack_tie resp. frame_tie insn before stack pointer restore.
1085         * config/rs6000/rs6000.md (frame_tie): New insn.
1086
1087 2010-05-25  Eric Botcazou  <ebotcazou@adacore.com>
1088
1089         * function.h (struct function): Add can_throw_non_call_exceptions bit.
1090         * lto-streamer-in.c (input_function): Stream it in.
1091         * lto-streamer-out.c (output_function): Stream it out.
1092         * function.c (allocate_struct_function): Set it.
1093         (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
1094         for flag_non_call_exceptions.
1095         * cfgbuild.c (control_flow_insn_p): Likewise.
1096         (make_edges): Likewise.
1097         * cfgexpand.c (expand_stack_alignment): Likewise.
1098         * combine.c (distribute_notes): Likewise.
1099         * cse.c (cse_extended_basic_block): Likewise.
1100         * except.c (insn_could_throw_p): Likewise.
1101         * gcse.c (simple_mem): Likewise.
1102         * ipa-pure-const.c (check_call): Likewise.
1103         (check_stmt ): Likewise.
1104         * lower-subreg.c (lower-subreg.c): Likewise.
1105         * optabs.c (emit_libcall_block): Likewise.
1106         (prepare_cmp_insn): Likewise.
1107         * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
1108         * postreload.c (rest_of_handle_postreload): Likewise.
1109         * reload1.c (reload_as_needed): Likewise.
1110         (emit_input_reload_insns): Likewise.
1111         (emit_output_reload_insns): Likewise.
1112         (fixup_abnormal_edges): Likewise.
1113         * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
1114         * store-motion.c (find_moveable_store): Likewise.
1115         * tree-eh.c (stmt_could_throw_p): Likewise.
1116         (tree_could_throw_p): Likewise.
1117         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
1118         * config/arm/arm.c (arm_expand_prologue): Likewise.
1119         (thumb1_expand_prologue): Likewise.
1120         * config/rx/rx.md (cbranchsf4): Likewise.
1121         (cmpsf): Likewise.
1122         * config/s390/s390.c (s390_emit_prologue): Likewise.
1123         * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
1124         (inline_forbidden_into_p): New predicate.
1125         (expand_call_inline): Use it to forbid inlining.
1126         (tree_can_inline_p): Likewise.
1127
1128 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
1129
1130         * config/i386/i386-c.c: Do not include rtl.h.
1131         * config/i386/t-i386: Update dependencies.
1132
1133 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
1134
1135         * attribs.c: Do not include rtl.h.
1136         * Makefile.in: Update dependencies.
1137
1138 2010-05-25  Anatoly Sokolov  <aesok@post.ru>
1139
1140         * double-int.h (double_int_and): New.
1141         * combine.c (try_combine): Clean up, use double_int_* and
1142         immed_double_int_const functions.
1143
1144 2010-05-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1145
1146         * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
1147         stderr to /dev/null instead of grep -q.
1148         * configure: Regenerate.
1149
1150 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
1151
1152         * Makefile.in (EXCEPT_H): Fix typo.
1153
1154 2010-05-25  Vladimir Makarov <vmakarov@redhat.com>
1155
1156         * ira-build.c (update_conflict_hard_reg_costs): New.
1157         (ira_build): Call update_conflict_hard_reg_costs.
1158
1159 2010-05-25  Jakub Jelinek  <jakub@redhat.com>
1160
1161         PR debug/41371
1162         * var-tracking.c (find_loc_in_1pdv): Guard asserts with
1163         ENABLE_CHECKING.
1164         (intersect_loc_chains): Walk the s2var's loc_chain together
1165         with s1node chain as long as the locations are equal, don't
1166         call find_loc_in_1pdv in that case.
1167
1168         PR debug/42801
1169         * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
1170         (copy_bind_expr): ... instead of here.
1171         (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
1172         if the block hasn't been remapped.
1173         * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
1174         emitting concrete instance of abstract VLA, add DW_AT_type attribute.
1175
1176 2010-05-25  Richard Guenther  <rguenther@suse.de>
1177
1178         PR middle-end/44069
1179         * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
1180         out-of-bounds array accesses.
1181
1182 2010-05-25  Richard Guenther  <rguenther@suse.de>
1183
1184         * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
1185         (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
1186         (run_gcc): Re-organize to make cleanup easier.
1187
1188 2010-05-25  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1189
1190         * config/s390/s390.c (optimization_options): Fix and move the
1191         flag_prefetch_loop_arrays override ...
1192         (override_options): ... here.
1193
1194 2010-05-25  Joseph Myers  <joseph@codesourcery.com>
1195
1196         * diagnostic.c: Don't include plugin.h.
1197         (diagnostic_report_diagnostic): Don't handle plugins specially
1198         here.  Pass context to internal_error callback.
1199         * diagnostic.h (struct diagnostic_context): Add context parameter
1200         to internal_error callback.
1201         * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
1202         * plugin.h (struct diagnostic_context): Declare.
1203         (warn_if_plugins, plugins_internal_error_function): Declare.
1204         * toplev.c (general_init): Set global_dc->internal_error.
1205         * Makefile.in (diagnostic.o): Update dependencies.
1206
1207 2010-05-25 Iain Sandoe  <iains@gcc.gnu.org>
1208
1209         * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
1210         * config/rs6000/t-darwin64: New.
1211         * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
1212         build crt2.
1213
1214 2010-05-25  Christian Borntraeger  <borntraeger@de.ibm.com>
1215
1216         PR 44203
1217         * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
1218         match the original (and intended) behaviour before r159557.  This
1219         changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
1220         in two ways.
1221
1222 2010-05-25  Richard Guenther  <rguenther@suse.de>
1223
1224         * doc/invoke.texi: Document -Ofast.
1225         * target.h (struct gcc_target): Add handle_ofast.
1226         * target-def.h (TARGET_HANDLE_OFAST): Add.
1227         (TARGET_INITIALIZER): Adjust.
1228         * opts.c (decode_options): Handle -Ofast.  Enable -ffast-math with it.
1229         * common.opt (Ofast): Add.
1230
1231 2010-05-25  Paolo Bonzini  <bonzini@gnu.org>
1232
1233         * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
1234         * doc/md.texi (cstoreXX4): Update for cond-optab changes.
1235
1236 2010-05-25  Paolo Bonzini  <bonzini@gnu.org>
1237
1238         PR target/43610
1239         * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
1240         even if !FLOAT_LIB_COMPARE_RETURNS_BOOL.  Always compute true_rtx and
1241         false_rtx.  Use false_rtx to compute the correct *ptest for reversed
1242         comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
1243
1244 2010-05-25  Jakub Jelinek  <jakub@redhat.com>
1245
1246         * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
1247         DW_OP_minus with negated offset instead of DW_OP_plus.
1248         (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
1249
1250 2010-05-25  Wei Guozhi  <carrot@google.com>
1251
1252         * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
1253         tst instruction and a new alternative.
1254         * config/arm/constraints.md (Pu): New constraint.
1255
1256 2010-05-24  Sebastian Pop  <sebastian.pop@amd.com>
1257
1258         * function.c (assign_stack_local_1): Initialize variable
1259         to avoid warning when bootstrapping at -O3.
1260
1261 2010-05-24  Steven Bosscher  <steven@gcc.gnu.org>
1262
1263         * configure.ac (all_lang_makefiles): Remove everything related to it.
1264         * configure: Regenerate.
1265         * Makefile.in: Fix reference to ada Make-lang.in.
1266         Remove support for LANG_MAKEFILES.
1267
1268 2010-05-24  Daniel Jacobowitz  <dan@codesourcery.com>
1269             Sandra Loosemore  <sandra@codesourcery.com>
1270
1271         * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
1272         * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
1273         description.  Add arm_neon_fp16_ok.
1274         (Add Options): Add arm_neon and arm_neon_fp16.
1275
1276 2010-05-24  Joseph Myers  <joseph@codesourcery.com>
1277
1278         * diagnostic.c: Don't include flags.h.
1279         (pedantic_warning_kind, permissive_error_kind): Take diagnostic
1280         context parameters.  Check flags in the context passed as a parameter.
1281         (diagnostic_build_prefix): Add context parameter.  Check
1282         show_column flag in context.
1283         (diagnostic_action_after_output): Check fatal_errors flag in context.
1284         (diagnostic_report_current_module): Check show_column flag in context.
1285         (default_diagnostic_starter): Update call to
1286         diagnostic_build_prefix.
1287         (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
1288         (emit_diagnostic): Pass context to permissive_error_kind.
1289         (permerror): Pass context to permissive_error_kind.
1290         * diagnostic.h (struct diagnostic_context): Add show_column,
1291         pedantic_errors, permissive and fatal_errors fields.
1292         (diagnostic_build_prefix): Update prototype.
1293         * langhooks.c
1294         * toplev.c (process_options): Set flags in global_dc from
1295         flag_show_column, flag_pedantic_errors, flag_permissive,
1296         flag_fatal_errors.
1297         * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
1298         to diagnostic_build_prefix.
1299         * Makefile.in (diagnostic.o): Update dependencies.
1300
1301 2010-05-24  H.J. Lu  <hongjiu.lu@intel.com>
1302
1303         * config/i386/ia32intrin.h (__crc32q): Define only if
1304         __SSE4_2__ is defined.
1305
1306 2010-05-24  Iain Sandoe  <iains@gcc.gnu.org>
1307
1308         PR target/44132
1309         PR middle-end/43602
1310         * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
1311         DECL_VISIBILITY_SPECIFIED.
1312         (emutls_decl): Set DECL_PRESERVE_P and copy
1313         DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
1314         (emutls_finalize_control_var): New callback.
1315         (emutls_finish): Finalize emutls control variables.
1316         * toplev.c (compile_file): Move the call to emutls_finish ()
1317         before varpool_assemble_pending_decls ().
1318
1319 2010-05-24  Daniel Gutson  <dgutson@codesourcery.com>
1320
1321         * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
1322         added to the preprocessor condition.
1323
1324 2010-05-24  Paul Brook  <paul@codesourcery.com>
1325
1326         * gengtype-lex.l: Add HARD_REG_SET.
1327         * expr.c (expand_expr_real_1): Record writes to hard registers.
1328         * function.c (rtl_data): Add asm_clobbers.
1329         * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
1330         (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
1331         Use crtl->asm_clobbers.
1332
1333 2010-05-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1334
1335         * doc/makefile.texi (Makefile): Mention stages 'profile'
1336         and 'feedback' for profiledbootstrap.
1337
1338 2010-05-23  H.J. Lu  <hongjiu.lu@intel.com>
1339
1340         PR target/44245
1341         * config/i386/i386.c (def_builtin): Properly check
1342         OPTION_MASK_ISA_64BIT.
1343
1344 2010-05-23  Joseph Myers  <joseph@codesourcery.com>
1345
1346         * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
1347         typedefs with different but compatible types.  Allow duplicate
1348         typedefs with the same type except for pedantic non-C1X, but give
1349         warning for variably modified types.
1350         * c-typeck.c (tagged_types_tu_compatible_p,
1351         function_types_compatible_p, type_lists_compatible_p,
1352         comptypes_internal): Add parameter different_types_p; set
1353         *different_types_p for different but compatible types.  All
1354         callers changed.
1355         (comptypes_check_different_types): New.
1356         * c-tree.h (comptypes_check_different_types): Declare.
1357
1358 2010-05-23  Steven Bosscher  <steven@gcc.gnu.org>
1359
1360         * regs.h: Do not include obstack.h, basic-block.h.  Include machmode.h.
1361         * jump.c: Include basic-block.h.
1362         * profile.c: Likewise.
1363         * tree-profile.c: Likewise.
1364         * coverage.c: Likewise.
1365         * basic-block.h (optimize_function_for_size_p): Move to function.h.
1366         (optimize_function_for_speed_p): Likewise.
1367         * function.h (optimize_function_for_size_p,
1368         optimize_function_for_speed_p): Moved here from basic-block.h.
1369         * Makefile.in: Update dependencies.
1370
1371 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1372
1373         * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
1374         before calling make; allow override through $MAKE.
1375         * doc/invoke.texi (Optimize Options): Document override.
1376
1377 2010-05-23  Anatoly Sokolov  <aesok@post.ru>
1378
1379         * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
1380         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1381         (rs6000_mode_dependent_address_ptr): Make static.
1382         * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1383         * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
1384         Remove.
1385
1386 2010-05-23  Maarten Lankhorst  <mlankhorst@codeweavers.com>
1387
1388         PR target/43869
1389         * config/i386/i386.c: Make sure that the correct regparm is passed.
1390
1391 2010-05-23  Steven Bosscher  <steven@gcc.gnu.org>
1392
1393         * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
1394         * sbitmap.c: ...to here to internalize sbitmap element access.
1395         Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
1396         Explain why basic-block.h is included.
1397         * function.h: Include tm.h for CUMULATIVE_ARGS.
1398         * Makefile.in: Update dependencies.
1399
1400 2010-05-22  Steven Bosscher  <steven@gcc.gnu.org>
1401
1402         * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
1403         New core types.
1404         * sbitmap.h (struct sbitmap_def): Do not typedef here.
1405         * sbitmap.c: Include sbitmap.h.
1406         * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
1407         hard-reg-set.h.  Split everything related to regsets out from here...
1408         * regset.h: ...to here.  New file.
1409         * df.h: Include regset.h and sbitmap.h.
1410         * tree-flow.h: Likewise.
1411         * cfgloop.h: Likewise.
1412         * except.h: Do not include sbitmap.h.  Include hashtab.h.
1413         * cgraph.h: Include vec.h and function.h.
1414         * reload.h (struct insn_chain): Change types of live_throughout
1415         and dead_or_set from regset_head to bitmap_head.
1416         (compute_use_by_pseudos): Be defined also if regset.h is not included.
1417         * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
1418         spilled_regs from regset_head to bitmap_head to avoid dependency
1419         in regset.h.
1420         * sel-sched-ir.h: Include regset.h.
1421         * reload.c: Include df.h before reload.h.
1422         * caller-save.c: Likewise.
1423         * reload1.c: Likewise.
1424         * ira.c: Likewise.
1425         (mark_elimination): Update type of r to bitmap, consistent with
1426         DF_LR_IN.
1427         * dominance.c: Include bitmap.h.
1428         * modulo-sched.c: Include df.h.
1429         * cfganal.c: Include bitmap.h and sbitmap.h.
1430         * cfgbuild.c: Include sbitmap.h.
1431         * lcm.c: Include sbitmap.h.
1432         * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
1433         * domwalk.c: Include sbitmap.h, exclude ggc.h.
1434         * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
1435         * cselib.c: Include bitmap.h.
1436         * tree-optimize.c: Include regset.h.
1437         * stmt.c: Include bitmap.h.
1438         * Makefile.in: Update dependencies.
1439
1440 2010-05-22  Jan Hubicka  <jh@suse.cz>
1441
1442         * cgraph.h (struct varpool_node): Add same_comdat_group.
1443         * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
1444         pointer.
1445         (output_varpool): Update call of lto_output_varpool_node.
1446         (input_varpool): Read same_comdat_group pointer.
1447         (input_varpool_1): Fixup same_comdat_group pointer.
1448         * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
1449         group is needed, all are.
1450         * varpool.c (varpool_remove_node): Remove node from same comdat group
1451         linklist too.
1452         (varpool_analyze_pending_decls): Walk same comdat groups.
1453
1454 2010-05-22  Steven Bosscher  <steven@gcc.gnu.org>
1455
1456         * rtl.h (union rtunion_def): Remove rt_bit member.
1457         (XBITMAP, X0BITMAP, XCBITMAP): Remove.
1458         * print-rtl (print_rtx): Do not print the member.
1459         * gengtype.c (adjust_field_rtx_def): Do not handle it.
1460         * gengenrtl.c (type_from_format): Likewise.
1461         (accessor_from_format): Likewise.
1462
1463 2010-05-22  Joseph Myers  <joseph@codesourcery.com>
1464
1465         * dbgcnt.c: Include toplev.h instead of errors.h.
1466         * ira-emit.c: Don't include errors.h.
1467         * ira.c: Include toplev.h instead of errors.h.
1468         * lto-compress.c: Include toplev.h instead of errors.h.
1469         * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
1470         ira.o, dbgcnt.o): Update dependencies.
1471
1472 2010-05-22  Richard Guenther  <rguenther@suse.de>
1473
1474         * gimple.c (gimple_types_compatible_p): Check type qualifications
1475         before merging pointer to complete and pointer to incomplete type.
1476         * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
1477         we use our own resolution algorithm.  The gold linker plugin
1478         doesn't do the job we want it to do here.
1479
1480 2010-05-22  Anatoly Sokolov  <aesok@post.ru>
1481
1482         * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1483         * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1484         (sparc_mode_dependent_address_p): New function.
1485
1486 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
1487
1488         * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
1489
1490         * timevar.c: Do not include any core headers.
1491         (timevar_print): De-i18n-ize.
1492         (print_time): Likewise.
1493         * timevar.h (timevar_push, timevar_pop): Make inline functions.
1494
1495 2010-05-21  Joseph Myers  <joseph@codesourcery.com>
1496
1497         * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
1498         langhooks-def.h.
1499         (diagnostic_initialize): Initialize x_data not last_function.
1500         (diagnostic_report_current_function): Move to tree-diagnostic.c.
1501         (default_diagnostic_starter): Call
1502         diagnostic_report_current_module not
1503         diagnostic_report_current_function.
1504         (diagnostic_report_diagnostic): Initialize x_data not
1505         abstract_origin.
1506         (verbatim): Likewise.
1507         * diagnostic.h (struct diagnostic_info): Change abstract_origin to
1508         x_data.
1509         (struct diagnostic_context): Change last_function to x_data.
1510         (diagnostic_auxiliary_data): Replace with
1511         diagnostic_context_auxiliary_data and
1512         diagnostic_info_auxiliary_data.
1513         (diagnostic_last_function_changed, diagnostic_set_last_function,
1514         diagnostic_report_current_function): Move to tree-diagnostic.h.
1515         (print_declaration, dump_generic_node, print_generic_stmt,
1516         print_generic_stmt_indented, print_generic_expr,
1517         print_generic_decl, debug_c_tree, dump_omp_clauses,
1518         print_call_name, debug_generic_expr, debug_generic_stmt,
1519         debug_tree_chain, default_tree_printer): Move to
1520         tree-pretty-print.h.
1521         (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
1522         print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
1523         gimple-pretty-print.h.
1524         * pretty-print.c: Don't include tree.h
1525         (pp_base_format): Don't handle %K here.
1526         (pp_base_tree_identifier): Move to tree-pretty-print.c.
1527         * pretty-print.h (text_info): Change abstract_origin to x_data.
1528         (pp_tree_identifier, pp_unsupported_tree,
1529         pp_base_tree_identifier): Move to tree-pretty-print.h.
1530         * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
1531         tree-pretty-print.h: New files.
1532         * tree-pretty-print.c: Include tree-pretty-print.h.
1533         (percent_K_format): New.  Moved from pretty-print.c.
1534         (pp_base_tree_identifier): Move from pretty-print.c.
1535         * c-objc-common.c: Include tree-pretty-print.h.
1536         (c_tree_printer): Handle %K here.
1537         * langhooks.c: Include tree-diagnostic.h.
1538         (lhd_print_error_function): Use diagnostic_abstract_origin macro.
1539         * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
1540         (default_tree_printer): Handle %K using percent_K_format.
1541         (general_init): Use default_tree_diagnostic_starter.
1542         * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
1543         (free_lang_data): Use default_tree_diagnostic_starter.
1544         * c-pretty-print.c: Include tree-pretty-print.h.
1545         * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1546         * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1547         * dwarf2out.c: Include tree-pretty-print.h.
1548         * except.c: Include tree-pretty-print.h.
1549         * gimple-pretty-print.c: Include tree-pretty-print.h and
1550         gimple-pretty-print.h.
1551         * gimplify.c: Include tree-pretty-print.h.
1552         * graphite-poly.c: Include tree-pretty-print.h and
1553         gimple-pretty-print.h.
1554         * ipa-cp.c: Include tree-pretty-print.h.
1555         * ipa-inline.c: Include gimple-pretty-print.h.
1556         * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1557         * ipa-pure-const.c: Include gimple-pretty-print.h.
1558         * ipa-struct-reorg.c: Include tree-pretty-print.h and
1559         gimple-pretty-print.h.
1560         * ipa-type-escape.c: Include tree-pretty-print.h.
1561         * print-rtl.c: Include tree-pretty-print.h.
1562         * print-tree.c: Include gimple-pretty-print.h.
1563         * sese.c: Include tree-pretty-print.h.
1564         * tree-affine.c: Include tree-pretty-print.h.
1565         * tree-browser.c: Include tree-pretty-print.h.
1566         * tree-call-cdce.c: Include gimple-pretty-print.h.
1567         * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1568         * tree-chrec.c: Include tree-pretty-print.h.
1569         * tree-data-ref.c: Include tree-pretty-print.h and
1570         gimple-pretty-print.h.
1571         * tree-dfa.c: Include tree-pretty-print.h.
1572         * tree-if-conv.c: Include tree-pretty-print.h and
1573         gimple-pretty-print.h.
1574         * tree-inline.c: Include tree-pretty-print.h.
1575         * tree-into-ssa.c: Include tree-pretty-print.h and
1576         gimple-pretty-print.h.
1577         * tree-nrv.c: Include tree-pretty-print.h.
1578         * tree-object-size.c: Include tree-pretty-print.h and
1579         gimple-pretty-print.h.
1580         * tree-outof-ssa.c: Include tree-pretty-print.h and
1581         gimple-pretty-print.h.
1582         * tree-parloops.c: Include tree-pretty-print.h and
1583         gimple-pretty-print.h.
1584         * tree-predcom.c: Include tree-pretty-print.h and
1585         gimple-pretty-print.h.
1586         * tree-scalar-evolution.c: Include tree-pretty-print.h and
1587         gimple-pretty-print.h.
1588         * tree-sra.c: Include tree-pretty-print.h.
1589         * tree-ssa-address.c: Include tree-pretty-print.h.
1590         * tree-ssa-alias.c: Include tree-pretty-print.h.
1591         * tree-ssa-ccp.c: Include tree-pretty-print.h and
1592         gimple-pretty-print.h.
1593         * tree-ssa-coalesce.c: Include tree-pretty-print.h.
1594         * tree-ssa-copy.c: Include tree-pretty-print.h and
1595         gimple-pretty-print.h.
1596         * tree-ssa-copyrename.c: Include tree-pretty-print.h.
1597         * tree-ssa-dce.c: Include tree-pretty-print.h and
1598         gimple-pretty-print.h.
1599         * tree-ssa-dom.c: Include tree-pretty-print.h and
1600         gimple-pretty-print.h.
1601         * tree-ssa-dse.c: Include gimple-pretty-print.h.
1602         * tree-ssa-forwprop.c: Include tree-pretty-print.h.
1603         * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
1604         * tree-ssa-live.c: Include tree-pretty-print.h and
1605         gimple-pretty-print.h.
1606         * tree-ssa-loop-im.c: Include tree-pretty-print.h and
1607         gimple-pretty-print.h.
1608         * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
1609         gimple-pretty-print.h.
1610         * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
1611         gimple-pretty-print.h.
1612         * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
1613         gimple-pretty-print.h.
1614         * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
1615         * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
1616         * tree-ssa-operands.c: Include tree-pretty-print.h and
1617         gimple-pretty-print.h.
1618         * tree-ssa-phiprop.c: Include tree-pretty-print.h and
1619         gimple-pretty-print.h.
1620         * tree-ssa-pre.c: Include tree-pretty-print.h and
1621         gimple-pretty-print.h.
1622         * tree-ssa-propagate.c: Include gimple-pretty-print.h.
1623         * tree-ssa-reassoc.c: Include tree-pretty-print.h and
1624         gimple-pretty-print.h.
1625         * tree-ssa-sccvn.c: Include tree-pretty-print.h and
1626         gimple-pretty-print.h.
1627         * tree-ssa-sink.c: Include gimple-pretty-print.h.
1628         * tree-ssa-ter.c: Include tree-pretty-print.h and
1629         gimple-pretty-print.h.
1630         * tree-ssa-uninit.c: Include gimple-pretty-print.h.
1631         * tree-ssa.c: Include tree-pretty-print.h and
1632         gimple-pretty-print.h.
1633         * tree-stdarg.c: Include gimple-pretty-print.h.
1634         * tree-switch-conversion.c: Include gimple-pretty-print.h.
1635         * tree-tailcall.c: Include tree-pretty-print.h and
1636         gimple-pretty-print.h.
1637         * tree-vect-data-refs.c: Include tree-pretty-print.h and
1638         gimple-pretty-print.h.
1639         * tree-vect-loop-manip.c: Include tree-pretty-print.h and
1640         gimple-pretty-print.h.
1641         * tree-vect-loop.c: Include tree-pretty-print.h and
1642         gimple-pretty-print.h.
1643         * tree-vect-patterns.c: Include gimple-pretty-print.h.
1644         * tree-vect-slp.c: Include tree-pretty-print.h and
1645         gimple-pretty-print.h.
1646         * tree-vect-stmts.c: Include tree-pretty-print.h and
1647         gimple-pretty-print.h.
1648         * tree-vectorizer.c: Include tree-pretty-print.h.
1649         * tree-vrp.c: Include tree-pretty-print.h and
1650         gimple-pretty-print.h.
1651         * value-prof.c: Include tree-pretty-print.h and
1652         gimple-pretty-print.h.
1653         * var-tracking.c: Include tree-pretty-print.h.
1654         * Makefile.in (OBJS-common): Add tree-diagnostic.o.
1655         (tree-diagnostic.o): New dependencies.
1656         (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
1657         tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
1658         tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
1659         tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
1660         tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
1661         tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
1662         tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
1663         tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
1664         tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
1665         tree-ssa-address.o, tree-ssa-loop-niter.o,
1666         tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
1667         tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
1668         tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
1669         gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
1670         tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
1671         tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
1672         tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
1673         tree-parloops.o, tree-stdarg.o, tree-object-size.o,
1674         gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
1675         toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
1676         ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
1677         ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
1678         tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
1679         tree-switch-conversion.o, var-tracking.o, value-prof.o,
1680         cfgexpand.o, pretty-print.o): Update dependencies.
1681
1682 2010-05-22  Andreas Tobler  <andreast@fgznet.ch>
1683
1684         * tree-ssa-structalias.c: Remove tm_p.h from include.
1685
1686 2010-05-21  Jeff Law  <law@redhat.com>
1687
1688         * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
1689
1690 2010-05-21  Jason Merrill  <jason@redhat.com>
1691
1692         * tree-eh.c (cleanup_is_dead_in): New.
1693         (lower_try_finally): Don't generate a dead cleanup region.
1694         (lower_cleanup): Likewise.
1695
1696 2010-05-21  Jakub Jelinek  <jakub@redhat.com>
1697
1698         PR debug/44223
1699         * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
1700         unchain each use from the cyclic next_regno_use chain first.
1701
1702 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
1703
1704         * real: Do not include gmp.h, mpfr.h, and mpc.h.
1705         (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
1706         (real_value_negate, real_value_abs): New prototypes.
1707         (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
1708         * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
1709         new include file for interface between MPFR and REAL_VALUE_TYPE.
1710         * real.c: Include realmpfr.h.
1711         (real_arithmetic2): Remove legacy function.
1712         (real_value_negate): New.
1713         (real_value_abs): New.
1714         (mfpr_from_real, real_from_mpfr): Move from here...
1715         * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
1716         * builtins.c: Include realmpfr.h.
1717         * fold-const.c: Include realmpfr.h.
1718         (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
1719         (fold_negate_const): Likewise.
1720         (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
1721         * toplev.c: Include realmpfr.h.
1722         * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
1723         and real_value_negate.
1724         * fixed-value.c (check_real_for_fixed_mode): Likewise.
1725         * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
1726         (vfp3_const_double_index): Likewise.
1727         (arm_print_operand): Likewise.
1728         * Makefile.in: Update dependencies.
1729
1730 2010-05-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1731
1732         * config/s390/s390.c (override_options): Increase the default
1733         of max-completely-peel-times.
1734
1735 2010-05-21  Julian Brown  <julian@codesourcery.com>
1736             Mark Mitchell  <mark@codesourcery.com>
1737
1738         * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
1739         sibling calls for Thumb-1.
1740         * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
1741         * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
1742         Thumb-2.
1743         (*call_insn, *call_value_insn): Don't use for Thumb-2.
1744         (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
1745         for Thumb-2.
1746         (return): New expander.
1747         (*arm_return): New name for ARM return insn.
1748         * config/arm/thumb2.md (*thumb2_return): New insn pattern.
1749
1750 2010-05-19  Joel Sherrill <joel.sherrill@oarcorp.com>
1751
1752         * config.gcc (sparc64-*-rtems*): New target.
1753
1754 2010-05-21  Nathan Froyd  <froydnj@codesourcery.com>
1755
1756         * tree.c (build_function_decl_skip_args): Fix grammar.
1757         (build_function_type_list_1): Fix typos, adjust formatting.
1758
1759 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
1760
1761         * tree.h: Include real.h and fixed-value.h as basic datatypes.
1762         * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
1763         tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
1764         tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
1765         tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
1766         genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
1767         tree-pretty-print.c, tree-loop-distribution.c,
1768         tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
1769         tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
1770         tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
1771         tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
1772         tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
1773         tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
1774         tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
1775         tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
1776         tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
1777         tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
1778         genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
1779         tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
1780         gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
1781         tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
1782         tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
1783         store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
1784         tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
1785         tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
1786         tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
1787         tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
1788         fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
1789         tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
1790         config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
1791         config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
1792         config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
1793         config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
1794         config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
1795         config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
1796         config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
1797         config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
1798         config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
1799         config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
1800         config/score/score7.c, config/score/score.c, config/arm/arm.c,
1801         config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
1802         config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
1803         config/bfin/bfin.c: Clean up redundant includes.
1804         * Makefile.in: Update accordingly.
1805
1806 2010-05-21  Nathan Froyd  <froydnj@codesourcery.com>
1807
1808         PR middle-end/44204
1809         * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
1810         statement has no arguments.
1811
1812 2010-05-21  Kai Tietz  <kai.tietz@onevision.com>
1813
1814         PR/44139
1815         * varasm.c (emutls_decl): Merge attributes to new decl.
1816
1817 2010-05-21  Eric Botcazou  <ebotcazou@adacore.com>
1818
1819         PR middle-end/44101
1820         * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
1821         around the uniquized constructor if its type requires a conversion.
1822
1823 2010-05-21  Jakub Jelinek  <jakub@redhat.com>
1824
1825         PR debug/44205
1826         * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
1827         at -O0 goto_locus of any of the incoming edges differs from
1828         goto_locus of outgoing edge, or gimple_location of any of the
1829         labels differs.
1830
1831 2009-09-14  Vladimir Makarov <vmakarov@redhat.com>
1832
1833         * ira.c (ira_non_ordered_class_hard_regs): Define.
1834         (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
1835         * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
1836         * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
1837         cost of unaligned hard regs when allocating multi-reg pseudos.
1838
1839 2010-05-20  Richard Sandiford  <rdsandiford@googlemail.com>
1840
1841         * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
1842         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
1843         for TARGET_NO_FLOAT.
1844         * config/mips/mips.c (mips_file_start): Expand conditional expression
1845         into "if" statements.  Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
1846         (mips_override_options): Move -mno-float override -msoft-float and
1847         -mhard-float.
1848         * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
1849         Condition(TARGET_SUPPORTS_NO_FLOAT).
1850         * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
1851         __mips_no_float here.
1852         (SUBTARGET_OVERRIDE_OPTIONS): Delete.
1853         (TARGET_SUPPORTS_NO_FLOAT): Define.
1854         * config/mips/sdemtk.opt: Delete.
1855
1856 2010-05-20  Segher Boessenkool  <segher@kernel.crashing.org>
1857
1858         * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
1859
1860 2010-05-20  Uros Bizjak  <ubizjak@gmail.com>
1861
1862         PR target/43733
1863         * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
1864         * configure: Regenerate.
1865         * config.in: Regenerate.
1866         * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
1867         instead of sahf only for 64bit targets.
1868
1869 2010-05-20  Jakub Jelinek  <jakub@redhat.com>
1870
1871         PR debug/44178
1872         * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
1873         setup_ref_regs for DEBUG_INSNs.
1874
1875 2010-05-20  Jan Hubicka  <jh@suse.cz>
1876
1877         PR middle-end/44197
1878         * varpool.c (varpool_remove_node): Handle in-varpool aliases.
1879
1880 2010-05-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
1881
1882         PR bootstrap/43870
1883         * df-scan.c (df_ref_compare): Stabilize sort.
1884
1885 2010-05-20  Jakub Jelinek  <jakub@redhat.com>
1886
1887         * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
1888         argument.  Don't use DW_OP_piece if offset is non-zero,
1889         put offset into second DW_OP_bit_piece argument.
1890         (dw_sra_loc_expr): Adjust callers.  For memory expressions
1891         compute offset.
1892
1893 2010-05-20  Hans-Peter Nilsson  <hp@axis.com>
1894
1895         PR target/44202
1896         * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
1897         settings for 16-bit-constant "addo" alternative.
1898
1899 2010-05-19  James E. Wilson  <wilson@codesourcery.com>
1900
1901         * config/mips/mips-dsp.md (add<DSPV:mode>3,
1902         mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
1903
1904         PR target/43764
1905         * mips.c (mips_call_expr_from_insn): New arg second_call.  Set it.
1906         (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
1907         Use it.
1908
1909 2010-05-19  Joseph Myers  <joseph@codesourcery.com>
1910
1911         * diagnostic.c (FLOAT, FFS): Don't undefine.
1912         * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
1913         * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
1914         include ordering.
1915
1916 2010-05-19  Richard Sandiford  <rdsandiford@googlemail.com>
1917
1918         * combine.c (propagate_for_debug): Call make_compound_operation
1919         on the source value.
1920         (try_combine): When implementing a split chosen by find_split_point,
1921         either copy i2src or set it to null.  Assert that i2src is not null
1922         before substituting into CALL_INSN_FUNCTION_USAGE.
1923
1924 2010-05-19  Anatoly Sokolov  <aesok@post.ru>
1925
1926         * double-int.h (double_int_ior): New function.
1927         * tree.h (build_int_cst_wide_type): Remove.
1928         * tree.c (build_int_cst_wide_type): Remove.
1929         * fold-const.c (native_interpret_int): Use double_int_to_tree instead
1930         of build_int_cst_wide_type.
1931         * stor-layout.c (set_sizetype): (Ditto.).
1932         * dojump.c (do_jump): Use build_int_cstu instead of
1933         build_int_cst_wide_type.
1934
1935 2010-05-19  Eric Botcazou  <ebotcazou@adacore.com>
1936
1937         * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
1938         * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
1939         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
1940         * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
1941         TARGET_EXPR nodes, but only once, if instructed to do so.  Do not
1942         propagate the 'data' argument to copy_tree_r.
1943         (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
1944         Propagate 'data' argument to walk_tree.
1945         (copy_if_shared): New function.
1946         (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
1947         (unmark_visited): New function.
1948         (unshare_body): Call copy_if_shared instead of doing it manually.
1949         (unvisit_body): Call unmark_visited instead of doing it manually.
1950
1951 2010-05-19  Nathan Froyd  <froydnj@codesourcery.com>
1952
1953         * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
1954         (hook_tree_tree_int_treep_bool_null): ...this.  Update signature.
1955         * hooks.c: Likewise.
1956         * target-def.h (TARGET_FOLD_BUILTIN): Define to
1957         hook_tree_tree_int_treep_bool_null.
1958         * target.h (struct gcc_target): Update signature of fold_builtin
1959         field.
1960         * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
1961         * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
1962         instead of the call expression.
1963         (fold_builtin_call_array): Pass n and argarray directly.
1964         (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
1965         consing a list.
1966         * config/alpha/alpha.c (alpha_fold_builtin): Update signature.  Lift
1967         MAX_ARGS check out of the loop.  Delete declaration of `arity', declare
1968         `i' and use it in place of `arity'.
1969         * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
1970         Dereference `args' directly.
1971         * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
1972
1973 2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1974
1975         * doc/sourcebuild.texi (Effective-Target Keywords): Document
1976         3dnow, sse3, sse2.
1977         (Directives): Document optional dg-require-effective-target
1978         selector.
1979
1980 2010-05-19  Richard Guenther  <rguenther@suse.de>
1981
1982         PR lto/44196
1983         * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
1984
1985 2010-05-19  Richard Guenther  <rguenther@suse.de>
1986
1987         * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
1988         * common.opt (fwhopr=): New.
1989         * opts.c (common_handle_option): Handle OPT_fwhopr.
1990         * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
1991         * collect2.c (main): Match -fwhopr*.
1992         * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
1993         Execute ltrans stage in parallel when jobs is bigger than 1.
1994
1995 2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1996
1997         * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
1998         pentiumpro on Solaris 8/x86 with Sun as.
1999         * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
2000         hidden alias bug.
2001         (gcc_cv_as_ix86_quad): Check for .quad directive.
2002         * configure: Regenerate.
2003         * config.in: Regenerate.
2004         * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
2005
2006 2010-05-19  Martin Jambor  <mjambor@suse.cz>
2007
2008         * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
2009         also for indirect edges.  Actual printing moved...
2010         (ipa_print_node_jump_functions_for_edge): ...here.
2011         (ipa_compute_jump_functions): Renamed to
2012         ipa_compute_jump_functions_for_edge and made static.
2013         (ipa_compute_jump_functions): New function.
2014         (make_edge_direct_to_target): Check if the number of arguments on
2015         the newly direct edge is the same as the number of parametrs of
2016         the callee.
2017         * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
2018         ipa_compute_jump_functions.  Call ipa_analyze_params_uses.
2019         * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
2020         analysis functions unconditionally, call the new
2021         ipa_analyze_params_uses on the node instead of every edge.
2022
2023 2010-05-19  Christian Borntraeger  <borntraeger@de.ibm.com>
2024
2025         * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
2026         to tree.
2027         (dump_mem_ref): Adopt debug code to handle a tree as step.  This
2028         also checks for a constant int vs.  non-constant but
2029         loop-invariant steps.
2030         (find_or_create_group): Change the sort algorithm to only consider
2031         steps that are constant ints.
2032         (idx_analyze_ref): Adopt code to handle a tree instead of a
2033         HOST_WIDE_INT for step.
2034         (gather_memory_references_ref): Handle tree instead of int and be
2035         prepared to see a NULL_TREE.
2036         (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
2037         prefetches if the step cannot be calculated at compile time.
2038         (issue_prefetch_ref): Issue prefetches for non-constant but
2039         loop-invariant steps.
2040
2041 2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
2042
2043         Revert:
2044         2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
2045
2046         * tree.h (build_call_list): Remove.
2047         * tree.c (build_call_list): Remove.
2048
2049 2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
2050
2051         * tree.h (build_call_list): Remove.
2052         * tree.c (build_call_list): Remove.
2053
2054 2010-05-18  Jan Hubicka  <jh@suse.cz>
2055
2056         * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
2057
2058 2010-05-18  Vladimir Makarov  <vmakarov@redhat.com>
2059
2060         PR rtl-optimization/43332
2061         * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
2062
2063 2010-05-18  Anatoly Sokolov  <aesok@post.ru>
2064
2065         * tree.h (build_int_cstu): Implement as static inline.
2066         * tree.c (build_int_cstu): Remove function.
2067         (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
2068         sign extended.
2069
2070 2010-05-18  Richard Guenther  <rguenther@suse.de>
2071
2072         PR lto/44143
2073         * lto-wrapper.c (verbose): New variable.  Initialize from -v.
2074         (debug): Initialize from -save-temps.
2075         (collect_execute): Print command-line when verbose.
2076         (run_gcc): Always use COLLECT_GCC_OPTIONS.  Use fork_execute
2077         for ltrans invocation.  Produce -dumpbase flag again.
2078         (process_args): Remove.
2079         (main): Simplify.
2080         * collect2.c (maybe_run_lto_and_relink): Only pass object
2081         files to lto-wrapper.
2082         * gcc.c (LINK_COMMAND_SPEC): Likewise.
2083
2084 2010-05-18  Jan Hubicka  <jh@suse.cz>
2085
2086         * opts.c (decode_options): Do not disable whopr at ipa_cp.
2087         * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
2088
2089 2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
2090
2091         PR lto/44184
2092         * lto-streamer-out.c (output_gimple_stmt): Output number of labels
2093         in a GIMPLE_ASM.
2094         * lto-streamer-in.c (input_gimple_stmt): Read number of labels
2095         in a GIMPLE_ASM.
2096
2097 2010-05-18  Jakub Jelinek  <jakub@redhat.com>
2098
2099         PR debug/41371
2100         * var-tracking.c (find_loc_in_1pdv): Add a few checks from
2101         rtx_equal_p inline.
2102
2103 2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
2104
2105         * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
2106         lto-macho as lto_binary_reader.
2107
2108         * darwin.c (darwin_asm_named_section): Do not add assembler comment
2109         after .section directive; just print it before the directive instead.
2110
2111 2010-05-17  Jan Hubicka  <jh@suse.cz>
2112
2113         * cgraph.c (cgraph_create_virtual_clone): Only check
2114         versionable_function_p when not in wpa and checking is enabled.
2115         * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
2116         there are no more functions to materialize.
2117
2118 2010-05-17  Jan Hubicka  <jh@suse.cz>
2119
2120         * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
2121         * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
2122         New functions.
2123         (output_cgraph): Call output_cgraph_opt_summary.
2124         (input_cgrpah): Call input_cgraph_opt_summary.
2125         (output_cgraph_opt_summary_p, output_node_opt_summary,
2126         input_node_opt_summary, input_cgraph_opt_section): New functions.
2127         * lto-section-in.c (lto_section_name): Add cgraphopt.
2128         * tree-inline.c (tree_function_versioning): Handle parm_num.
2129         * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
2130         * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
2131
2132 2010-05-17  Changpeng Fang  <changpeng.fang@amd.com>
2133
2134         * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
2135         * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
2136         the insn to prefetch ratio heuristic to loops with known trip count.
2137
2138 2010-05-17  Changpeng Fang  <changpeng.fang@amd.com>
2139
2140         * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
2141         (schedule_prefetches): Do not generate a prefetch if the unroll factor
2142         is far from what is required by the prefetch.
2143
2144 2010-05-17  Jan Hubicka  <jh@suse.cz>
2145
2146         * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
2147         (ipcp_estimate_growth): Likewise.
2148         (ipcp_const_param_count): Likewise.
2149         (ipcp_insert_stage): Likewise.
2150         * ipa-prop.c (visit_load_for_mod_analysis): New function.
2151         (visit_store_addr_for_mod_analysis): Set used flag.
2152         (ipa_detect_param_modifications): Set used flag for SSE params;
2153         update use of walk_stmt_load_store_addr_ops.
2154         (ipa_print_node_params): Print used flag.
2155         (ipa_write_node_info): Stream used flag.
2156         (ipa_read_node_info): Likewise.
2157         * ipa-prop.h (struct ipa_param_descriptor): Add used field.
2158         (ipa_is_param_used): New function.
2159         (lto_ipa_fixup_call_notes): Remove unused declaration.
2160
2161 2010-05-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2162
2163         PR target/44074
2164         * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
2165         * configure: Regenerate.
2166         * config.in: Regenerate.
2167         * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
2168         !HAVE_AS_IX86_REP_LOCK_PREFIX.
2169         Don't emit whitespace.
2170         * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
2171         (*rep_movsi): Likewise.
2172         (*rep_movsi_rex64): Likewise.
2173         (*rep_movqi): Likewise.
2174         (*rep_movqi_rex64): Likewise.
2175         (*rep_stosdi_rex64): Likewise.
2176         (*rep_stossi): Likewise.
2177         (*rep_stossi_rex64): Likewise.
2178         (*rep_stosqi): Likewise.
2179         (*rep_stosqi_rex64): Likewise.
2180         (*cmpstrnqi_nz_1): Use {%;} after repz.
2181         (*cmpstrnqi_nz_rex_1): Likewise.
2182         (*cmpstrnqi_1): Likewise.
2183         (*cmpstrnqi_rex_1): Likewise.
2184         (*strlenqi_1): Use {%;} after repnz.
2185         (*strlenqi_rex_1): Likewise.
2186         * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
2187         (*sync_compare_and_swap<mode>): Likewise.
2188         (sync_double_compare_and_swap<mode>): Likewise.
2189         (*sync_double_compare_and_swapdi_pic): Likewise.
2190         (sync_old_add<mode>): Likewise.
2191         (sync_add<mode>): Likewise.
2192         (sync_sub<mode>): Likewise.
2193         (sync_<code><mode>): Likewise.
2194
2195 2010-05-17  Martin Jambor  <mjambor@suse.cz>
2196
2197         * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
2198         otr_token and polymorphic.
2199         * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
2200         (cgraph_clone_edge): Copy the above fields.
2201         * tree.c (get_binfo_at_offset): New function.
2202         * tree.h (get_binfo_at_offset): Declare.
2203         * ipa-prop.h (enum jump_func_type): Added known_type jump function
2204         type, reordered items, updated comments.
2205         (union jump_func_value): Added base_type field, reordered fields.
2206         (enum ipa_lattice_type): Moved down in the file.
2207         (struct ipa_param_descriptor): New field polymorphic.
2208         (ipa_is_param_polymorphic): New function.
2209         * ipa-prop.c: Include gimple.h and gimple-fold.h.
2210         (ipa_print_node_jump_functions): Print known type jump functions.
2211         (compute_complex_pass_through): Renamed to...
2212         (compute_complex_assign_jump_func): this.
2213         (compute_complex_ancestor_jump_func): New function.
2214         (compute_known_type_jump_func): Likewise.
2215         (compute_scalar_jump_functions): Create known type and complex ancestor
2216         jump functions.
2217         (ipa_note_param_call): New parameter polymorphic, set the corresponding
2218         flag in the call note accordingly.
2219         (ipa_analyze_call_uses): Renamed to...
2220         (ipa_analyze_indirect_call_uses): this.  New parameter target, define
2221         variable var only in the block where it is used.
2222         (ipa_analyze_virtual_call_uses): New function.
2223         (ipa_analyze_call_uses): Likewise.
2224         (combine_known_type_and_ancestor_jfs): Likewise.
2225         (update_jump_functions_after_inlining): Implemented handling of a
2226         number of new jump function types combination.
2227         (print_edge_addition_message): Removed.
2228         (make_edge_direct_to_target): New function.
2229         (try_make_edge_direct_simple_call): Likewise.
2230         (try_make_edge_direct_virtual_call): Likewise.
2231         (update_call_notes_after_inlining): Renamed to...
2232         (update_indirect_edges_after_inlining): this.  Moved edge creation for
2233         indirect calls to try_make_edge_direct_simple_call, also calls
2234         try_make_edge_direct_virtual_call for virtual calls.
2235         (ipa_print_node_params): Changed the header message.
2236         (ipa_write_jump_function): Stream also known type jump functions.
2237         (ipa_read_jump_function): Likewise.
2238         (ipa_write_indirect_edge_info): Stream new fields in
2239         cgraph_indirect_call_info.
2240         (ipa_read_indirect_edge_info): Likewise.
2241         * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
2242         GIMPLE_FOLD_H.
2243
2244 2010-05-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2245
2246         * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
2247
2248 2010-05-17  Nathan Froyd  <froydnj@codesourcery.com>
2249
2250         * tree.h (CALL_EXPR_ARGS): Delete.
2251         (call_expr_arglist): Delete.
2252         * tree.c (call_expr_arglist): Delete.
2253         * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
2254         targetm.fold_builtin.
2255         * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
2256         Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
2257         * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
2258         arglist parameter.  Use CALL_EXPR_ARG.
2259         (picochip_expand_builtin_3op): Likewise.
2260         (picochip_expand_builtin_2opvoid): Likewise.
2261         (picochip_expand_array_get): Likewise.
2262         (picochip_expand_array_put): Likewise.
2263         (picochip_expand_array_testport): Likewise.
2264         (picochip_expand_builtin): Don't call CALL_EXPR_ARGS.  Pass exp
2265         rather than arglist.
2266         * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
2267         CALL_EXPR_ARGS.
2268         * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
2269         than TREE_VALUE and TREE_CHAIN.
2270         * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
2271         * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
2272         the arglist.
2273
2274 2010-05-17  Jakub Jelinek  <jakub@redhat.com>
2275
2276         PR bootstrap/42347
2277         * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
2278         to have no fallthru edge.
2279
2280         PR middle-end/44102
2281         * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
2282         bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
2283         mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
2284         add BARRIER after previous bb if needed.
2285
2286 2010-05-17  Nathan Froyd  <froydnj@codesourcery.com>
2287
2288         * tree.c (build_function_type_list_1): Remove bogus assert condition.
2289
2290 2010-05-17  Alan Modra  <amodra@gmail.com>
2291
2292         * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
2293         unnecessary prototype.  Replace copy_r12 and copy_r11 flag params
2294         with copy_reg rtx param.
2295         (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
2296         Correct cases where code for ABI_V4 did not initialise the reg
2297         used to access frame.  Also leave frame_reg_rtx as sp for large
2298         frames that save no regs.
2299
2300 2010-05-17  Martin Jambor  <mjambor@suse.cz>
2301
2302         PR middle-end/44133
2303         * tree-sra.c (create_access_replacement): New parameter rename, mark
2304         the replaement for renaming only when it is true.
2305         (get_access_replacement): Pass true in the rename parameter of
2306         create_access_replacement.
2307         (get_unrenamed_access_replacement): New function.
2308         (replace_uses_with_default_def_ssa_name): New parameter racc, get the
2309         replacement declaration from it.
2310
2311 2010-05-17  Bernd Schmidt  <bernds@codesourcery.com>
2312
2313         * function.c (try_fit_stack_local, add_frame_space): New static
2314         functions.
2315         (assign_stack_local_1): Use them.  Look for opportunities to use
2316         space previously wasted on alignment.
2317         * function.h (struct frame_space): New.
2318         (struct rtl_data): Add FRAME_SPACE_LIST member.
2319         * reload1.c (something_was_spilled): New static variable.
2320         (alter_reg): Set it.
2321         (reload): Test it in addition to testing if the frame size changed.
2322
2323 2010-05-17  Christian Borntraeger  <borntraeger@de.ibm.com>
2324
2325         * config/s390/s390.c: Define sane prefetch settings and activate
2326         flag_prefetch_loop_arrays on -O3.
2327         * config/s390/s390.h: Declare that read can use write prefetch.
2328
2329 2010-05-17  Jakub Jelinek  <jakub@redhat.com>
2330
2331         * lto-streamer-out.c (lto_output): Fix --enable-checking=release
2332         build.
2333
2334 2010-05-16  Jan Hubicka  <jh@suse.cz>
2335
2336         * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
2337         function body; do not check stdarg field of struct function.
2338
2339 2010-05-16  Jan Hubicka  <jh@suse.cz>
2340
2341         * cgraph.c (dump_cgraph_node): Dump versionable flag.
2342         * cgraph.h (cgraph_local_info): Add versionable flag.
2343         * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
2344         (ipcp_versionable_function_p): Use it.
2345         * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
2346         versionable flag.
2347
2348 2010-05-16  Jan Hubicka  <jh@suse.cz>
2349
2350         * cgraph.c (cgraph_clone_node): Take decl argument and insert
2351         clone into hash when it is different from orig.
2352         (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
2353         * cgraph.h (cgraph_clone_node): Update prototype.
2354         * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
2355         (lto_cgraph_encoder_delete): Delete body map.
2356         (lto_cgraph_encoder_size): Move to header.
2357         (lto_cgraph_encoder_encode_body_p,
2358         lto_set_cgraph_encoder_encode_body): New.
2359         (lto_output_node): Do not take written_decls argument; output clone_of
2360         pointer.
2361         (add_node_to): Add include_body_argument; call
2362         lto_set_cgraph_encoder_encode_body on master of the clone.
2363         (add_references): Update use of add_node_to.
2364         (compute_ltrans_boundary): Likewise.
2365         (output_cgraph): Do not create written_decls bitmap.
2366         (input_node): Take nodes argument; stream in clone_of correctly.
2367         (input_cgraph_1): Update use of input_node.
2368         * lto-streamer-out.c (lto_output): Use encoder info to decide
2369         what bodies to output.
2370         * ipa-inline.c (cgraph_clone_inlined_nodes,
2371         cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
2372         * lto-streamer.h (lto_cgraph_encoder_d): Add body.
2373         (lto_cgraph_encoder_size): Define here.
2374         (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
2375         Declare.
2376
2377 2010-05-16  Richard Guenther  <rguenther@suse.de>
2378
2379         * doc/invoke.texi (-fipa-struct-reorg): Do not mention
2380         -fipa-type-escape.
2381         * ipa-type-escape.c (gate_type_escape_vars): Run when
2382         -fipa-struct-reorg runs.
2383         * opts.c (decode_options): Do not unset flag_ipa_type_escape.
2384         * common.opt (fipa-type-escape): Remove.
2385
2386 2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
2387
2388         * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
2389         (decode_options): Likewise.
2390         * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
2391
2392 2010-05-16  Jan Hubicka  <jh@suse.cz>
2393
2394         * ipa.c (function_and_variable_visibility): Also bring local all
2395         aliases.
2396
2397 2010-05-16  Richard Guenther  <rguenther@suse.de>
2398
2399         * alias.c (nonoverlapping_memrefs_p): Remove use of
2400         IPA type-escape information.
2401
2402 2010-05-16  Joseph Myers  <joseph@codesourcery.com>
2403
2404         * c-common.c (c_common_reswords): Add _Static_assert for C.
2405         * c-parser.c (c_token_starts_declaration,
2406         c_parser_next_token_starts_declaration,
2407         c_parser_static_assert_declaration_no_semi,
2408         c_parser_static_assert_declaration): New.
2409         (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
2410         Handle static assertions if static_assert_ok.
2411         (c_parser_external_declaration, c_parser_declaration_or_fndef,
2412         c_parser_compound_statement_nostart, c_parser_label,
2413         c_parser_for_statement, c_parser_objc_methodprotolist,
2414         c_parser_omp_for_loop): All callers of
2415         c_parser_declaration_or_fndef changed.
2416         (c_parser_struct_declaration): Handle static assertions.
2417         (c_parser_compound_statement_nostart): Use
2418         c_parser_next_token_starts_declaration and
2419         c_token_starts_declaration to detect start of declarations.
2420         (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
2421         Likewise.
2422
2423 2010-05-16  Anatoly Sokolov  <aesok@post.ru>
2424
2425         * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
2426         LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
2427         * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
2428         TARGET_FUNCTION_VALUE_REGNO_P): Define.
2429         (mmix_function_outgoing_value): Rename to...
2430         (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
2431         (mmix_function_value_regno_p): Make static.
2432         (mmix_libcall_value): New function.
2433         * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
2434         mmix_function_value_regno_p): Remove declaration.
2435
2436 2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
2437
2438         * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
2439         BUILT_IN_ALLOCA if stack checking is enabled.
2440
2441 2010-05-16  Richard Guenther  <rguenther@suse.de>
2442
2443         * var-tracking.c (vars_copy_1): Inline ...
2444         (vars_copy): ... here.  Use FOR_EACH_HTAB_ELEMENT.
2445         (variable_union): Use FOR_EACH_HTAB_ELEMENT.  Merge asserts.
2446         (variable_merge_over_cur): Adjust.  Merge asserts.
2447         (variable_merge_over_src): Likewise.
2448         (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
2449         (variable_post_merge_new_vals): Merge asserts.
2450         (variable_post_merge_perm_vals): Likewise.
2451         (find_mem_expr_in_1pdv): Likewise.
2452         (dataflow_set_different_value): Remove.
2453         (onepart_variable_different_p): Merge asserts.
2454         (variable_different_p): Likewise.
2455         (dataflow_set_different_1): Inline ...
2456         (dataflow_set_different): ... here.  Use FOR_EACH_HTAB_ELEMENT.
2457         (emit_notes_for_differences_1): Merge asserts.
2458
2459 2010-05-16  Richard Guenther  <rguenther@suse.de>
2460
2461         * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
2462         * optabs.c (libfunc_decl_hash): Likewise.
2463         * varasm.c (emutls_decl): Likewise.
2464
2465 2010-05-16  Steven Bosscher  <steven@gcc.gnu.org>
2466
2467         * c-decl.c: Don't include gimple.h.
2468         (merge_decls): Do not copy gimple_body.
2469
2470 2010-05-15  Jason Merrill  <jason@redhat.com>
2471
2472         * c.opt: Add -fnothrow-opt.
2473
2474 2010-05-15  Jan Hubicka  <jh@suse.cz>
2475
2476         * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
2477         analyzed.
2478         * passes.c (ipa_write_summaries): Write all analyzed nodes.
2479
2480 2010-05-15  Steven Bosscher  <steven@gcc.gnu.org>
2481
2482         * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
2483         * Makefile.in: Add it.
2484         Fix all other Makefile dependencies for changes below.
2485         * tree.h: Include it instead of defining VEC primitives here.
2486         * gimple.h: Likewise.
2487         * rtl.h: Likewise.
2488         * tree-inline.h: Inlclude vecir.h instead of gimple.h.
2489         * except.h: Include vecir.h, break dependence on tree.h.
2490
2491         * gimplify.c (append_to_statement_list_1, append_to_statement_list):
2492         Move from here...
2493         * tree-iterator.c: ...to here.
2494         * tree-iterator.h: Fix file introduction comment.  Add extern markers.
2495
2496         * c-lex.c: Include fixed-value.h instead of rtl.h.  Do not include
2497         tm_p.h.
2498         * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
2499         * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
2500         integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
2501         tree-mudflap.h, and target.h.
2502         * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
2503         predict.h, tree-inline.h, gimple.h, and langhooks.h.
2504         * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
2505         Add FIXME for why gimple.h is still included (should be unnecessary
2506         since GCC 4.5 gimplification unit-at-a-time).
2507         * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
2508         * c-pragma.c: Add FIXME for why function.h needs to be included just
2509         for cfun, at front-end level.
2510         Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
2511         Do not include ggc.h, but include vecprim.h for VEC(char).
2512         * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
2513         Explain why target.h is included.
2514         * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
2515         Explain why gimple.h is included.
2516         * c-ppoutput.c: Do not include tm.h.
2517         * c-common.c: Do not include gimple.h.  Explain why expr.h is included.
2518         * c-parses.c: Explain why rtl.h is included, and that this (and only
2519         this) is also why tm.h must be included.
2520         Do not include except.h.
2521         * c-lang.c: Do not include ggc.h.
2522
2523 2010-05-15  Uros Bizjak  <ubizjak@gmail.com>
2524
2525         * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
2526
2527 2010-05-15  Joseph Myers  <joseph@codesourcery.com>
2528
2529         * c-decl.c (grokfield): Allow typedefs for anonymous structs and
2530         unions by default if those structs and unions have no tags.  Do
2531         not condition anonymous struct and unions handling on flag_iso.
2532         Allow anonymous structs and unions for C1X.
2533         (finish_struct): Do not diagnose lack of named fields when
2534         anonymous structs and unions present for C1X.  Accept flexible
2535         array members in structure with anonymous structs or unions but no
2536         directly named fields.
2537         * doc/extend.texi (Unnamed Fields): Update.
2538
2539 2010-05-15  Eric Botcazou  <ebotcazou@adacore.com>
2540
2541         * gimple.h (compare_field_offset): Rename into...
2542         (gimple_compare_field_offset): ...this.
2543         * gimple.c (compare_field_offset): Rename into...
2544         (gimple_compare_field_offset): ...this.  Compare the full access if
2545         the offset is self-referential.
2546         (gimple_types_compatible_p): Adjust for above renaming.
2547         * lto-streamer-in.c (input_gimple_stmt): Likewise.  Also compare the
2548         DECL_NONADDRESSABLE_P flag of fields before merging them.
2549
2550 2010-05-15  Nathan Froyd  <froydnj@codesourcery.com>
2551
2552         * tree.h (ctor_to_list): Delete.
2553         * tree.c (ctor_to_list): Delete.
2554
2555 2010-05-15  Jan Hubicka  <jh@suse.cz>
2556
2557         * ipa-reference.c: Include toplev.h
2558         (is_proper_for_analysis): Only add to all_module_statics
2559         if it is allocated.
2560         (write_node_summary_p, stream_out_bitmap,
2561         ipa_reference_write_optimization_summary,
2562         ipa_reference_read_optimization_summary): New.
2563         (struct ipa_opt_pass_d pass_ipa_reference): Add
2564         optimization summary streaming.
2565         * lto-cgraph.c (referenced_from_this_partition_p,
2566         reachable_from_this_partition_p): New functions.
2567         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
2568         call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
2569         * opts.c (decode_options): Enable ipa_reference.
2570         * Makefile.in (ipa-reference.o): Add toplev.h dependency.
2571         * lto-streamer.h (referenced_from_this_partition_p,
2572         reachable_from_this_partition_p): Declare.
2573
2574 2010-05-15  Richard Guenther  <rguenther@suse.de>
2575
2576         PR tree-optimization/44038
2577         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
2578         taking the address of a V_C_E of a constant.
2579
2580 2010-05-14  Jan Hubicka  <jh@suse.cz>
2581
2582         * tree.h (memory_identifier_string): Remove.
2583         * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
2584         (ipa_reference_global_vars_info_d): Remove statics_not_read and
2585         statics_not_written.
2586         (ipa_reference_optimization_summary_d): New structure.
2587         (ipa_reference_optimization_summary_t): New type and vector.
2588         (ipa_reference_vars_info_d): Embedd structures instead of using
2589         pointers.
2590         (reference_vars_to_consider): Remove out of GGC space.
2591         (module_statics_escape): Remove.
2592         (global_info_obstack): Rename to ...
2593         (optimization_summary_obstack): ... this one.
2594         (initialization_status_t): Remove.
2595         (memory_identifier_string): Remove.
2596         (get_reference_vars_info): Fix indenting.
2597         (set_reference_vars_info): Likewise.
2598         (get_reference_optimization_summary): New.
2599         (set_reference_optimization_summary): New.
2600         (get_global_reference_vars_info): Remove.
2601         (ipa_reference_get_read_global): Remove.
2602         (ipa_reference_get_written_global): Remove.
2603         (ipa_reference_get_not_read_global): Update.
2604         (ipa_reference_get_not_written_global): Update.
2605         (is_proper_for_analysis): Outlaw addressable.
2606         (propagate_bits): Update for new datastructures.
2607         (analyze_variable): Remove.
2608         (init_function_info): Update for new datastructures.
2609         (clean_function_local_data): Remove.
2610         (clean_function): Remove.
2611         (copy_global_bitmap): Use optimizations_summary_obstack.
2612         (duplicate_node_data): Duplicate optimization summary only.
2613         (remove_node_data): Remove optimization summary only.
2614         (generate_summary): Do not analyze variables; do not compute
2615         module_statics_escape; do not prune solutions by it.
2616         (read_write_all_from_decl): Fix typos in comments.
2617         (propagate): Doscover readonly and nonaddressable first;
2618         update for new datastructures; share global bitmaps.
2619         * ipa-reference.h (ipa_reference_get_read_global,
2620         ipa_reference_get_written_global): Remove.
2621         * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
2622         * Makefile.in: Remove ipa-refereference from GT files.
2623
2624 2010-05-14  Jakub Jelinek  <jakub@redhat.com>
2625
2626         PR debug/44112
2627         * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
2628         for all SYMBOL_REF_DECLs.
2629
2630 2010-05-14  Jan Hubicka  <jh@suse.cz>
2631
2632         * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
2633         (varpool_all_refs_explicit_p): New inline function.
2634         * ipa-reference.c: Update comment.
2635         (module_statics_written): Remove.
2636         (get_static_decl): Remove.
2637         (ipa_init): Do not initialize module_statics_written.
2638         (analyze_function): Likewise.
2639         (generate_summary): Likewise; do not compute module_statics_readonly
2640         and do not update variable flags.
2641         (propagate): Call ipa_discover_readonly_nonaddressable_vars.
2642         * ipa.c: Inlucde flags.h
2643         (cgraph_local_node_p): New.
2644         (cgraph_remove_unreachable_nodes): Return early when not optimizing;
2645         promote functions to local.
2646         (ipa_discover_readonly_nonaddressable_vars): New function.
2647         (function_and_variable_visibility): Use cgraph_local_node_p.
2648         * varpool.c (varpool_finalize_decl): Set force_output for
2649         DECL_PRESERVE_P vars.
2650
2651 2010-05-14  Jan Hubicka  <jh@suse.cz>
2652
2653         * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
2654
2655 2010-05-14  Richard Guenther  <rguenther@suse.de>
2656
2657         PR tree-optimization/44119
2658         * tree-ssa-pre.c (eliminate): Properly mark replacement of
2659         a PHI node necessary.
2660
2661 2010-05-14  Eric Botcazou  <ebotcazou@adacore.com>
2662
2663         * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
2664
2665 2010-05-14  Jason Merrill  <jason@redhat.com>
2666
2667         PR c++/44127
2668         * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
2669         (gimple_call_set_nothrow): New.
2670         * gimple.c (gimple_build_call_from_tree): Call it.
2671         (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
2672
2673         PR c++/44127
2674         * gimplify.c (gimplify_seq_add_stmt): No longer static.
2675         * gimple.h: Declare it.
2676         * gimple.c (gimple_build_eh_filter): No ops.
2677
2678 2010-05-14  Jan Hubicka  <jh@suse.cz>
2679
2680         * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
2681         nodes already in queue.
2682         (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
2683         re-enqueueing node.
2684
2685 2010-05-14  Jakub Jelinek  <jakub@redhat.com>
2686
2687         PR debug/44136
2688         * cfgexpand.c (expand_debug_expr): If non-memory op0
2689         has BLKmode, return NULL.
2690
2691 2010-05-14  Harsha Jagasia  <harsha.jagasia@amd.com>
2692
2693         * config.gcc: Add support for --with-cpu option for bdver1.
2694         * config/i386/i386.h (TARGET_BDVER1): New macro.
2695         (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
2696         to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
2697         (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
2698         to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
2699         Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
2700         (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
2701         (processor_type): Add PROCESSOR_BDVER1.
2702         * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
2703         processor_type in config/i386/i386.h.
2704         Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
2705         movaps <reg, reg> instead of movapd <reg, reg> when replacing
2706         movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
2707         Add check for  TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
2708         to emit packed xor instead of packed double/packed integer
2709         xor for SSE and AVX when moving a zero value.
2710         * config/i386/sse.md: Add check for
2711         TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
2712         movapd/movdqa for SSE and AVX.
2713         Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
2714         single logical operations i.e and, or and xor instead of packed double
2715         logical operations for SSE and AVX.
2716         * config/i386/i386-c.c (ix86_target_macros_internal):
2717         Add PROCESSOR_BDVER1.
2718         * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
2719         (has_fma4, has_xop): New.
2720         * config/i386/i386.c (bdver1_cost): New variable.
2721         (m_BDVER1): New macro.
2722         (m_AMD_MULTIPLE): Add m_BDVER1.
2723         (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
2724         x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
2725         x86_tune_use_simode_fiop, x86_tune_promote_qimode,
2726         x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
2727         x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
2728         x86_tune_sse_partial_reg_dependency,
2729         x86_tune_sse_unaligned_load_optimal,
2730         x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
2731         x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
2732         x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
2733         x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
2734         x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
2735         Enable/disable for bdver1.
2736         (processor_target_table): Add bdver1_cost.
2737         (cpu_names): Add bdver1.
2738         (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
2739          processor_alias_table.
2740         (ix86_expand_vector_move_misalign): Change.
2741         TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
2742         Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
2743         Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
2744         of movupd/movdqu for SSE and AVX.
2745         (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
2746         (ix86_tune_adjust_cost): Add code for bdver1.
2747         (standard_sse_constant_opcode): Add check for
2748         TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
2749         of packed double xor for SSE and AVX.
2750
2751 2010-05-14  Pat Haugen  <pthaugen@us.ibm.com>
2752
2753         * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
2754         result to unsigned.
2755
2756 2010-05-14  Tristan Gingold  <gingold@adacore.com>
2757
2758         * toplev.c (default_debug_hooks): Remove this variable.
2759         (process_options): Remove assignments to default_debug_hooks.
2760
2761 2010-05-14  Martin Jambor  <mjambor@suse.cz>
2762
2763         * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
2764         (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
2765         * langhooks.h (struct lang_hooks_for_decls): Removed field
2766         fold_obj_type_ref.
2767         * tree.c (free_lang_data): Remove assignment to
2768         lang_hooks.fold_obj_type_ref.
2769         * tree.def (OBJ_TYPE_REF): Update comment.
2770
2771 2010-05-14  Richard Guenther  <rguenther@suse.de>
2772
2773         PR tree-optimization/44124
2774         * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
2775
2776 2010-05-14  Alan Modra  <amodra@gmail.com>
2777
2778         PR target/44075
2779         * config/rs6000/rs6000.c (struct machine_function): Reorder
2780         fields for better packing.  Add lr_save_state.
2781         (rs6000_ra_ever_killed): Return lr_save_state if set.
2782         (rs6000_emit_eh_reg_restore): Set lr_save_state.
2783
2784 2010-05-13  Jan Hubicka  <jh@suse.cz>
2785
2786         * varpool.c (decide_is_variable_needed): Drop code checking
2787         TREE_SYMBOL_REFERENCED.
2788
2789 2010-05-13  Jan Hubicka  <jh@suse.cz>
2790
2791         * final.c (output_addr_const): Do not call mark_decl_referenced.
2792         * cgraphunit.c (process_function_and_variable_attributes): Use
2793         mark_needed_node dirrectly.
2794         (assemble_thunk): Do not call mark_decl_referenced.
2795
2796 2010-05-13  Anatoly Sokolov  <aesok@post.ru>
2797
2798         * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
2799
2800 2010-05-13  Jeff Law  <law@redhat.com>
2801
2802         * ira-conflicts.c (print_allocno_conflicts): New function broken out
2803         from...
2804         (print_conflicts): Call print_allocno_conflicts.
2805
2806 2010-05-13  Jakub Jelinek  <jakub@redhat.com>
2807
2808         PR debug/44104
2809         * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
2810         if it is NULL.
2811
2812 2010-05-13  Kai Tietz  <kai.tietz@onevision.com>
2813
2814         * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
2815         t-mingw-w64 or t-mingw-w32 for multilib configuration.
2816         * config/i386/t-mingw-w32: New.
2817         * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
2818
2819 2010-05-13  Martin Jambor  <mjambor@suse.cz>
2820
2821         * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
2822         gimple-fold.c).
2823         * gimple-fold.c (get_base_binfo_for_type): New function.
2824         (gimple_get_relevant_ref_binfo): Likewise.
2825         (gimple_fold_obj_type_ref_known_binfo): Likewise.
2826         (gimple_fold_obj_type_ref): Likewise.
2827         (fold_gimple_call): Simplify condition for folding virtual calls
2828         and call gimple_fold_obj_type_ref.
2829         * gimple.h (gimple_get_relevant_ref_binfo): Declare.
2830         (gimple_fold_obj_type_ref_known_binfo): Likewise.
2831
2832 2010-05-13  Andreas Schwab  <schwab@linux-m68k.org>
2833
2834         * config/rs6000/rs6000-protos.h
2835         (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
2836         * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
2837         (rs6000_debug_mode_dependent_address)
2838         (rs6000_mode_dependent_address_ptr): Likewise.
2839
2840 2010-05-13  Jakub Jelinek  <jakub@redhat.com>
2841
2842         PR debug/43983
2843         * var-tracking.c (track_expr_p): Allow tracking of variables optimized
2844         by SRA.
2845         * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
2846         * tree-sra.c (create_access_replacement): Call unshare_expr before
2847         passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
2848         * dwarf2out.c: Include tree-flow.h.
2849         (struct var_loc_node): Rename var_loc_note field to loc, add comment.
2850         (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
2851         Handle DW_OP_bit_piece.
2852         (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
2853         construct_piece_list, adjust_piece_list): New functions.
2854         (add_var_loc_to_decl): Handle SRA optimized variables.
2855         Adjust for var_loc_note to loc field renaming.
2856         (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
2857         in VAR_LOCATION note.
2858         (new_loc_descr_op_bit_piece): New function.
2859         (dw_sra_loc_expr): New function.
2860         (dw_loc_list): Use it.  Don't handle the last range after the
2861         loop, handle it inside of the loop.  Adjust for var_loc_note
2862         to loc field renaming.
2863         (add_location_or_const_value_attribute): Only special case
2864         single entry loc lists if loc is NOTE_P.  Adjust for
2865         var_loc_note to loc field renaming.
2866         (dwarf2out_var_location): Don't set newloc->var_loc_note
2867         and newloc->next here.
2868
2869 2010-05-12  Jan Hubicka  <jh@suse.cz>
2870
2871         * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
2872         flag.
2873         * cgraph.h (cgraph_only_called_directly_p,
2874         cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
2875         (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
2876         * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
2877         (assemble
2878         * ipa.c (cgraph_remove_unreachable_nodes): Use
2879         cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
2880         flags.
2881         * tree-inline.c (copy_bb): Check address_taken flag.
2882         * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
2883         externally_visible flag.
2884
2885 2010-05-12  Jason Merrill  <jason@redhat.com>
2886
2887         PR bootstrap/44048
2888         PR target/44099
2889         * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
2890         * sdbout.c (plain_type_1): Likewise.
2891         * dwarf2out.c (is_base_type): Likewise.
2892         (gen_type_die_with_usage): Likewise.  Generate
2893         DW_TAG_unspecified_type for any LANG_TYPE.
2894
2895 2010-05-12  Jan Hubicka  <jh@suse.cz>
2896
2897         * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
2898         indrect edges too.
2899         * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
2900         (cgraph_clone_edge): Update.
2901         (cgraph_node_remove_callees): Remove indirect calls too.
2902         * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
2903         (cgraph_create_indirect_edge): Update prototype.
2904         * ipa-reference.c (has_proper_scope_for_analysis): Rename to
2905         is_proper_for_analysis.
2906         (add_new_function, visited_nodes, function_insertion_hook_holder,
2907         get_local_reference_vars_info, mark_address_taken, mark_address,
2908         mark_load, mark_store, check_asm_memory_clobber, check_call,
2909         scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
2910         (ipa_init): Do not initialize visited_nodes;
2911         function_insertion_hook_holder.
2912         (analyze_variable): Rewrite.
2913         (analyze_function): Rewrite.
2914         (copy_local_bitmap): Remove.
2915         (duplicate_node_dat): Do not duplicate local info.
2916         (generate_summary): Simplify to only walk cgraph.
2917         (write_node_summary_p, ipa_reference_write_summary,
2918         ipa_reference_read_summary): Remove.
2919         (propagate): Do not remove function insertion;
2920         generate summary.
2921         (pass_ipa_reference): NULLify summary handling fields.
2922         * lto-cgraph.c (lto_output_edge): Output ecf_flags.
2923         (input_edge): Input ecf_flags.
2924         * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
2925         (update_indirect_edges_after_inlining): Ignore edges with unknown
2926         param.
2927
2928 2010-05-12  Sriraman Tallam  <tmsriram@google.com>
2929
2930         * implicit-zee.c: New file.
2931         * tree-pass.h (pass_implicit_zee): Declare.
2932         * passes.c (init_optimization_passes): Add zee pass.
2933         * common.opt (fzee): New flag.
2934         * timevar.def (TV_ZEE): Define.
2935         * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
2936         and beyond.
2937         * Makefile.in (implicit-zee.o): Add new build file.
2938
2939 2010-05-12  Kazu Hirata  <kazu@codesourcery.com>
2940             Nathan Froyd  <froydnj@codesourcery.com>
2941
2942         * c-common.c (sync_resolve_params): Remove write-only variable.
2943
2944 2010-05-12  Anatoly Sokolov  <aesok@post.ru>
2945
2946         * target.h (struct gcc_target): Add mode_dependent_address_p field.
2947         * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
2948         (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
2949         * targhooks.c (default_mode_dependent_address_p): New function.
2950         * targhooks.h (default_mode_dependent_address_p): Declare function.
2951         * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
2952         (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
2953         * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
2954         target hook. Change return type to bool.
2955         * recog.h (mode_dependent_address_p): Change return type to bool.
2956
2957 2010-05-12  Kazu Hirata  <kazu@codesourcery.com>
2958             Nathan Froyd  <froydnj@codesourcery.com>
2959
2960         * tree-mudflap.c (build_function_type_0, build_function_type_1,
2961         build_function_type_2, build_function_type_3): Remove.
2962         (mudflap_init): Use build_function_type_list.
2963
2964 2010-05-12  Kazu Hirata  <kazu@codesourcery.com>
2965             Nathan Froyd  <froydnj@codesourcery.com>
2966
2967         * coverage.c (build_fn_info_value): Call build_constructor instead of
2968         build_constructor_from_list.
2969         (build_ctr_info_value): Likewise.
2970         (build_gcov_info): Likewise.
2971
2972 2010-05-12  Nathan Froyd  <froydnj@codesourcery.com>
2973
2974         * tree.c (build_constructor): Compute TREE_CONSTANT for the
2975         resultant constructor.
2976         (build_constructor_single): Don't set TREE_CONSTANT.
2977         (build_constructor_from_list): Don't compute TREE_CONSTANT.
2978
2979 2010-05-12  Jan Hubicka  <jh@suse.cz>
2980
2981         * cgraph.h (struct varpool_node): Add aux.
2982         * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
2983         * varpool.c (varpool_remove_node): Do not remove initializer.
2984         (varpool_reset_queue): Export.
2985         (varpool_finalize_decl): Volatile vars are forced to be output.
2986         * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
2987         replaced decl.
2988         * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
2989         process_references, varpool_can_remove_if_no_refs): New functions.
2990         (cgraph_remove_unreachable_nodes): Handle variables too.
2991
2992 2010-05-12  H.J. Lu  <hongjiu.lu@intel.com>
2993
2994         PR target/44088
2995         * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
2996
2997 2010-05-12  Jakub Jelinek  <jakub@redhat.com>
2998
2999         PR middle-end/44085
3000         * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
3001         change value of ORT_TASK.
3002         (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
3003         (omp_notice_threadprivate_variable): New function.
3004         (omp_notice_variable): Call it for threadprivate variables.
3005         If enclosing ctx is a task, print enclosing task rather than
3006         enclosing parallel.  Handle ORT_UNTIED_TASK like ORT_TASK.
3007         (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
3008         if task has untied clause.
3009
3010         PR debug/42278
3011         * dwarf2out.c (base_type_die): Don't add name attribute here.
3012         (modified_type_die): Instead of sizetype use
3013         its underlying original type.  If a DW_TAG_base_type doesn't
3014         have name added, add __unknown__.
3015         (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
3016         always call force_type_die instead.
3017
3018 2010-05-12  Maxim Kuvyrkov  <maxim@codesourcery.com>
3019
3020         * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
3021         for __stack_chk_guard.
3022
3023 2010-05-11  Jakub Jelinek  <jakub@redhat.com>
3024
3025         * c-opts.c (c_common_parse_file): If start_end_main_source_file,
3026         don't call start_source_file debug hook here...
3027         (finish_options): ... but here, after outputting predefined and
3028         command line defines and undefs.
3029
3030         PR middle-end/44071
3031         * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
3032         no fallthru edge.
3033         * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
3034         optimizing away empty bb with no successors, move over its
3035         footer chain to fallthru predecessor.
3036         * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
3037         (rtl_split_edge): For asm goto call patch_jump_insn even if
3038         splitting fallthru edge.
3039
3040         PR c++/44059
3041         * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
3042         even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
3043         * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
3044         * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
3045         on DW.ref.* decls.
3046
3047         PR c++/44062
3048         * c-parser.c (c_parser_expression): Mark LHS of a comma
3049         expression as read if it is a decl, handled component or
3050         COMPOUND_EXPR with that on the RHS.
3051         * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
3052         if it is a decl or handled component.
3053
3054 2010-05-11  Jan Hubicka  <jh@suse.cz>
3055
3056         * lto-symtab.c (lto_symtab_free): New function.
3057         * lto-streamer.h (lto_symtab_free): Declare.
3058
3059 2010-05-11  Jan Hubicka  <jh@suse.cz>
3060
3061         * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
3062         that if function is needed it is reachable.
3063         (lto_output_node): See if it the function is reachable or referenced.
3064         (output_cgraph): Update call of lto_output_node.
3065         * lto-streamer.h (reachable_from_other_partition_p): Declare.
3066
3067 2010-05-11  Jan Hubicka  <jh@suse.cz>
3068
3069         * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
3070         Mark as used.
3071
3072 2010-05-11  Jan Hubicka  <jh@suse.cz>
3073
3074         PR tree-optimize/44063
3075         * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
3076         queue.
3077         (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
3078         limits.
3079         (estimate_function_body_sizes): Compute sizes even when disregarding.
3080
3081 2010-05-11  Kai Tietz  <kai.tietz@onevision.com>
3082
3083         * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
3084
3085 2010-05-11  Jan Hubicka  <jh@suse.cz>
3086
3087         * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
3088         into every boundary.
3089
3090 2010-05-11  Jan Hubicka  <jh@suse.cz>
3091
3092         * matrix-reorg.c (matrix_reorg): Rebuild edges.
3093
3094 2010-05-11  Jan Hubicka  <jh@suse.cz>
3095
3096         * lto-streamer.c (lto_streamer_cache_add_to_node_array,
3097         lto_streamer_cache_delete): Put nodes into heap.
3098         * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
3099         heap.
3100
3101 2010-05-11  Jan Hubicka  <jh@suse.cz>
3102
3103         * cgraphbuild.c (cgraph_rebuild_references): New.
3104         * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
3105         out extern inlines.
3106         * cgraph.h (cgraph_rebuild_references): Declare.
3107         * tree-inline.c (tree_function_versioning): Use it.
3108         * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
3109
3110 2010-05-11  Jan Hubicka  <jh@suse.cz>
3111
3112         * cgraph.c: Include ipa-utils.h
3113         (cgraph_create_virtual_clone): Update references.
3114         * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
3115
3116 2010-05-11  Christian Borntraeger  <borntraeger@de.ibm.com>
3117
3118         * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
3119         prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
3120         cache size.
3121
3122 2010-05-11  Christian Borntraeger  <borntraeger@de.ibm.com>
3123
3124         * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
3125
3126 2010-05-11  Jakub Jelinek  <jakub@redhat.com>
3127
3128         * gcc.c (execute): For -### don't quote arguments that
3129         contain just alphanumerics and _/-. characters.
3130         * doc/invoke.texi: Document that change for -###.
3131
3132         PR debug/44023
3133         * df-problems.c (struct dead_debug): Add to_rescan field.
3134         (dead_debug_init): Clear to_rescan field.
3135         (dead_debug_finish): Rescan all debug insns in to_rescan
3136         bitmap and free the bitmap.
3137         (dead_debug_insert_before): Instead of rescanning debug insns
3138         immediately queue their rescanning until dead_debug_finish.
3139         (df_note_bb_compute): After dead_debug_add do continue instead
3140         of break.
3141
3142 2010-05-10  Jakub Jelinek  <jakub@redhat.com>
3143
3144         PR debug/44028
3145         * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
3146         clear also INSN_REG_USE_LIST.
3147
3148 2010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3149
3150         * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
3151
3152 2010-05-10  Jan Hubicka  <jh@suse.cz>
3153
3154         * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
3155         commited change.
3156
3157 2010-05-10  Jan Hubicka  <jh@suse.cz>
3158
3159         * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
3160         Allocate encoders.
3161         * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
3162         * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
3163         (lto_streamer_cache_create): Init alloc pool.
3164         (lto_streamer_cache_delete): Free alloc pool.
3165         * lto-streamer.h: Include alloc pool.
3166         (lto_streamer_cache_d): Use alloc pool.
3167         * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
3168
3169 2010-05-10  Jan Hubicka  <jh@suse.cz>
3170
3171         * Makefile.in (cgraphbuild.o): Add dependency on except.h.
3172         * cgraphbuild.c: Include except.h
3173         (record_type_list, record_eh_tables): New function.
3174         (build_cgraph_edges, rebuild_cgraph_edges): Use it.
3175
3176 2010-05-10  Jan Hubicka  <jh@suse.cz>
3177
3178         * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
3179         __frame_dummy_init_array_entry, force_to_data): Attribute as used
3180         rather than unused.
3181
3182 2010-05-10  Michael Matz  <matz@suse.de>
3183
3184         * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
3185         (can_reassociate_p): Use FLOAT_TYPE_P.
3186         * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
3187         (vect_force_simple_reduction): ... this.
3188         * tree-parloops.c (gather_scalar_reductions): Use
3189         vect_force_simple_reduction.
3190         * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
3191         vect_is_simple_reduction, add modify argument, if true rewrite
3192         "a-b" into "a+(-b)".
3193         (vect_is_simple_reduction, vect_force_simple_reduction): New
3194         functions.
3195         (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
3196
3197 2010-05-10  H.J. Lu  <hongjiu.lu@intel.com>
3198             Vladimir Makarov  <vmakarov@redhat.com>
3199
3200         PR rtl-optimization/44012
3201         * ira-build.c (remove_unnecessary_allocnos): Nullify
3202         regno_allocno_map of the removed allocno.
3203
3204 2010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3205
3206         * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
3207         to /dev/null.
3208         * configure: Regenerate.
3209
3210 2010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3211
3212         * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
3213         unused.
3214         Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
3215         * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
3216         support in Sun ld.
3217         * configure: Regenerate.
3218
3219 2010-05-10  Richard Guenther  <rguenther@suse.de>
3220
3221         * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
3222         marked if the entry identifier is marked.
3223
3224 2010-05-10  Richard Guenther  <rguenther@suse.de>
3225
3226         * c-common.c (struct c_common_attributes): Add fnspec attribute.
3227         (handle_fnspec_attribute): New function.
3228         * gimple.h (gimple_call_return_flags): Declare.
3229         (gimple_call_arg_flags): Likewise.
3230         * gimple.c (gimple_call_arg_flags): New function.
3231         (gimple_call_return_flags): Likewise.
3232         * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
3233         New argument flags.
3234         (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
3235         return value flags.
3236         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
3237         * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
3238         main work to ...
3239         (make_heapvar_for): ... this new function.
3240         (handle_rhs_call): Handle fnspec attribute argument specifiers.
3241         (handle_lhs_call): Likewise.
3242         (find_func_aliases): Adjust.
3243
3244 2010-05-10  Richard Guenther  <rguenther@suse.de>
3245
3246         PR tree-optimization/44050
3247         * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
3248
3249 2010-05-10  Wei Guozhi  <carrot@google.com>
3250
3251         PR target/42879
3252         * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
3253
3254 2010-05-09  Joseph Myers  <joseph@codesourcery.com>
3255
3256         PR c/10676
3257         * c-typeck.c (lookup_field): Take a type directly.  Update
3258         recursive calls.
3259         (build_component_ref): Update call to lookup_field.
3260         (set_init_label): Use lookup_field to find initialized field.
3261         Handle returned list of fields like a sequence of designators.
3262
3263 2010-05-09  Richard Guenther  <rguenther@suse.de>
3264
3265         PR middle-end/44024
3266         * fold-const.c (tree_single_nonzero_warnv_p): Properly
3267         handle &FUNCTION_DECL.
3268
3269 2010-05-09  Joseph Myers  <joseph@codesourcery.com>
3270
3271         PR c/4784
3272         * c-decl.c (detect_field_duplicates_hash): New.  Handle anonymous
3273         structures and unions recursively.
3274         (detect_field_duplicates): Move duplicate detection with a hash to
3275         detect_field_duplicates_hash.  Always use a hash if anonymous
3276         structures or unions are present.
3277         * doc/extend.texi (Unnamed Fields): Document that duplicate fields
3278         give errors.
3279
3280 2010-05-09  H.J. Lu  <hongjiu.lu@intel.com>
3281
3282         PR target/44046
3283         * config/i386/driver-i386.c (host_detect_local_cpu): Properly
3284         detect Atom, Core 2 and Core i7.
3285
3286 2010-05-09  Richard Guenther  <rguenther@suse.de>
3287
3288         * gcc.c (store_arg): Handle temporary file deletion for
3289         joined arguments.
3290
3291 2010-05-09  Richard Guenther  <rguenther@suse.de>
3292
3293         PR middle-end/44043
3294         * ipa-inline.c (estimate_function_body_sizes): Return after
3295         disregarding inline limits.
3296
3297 2010-05-09  Richard Guenther  <rguenther@suse.de>
3298
3299         * gcc.c (store_arg): Revert last change.
3300
3301 2010-05-08  Sandra Loosemore  <sandra@codesourcery.com>
3302
3303         PR middle-end/28685
3304         * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
3305         (optimize_ops_list): Call it.
3306
3307 2010-05-08  Richard Guenther  <rguenther@suse.de>
3308
3309         PR tree-optimization/44030
3310         * tree-ssa-pre.c (eliminate): Copy NECESSARY flag.  Set
3311         NECESSARY flag if we propagate from a inserted expression.
3312
3313 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
3314
3315         * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
3316         domain types as equal if they are both PLACEHOLDER_EXPRs.
3317
3318 2010-05-08  Richard Guenther  <rguenther@suse.de>
3319
3320         * lto-wrapper.c (run_gcc): Remove linker output from
3321         command line for LTRANS invocation.
3322
3323 2010-05-07  Steven Bosscher  <steven@gcc.gnu.org>
3324
3325         * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
3326         lto-macho as lto_binary_reader.
3327         * target.h (struct gcc_target): New hooks lto_start and lto_end.
3328         * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
3329         * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
3330         in lto_start and lto_end calls.
3331         (is_elf_or_coff): Rename to maybe_lto_object_file.  Add Mach-O
3332         magic numbers.
3333         (scan_prog_file): Update is_elf_or_coff call.
3334         * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
3335
3336         * collect2.c (main): Fix enum comparison.
3337
3338         * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
3339         Add prototypes.
3340         * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
3341         * darwin.h (LINK_COMMAND_SPEC): Likewise.  Define TARGET_ASM_LTO_START
3342         and TARGET_ASM_LTO_END.
3343         * darwin.c: Include obstack.h and lto-streamer.h.
3344         (lto_section_names_offset, lto_section_names_obstack,
3345         lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
3346         global variables.
3347         (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
3348         (darwin_asm_lto_start): New function.  Redirect output to asm_out_file
3349         to a temporary file.
3350         (darwin_asm_lto_end): New function.  Restore asm_out_file.
3351         (darwin_asm_named_section): For LTO sections, replace the name with
3352         the offset of the section name in a string table, and build this
3353         table.
3354         (darwin_file_start): Initialize global vars for LTO support.
3355         (darwin_file_end): If output to asm_out_file was redirected, append it
3356         to the proper asm_out_file here.  Add the section names section.
3357
3358 2010-05-07  Steven Bosscher  <steven@gcc.gnu.org>
3359
3360         * c-pragma.c (pending_weak_d, pending_weak): New.
3361         (pending_weaks): Change the type to VEC((pending_weak,gc) *.
3362         (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
3363         handle_pragma_weak): Update the uses of pending_weaks.
3364
3365 2010-05-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3366
3367         PR documentation/44016
3368         * doc/standards.texi (Standards): Link to unversioned
3369         cxx0x_status.html page.
3370
3371 2010-05-07  Iain Sandoe <iains@gcc.gnu.org>
3372
3373         PR target/43708
3374         * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
3375         in addition to TREE_USED, to avoid "set but unused" warnings.
3376
3377 2010-05-07  Changpeng Fang  <changpeng.fang@amd.com>
3378
3379         * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
3380         (is_loop_prefetching_profitable): Do not insert prefetches
3381         when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
3382         times the prefetch ahead distance.
3383
3384 2010-05-07  Changpeng Fang  <changpeng.fang@amd.com>
3385
3386         * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
3387         Account for loop unrolling in the insn-to-prefetch ratio heuristic.
3388         (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
3389         the unroll_factor.
3390
3391 2010-05-07  Changpeng Fang  <changpeng.fang@amd.com>
3392
3393         * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
3394         a diagnostic info when the insn-to-mem ratio is too small.
3395
3396 2010-05-07  Richard Guenther <rguenther@suse.de>
3397
3398         * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
3399         the linker plugin.
3400         (store_arg): Queue temp_filename for deletion instead of
3401         the whole argument.
3402
3403 2010-05-07  Richard Guenther  <rguenther@suse.de>
3404
3405         * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
3406         (run_gcc): Handle LTRANS phase invocation.
3407         * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
3408
3409 2010-05-07  Jakub Jelinek  <jakub@redhat.com>
3410
3411         * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
3412         this is also meaningful on PARM_DECLs and RESULT_DECLs.
3413
3414 2010-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3415
3416         * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
3417
3418 2010-05-07  Richard Guenther  <rguenther@suse.de>
3419
3420         PR tree-optimization/44020
3421         * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
3422         code when PRE is not yet initialized.
3423
3424 2010-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3425
3426         * config/mips/dbxmdebug.h: Remove.
3427         * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
3428
3429 2010-05-07  Shujing Zhao  <pearly.zhao@oracle.com>
3430
3431         * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
3432         with null pointer and also warn about ordered comparison of zero with
3433         pointer if -Wextra.
3434
3435 2010-05-05  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
3436
3437         * graphite-blocking.c
3438         (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
3439         * graphite-clast-to-gimple.c
3440         (clast_to_gcc_expression): Same.
3441         (precision_for_value): Same.
3442         (precision_for_interval): Same.
3443         (gcc_type_for_interval): Same.
3444         (graphite_create_new_guard): Same.
3445         (compute_bounds_for_level): Same.
3446         (graphite_create_new_loop_guard): Same.
3447         * graphite-interchange.c
3448         (build_linearized_memory_access): Same.
3449         (pdr_stride_in_loop): Same.
3450         (memory_strides_in_loop_1): Same.
3451         (memory_strides_in_loop): Same.
3452         (extend_scattering): Same.
3453         (psct_scattering_dim_for_loop_depth): Same.
3454         (pbb_number_of_iterations): Same.
3455         * graphite-poly.h
3456         (debug_iteration_domains): Same.
3457         * graphite-ppl.c
3458         (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
3459         (ppl_set_inhomogeneous_gmp): Same.
3460         (ppl_strip_loop): Same.
3461         (ppl_lexico_compare_linear_expressions): Same.
3462         (ppl_read_polyhedron_matrix): Same.
3463         (ppl_max_for_le_pointset): Same.
3464         * graphite-ppl.h
3465         (ppl_read_polyhedron_matrix): Same.
3466         (tree_int_to_gmp): Same.
3467         (gmp_cst_to_tree): Same.
3468         (ppl_set_inhomogeneous): Same.
3469         (ppl_set_inhomogeneous_tree): Same.
3470         (ppl_set_coef): Same.
3471         (ppl_set_coef_tree): Same.
3472         * graphite-sese-to-poly.c
3473         (build_pbb_scattering_polyhedrons): Same.
3474         (build_scop_scattering): Same.
3475         (scan_tree_for_params_right_scev): Same.
3476         (scan_tree_for_params): Same.
3477         (find_params_in_bb): Same.
3478         (find_scop_parameters): Same.
3479         (add_upper_bounds_from_estimated_nit): Same.
3480         (build_loop_iteration_domains): Same.
3481         (add_condition_to_domain): Same.
3482         (pdr_add_memory_accesses): Same.
3483
3484 2010-05-05  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
3485
3486         * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
3487         CLooG's value_* macros to their respective mpz_* counterparts.
3488         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
3489         (graphite_create_new_loop_guard): Same.
3490         * graphite-interchange.c (build_linearized_memory_access): Same.
3491         (pdr_stride_in_loop): Same.
3492         (memory_strides_in_loop_1): Same.
3493         (1st_interchange_profitable_p): Same.
3494         * graphite-poly.c (extend_scattering): Same.
3495         (psct_scattering_dim_for_loop_depth): Same.
3496         (pbb_number_of_iterations): Same.
3497         (pbb_number_of_iterations_at_time): Same.
3498         * graphite-poly.h (new_1st_loop): Same.
3499         * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
3500         (oppose_constraint): Same.
3501         (insert_constraint_into_matrix): Same.
3502         (ppl_set_inhomogeneous_gmp): Same.
3503         (ppl_set_coef_gmp): Same.
3504         (ppl_strip_loop): Same.
3505         (ppl_lexico_compare_linear_expressions): Same.
3506         (ppl_max_for_le_pointset): Same.
3507         (ppl_min_for_le_pointset): Same.
3508         (ppl_build_realtion): Same.
3509         * graphite-ppl.h (gmp_cst_to_tree): Same.
3510         (ppl_set_inhomogeneous): Same.
3511         (ppl_set_inhomogeneous_tree): Same.
3512         (ppl_set_coef): Same.
3513         (ppl_set_coef_tree): Same.
3514         * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
3515         (build_scop_scattering): Same.
3516         (add_value_to_dim): Same.
3517         (scan_tree_for_params_right_scev): Same.
3518         (scan_tree_for_params_int): Same.
3519         (scan_tree_for_params): Same.
3520         (find_params_in_bb): Same.
3521         (find_scop_parameters): Same.
3522         (add_upper_bounds_from_estimated_nit): Same.
3523         (build_loop_iteration_domains): Same.
3524         (create_linear_expr_from_tree): Same.
3525         (add_condition_to_domain): Same.
3526         (pdr_add_memory_accesses): Same.
3527
3528 2010-05-06  Magnus Fromreide  <magfr@lysator.liu.se>
3529             Jason Merrill  <jason@redhat.com>
3530
3531         * c-common.c (c_common_reswords): Add nullptr.
3532         * c-common.h: Add RID_NULLPTR.  Reorganize C++0x rids.
3533         * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
3534         (gen_type_die_with_usage): Likewise.
3535         * dbxout.c (dbxout_type): Likewise.
3536         * sdbout.c (plain_type_1): Likewise.
3537
3538 2010-05-06  Jason Merrill  <jason@redhat.com>
3539
3540         * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
3541         Don't change GS_OK to GS_ALL_DONE.  Make sure that all cases set
3542         ret appropriately.
3543         (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
3544
3545         * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
3546         stripping WITH_SIZE_EXPR.
3547         (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
3548         change.
3549
3550 2010-05-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3551
3552         * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
3553         list of obsolete configurations.
3554         Disabled check for obsolete configurations.
3555         (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
3556         Removed support for previous versions.
3557         * config/mips/iris.h: Removed.
3558         * config/mips/iris5.h: Removed.
3559         * config/mips/iris6.h: Merged old iris.h contents.
3560         (TARGET_IRIX): Removed.
3561         (DRIVER_SELF_SPECS): Removed mabi=32.
3562         (IDENT_ASM_OP): Removed undef.
3563         (STARTFILE_SPEC): Removed mabi=32.
3564         (ENDFILE_SPEC): Likewise.
3565         (IRIX_SUBTARGET_LINK_SPEC): Likewise.
3566         (MACHINE_TYPE): Update for IRIX 6.5.
3567         * config/mips/mips.c (mips_build_builtin_va_list): Replaced
3568         TARGET_IRIX by TARGET_IRIX6.
3569         (mips_file_start): Likewise.
3570         (mips_output_external): Remove IRIX 5/6 O32 support.
3571         (mips_output_function_prologue): Likewise.
3572         * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
3573         TARGET_IRIX6.
3574         (TARGET_CPU_CPP_BUILTINS): Likewise.
3575         (TARGET_IRIX): Removed.
3576         * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
3577         (MULTILIB_DIRNAMES): Removed 32.
3578         (MULTILIB_OSDIRNAMES): Removed ../lib.
3579         * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
3580         (Specific, mips-sgi-irix5): Document removal.
3581         (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
3582         Remove references to older IRIX 6 releases and the O32 ABI.
3583
3584 2010-05-06  Jakub Jelinek  <jakub@redhat.com>
3585
3586         PR bootstrap/43994
3587         * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
3588         instead of DF_REF_REAL_REG.
3589
3590 2010-05-06  Dave Korn  <dave.korn.cygwin@gmail.com>
3591
3592         PR target/43888
3593         * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
3594         handling to still return true for x64 targets.
3595
3596 2010-05-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
3597
3598         * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
3599
3600 2010-05-06  Jan Hubicka  <jh@suse.cz>
3601
3602         PR tree-optimization/43791
3603         * ipa-inline.c (update_caller_keys): Remove bogus
3604         disregard_inline_limits check.
3605
3606 2010-05-06  Michael Matz  <matz@suse.de>
3607
3608         PR tree-optimization/43984
3609         * tree-ssa-pre.c (inserted_phi_names): Remove.
3610         (inserted_exprs): Change to bitmap.
3611         (create_expression_by_pieces): Set bits, don't append to vector.
3612         (insert_into_preds_of_block): Don't handle inserted_phi_names.
3613         (eliminate): Don't look at inserted_phi_names, remove deleted
3614         insns from inserted_exprs.
3615         (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
3616         (init_pre, fini_pre): Allocate and free bitmaps.
3617         (execute_pre): Insert insns on edges before elimination.
3618
3619 2010-05-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
3620
3621         * tree.c (initializer_zerop): Handle STRING_CST.
3622
3623 2010-05-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3624
3625         PR 40989
3626         * doc/invoke.texi (Wimplicit): Document as C only.
3627         * opts.c (common_handle_option): Add argument kind.
3628         (handle_option): Rename as read_cmdline_option. Factor out code to...
3629         (handle_option): ... here. New.
3630         (handle_options): Rename as read_cmdline_options.
3631         (decode_options): Update call.
3632         (set_option): Use option index instead of option pointer. Classify
3633         diagnostics correctly.
3634         (enable_warning_as_error): Call handle_option.
3635         * opts.h (set_option): Update declaration.
3636         (handle_option): Declare.
3637         * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
3638         * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
3639         * c-opts.c (set_Wimplicit): Delete.
3640         (c_family_lang_mask): New static constant.
3641         (c_common_handle_option): Add argument kind. Use handle_option
3642         instead of set_Wimplicit.
3643         (c_common_post_options): warn_implicit and warn_implicit_int
3644         are disabled by default.
3645         * c-common.c (warn_implicit): Do not define here.
3646         * c-common.h (warn_implicit): Do not declare here.
3647         (c_common_handle_option): Update declaration.
3648         * lto-opts.c (lto_reissue_options): Update call to set_option.
3649
3650 2010-05-06  Richard Guenther  <rguenther@suse.de>
3651
3652         PR tree-optimization/43571
3653         * domwalk.c (walk_dominator_tree): Walk the dominator
3654         sons in more optimal order.
3655
3656 2010-05-06  Richard Guenther  <rguenther@suse.de>
3657
3658         PR tree-optimization/43934
3659         * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
3660         (stmt_cost): Likewise.
3661         (extract_true_false_args_from_phi): New helper.
3662         (determine_max_movement): For PHI nodes verify we can hoist them
3663         and compute their cost.
3664         (determine_invariantness_stmt): Handle PHI nodes.
3665         (move_computations_stmt): Likewise.  Hoist PHI nodes in
3666         if-converted form using COND_EXPRs.
3667         (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
3668         (tree_ssa_lim): Likewise.
3669         * tree-flow.h (tree_ssa_lim): Adjust prototype.
3670         * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
3671
3672 2010-05-06  Richard Guenther  <rguenther@suse.de>
3673
3674         PR tree-optimization/43987
3675         * tree-ssa-structalias.c (could_have_pointers): For possibly
3676         address-taken variables force pointers to be recorded.
3677         (create_variable_info_for_1): Likewise.
3678         (push_fields_onto_fieldstack): Pass in wheter all fields
3679         must have pointers.
3680         (find_func_aliases): Query types instead of vars whether
3681         they contain pointers where appropriate.
3682
3683 2010-05-06  Jan Hubicka  <jh@suse.cz>
3684
3685         * cgraphbuild.c (record_reference_ctx): Add varpool_node.
3686         (record_reference, mark_address, mark_load, mark_store): Record
3687         references.
3688         (record_references_in_initializer): Update call of record_references.
3689         (rebuild_cgraph_edges): Remove all references before rebuiding.
3690         * cgraph.c (cgraph_create_node): Clear ref list.
3691         (cgraph_remove_node): Remove references.
3692         (dump_cgraph_node): Dump references.
3693         (cgraph_clone_node): Clone references.
3694         * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
3695         (struct cgraph_node, varpool_node): Add ref_lst.
3696         * ipa-ref.c: New file.
3697         * ipa-ref.h: New file.
3698         * ipa-ref-inline.h: New file.
3699         * lto-cgraph.c (output_varpool): Take cgrag node set argument.
3700         (referenced_from_other_partition_p): New function.
3701         (lto_output_varpool_node): Take set arugment; call
3702         referenced_from_other_partition.
3703         (lto_output_ref): New.
3704         (add_references): New.
3705         (output_refs): New.
3706         (output_cgraph): Compute boundary based on references; output refs.
3707         (output_varpool): Accept cgraph_node_set argument.
3708         (input_ref): New.
3709         (input_refs): New.
3710         (input_cgraph): Call input_refs.
3711         * lto-section-in.c (lto_section_name): Add refs.
3712         * Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
3713         (ipa-ref.o): New file.
3714         * varpool.c (varpool_node): Clear ipa ref list.
3715         (varpool_remove_node): Remove references.
3716         (dump_varpool_node): Dump references.
3717         (varpool_assemble_decl): Only compile finalized ones.
3718         (varpool_extra_name_alias): Initialize ref list.
3719         * lto-streamer.c (lto-get_section_name): Add .refs section.
3720         * lto-streamer.h (lto_section_type): Add LTO_section_refs.
3721         (referenced_from_other_partition_p): Declared.
3722
3723 2010-05-06  Ira Rosen  <irar@il.ibm.com>
3724
3725         PR tree-optimization/43901
3726         * tree-vect-stmts.c (vectorizable_call): Assert that vector
3727         type is not NULL if it's transformation phase, and return
3728         FALSE if it's analysis.
3729         (vectorizable_conversion, vectorizable_operation,
3730         vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
3731
3732 2010-05-05  Andrew Pinski  <andrew.pinski@caviumnetworks.com>
3733
3734         * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
3735         Delete.
3736         * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
3737         New define.
3738         * config/mips/mips-protos.h
3739         (mips_small_register_classes_for_mode_p): Delete prototype.
3740
3741 2010-05-06  Bernd Schmidt  <bernds@codesourcery.com>
3742
3743         * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
3744         * config/arm/arm.c (multiple_operation_profitable_p,
3745         compute_offset_order): New static functions.
3746         (load_multiple_sequence, store_multiple_sequence): Use them.
3747         Replace constant 4 with MAX_LDM_STM_OPS.  Compute order[0] from
3748         memory offsets, not register numbers.
3749         (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
3750
3751 2010-05-05  Steven Bosscher  <steven@gcc.gnu.org>
3752
3753         * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
3754         (get_pending_sizes, put_pending_size, put_pending_sizes):
3755         Update the uses of pending_sizes.
3756         * c-decl.c (store_parm_decls): Likewise.
3757         * c-tree.h (struct c_arg_info): Likewise.
3758         * tree.h: Update the prototype for get_pending_sizes and
3759         put_pending_sizes.
3760
3761 2010-05-05  Jason Merrill  <jason@redhat.com>
3762
3763         PR debug/43370
3764         * c-common.c (handle_aligned_attribute): Respect
3765         ATTR_FLAG_TYPE_IN_PLACE.
3766
3767         PR testsuite/43758
3768         * target.h (struct gcc_target): Add attribute_takes_identifier_p.
3769         * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
3770         (TARGET_INITIALIZER): Use it.
3771         * c-common.c (attribute_takes_identifier_p): Call it.
3772         * c-common.h: Update prototype.
3773         * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
3774         (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
3775
3776 2010-05-05  Jakub Jelinek  <jakub@redhat.com>
3777
3778         PR debug/43950
3779         * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
3780         DW_ID_down_case for Fortran compilation units.
3781
3782 2010-05-05  Jan Hubicka  <jh@suse.cz>
3783
3784         * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
3785         handle aliases.
3786
3787 2010-05-05  Eric Botcazou  <ebotcazou@adacore.com>
3788
3789         * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
3790         a variable-sized RESULT_DECL.
3791
3792 2010-05-05  Maxim Kuvyrkov  <maxim@codesourcery.com>
3793
3794         * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
3795
3796 2010-05-05  Jason Merrill  <jason@redhat.com>
3797
3798         PR c++/43787
3799         * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
3800         returns GS_OK.
3801         (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
3802
3803 2010-05-05  Alexandre Oliva  <aoliva@redhat.com>
3804             Jakub Jelinek  <jakub@redhat.com>
3805
3806         PR debug/43478
3807         * df-problems.c (struct dead_debug_use, struct dead_debug): New.
3808         (dead_debug_init, dead_debug_finish): New functions.
3809         (dead_debug_add, dead_debug_insert_before): Likewise.
3810         (df_note_bb_compute): Initialize a dead_debug object, add dead
3811         debug uses to it, insert debug bind insns before death insns,
3812         reset debug insns that refer to pending uses at the end.
3813         * rtl.h (make_debug_expr_from_rtl): New prototype.
3814         * varasm.c (make_debug_expr_from_rtl): New function.
3815
3816 2010-05-05  Jan Hubicka  <jh@suse.cz>
3817
3818         * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
3819         (lto_varpool_encoder_new, lto_varpool_encoder_delete,
3820         lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
3821         lto_varpool_encoder_deref, lto_varpool_encoder_size,
3822         lto_varpool_encoder_encode_initializer_p,
3823         lto_set_varpool_encoder_encode_initializer): New functions.
3824         (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
3825         call output_varpool.
3826         (input_varpool_node): Do not always set analyzed.
3827         (input_cgraph_1): Return vector of cgraph nodes.
3828         (input_varpool_1): Return vector of varpools.
3829         (input_cgraph): Free the vectors.
3830         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
3831         output only initializers needed.
3832         (lto_output): Only call output_cgraph.
3833         (produce_asm_for_decls): Call lto_varpool_encoder_delete.
3834         * lto-section-out.c (lto_new_out_decl_state): Initialize
3835         state->varpool_node_encoder.
3836         * lto-streamer.h (lto_varpool_encoder_d): New.
3837         (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
3838         (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
3839         (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
3840         lto_varpool_encoder_encode, lto_varpool_encoder_delete,
3841         lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
3842         Declare.
3843         (output_varpool, input_varpool): Remove declarations.
3844
3845 2010-05-05  Jan Hubicka  <jh@suse.cz>
3846
3847         * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
3848         with body can prevail.
3849
3850 2010-05-05  Jan Hubicka  <jh@suse.cz>
3851
3852         * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
3853         size.
3854
3855 2010-05-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3856
3857         * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
3858
3859         * gengtype.h (erro_at_line): Constify pos argument.
3860
3861         * gengtype.c: Include hashtab.h.
3862         (enum gc_used): Document GC_MAYBE_POINTED_TO.
3863         (error_at_line): Constify pos argument.
3864         (do_typedef): Initialize p->opt field.
3865         (get_file_gtfilename): Fix comment typo.
3866         (struct walk_type_data): Constify line field.
3867         (get_output_file_for_structure): New function.
3868         (write_local_func_for_structure): Constify orig_s argument.
3869         Use get_output_file_for_structure.
3870         (write_func_for_structure): Use get_output_file_for_structure.
3871         (INDENT): New define.
3872         (dump_pair, dump_type, dump_type_list, dump_typekind)
3873         (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
3874         (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
3875         functions.
3876         (seen_types): New variable.
3877         (main): New variable do_dump.  Process "-d" command line option.
3878         Call dump_everything if dump requested.
3879
3880 2010-05-05  Jakub Jelinek  <jakub@redhat.com>
3881
3882         * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
3883         in a temporary instead of invoking the macro multiple times.
3884         (track_expr_p): Likewise.
3885
3886 2010-05-04  Neil Vachharajani <nvachhar@google.com>
3887
3888         * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
3889         per new semantics.
3890         * opts.c (decode_options): Enable -Werror=coverage-mismatch.
3891         * coverage.c (get_coverage_counts): Always emit a warning.  Adjust
3892         conditions for printing notes.
3893         * common.opt (-Wcoverage-mismatch): Allow negative, default to
3894         true, update documentation.
3895         * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
3896
3897 2010-05-04  Jakub Jelinek  <jakub@redhat.com>
3898
3899         PR c/43981
3900         * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
3901         on dimen.
3902
3903 2010-05-04  H.J. Lu  <hongjiu.lu@intel.com>
3904
3905         PR target/43799
3906         * config/i386/i386.md (sse_prologue_save): Clobber CC register.
3907         (*sse_prologue_save_insn1): Likewise.
3908         (SSE prologue save splitter): Likewise.
3909
3910 2010-05-04  Eric Botcazou  <ebotcazou@adacore.com>
3911
3912         * tree.c (free_lang_data_in_one_sizepos): New inline function.
3913         (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
3914         types.  Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
3915         (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
3916         all decls.  Call it on DECL_FIELD_OFFSET of fields.
3917         (find_decls_types_r): Follow DECL_VALUE_EXPR.
3918         (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
3919
3920 2010-05-04  Martin Jambor  <mjambor@suse.cz>
3921
3922         * tree-sra.c (build_access_from_expr_1): The first parameter type
3923         changed to simple tree.
3924         (build_access_from_expr): Likewise, gsi parameter was eliminated.
3925         (scan_assign_result): Renamed to assignment_mod_result, enum elements
3926         renamed as well.
3927         (build_accesses_from_assign): Removed all parameters except for a
3928         simple gimple statement.  Now returns a simple bool.
3929         (scan_function): All non-analysis parts moved to separate functions
3930         sra_modify_function_body and ipa_sra_modify_function_body.  Removed all
3931         parameters and updated both callers.
3932         (sra_modify_expr): Removed parameter data.
3933         (sra_modify_function_body): New function.
3934         (perform_intra_sra): Call sra_modify_function_body to modify the
3935         function body.
3936         (replace_removed_params_ssa_names): Parameter data changed into
3937         adjustments vector.
3938         (sra_ipa_modify_expr): Likewise.  Also removed unused parameter gsi and
3939         changed the parameter dont_convert to convert with the opposite
3940         meaning.
3941         (sra_ipa_modify_assign): Parameter data changed into adjustments
3942         vector, return value changed to bool.
3943         (ipa_sra_modify_function_body): New function.
3944         (sra_ipa_reset_debug_stmts): Updated a comment.
3945         (modify_function): Use ipa_sra_modify_function_body to modify function
3946         body.
3947
3948 2010-05-04  H.J. Lu  <hongjiu.lu@intel.com>
3949
3950         PR middle-end/43671
3951         * alias.c (true_dependence): Handle the same VALUE in x and mem.
3952         (canon_true_dependence): Likewise.
3953         (write_dependence_p): Likewise.
3954
3955 2010-05-04  Jan Hubicka  <jh@suse.cz>
3956
3957         * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
3958         * cgraphbuild.c: Include ipa-utils.h
3959         (record_reference_ctx): New struct.
3960         (record_reference): Simplify to work on initializers; not statements.
3961         (mark_address, mark_load, mark_store): New.
3962         (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
3963         walk PHI nodes too.
3964         (record_references_in_initializer): Update use of record_reference.
3965         (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
3966         walk PHI nodes too.
3967
3968 2010-05-04  Jan Hubicka  <jh@suse.cz>
3969
3970         * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
3971         node will be removed anyway.
3972         (lto_varpool_replace_node): Allow also unanalyzed nodes;
3973         relink aliases of node into prevailing node.
3974         * varpool.c (varpool_remove_node): Remove aliases properly;
3975         when removing node, remove all its aliases too; remove DECL_INITIAL
3976         of removed node; ggc_free the varpool node.
3977
3978 2010-05-04  Richard Guenther  <rguenther@suse.de>
3979
3980         PR tree-optimization/43879
3981         * tree-ssa-structalias.c (alias_get_name): Use
3982         DECL_ASSEMBLER_NAME if available.
3983         (create_function_info_for): Return the varinfo node.
3984         (ipa_pta_execute): Associate same-body aliases and extra names
3985         with their origin nodes varinfo.  Dump DECL_ASSEMBLER_NAME.
3986
3987 2010-05-04  Kaz Kojima  <kkojima@gcc.gnu.org>
3988
3989         * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
3990
3991 2010-05-04  Mikael Pettersson  <mikpe@it.uu.se>
3992
3993         PR bootstrap/43964
3994         * ira-color.c (assign_hard_reg): Declare rclass and add_cost
3995         only if HONOR_REG_ALLOC_ORDER is not defined.
3996
3997 2010-05-04  Richard Guenther  <rguenther@suse.de>
3998
3999         PR tree-optimization/43949
4000         * tree-vrp.c (extract_range_from_binary_expr): Only handle
4001         TRUNC_MOD_EXPR.
4002
4003 2010-04-26  Jason Merrill  <jason@redhat.com>
4004
4005         * c.opt (-fstrict-enums): New.
4006         * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
4007
4008 2010-05-03  David Ung <davidu@mips.com>
4009             James E. Wilson  <wilson@codesourcery.com>
4010
4011         * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
4012         emit the trap instruction before the divide for TUNE_74K.
4013
4014 2010-05-03  Steven Bosscher  <steven@gcc.gnu.org>
4015
4016         * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
4017         (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
4018         based on the above, for new target hook.
4019
4020         * hooks.c (hook_bool_mode_true): New generic hook.
4021         * hooks.h (hook_bool_mode_true): Add prototype.
4022
4023         * target.h (struct gcc_target): Add small_register_classes_for_mode_p
4024         target hook.
4025         * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
4026         target hook, set to hook_bool_mode_false.
4027         * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
4028         * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
4029         with targetm.small_register_classes_for_mode_p.
4030         (find_reusable_reload): Likewise.
4031         (combine_reloads): Likewise.
4032         * reload1.c (reload_as_needed): Likewise.
4033         * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
4034         * ifcvt.c (noce_process_if_block, check_cond_move_block,
4035         dead_or_predicable): Likewise.
4036         * regmove.c (optimize_reg_copy_1): Likewise.
4037         * calls.c (prepare_call_address): Likewise.
4038         (precompute_register_parameters): Likewise.
4039
4040         * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
4041         hook definition.
4042         * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
4043         implementation of the hook that considers all register classes
4044         small except for SH64.
4045         (sh_override_options): Use the new hook.
4046         * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
4047         Add prototype.
4048
4049         * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
4050         hook definition.
4051         * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
4052         implementation of the hook that considers all register classes
4053         small for THUMB1.
4054         * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
4055         Add prototype.
4056
4057         * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
4058         hook definition.
4059         * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
4060         implementation of the hook that considers all register classes
4061         small for MIPS16.
4062         * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
4063         Add prototype.
4064
4065         * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
4066         hook definition.
4067         * config/m32c/m32c.h: Likewise.
4068         * config/pdp11/pdp11.h: Likewise.
4069         * config/avr/avr.h: Likewise.
4070         * config/xtensa/xtensa.h: Likewise.
4071         * config/m68hc11/m68hc11.h: Likewise.
4072         * config/mn10300/mn10300.h: Likewise.
4073         * config/mcore/mcore.h: Likewise.
4074         * config/h8300/h8300.h: Likewise.
4075         * config/bfin/bfin.h: Likewise.
4076
4077         * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
4078         * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
4079
4080 2010-05-03  Anatoly Sokolov  <aesok@post.ru>
4081
4082         * double-int.h (tree_to_double_int): Remove macro.
4083         (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
4084         * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
4085         (tree_to_double_int): New function.
4086         * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
4087         Move ...
4088         * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
4089
4090 2010-05-03  Richard Guenther  <rguenther@suse.de>
4091
4092         PR tree-optimization/43971
4093         * tree-ssa-structalias.c (get_constraint_for_1): Fix
4094         constraints in the !flag_delete_null_pointer_checks case.
4095
4096 2010-05-03  Jakub Jelinek  <jakub@redhat.com>
4097
4098         PR debug/43972
4099         * config/i386/i386.c (ix86_delegitimize_address): Make sure the
4100         result mode matches original rtl mode.
4101
4102 2010-05-03  Dave Korn  <dave.korn.cygwin@gmail.com>
4103
4104         PR target/43888
4105         * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
4106
4107 2010-05-02  Uros Bizjak  <ubizjak@gmail.com>
4108
4109         * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
4110         when processing flag options.
4111
4112 2010-05-02  Uros Bizjak  <ubizjak@gmail.com>
4113
4114         * gcov-iov.c (main): Change format string placeholder
4115         from %#08x to 0x%08x.
4116         * genchecksum.c (dosum): Change format string placeholder
4117         from %#02x to 0x%02x.
4118
4119 2010-05-02  Richard Guenther  <rguenther@suse.de>
4120
4121         PR tree-optimization/43879
4122         * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
4123
4124 2010-05-02  Bruno Haible  <bruno@clisp.org>
4125
4126         * doc/extend.texi (Function Attributes): Fix a typo.
4127
4128 2010-05-02  Uros Bizjak  <ubizjak@gmail.com>
4129
4130         Revert:
4131         * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
4132         placeholder from 0x%x to %#x.
4133         (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
4134         * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
4135         * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
4136         * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
4137         * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
4138         * config/i386/i386.c (ix86_target_string): Ditto.
4139         * config/i386/i386.c (output_pic_addr_const): Ditto.
4140         (print_operand): Ditto.
4141
4142 2010-05-02  Uros Bizjak  <ubizjak@gmail.com>
4143
4144         * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
4145         placeholder from 0x%x to %#x.
4146         (ASM_OUTPUT_DEBUG_DATA1): Ditto.
4147         (ASM_OUTPUT_DEBUG_DATA4): Ditto.
4148         (ASM_OUTPUT_DEBUG_DATA): Ditto.
4149         (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
4150         (ASM_OUTPUT_DEBUG_DATA8): Ditto.
4151         * optc-gen.awk: Ditto.
4152         * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
4153         (HOST_WIDE_INT_PRINT_HEX): Ditto.
4154         (HOST_WIDEST_INT_PRINT_HEX): Ditto.
4155         (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
4156
4157 2010-05-01  Anatoly Sokolov  <aesok@post.ru>
4158
4159         * target.h (struct calls): Add function_value_regno_p field.
4160         * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
4161         (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
4162         * targhooks.c (default_function_value_regno_p): New function.
4163         * targhooks.h (default_function_value_regno_p): Declare function.
4164         * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
4165         * builtins.c. (apply_result_size): (Ditto.).
4166         * combine.c. (likely_spilled_retval_p): (Ditto.).
4167         * mode-switching.c. Include 'target.h'.
4168         (create_pre_exit): Use function_value_regno_p hook.
4169         * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
4170         * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
4171         TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
4172
4173         * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
4174         * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
4175         (ix86_function_value_regno_p): Declare as static, change argument
4176         type to const unsigned int.
4177         * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
4178
4179 2010-05-01  Richard Guenther  <rguenther@suse.de>
4180
4181         PR tree-optimization/43949
4182         * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
4183         types.
4184         (extract_range_from_binary_expr): Handle *_MOD_EXPR.
4185
4186 2010-05-01  Anatoly Sokolov  <aesok@post.ru>
4187
4188         * rtl.h (CONST_DOUBLE_P): Define.
4189         (rtx_to_double_int): Declare.
4190         * emit-rtl.c (rtx_to_double_int): New function.
4191         * dwarf2out.c (insert_double): New function.
4192         (loc_descriptor, add_const_value_attribute): Clean up, use
4193         rtx_to_double_int and insert_double functions.
4194
4195 2010-05-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
4196
4197         * doc/extend.texi (Inline): Add missing return keyword to examples.
4198         (Function Attributes, Variable Attributes, Pragmas): Hyphenate
4199         "command-line".
4200
4201 2010-04-30  Eric Botcazou  <ebotcazou@adacore.com>
4202
4203         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
4204         the variable part of the offset as well.  Use highest_pow2_factor for
4205         all alignment checks.
4206
4207 2010-04-30  Richard Guenther  <rguenther@suse.de>
4208
4209         PR tree-optimization/43879
4210         * tree-ssa-structalias.c (type_could_have_pointers): Functions
4211         can have pointers.
4212
4213 2010-04-30  Jan Hubicka  <jh@suse.cz>
4214
4215         * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
4216         varpool.
4217         (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
4218
4219 2010-04-30  Jan Hubicka  <jh@suse.cz>
4220
4221         * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
4222         New.
4223         * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
4224         * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
4225         (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
4226         cgraph_node_set_needs_ltrans_p): Remove.
4227
4228 2010-04-30  Steven Bosscher  <steven@gcc.gnu.org>
4229
4230         * sdbout.c: Include vec.h, do not include varray.h.
4231         (deferred_global_decls, sdbout_global_decl,
4232         sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
4233         * toplev.c: Do not include varray.h.
4234         (dump_memory_report): Do not dump VARRAY statistics.
4235         * gengtype.c (open_base_file): Ignore varray.h.
4236         * Makefile.in: Update for abovementioned changes.
4237         Remove all traces of varray.c and varray.h.
4238         * varray.c: Remove file.
4239         * varray.h: Remove file.
4240
4241 2010-04-30  Jan Hubicka  <jh@suse.cz>
4242
4243         * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
4244         references.
4245
4246 2010-04-30  Jan Hubicka  <jh@suse.cz>
4247
4248         * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
4249         needed.
4250
4251 2010-04-30  Richard Guenther  <rguenther@suse.de>
4252
4253         * tree-ssa-structalias.c (get_constraint_for_1): Generate
4254         constraints for CONSTRUCTOR.
4255
4256 2010-04-30  Richard Guenther  <rguenther@suse.de>
4257
4258         PR lto/43946
4259         * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
4260         first after all lowering passes.
4261
4262 2010-04-30  Steven Bosscher  <steven@gcc.gnu.org>
4263
4264         * toplev.c: Include varray.h for statistics dumping.
4265         * tree.h: Do not declare varray_head_tag.
4266         * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
4267         regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
4268         c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
4269         gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
4270         lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
4271         tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
4272         c-common.c, c-common.h, reg-stack.c, basic-block.h,
4273         tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
4274         include varray.h.
4275         * Makefile.in: Update for abovementioned changes.
4276
4277 2010-04-30  Jakub Jelinek  <jakub@redhat.com>
4278
4279         PR debug/43942
4280         * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
4281
4282 2010-04-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
4283
4284         * config/picochip/picochip.c (picochip_legitimize_address): Define.
4285         Use this function to do machine-specific conversion.
4286         (picochip_legitimize_reload_address): Likewise.
4287         (picochip_legitimate_address_p): Check valid base register only if
4288         strict.
4289         (picochip_check_conditional_copy): Check for modw only if opnd is
4290         register.
4291         * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
4292         to call the function in c.
4293         * config/picochip/picochip-protos.h
4294         (picochip_legitimize_reload_address): Define.
4295         * config/picochip/picochip.md (supported_compare1): Define.
4296
4297 2010-04-30  Jan Hubicka  <jh@suse.cz>
4298
4299         * cgraph.h (cgraph_local_info): Remove for_functions_valid.
4300         (cgraph_global_info): Remove inlined.
4301         (LTO_cgraph_tag_names): Remove.
4302         (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
4303         * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
4304         simplify cgraph tags and document.
4305         (lto_output_node): Use only LTO_cgraph_unavail_node and
4306         LTO_cgraph_analyzed_node; Do not save analzed, reachable,
4307         for_functions_valid, global info, process and output flags.
4308         (input_overwrite_node): Initialize estimated stack size and
4309         estimated growth.  Do not read flags we no longer store.
4310         (input_node): Likewise do not read info no longer stored.
4311         * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
4312         flag.
4313
4314 2010-04-30  Richard Guenther  <rguenther@suse.de>
4315
4316         PR tree-optimization/43879
4317         * tree-ssa-structalias.c (get_constraint_for_1): Properly
4318         handle non-zero initializers.
4319
4320 2010-04-30  Richard Guenther  <rguenther@suse.de>
4321
4322         * builtins.c (fold_builtin_1): Delete free (0).
4323
4324 2010-04-29  Jan Hubicka  <jh@suse.cz>
4325
4326         * gengtype.c (open_base_files): Add lto-streamer.h
4327         * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
4328         (pass_ipa_cp): GGC collect.
4329         * toplev. (compile_file): Do not output symbols.
4330         * ipa-inline.c (pass_ipa_inline): Add ggc collect.
4331         * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
4332         TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
4333         * lto-section-in.c: Include ggc.h
4334         (lto_new_in_decl_state): Alloc in GGC.
4335         (lto_delete_in_decl_state): Likewise.
4336         * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
4337         Collect.
4338
4339 2010-04-29  Bernd Schmidt  <bernds@codesourcery.com>
4340
4341         PR target/42895
4342         * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
4343         ORDER_REGS_FOR_LOCAL_ALLOC.  All instances of this macro changed.
4344         (HONOR_REG_ALLOC_ORDER): Describe new macro.
4345         * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
4346         * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
4347         account only if HONOR_REG_ALLOC_ORDER is not defined.
4348         * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
4349         * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
4350
4351 2010-04-29  Jon Grant  <04@jguk.org>
4352
4353         * collect2.c (vflag): Change type from int to bool.
4354         (debug): Likewise.
4355         (helpflag): New global bool.
4356         (main): Set vflag and debug with boolean, not integer truth values.
4357         Accept new "--help" option and output usage text if found.
4358         * collect2.h (vflag): Update prototype.
4359         (debug): Likewise.
4360
4361 2010-04-29  H.J. Lu  <hongjiu.lu@intel.com>
4362
4363         PR bootstrap/43936
4364         * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
4365
4366 2010-04-29  Richard Guenther  <rguenther@suse.de>
4367
4368         PR bootstrap/43935
4369         * plugin.h (invoke_plugin_callbacks): Annotate arguments
4370         with ATTRIBUTE_UNUSED.
4371
4372 2010-04-29  H.J. Lu  <hongjiu.lu@intel.com>
4373
4374         PR target/43921
4375         * config/i386/i386.c (get_some_local_dynamic_name): Replace
4376         INSN_P with NONDEBUG_INSN_P.
4377         (distance_non_agu_define): Likewise.
4378         (distance_agu_use): Likewise.
4379
4380 2010-04-29  Bernd Schmidt  <bernds@codesourcery.com>
4381
4382         From Dominique d'Humieres <dominiq@lps.ens.fr>
4383         PR bootstrap/43858
4384         * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
4385         test_set.
4386
4387 2010-04-29  Brian Hackett  <bhackett1024@gmail.com>
4388
4389         * plugin.h (invoke_plugin_callbacks): New inline function.
4390         * plugin.c (flag_plugin_added): New global flag.
4391         (add_new_plugin): Initialize above flag.
4392         (invoke_plugin_callbacks): Rename to ...
4393         (invoke_plugin_callbacks_full): ... this.
4394
4395 2010-04-28  Jan Hubicka  <jh@suse.cz>
4396
4397         * lto-symtab.c (lto_symtab_entry_def) Add vnode.
4398         (lto_varpool_replace_node): New.
4399         (lto_symtab_resolve_symbols): Resolve varpool nodes.
4400         (lto_symtab_merge_decls_1): Prefer decls with varpool node.
4401         (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
4402         * cgraph.h (varpool_node_ptr): New type.
4403         (varpool_node_ptr): New vector.
4404         (varpool_node_set_def): New structure.
4405         (varpool_node_set): New type.
4406         (varpool_node_set): New vector.
4407         (varpool_node_set_element_def): New structure.
4408         (varpool_node_set_element, const_varpool_node_set_element): New types.
4409         (varpool_node_set_iterator): New type.
4410         (varpool_node): Add prev pointers, add used_from_other_partition,
4411         in_other_partition.
4412         (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
4413         varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
4414         varpool_get_node, varpool_remove_node): Declare.
4415         (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
4416         varpool_node_set_size): New inlines.
4417         * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
4418         * tree-pass.h (varpool_node_set_def): Forward declare.
4419         (ipa_opt_pass_d): Summary writting takes vnode sets too.
4420         (ipa_write_optimization_summaries): Update prototype.
4421         * ipa-cp.c (ipcp_write_summary): Update.
4422         * ipa-reference.c (ipa_reference_write_summary): Update.
4423         * lto-cgraph.c (lto_output_varpool_node): New static function.
4424         (output_varpool): New function.
4425         (input_varpool_node): New static function.
4426         (input_varpool_1): New function.
4427         (input_cgraph): Input varpool.
4428         * ipa-pure-const.c (pure_const_write_summary): Update.
4429         * lto-streamer-out.c (lto_output): Update, output varpool too.
4430         (write_global_stream): Kill WPA hack.
4431         (produce_asm_for_decls): Update.
4432         (output_alias_pair_p): Handle variables.
4433         (output_unreferenced_globals): Output only needed partition of varpool.
4434         * ipa-inline.c (inline_write_summary): Update.
4435         * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
4436         cgraph.
4437         * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
4438         * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
4439         varpool_node_set_new, varpool_node_set_add,
4440         varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
4441         debug_varpool_node_set): New functions.
4442         * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
4443         (execute_one_pass): Process new decls too.
4444         (ipa_write_summaries_2): Pass around vsets.
4445         (ipa_write_summaries_1): Likewise.
4446         (ipa_write_summaries): Build vset; be more selective about cgraph nodes
4447         to add.
4448         (ipa_write_optimization_summaries_1): Pass around vsets.
4449         (ipa_write_optimization_summaries): Likewise.
4450         * varpool.c (varpool_get_node): New.
4451         (varpool_node): Update doubly linked lists.
4452         (varpool_remove_node): New.
4453         (dump_varpool_node): More dumping.
4454         (varpool_enqueue_needed_node): Update doubly linked lists.
4455         (decide_is_variable_needed): Kill ltrans hack.
4456         (varpool_finalize_decl): Kill lto hack.
4457         (varpool_assemble_decl): Skip decls in other partitions.
4458         (varpool_assemble_pending_decls): Update doubly linkes lists.
4459         (varpool_empty_needed_queue): Likewise.
4460         (varpool_extra_name_alias): Likewise.
4461         * lto-streamer.c (lto_get_section_name): Add vars section.
4462         * lto-streamer.h (lto_section_type): Update.
4463         (output_varpool, input_varpool): Declare.
4464
4465 2010-04-28  Mike Stump  <mikestump@comcast.net>
4466
4467         * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
4468
4469 2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
4470
4471         * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
4472         record or union type with RECORD_OR_UNION_TYPE_P predicate.
4473         (lto_input_ts_type_tree_pointers): Likewise.
4474         * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
4475         (lto_output_ts_type_tree_pointers): Likewise.
4476
4477 2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
4478
4479         Uniquization of constants at the Tree level
4480         * tree.h (DECL_IN_CONSTANT_POOL): New macro.
4481         (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
4482         bit to the end.
4483         (tree_output_constant_def): Declare.
4484         * gimplify.c (gimplify_init_constructor): When using block copy, first
4485         uniquize the constant constructor on the RHS.
4486         * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
4487         DECL_IN_CONSTANT_POOL flag.
4488         * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
4489         * varasm.c (make_decl_rtl): Deal with variables belonging to the global
4490         constant pool.
4491         (assemble_variable): Deal with symbols belonging to the tree constant
4492         pool.
4493         (get_constant_section): Add ALIGN parameter and simplify.
4494         (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
4495         (assemble_constant_contents): Use the expression of the VAR_DECL.
4496         (output_constant_def_contents): Use the alignment of the VAR_DECL.
4497         (tree_output_constant_def): New global function.
4498         (mark_constant): Use the expression of the VAR_DECL.
4499         (place_block_symbol): Use the alignment of the VAR_DECL and the size of
4500         its expression.
4501         (output_object_block): Likewise and assemble the expression.
4502
4503 2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
4504
4505         * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
4506         hash_tree, eq_tree): New tree hash table.
4507         (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
4508         [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
4509         lto_orig_address_remove): Reimplement.
4510
4511 2010-04-28  Xinliang David Li  <davidxl@google.com>
4512
4513         PR c/42643
4514         * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
4515         (compute_uninit_opnds_pos): New function.
4516         (is_non_loop_exit_postdominating): New function.
4517         (compute_control_dep_chain): New function.
4518         (find_pdom): New function.
4519         (convert_control_dep_chain_into_preds): New function.
4520         (find_predicates): New function.
4521         (find_control_equiv_block): New function.
4522         (collect_phi_def_edges): New function.
4523         (find_def_preds): New function.
4524         (find_dom): New function.
4525         (dump_predicates): New function.
4526         (get_cmp_code): New function.
4527         (is_value_included_in): New function.
4528         (find_matching_predicate_in_rest_chains): New function.
4529         (use_pred_not_overlap_with_undef_path_pred): New function.
4530         (is_use_properly_guarded): New function.
4531         (normalize_cond_1): New function.
4532         (is_and_or_or): New function.
4533         (normalize_cond): New function.
4534         (is_gcond_subset_of): New function.
4535         (is_subset_of_any): New function.
4536         (is_or_set_subset_of): New function.
4537         (is_and_set_subset_of): New function.
4538         (is_norm_cond_subset_of): New function.
4539         (is_pred_expr_subset_of): New function.
4540         (is_pred_chain_subset_of): New function.
4541         (is_included_in): New function.
4542         (is_superset_of): New function.
4543         (find_uninit_use): New function.
4544         (warn_uninitialized_phi): New function.
4545         (compute_possibly_undefined_names): New function.
4546         (ssa_undefined_value_p): New function.
4547         (execute_late_warn_uninitialized): New function.
4548         * tree-ssa.c (ssa_undefined_value_p): Removed.
4549         (warn_uninit): Changed to extern.
4550         (warn_uninitialized_phi): Removed.
4551         (warn_uninitialized_vars): Changed to extern.
4552         (execute_late_warn_uninitialized): Removed
4553         * tree-flow.h: Add new prototypes.
4554         * timevar.def: Add new time variable.
4555         * Makefile.in: Add new build file.
4556
4557 2010-04-28  Uros Bizjak  <ubizjak@gmail.com>
4558
4559         * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
4560         type if available.
4561
4562 2010-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4563
4564         PR target/22224
4565         * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
4566
4567 2010-04-28  Martin Jambor  <mjambor@suse.cz>
4568
4569         * cgraph.h (struct cgraph_node): New field indirect_calls.
4570         (struct cgraph_indirect_call_info): New type.
4571         (struct cgraph_edge): Removed field indirect_call. New fields
4572         indirect_info, indirect_inlining_edge and indirect_unknown_callee.
4573         (cgraph_create_indirect_edge): Declare.
4574         (cgraph_make_edge_direct): Likewise.
4575         (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
4576         * ipa-prop.h (struct ipa_param_call_note): Removed.
4577         (struct ipa_node_params): Removed field param_calls.
4578         (ipa_create_all_structures_for_iinln): Declare.
4579         * cgraph.c: Described indirect edges and uids in initial comment.
4580         (cgraph_add_edge_to_call_site_hash): New function.
4581         (cgraph_edge): Search also among the indirect edges, use
4582         cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
4583         (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
4584         one, use cgraph_add_edge_to_call_site_hash to add edges to the call
4585         site hash.
4586         (initialize_inline_failed): Assign a reason to indirect edges.
4587         (cgraph_create_edge_1): New function.
4588         (cgraph_create_edge): Moved some functionality to
4589         cgraph_create_edge_1.
4590         (cgraph_create_indirect_edge): New function.
4591         (cgraph_edge_remove_callee): Add an assert checking for
4592         non-indirectness.
4593         (cgraph_edge_remove_caller): Special-case indirect edges.
4594         (cgraph_remove_edge): Likewise.
4595         (cgraph_set_edge_callee): New function.
4596         (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
4597         (cgraph_make_edge_direct): New function.
4598         (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
4599         the declaration of the call statement matches.
4600         (cgraph_node_remove_callees): Special-case indirect edges.
4601         (cgraph_clone_edge): Likewise.
4602         (cgraph_clone_node): Clone also the indirect edges.
4603         (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
4604         indirect_call, dump count of indirect_calls edges.
4605         * ipa-prop.c (iinlining_processed_edges): New variable.
4606         (ipa_note_param_call): Create indirect edges instead of
4607         creating notes.  New parameter node.
4608         (ipa_analyze_call_uses): New parameter node, pass it on to
4609         ipa_note_param_call.
4610         (ipa_analyze_stmt_uses): Likewise.
4611         (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
4612         (print_edge_addition_message): Work on edges rather than on notes.
4613         (update_call_notes_after_inlining): Likewise, renamed to
4614         update_indirect_edges_after_inlining.
4615         (ipa_create_all_structures_for_iinln): New function.
4616         (ipa_free_node_params_substructures): Do not free notes.
4617         (ipa_edge_duplication_hook): Propagate bits within
4618         iinlining_processed_edges bitmap.
4619         (ipa_node_duplication_hook): Do not duplicate notes.
4620         (free_all_ipa_structures_after_ipa_cp): Renamed to
4621         ipa_free_all_structures_after_ipa_cp.
4622         (free_all_ipa_structures_after_iinln): Renamed to
4623         ipa_free_all_structures_after_iinln.
4624         (ipa_write_param_call_note): Removed.
4625         (ipa_read_param_call_note): Removed.
4626         (ipa_write_indirect_edge_info): New function.
4627         (ipa_read_indirect_edge_info): Likewise.
4628         (ipa_write_node_info): Do not stream notes, do stream information
4629         in indirect edges.
4630         (ipa_read_node_info): Likewise.
4631         (lto_ipa_fixup_call_notes): Removed.
4632         * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
4633         * ipa-inline.c (pass_ipa_inline): Likewise.
4634         * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
4635         * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
4636         * tree-inline.c (copy_bb): Removed an unnecessary double check for
4637         is_gimple_call.
4638         * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
4639         edges.
4640         * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
4641         (output_cgraph): Stream also indirect edges.
4642         (lto_output_edge): Added capability to stream indirect edges.
4643         (input_edge): Likewise.
4644         (input_cgraph_1): Likewise.
4645         * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
4646         of indirect edges.
4647
4648 2010-04-28  Richard Guenther  <rguenther@suse.de>
4649
4650         PR tree-optimization/43879
4651         PR tree-optimization/43909
4652         * tree-ssa-structalias.c (struct variable_info): Add
4653         only_restrict_pointers flag.
4654         (new_var_info): Initialize it.  Increment stats.total_vars here.
4655         (create_function_info_for): Do not increment stats.total_vars here.
4656         (get_function_part_constraint): Fix build with C++.
4657         (insert_into_field_list): Remove.
4658         (push_fields_onto_fieldstack): Properly merge fields.
4659         (create_variable_info_for): Split and simplify.
4660         (create_variable_info_for_1): New piece.
4661         (intra_create_variable_infos): Properly make restrict constraints
4662         from parameters.
4663
4664 2010-04-28  Richard Guenther  <rguenther@suse.de>
4665
4666         PR c++/43880
4667         * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
4668
4669 2010-04-27  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4670             Jan Hubicka <hubicka@ucw.cz>
4671
4672         * doc/invoke.texi (-Wsuggest-attribute=const,
4673         -Wsuggest-attribute=pure): Document.
4674         * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
4675         (function_always_visible_to_compiler_p,
4676         suggest_attribute, warn_function_pure, warn_function_const):
4677         New functions.
4678         (check_call): Improve debug info.
4679         (analyze_function): Do not check availability.
4680         (add_new_function): Check availability.
4681         (propagate): Output warnings.
4682         (skip_function_for_local_pure_const): New function.
4683         (local_pure_const): Use it; output warnings.
4684         * common.opt (Wsuggest-attribute=const,
4685         Wsuggest-attribute=pure): New.
4686
4687 2010-04-27  Jakub Jelinek  <jakub@redhat.com>
4688
4689         * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
4690         force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
4691         or DW_CFA_def_cfa_offset{,_sf}.
4692
4693 2010-04-27  Eric Botcazou  <ebotcazou@adacore.com>
4694
4695         * tree.h: Fix truncated long macros.
4696
4697 2010-04-27  Kai Tietz  <kai.tietz@onevision.com>
4698
4699         * collect2.c (TARGET_64BIT): Redefine to target's default.
4700         * tlink.c: Likewise.
4701         * config/i386/cygming.h (USER_LABEL_PREFIX): Define
4702         dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
4703         * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
4704         for underscoring __USER_LABEL_PREFIX__.
4705         * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
4706         (SUB_LINK_ENTRY32): New.
4707         (SUB_LINK_ENTRY64): New.
4708         (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
4709         * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
4710         (SUB_LINK_ENTRY64): New.
4711         (SUB_LINK_ENTRY): New.
4712         (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
4713         (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
4714         x64 target is choosen.
4715         * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
4716         * configure: Regenerated.
4717         * configure.ac (leading-mingw64-underscores): Option added.
4718
4719 2010-04-27  Jan Hubicka  <jh@suse.cz>
4720
4721         * doc/invoke.texi (-fipa-profile): Document.
4722         * opts.c (decode_options): Enable ipa-profile at -O1.
4723         * timevar.def (TV_IPA_PROFILE): Define.
4724         * common.opt (fipa-profile): Add.
4725         * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
4726         flag for clones.
4727         (cgraph_propagate_frequency): Handle only local ones.
4728         * tree-pass.h (pass_ipa_profile): Declare.
4729         * ipa-profile.c (gate_profile): Use flag_ipa_profile.
4730         (pass_ipa_profile): Use TV_IPA_PROFILE.
4731         * ipa.c (ipa_profile): New function.
4732         (gate_ipa_profile): Likewise.
4733         (pass_ipa_profile): New global variable.
4734         * passes.c (pass_ipa_profile): New.
4735
4736 2010-04-27  Nathan Froyd  <froydnj@codesourcery.com>
4737
4738         * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
4739
4740 2010-04-27  Martin Jambor  <mjambor@suse.cz>
4741
4742         PR middle-end/43812
4743         * ipa.c (dissolve_same_comdat_group_list): New function.
4744         (function_and_variable_visibility): Call
4745         dissolve_same_comdat_group_list when comdat group contains external or
4746         newly local nodes.
4747         * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
4748         lists are circular and that they contain only DECL_ONE_ONLY nodes.
4749
4750 2010-04-27  Eric Botcazou  <ebotcazou@adacore.com>
4751
4752         * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
4753         (const_hash_1) <VECTOR_CST>: New case.
4754         (compare_constant) <VECTOR_CST>: Likewise.
4755         <ADDR_EXPR>: Deal with LABEL_REFs.
4756         (copy_constant) <VECTOR_CST>: New case.
4757
4758 2010-04-27  Jan Hubicka  <jh@suse.cz>
4759
4760         * cgraph.c (cgraph_propagate_frequency): New function.
4761         * cgraph.h (cgraph_propagate_frequency): Declare.
4762         * ipa-inline.c (cgraph_clone_inlined_nodes): Call
4763         cgraph_propagate_frequency.
4764
4765 2010-04-27  Jakub Jelinek  <jakub@redhat.com>
4766
4767         * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
4768
4769 2010-04-27  Bernd Schmidt  <bernds@codesourcery.com>
4770
4771         PR target/40657
4772         * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
4773         (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
4774         here to determine which regs to push and how much stack to reserve.
4775
4776 2010-04-27  Jie Zhang  <jie@codesourcery.com>
4777
4778         * doc/gimple.texi (gimple_statement_with_ops): Remove
4779         addresses_taken field.
4780         (gimple_statement_with_memory_ops): Likewise.
4781
4782 2010-04-27  Jan Hubicka  <jh@suse.cz>
4783
4784         * tree-inline.c (eni_inlining_weights): Remove.
4785         (estimate_num_insns): Special case more builtins.
4786
4787 2010-04-27  Shujing Zhao  <pearly.zhao@oracle.com>
4788
4789         PR c/32207
4790         * c-typeck.c (build_binary_op): Move forward check for comparison
4791         pointer with null pointer constant and adjust the diagnostic message.
4792
4793 2010-04-27  Dave Korn  <dave.korn.cygwin@gmail.com>
4794
4795         PR lto/42776
4796         * configure.ac (gcc_cv_as_section_has_align): Set if installed
4797         binutils supports extended .section directive needed by LTO, or
4798         warn if older binutils found.
4799         (LTO_BINARY_READER): New AC_SUBST'd variable.
4800         (LTO_USE_LIBELF): Likewise.
4801         * gcc/config.gcc (lto_binary_reader): New target-specific configure
4802         variable.
4803         * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
4804         (LTO_USE_LIBELF): Likewise.
4805         * configure: Regenerate.
4806
4807         * collect2.c (is_elf): Rename from this ...
4808         (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
4809          object files in addition to ELF-formatted ones.
4810         (scan_prog_file): Caller updated.  Also allow for LTO info marker
4811         symbol to be prefixed or not by an extra underscore.
4812
4813         * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
4814         * config/i386/winnt.c: Also #include lto-streamer.h
4815         (i386_pe_asm_named_section): Specify 1-byte section alignment for
4816         LTO named sections.
4817         (i386_pe_asm_output_aligned_decl_common): Add comment.
4818         (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
4819
4820 2010-04-27  Hans-Peter Nilsson  <hp@bitrange.com>
4821
4822         PR target/43889
4823         * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
4824         Add missing earlyclobber for second alternative.
4825
4826 2010-04-26  Bernd Schmidt  <bernds@codesourcery.com>
4827
4828         * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
4829         bits for artificial defs at the top of the block.
4830         * fwprop.c (single_def_use_enter_block): Don't call it.
4831
4832 2010-04-26  Jack Howarth <howarth@bromo.med.uc.edu>
4833
4834         PR 43715
4835         * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
4836         instead of "$gcc_cv_objdump -T".
4837         Use "-undefined dynamic_lookup" on darwin.
4838         * gcc/configure: Regenerate.
4839
4840 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
4841
4842         PR c/43893
4843         * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
4844
4845 2010-04-26  Nathan Froyd  <froydnj@codesourcery.com>
4846
4847         * c-parser.c (struct c_token): Move location field up.
4848         * c-tree.h (struct c_typespec): Move expr_const_operands field up.
4849         (struct c_declspecs): Convert typespec_word, storage_class, and
4850         default_int_p into bitfields.
4851         (struct c_declarator): Move loc field up.
4852
4853 2010-04-26  Nathan Froyd  <froydnj@codesourcery.com>
4854
4855         * cfgloop.h (struct loop): Move can_be_parallel field up.
4856         * ipa-prop.h (struct ip_node_params): Move bitfields up.
4857         * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
4858         down.
4859         (struct iv_cand): Convert pos field into a bitfield.
4860         * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
4861         field up.
4862         (struct _stmt_vec_info): Shuffle fields for better packing.
4863
4864 2010-04-26  Eric Botcazou  <ebotcazou@adacore.com>
4865
4866         * varasm.c (IN_NAMED_SECTION): Remove guard.
4867         * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
4868         (IN_NAMED_SECTION_P): ...this.
4869         (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
4870         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
4871
4872 2010-04-26  Eric Botcazou  <ebotcazou@adacore.com>
4873
4874         * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
4875         Use VOID_TYPE_P for all void type tests.  Adjust TYPE variable instead
4876         of shadowing it.  Fix comments.
4877
4878 2010-04-26  Jan Hubicka  <jh@suse.cz>
4879
4880         * cgraph.c (cgraph_create_node): Set node frequency to normal.
4881         (cgraph_clone_node): Copy function frequency.
4882         * cgraph.h (node_frequency): New enum
4883         (struct cgraph_node): Add.
4884         * final.c (rest_of_clean_state): Update.
4885         * lto-cgraph.c (lto_output_node): Output node frequency.
4886         (input_overwrite_node): Input node frequency.
4887         * tre-ssa-loop-ivopts (computation_cost): Update.
4888         * lto-streamer-out.c (output_function): Do not output function
4889         frequency.
4890         * predict.c (maybe_hot_frequency_p): Update and handle functions
4891         executed once.
4892         (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
4893         attribute lookup.
4894         (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
4895         (compute_function_frequency): Set noreturn functions to be executed
4896         once.
4897         (choose_function_section): Update.
4898         * lto-streamer-in.c (input_function): Do not input function frequency.
4899         * function.c (allocate_struct_function): Do not initialize function
4900         frequency.
4901         * function.h (function_frequency): Remove.
4902         (struct function): Remove function frequency.
4903         * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
4904         (try_update): Update.
4905         * tree-inline.c (initialize_cfun): Do not update function frequency.
4906         * passes.c (pass_init_dump_file): Update.
4907         * i386.c (ix86_compute_frame_layout): Update.
4908         (ix86_pad_returns): Update.
4909
4910 2010-04-26  Jie Zhang  <jie@codesourcery.com>
4911
4912         PR tree-optimization/43833
4913         * tree-vrp.c (range_int_cst_p): New.
4914         (range_int_cst_singleton_p): New.
4915         (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
4916         when both operands are constants.  Use range_int_cst_p in
4917         BIT_IOR_EXPR case.
4918
4919 2010-04-26  Jan Hubicka  <jh@suse.cz>
4920
4921         * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
4922
4923 2010-04-26  Richard Guenther  <rguenther@suse.de>
4924
4925         PR lto/43080
4926         * gimple.c (gimple_decl_printable_name): Deal gracefully
4927         with a NULL DECL_NAME.
4928
4929 2010-04-26  Richard Guenther  <rguenther@suse.de>
4930
4931         PR lto/42425
4932         * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
4933         if emitting debug information and it is either a function
4934         or a namespace decl.
4935
4936 2010-04-26  Ira Rosen  <irar@il.ibm.com>
4937
4938         * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
4939         determine if the statement is vectorizable, and a macro to access it.
4940         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
4941         Skip statements that can't be vectorized. If the analysis fails,
4942         mark the statement as unvectorizable if vectorizing basic block.
4943         (vect_compute_data_refs_alignment): Likewise.
4944         (vect_verify_datarefs_alignment): Skip statements marked as
4945         unvectorizable. Add print.
4946         (vect_analyze_group_access): Skip statements that can't be
4947         vectorized. If the analysis fails, mark the statement as
4948         unvectorizable if vectorizing basic block.
4949         (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
4950         * tree-vect-stmts.c (vectorizable_store): Fix the number of
4951         generated stmts for SLP.
4952         (new_stmt_vec_info): Initialize the new field.
4953         * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
4954         statements marked as unvectorizable.
4955
4956 2010-04-25  Joseph Myers  <joseph@codesourcery.com>
4957
4958         * c-common.c (flag_isoc1x): New.
4959         (flag_isoc99): Update comment.
4960         * c-common.h (flag_isoc1x): New.
4961         (flag_isoc99): Update comment.
4962         * c-cppbuiltin.c (builtin_define_float_constants): Also define
4963         __<type>_DECIMAL_DIG__.
4964         * c-opts.c (set_std_c1x): New.
4965         (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
4966         (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
4967         * c.opt (-std=c1x, -std=gnu1x): New options.
4968         * doc/cpp.texi: Mention -std=c1x.
4969         * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
4970         * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
4971         * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
4972         * doc/standards.texi: Mention C1X.
4973         * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
4974         LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
4975         LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
4976         Define for C1X.
4977
4978 2010-04-25  Uros Bizjak  <ubizjak@gmail.com>
4979
4980         * config/i386/gmon-sol2.c (_mcleanup): Change format string
4981         placeholder from 0x%x to %#x.
4982         * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
4983         * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
4984         * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
4985         * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
4986         * config/i386/i386.c (ix86_target_string): Ditto.
4987         (output_pic_addr_const): Ditto.
4988         (print_operand): Ditto.
4989
4990 2010-04-25  Paolo Bonzini  <bonzini@gnu.org>
4991
4992         * combine.c (find_split_point): Add third argument.  Use it
4993         to find nested multiply-accumulate instructions.  Adjust calls.
4994         (try_combine): Adjust call to find_split_point.
4995
4996 2010-04-24  Gerald Pfeifer  <gerald@pfeifer.com>
4997
4998         * doc/contrib.texi (Contributors): Add Dodji Seketeli.
4999
5000 2010-04-24  Bernd Schmidt  <bernds@codesourcery.com>
5001
5002         PR tree-optimization/41442
5003         * fold-const.c (merge_truthop_with_opposite_arm): New function.
5004         (fold_binary_loc): Call it.
5005
5006 2010-04-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5007
5008         * toplev.c (general_init): Set default for fdiagnostics-show-option.
5009         * opts.c (common_handle_option): Allow disabling it.
5010         * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
5011
5012 2010-04-23  Eric Botcazou  <ebotcazou@adacore.com>
5013
5014         * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
5015         between modes if both types are integral.
5016
5017 2010-04-23  Richard Guenther  <rguenther@suse.de>
5018
5019         PR tree-optimization/43572
5020         * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
5021
5022 2010-04-23  Richard Guenther  <rguenther@suse.de>
5023
5024         PR lto/43455
5025         * tree-inline.c (tree_can_inline_p): Also check compatibility
5026         of return types.
5027
5028 2010-04-23  Martin Jambor  <mjambor@suse.cz>
5029
5030         PR tree-optimization/43846
5031         * tree-sra.c (struct access): New flag grp_assignment_read.
5032         (build_accesses_from_assign): Set grp_assignment_read.
5033         (sort_and_splice_var_accesses): Propagate grp_assignment_read.
5034         (enum mark_read_status): New type.
5035         (analyze_access_subtree): Propagate grp_assignment_read, create
5036         accesses also if both direct_read and root->grp_assignment_read.
5037
5038 2010-04-23  Martin Jambor  <mjambor@suse.cz>
5039
5040         PR middle-end/43835
5041         * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
5042         function does not have type attributes.
5043
5044 2010-04-23  Richard Guenther  <rguenther@suse.de>
5045
5046         PR lto/42653
5047         * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
5048         of FUNCTION_DECLs.
5049
5050 2010-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
5051
5052         * sese.h (create_if_region_on_edge): Remove.
5053
5054         * sese.c (create_if_region_on_edge): Make static.
5055
5056         * tree-inline.c: Do not include ggc.h.
5057
5058         * expr.c: Do not include ggc.h.
5059
5060         * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
5061         dependencies.
5062
5063 2010-04-22  Kaz Kojima  <kkojima@gcc.gnu.org>
5064
5065         PR target/43744
5066         * config/sh/sh.c (find_barrier): Don't emit a constant pool
5067         in the middle of insns for casesi_worker_2.
5068
5069 2010-04-22  David Edelsohn  <edelsohn@gnu.org>
5070
5071         * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
5072
5073 2010-04-22  Ira Rosen  <irar@il.ibm.com>
5074
5075         PR tree-optimization/43842
5076         * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
5077         loop unrolling in update of exit phis. Fix comment.
5078         * tree-vect-slp.c (vect_analyze_slp): Check that there are at
5079         least two reduction statements in the loop before starting SLP
5080         analysis.
5081
5082 2010-04-22  Nick Clifton  <nickc@redhat.com>
5083
5084         * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
5085
5086 2010-04-22  Alexander Monakov  <amonakov@ispras.ru>
5087
5088         * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
5089         to simplify a + ~a.
5090
5091 2010-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
5092
5093         * tree-parloops.c (loop_parallel_p): New argument
5094         parloop_obstack.  Pass it down.
5095         (parallelize_loops): New variable parloop_obstack.  Initialize it,
5096         pass it down, free it.
5097
5098         * tree-loop-linear.c (linear_transform_loops): Pass down
5099         lambda_obstack.
5100
5101         * tree-data-ref.h (lambda_compute_access_matrices): New argument
5102         of type struct obstack *.
5103
5104         * tree-data-ref.c (analyze_subscript_affine_affine): New variable
5105         scratch_obstack.  Initialize it, pass down, free it.
5106
5107         * lambda.h (lambda_loop_new): Remove.
5108         (lambda_matrix_new, lambda_matrix_inverse)
5109         (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
5110         argument of type struct obstack *.
5111
5112         * lambda-trans.c (lambda_trans_matrix_new): New argument
5113         lambda_obstack.  Pass it down, use obstack allocation for ret.
5114         (lambda_trans_matrix_inverse): New argument lambda_obstack.  Pass
5115         it down.
5116
5117         * lambda-mat.c (lambda_matrix_get_column)
5118         (lambda_matrix_project_to_null): Remove.
5119         (lambda_matrix_new): New argument lambda_obstack.  Use obstack
5120         allocation for mat.
5121         (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
5122         lambda_obstack.
5123
5124         * lambda-code.c (lambda_loop_new): New function.
5125         (lambda_lattice_new, compute_nest_using_fourier_motzkin)
5126         (lambda_compute_auxillary_space, lambda_compute_target_space)
5127         (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
5128         (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
5129         (build_access_matrix): New argument lambda_obstack.  Use obstack
5130         allocation for am.
5131         (lambda_compute_step_signs, lambda_compute_access_matrices): New
5132         argument lambda_obstack.  Pass it down.
5133
5134 2010-04-22  Bernd Schmidt  <bernds@codesourcery.com>
5135
5136         * optabs.h (expand_widening_mult): Declare.
5137
5138 2010-04-22  Richard Guenther  <rguenther@suse.de>
5139
5140         PR tree-optimization/43845
5141         * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
5142         lookup the CALL_EXPR function and arguments.
5143
5144 2010-04-22  Nick Clifton  <nickc@redhat.com>
5145
5146         * config/stormy16/stormy16.c
5147         (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
5148         * config/stormy16/stormy16.h: Tidy up formatting.
5149         (DONT_USE_BUILTIN_SETJMP): Remove definition.
5150         * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
5151         (ineqbranchsi): Delete pattern.
5152         * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
5153         * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
5154         * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
5155         stormy16-lib2-ucmpsi2.c.
5156
5157 2010-04-22  Bernd Schmidt  <bernds@codesourcery.com>
5158
5159         * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
5160         df_simulate_find_noclobber_defs as appropriate.  Keep track of an
5161         extra set merge_set_noclobber, and use it to relax the final test
5162         slightly.
5163         * df.h (df_simulate_find_noclobber_defs): Declare.
5164         * df-problems.c (df_simulate_find_defs): Don't ignore partial or
5165         conditional defs.
5166         (df_simulate_find_noclobber_defs): New function.
5167
5168 2010-04-22  Uros Bizjak  <ubizjak@gmail.com>
5169
5170         * config/i386/i386.md: Use {} around multi-line preparation statements.
5171
5172 2010-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
5173
5174         * c-tree.h (push_init_level, pop_init_level, set_init_index)
5175         (process_init_element): New argument of type struct obstack *.
5176
5177         * c-typeck.c (push_init_level, pop_init_level, set_designator)
5178         (set_init_index, set_init_label, set_nonincremental_init)
5179         (set_nonincremental_init_from_string, find_init_member)
5180         (output_init_element, output_pending_init_elements)
5181         (process_init_element): New argument braced_init_obstack.  Pass it
5182         down.
5183         (push_range_stack, add_pending_init): New argument
5184         braced_init_obstack.  Use obstack allocation.
5185
5186         * c-parser.c (c_parser_initelt, c_parser_initval): New argument
5187         braced_init_obstack.  Pass it down.
5188         (c_parser_braced_init): New variables ret, braced_init_obstack.
5189         Initialize obstack, pass it down and finally free it.
5190
5191 2010-04-22  Bernd Schmidt  <bernds@codesourcery.com>
5192
5193         PR middle-end/29274
5194         * tree-pass.h (pass_optimize_widening_mul): Declare.
5195         * tree-ssa-math-opts.c (execute_optimize_widening_mul,
5196         gate_optimize_widening_mul): New static functions.
5197         (pass_optimize_widening_mul): New.
5198         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
5199         <case MULT_EXPR>: Remove support for widening multiplies.
5200         * tree.def (WIDEN_MULT_EXPR): Tweak comment.
5201         * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
5202         simplify_gen_unary rather than directly building extensions.
5203         * tree-cfg.c (verify_gimple_assign_binary): Add tests for
5204         WIDEN_MULT_EXPR.
5205         * expmed.c (expand_widening_mult): New function.
5206         * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
5207
5208 2010-04-21  Jan Hubicka  <jh@suse.cz>
5209
5210         * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
5211         * lto-section-in.c (lto_section_name): Remove wpa_fixup.
5212         * lto-wpa-fixup.c: Remove.
5213         * Makefile.in (lto-wpa-fixup.o): Remove.
5214         * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
5215         (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
5216         * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
5217
5218 2010-04-21  Jan Hubicka  <jh@suse.cz>
5219
5220         * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
5221         add write_optimization_summary, read_optimization_summary.
5222         (ipa_write_summaries_of_cgraph_node_set): Remove.
5223         (ipa_write_optimization_summaries): Declare.
5224         (ipa_read_optimization_summaries): Declare.
5225         * ipa-cp.c (pass_ipa_cp): Update.
5226         * ipa-reference.c (pass_ipa_reference): Update.
5227         * ipa-pure-const.c (pass_ipa_pure_const): Update.
5228         * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
5229         Update.
5230         * ipa-inline.c (pass_ipa_inline): Update.
5231         * ipa.c (pass_ipa_whole_program): Update.
5232         * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
5233         * passes.c (ipa_write_summaries_1): Do not test wpa.
5234         (ipa_write_optimization_summaries_1): New.
5235         (ipa_write_optimization_summaries): New.
5236         (ipa_read_summaries): Do not test ltrans.
5237         (ipa_read_optimization_summaries_1): New.
5238         (ipa_read_optimization_summaries): New.
5239
5240 2010-04-21  Jan Hubicka  <jh@suse.cz>
5241
5242         * lto-cgraph.c (lto_output_node): Do not output comdat groups
5243         for boundary nodes.
5244         (output_cgraph): Do not arrange comdat groups for boundary nodes.
5245
5246 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
5247
5248         PR debug/40040
5249         * dwarf2out.c (add_name_and_src_coords_attributes): Add
5250         DW_AT_{,MIPS_}linkage_name even for Fortran decls.
5251
5252 2010-04-21  Jan Hubicka  <jh@suse.cz>
5253
5254         * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
5255
5256 2010-04-21  Jan Hubicka  <jh@suse.cz>
5257
5258         * varpool.c (decide_is_variable_needed): Variable is always needed
5259         during ltrans.
5260
5261 2010-04-21  Jan Hubicka  <jh@suse.cz>
5262
5263         * opts.c (decode_options): Enable pure-const pass for whopr.
5264
5265 2010-04-21  Jan Hubicka  <jh@suse.cz>
5266
5267         * cgraph.c (dump_cgraph_node): Dump also assembler name.
5268         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
5269         at WPA dumping.
5270         (cgraph_decide_inlining): Do not expect callee to be removed in all
5271         cases.
5272
5273 2010-04-21  Eric B. Weddington  <eric.weddington@atmel.com>
5274
5275         * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
5276
5277 2010-04-21  Uros Bizjak  <ubizjak@gmail.com>
5278
5279         * config/i386/i386.md (x86_shrd): Add athlon_decode and
5280         amdfam10_decode attributes.
5281
5282 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
5283
5284         PR middle-end/43570
5285         * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
5286         OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
5287         (lower_copyprivate_clauses): Use private var in outer
5288         context instead of original var.  Make sure the types
5289         are correct for VLAs.
5290
5291 2010-04-21  Richard Guenther  <rguenther@suse.de>
5292
5293         * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
5294         to non-pointer objects.
5295
5296 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
5297
5298         * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument.  Drop
5299         last chain entry if it starts with the still current label.
5300         (add_location_or_const_value_attribute): Check that
5301         loc_list->first->next is NULL instead of comparing ->first with ->last.
5302         (dwarf2out_var_location): Pass last_label resp. last_postcall_label
5303         to add_var_loc_to_decl.
5304
5305         * dwarf2out.c (output_call_frame_info): For dw_cie_version
5306         >= 4 add also address size and segment size fields into CIE header.
5307
5308         * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
5309         long as address size is the same as sizeof (void *) and
5310         segment size is 0.
5311         * unwind-dw2-fde.c (get_cie_encoding): Likewise.  If
5312         address size or segment size is unexpected, return DW_EH_PE_omit.
5313         (classify_object_over_fdes): If get_cie_encoding returned
5314         DW_EH_PE_omit, return -1.
5315         (init_object): If classify_object_over_fdes returned -1,
5316         pretend there were no FDEs at all.
5317
5318 2010-04-21  Uros Bizjak  <ubizjak@gmail.com>
5319
5320         * config/i386/i386.md (bswap<mode>2): Macroize expander from
5321         bswap{si,di}2 using SWI48 mode iterator.
5322         (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
5323         SWI48 mode iterator.  Set type attribute of bswap insn to bitmanip,
5324         set modrm attribute of bswap insn to 0 and remove length attribute.
5325         (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
5326         iterator.  Set type attribute to bitmanip, set modrm attribute to 0,
5327         set mode attribute to <MODE> and remove length attribute.
5328
5329 2010-04-20  James E. Wilson  <wilson@codesourcery.com>
5330
5331         PR rtl-optimization/43520
5332         * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
5333         zero available registers.
5334
5335 2010-04-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5336
5337         * builtins.c (fold_builtin_cproj): Fold more cases.
5338
5339 2010-04-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5340
5341         * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
5342         (fold_builtin_1): Fold builtin cproj.
5343         * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
5344         Use ATTR_CONST_NOTHROW_LIST.
5345
5346 2010-04-20  Uros Bizjak  <ubizjak@gmail.com>
5347
5348         * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
5349         and ffsdi2 using SWI48 mode iterator.  Expand SImode insn through
5350         ffsi2_no_cmove for !TARGET_CMOVE.
5351         (ffssi2_no_cmove): Rename from *ffs_no_cmove.  Make public.
5352         (ffssi2): Remove expander.
5353         (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
5354         mode iterator.
5355         (ctz<mode>2): Ditto from ctz{si,di}2.
5356         (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
5357         mode iterator.
5358         (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
5359         mode iterator.
5360
5361 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
5362
5363         * dwarf2out.c (AT_linkage_name): Define.
5364         (clone_as_declaration): Handle DW_AT_linkage_name.
5365         (add_name_and_src_coords_attributes): Use AT_linkage_name instead
5366         of DW_AT_MIPS_linkage_name.
5367         (move_linkage_attr): Likewise.
5368         (dwarf2out_finish): Likewise.
5369
5370 2010-04-20  Xinliang David Li  <davidxl@gcc.gnu.org>
5371
5372         PR middle-end/41952
5373         * fold-const.c (fold_comparison): New folding rule.
5374
5375 2010-04-20  Anatoly Sokolov  <aesok@post.ru>
5376
5377         * double-int.h (double_int_setbit): Declare.
5378         * double-int.c (double_int_setbit): New function.
5379         * rtl.h (immed_double_int_const): Declare.
5380         * emit-rtl.c (immed_double_int_const): New function.
5381         * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
5382         and immed_double_int_const functions.
5383         * optabs.c (expand_absneg_bit, expand_copysign_absneg,
5384         expand_copysign_bit):  (Ditto.).
5385         * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
5386         * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
5387         * dojump.c (prefer_and_bit_test): (Ditto.).
5388         * expr.c (convert_modes, reduce_to_bit_field_precision,
5389         const_vector_from_tree): (Ditto.).
5390         * expmed.c (mask_rtx, lshift_value): (Ditto.).
5391
5392 2010-04-20  Jan Hubicka  <jh@suse.cz>
5393
5394         * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
5395         (dump_cgraph_node): Dump new flags.
5396         * cgraph.h (struct cgraph_node): Add flags
5397         reachable_from_other_partition and in_other_partition.
5398         (cgraph_can_remove_if_no_direct_calls_p): Functions used by
5399         other partition can not be removed.
5400         * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
5401         the other partition must be output; silence sanity checking on
5402         leaking functions bodies from other paritition.
5403         * lto-cgraph.c (reachable_from_other_partition_p): New function.
5404         (lto_output_node): Output new flags; do not sanity check that inline
5405         clones are output; drop lto_forced_extern_inline_p code; do not mock
5406         visibility flags at partition boundaries.
5407         (add_node_to): New function.
5408         (output_cgraph): Use it to sort functions so masters appear before
5409         clones.
5410         (input_overwrite_node): Input new flags.
5411         * passes.c (ipa_write_summaries): Do not call
5412         lto_new_extern_inline_states.
5413         * lto-section-out.c (forced_extern_inline,
5414         lto_new_extern_inline_states lto_delete_extern_inline_states,
5415         lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
5416         * lto-streamer.h (lto_new_extern_inline_states,
5417         * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
5418         lto_forced_extern_inline_p): Kill.
5419
5420 2010-04-20  Richard Guenther  <rguenther@suse.de>
5421
5422         * tree-ssa-structalias.c (do_sd_constraint): Add edges only
5423         from vars that can have pointers.
5424         (process_constraint): Dump useless constraints.
5425
5426 2010-04-20  Richard Guenther  <rguenther@suse.de>
5427
5428         * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
5429         (dump_sa_points_to_info): Remove asserts.
5430         (init_base_vars): nothing_id isn't an escape point nor does it
5431         have pointers.
5432
5433 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
5434
5435         * tree.h (TYPE_REF_IS_RVALUE): Define.
5436         * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
5437         should_move_die_to_comdat, prune_unused_types_walk): Handle
5438         DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
5439         (modified_type_die, gen_reference_type_die): Emit
5440         DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
5441         if TYPE_REF_IS_RVALUE and -gdwarf-4.
5442
5443 2010-04-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5444
5445         PR target/43635
5446         * config/s390/s390.c (s390_emit_call): Turn direct into indirect
5447         calls for -fpic -m31 if they have been sibcall optimized.
5448
5449 2010-04-19  James E. Wilson  <wilson@codesourcery.com>
5450
5451         * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
5452         ar.lc fixed and call-used.
5453
5454         * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
5455
5456 2010-04-19  Jan Hubicka  <jh@suse.cz>
5457
5458         * opts.c (decode_options): Disable whpr incompatible passes.
5459         * lto/lto.c (lto_1_to_1_map): Skip clones.
5460         (read_cgraph_and_symbols): Do not mark everything as needed.
5461         (do_whole_program_analysis): Do map only after optimizing;
5462         set proper cgraph_state; use passmanager.
5463
5464 2010-04-19  DJ Delorie  <dj@redhat.com>
5465
5466         * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
5467         POINTER_PLUS_EXPR and fix them.
5468
5469 2010-04-19  Eric B. Weddington  <eric.weddington@atmel.com>
5470
5471         * config/avr/avr-devices.c (avr_mcu_types): Add support for new
5472         devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
5473         attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
5474         atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
5475         atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
5476         atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
5477         atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
5478         atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
5479         m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
5480         atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
5481         * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
5482
5483 2010-04-19  Eric Botcazou  <ebotcazou@adacore.com>
5484
5485         * ifcvt.c (noce_try_cmove_arith): Fix long lines.
5486         (check_cond_move_block): Likewise.
5487         (cond_move_process_if_block): Likewise.
5488         (noce_find_if_block): Improve formatting.
5489         (find_if_header): Pass 0 to memset and tweak conditions.
5490         (cond_exec_find_if_block): Fix long lines and tweak conditions.
5491
5492 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
5493
5494         * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
5495         for -gdwarf-4.
5496
5497         PR middle-end/43337
5498         * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
5499         with non-local decl doesn't need chain.
5500
5501 2010-04-19  Vladimir Makarov  <vmakarov@redhat.com>
5502
5503         * ira-color.c (allocno_reload_assign): Avoid accumulating
5504         reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
5505
5506 2010-04-19  Martin Jambor  <mjambor@suse.cz>
5507
5508         * gimple.h (create_tmp_reg): Declare.
5509         * gimplify.c (create_tmp_reg): New function.
5510         (gimplify_return_expr): Use create_tmp_reg.
5511         (gimplify_omp_atomic): Likewise.
5512         (gimple_regimplify_operands): Likewise.
5513         * tree-dfa.c (make_rename_temp): Likewise.
5514         * tree-predcom.c (predcom_tmp_var): Likewise.
5515         (reassociate_to_the_same_stmt): Likewise.
5516         * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
5517         (get_replaced_param_substitute): Likewise.
5518         * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
5519         * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
5520         * tree-ssa-pre.c (get_representative_for): Likewise.
5521         (create_expression_by_pieces): Likewise.
5522         * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
5523         (create_tailcall_accumulator): Likewise.
5524
5525 2010-04-19  Martin Jambor  <mjambor@suse.cz>
5526
5527         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
5528         new_stmt.
5529         (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
5530
5531 2010-04-19  Richard Guenther  <rguenther@suse.de>
5532
5533         PR tree-optimization/43796
5534         * tree-vrp.c (adjust_range_with_scev): Lookup init and step
5535         from SCEV in the lattice.
5536         (vrp_visit_phi_node): Dump change.
5537
5538 2010-04-19  Richard Guenther  <rguenther@suse.de>
5539
5540         * configure.ac: Fix quoting around elf_getshstrndx ABI check.
5541         * configure: Re-generated.
5542
5543 2010-04-19  Richard Guenther  <rguenther@suse.de>
5544
5545         PR tree-optimization/43783
5546         * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
5547         constant ARRAY_REF operands two and three if possible.
5548
5549 2010-04-19  Uros Bizjak  <ubizjak@gmail.com>
5550
5551         PR target/43766
5552         * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
5553
5554 2010-04-19  Jie Zhang  <jie@codesourcery.com>
5555
5556         PR target/43662
5557         * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
5558
5559 2010-04-19  Ira Rosen  <irar@il.ibm.com>
5560
5561         PR tree-optimization/37027
5562         * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
5563         and macro to access it.
5564         (vectorizable_reduction): Add argument.
5565         (vect_get_slp_defs): Likewise.
5566         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
5567         statements for possible use in SLP.
5568         (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
5569         (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
5570         (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
5571         add new argument.
5572         (vectorizable_reduction): Likewise.
5573         * tree-vect-stmts.c (vect_get_vec_defs): Update call to
5574         vect_get_slp_defs.
5575         (vectorizable_type_demotion, vectorizable_type_promotion,
5576         vectorizable_store): Likewise.
5577         (vect_analyze_stmt): Update call to vectorizable_reduction.
5578         (vect_transform_stmt): Likewise.
5579         * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
5580         (vect_build_slp_tree): Fix indentation. Check that there are no loads
5581         from different interleaving chains in same node.
5582         (vect_slp_rearrange_stmts): New function.
5583         (vect_supported_load_permutation_p): Allow load permutations for
5584         reductions. Call vect_slp_rearrange_stmts() to rearrange statements
5585         inside SLP nodes if necessary.
5586         (vect_analyze_slp_instance): Handle reductions.
5587         (vect_analyze_slp): Try to build SLP instances originating from groups
5588         of reductions.
5589         (vect_detect_hybrid_slp_stmts): Skip reduction statements.
5590         (vect_get_constant_vectors): Create initial vectors for reductions
5591         according to reduction code. Add new argument.
5592         (vect_get_slp_defs): Add new argument, pass it to
5593         vect_get_constant_vectors.
5594         (vect_schedule_slp_instance): Remove SLP tree root statements.
5595
5596 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
5597
5598         * tree.h (ENUM_IS_SCOPED): Define.
5599         * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
5600         for ENUM_IS_SCOPED enums.
5601
5602 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
5603
5604         * fold-const.c (fold_comparison): Use ssizetype.
5605         * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
5606         * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
5607         * tree-loop-distribution.c (build_size_arg_loc): Likewise.
5608         * tree-object-size.c (compute_object_sizes): Use size_type_node.
5609
5610         * tree.h (initialize_sizetypes): Remove parameter.
5611         (build_common_tree_nodes): Remove second parameter.
5612         * stor-layout.c (initialize_sizetypes): Remove parameter.
5613         Always create an unsigned type.
5614         (set_sizetype): Assert that the passed type is unsigned and simplify.
5615         * tree.c (build_common_tree_nodes): Remove second parameter.
5616         Adjust call to initialize_sizetypes.
5617         * c-decl.c (c_init_decl_processing): Remove second argument in call to
5618         build_common_tree_nodes.
5619
5620 2010-04-18  Matthias Klose  <doko@ubuntu.com>
5621
5622         * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
5623
5624 2010-04-18  Ira Rosen  <irar@il.ibm.com>
5625
5626         PR tree-optimization/43771
5627         * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
5628         load permutation doesn't have gaps.
5629
5630 2010-04-18  Jan Hubicka  <jh@suse.cz>
5631
5632         * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
5633         (sse_prologue_save_insn expander): Use new pattern.
5634         (sse_prologue_save_insn1): New pattern and splitter.
5635         (sse_prologue_save_insn): Update to deal also with 64bit aligned
5636         blocks.
5637         * i386.c (setup_incoming_varargs_64): Do not compute jump
5638         destination here.
5639         (ix86_gimplify_va_arg): Update alignment needed.
5640         (ix86_local_alignment): Do not align all local arrays to 128bit.
5641
5642 2010-04-17  Jan Hubicka  <jh@suse.cz>
5643
5644         * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
5645
5646 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
5647
5648         * arm.md (negdi2): Remove redundant code to force values into a
5649         register.
5650
5651 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
5652
5653         * arm/bpabi.S: Add EABI alignment attributes to objects.
5654         * arm/bpabi-v6m.S: Likewise.
5655         * arm/crti.asm: Likewise.
5656         * arm/crtn.asm: Likewise.
5657         * arm/lib1funcs.asm: Likewise.
5658         * arm/libunwind.S: Likewise.
5659
5660 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
5661
5662         * arm-protos.h (tune_params): New structure.
5663         * arm.c (current_tune): New variable.
5664         (arm_constant_limit): Delete.
5665         (struct processors): Add pointer to the tune parameters.
5666         (arm_slowmul_tune): New tuning option.
5667         (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
5668         (all_cores): Adjust to pick up the tuning model.
5669         (arm_constant_limit): New function.
5670         (arm_override_options): Select the appropriate tuning model.  Delete
5671         initialization of arm_const_limit.
5672         (arm_split_constant): Use the new constant-limit model.
5673         (arm_rtx_costs): Pick up the current tuning model.
5674         * arm.md (is_strongarm, is_xscale): Delete.
5675         * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
5676         for Xscale variant architectures.
5677         (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
5678
5679 2010-04-17  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5680
5681         * config/arm/arm.c (arm_gen_constant): Remove unused variable
5682         can_shift.
5683         (arm_rtx_costs_1): Remove unused variable extra_cost.
5684         (arm_unwind_emit_set): Use variable offset.
5685         (thumb1_output_casesi): Remove unused variable flags.
5686
5687 2010-04-16  Jeff Law  <law@redhat.com>
5688
5689         * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
5690         needing assignment rather than doing a two-phase assignment.  Remove
5691         unused variable 'm'.
5692
5693 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
5694
5695         PR bootstrap/43767
5696         * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
5697
5698 2010-04-16  Doug Kwan  <dougkwan@google.com>
5699
5700         * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
5701         (next_operand_entry_id): New static variable.
5702         (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
5703         (add_to_ops_vec): Assigned unique ID to operand entry.
5704         (struct oecount_s): New field ID.
5705         (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
5706         (undistribute_ops_list): Assign unique IDs to oecounts.
5707         (init_reassoc): reset next_operand_entry_id.
5708
5709 2010-04-16  Doug Kwan  <dougkwan@google.com>
5710
5711         * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
5712         missing left parenthesis.
5713
5714 2010-04-16  Uros Bizjak  <ubizjak@gmail.com>
5715
5716         * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
5717         *btdi_rex64 using SWI48 mode iterator.
5718         (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
5719         (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
5720         *jcc_btdi_mask_rex64.
5721
5722 2010-04-16  Anatoly Sokolov  <aesok@post.ru>
5723
5724         * double-int.h (tree_to_double_int): Convert to macro.
5725         * double-int.c (tree_to_double_int): Remove.
5726
5727 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
5728
5729         PR debug/43762
5730         * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
5731         with want_address 2 and in case a single element list might be
5732         possible, call it again with want_address 0.
5733
5734 2010-04-12  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
5735
5736         * config/h8300/h8300.c (print_operand) : Modify case 'V' and
5737         case 'W' print operands for HI mode.
5738         * config/h8300/h8300.h (Y0, Y2) : New constraints.
5739         * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
5740         (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
5741         * config/h8300/predicate.md (bit_register_indirect_operand): New.
5742
5743         * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
5744
5745         * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
5746         cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
5747         #xx:3 and #xx:4 mode.
5748
5749         * config/h8300/h8300.md (inverted load with HImode dest): Add
5750         support for H8300SX.
5751
5752         * config/h8300/predicate.md (bit_operand): Allow immediate values that
5753         satisfy 'U' constraint.
5754
5755 2010-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5756
5757         * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
5758         * configure: Regenerate.
5759         * config.in: Regenerate.
5760         * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
5761         works.
5762
5763 2010-04-16  Richard Guenther  <rguenther@suse.de>
5764
5765         * tree.h (struct tree_decl_minimal): Move pt_uid ...
5766         (struct tree_decl_common): ... here.
5767         (DECL_PT_UID): Adjust.
5768         (SET_DECL_PT_UID): Likewise.
5769         (DECL_PT_UID_SET_P): Likewise.
5770
5771 2010-04-16  Richard Guenther  <rguenther@suse.de>
5772
5773         PR tree-optimization/43572
5774         * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
5775         * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
5776         * tree-flow.h (is_call_clobbered): Remove.
5777         * tree-flow-inline.h (is_call_clobbered): Likewise.
5778         * tree-dfa.c (dump_variable): Do not dump call clobber state.
5779         * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
5780         (execute_return_slot_opt): Adjust.
5781         * tree-tailcall.c (suitable_for_tail_opt_p): Remove
5782         check for call clobbered vars here.
5783         (find_tail_calls): Move tailcall verification to the
5784         proper place.
5785
5786 2010-04-16  Diego Novillo  <dnovillo@google.com>
5787
5788         * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
5789
5790 2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
5791
5792         PR target/40603
5793         * config/arm/arm.md (cbranchqi4): New pattern.
5794         * config/arm/predicates.md (const0_operand,
5795         cbranchqi4_comparison_operator): New predicates.
5796
5797 2010-04-16  Richard Guenther  <rguenther@suse.de>
5798
5799         * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
5800         (dump_gimple_stmt): Likewise.
5801
5802 2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
5803
5804         * recog.h (struct recog_data): New field is_operator.
5805         (struct insn_operand_data): New field is_operator.
5806         * recog.c (extract_insn): Set recog_data.is_operator.
5807         * genoutput.c (output_operand_data): Emit code to set the
5808         is_operator field.
5809         * reload.c (find_reloads): Use it rather than testing for an
5810         empty constraint string.
5811
5812         PR target/41514
5813         * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
5814         If the previous insn is a cbranchsi4_insn with the same arguments,
5815         omit the compare instruction.
5816
5817         * config/arm/arm.md (addsi3_cbranch): If destination is a high
5818         register, inputs must be low registers and we need a low register
5819         scratch.  Handle alternative 2 like alternative 3.
5820
5821 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
5822
5823         * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
5824         don't call get_addr on both.  If one expression is a VALUE and
5825         the other a REG, check VALUE's locs if the REG isn't among them.
5826
5827 2010-04-16  Christian Bruel  <christian.bruel@st.com>
5828
5829         * config/sh/sh.h (sh_frame_pointer_required): New function.
5830         * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
5831         (flag_omit_frame_pointer) Set.
5832         (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
5833         (rounded_frame_size): Adjust size with outgoing_args_size.
5834         (sh_set_return_address): Must return from stack pointer.
5835         * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
5836         (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
5837         (ACCUMULATE_OUTGOING_ARGS): Define.
5838         * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
5839         * gcc/config/sh/sh.opt (maccumulate-outgoing-args): New option.
5840
5841 2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
5842
5843         PR target/43471
5844         * config/sh/sh.c (sh_legitimize_reload_address): Use
5845         MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
5846         Remove a unneeded check for offset_base.
5847
5848 2010-04-15  H.J. Lu  <hongjiu.lu@intel.com>
5849
5850         * configure: Regenerated.
5851
5852 2010-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5853
5854         * config/s390/s390.c (s390_call_save_register_used): Switch back
5855         to HARD_REGNO_NREGS.
5856
5857 2010-04-15  Richard Guenther  <rguenther@suse.de>
5858
5859         * alias.c (alias_set_subset_of): Handle alias-set zero
5860         child properly.
5861
5862 2010-04-15  Mark Shinwell  <shinwell@codesourcery.com>
5863             Julian Brown  <julian@codesourcery.com>
5864
5865         * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
5866         alternatives according to use of high and low regs.
5867         * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
5868         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
5869         optimizing for size on Thumb-2.
5870
5871 2010-04-15  Thomas Schwinge  <tschwinge@gnu.org>
5872
5873         * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
5874
5875 2010-04-15  Richard Guenther  <rguenther@suse.de>
5876
5877         * tree-ssa-structalias.c (struct variable_info): Add
5878         is_fn_info flag.
5879         (new_var_info): Initialize it.
5880         (dump_constraints): Support printing last added constraints.
5881         (debug_constraints): Adjust.
5882         (dump_constraint_graph): Likewise.
5883         (make_heapvar_for): Check for NULL cfun.
5884         (get_function_part_constraint): New function.
5885         (get_fi_for_callee): Likewise.
5886         (find_func_aliases): Properly implement IPA PTA constraints.
5887         (process_ipa_clobber): New function.
5888         (find_func_clobbers): Likewise.
5889         (insert_into_field_list_sorted): Remove.
5890         (create_function_info_for): Properly allocate vars for IPA mode.
5891         Do not use insert_into_field_list_sorted.
5892         (create_variable_info_for): Properly generate constraints for
5893         global vars in IPA mode.
5894         (dump_solution_for_var): Always dump the solution.
5895         (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
5896         (find_what_var_points_to): Adjust.
5897         (pt_solution_set): Change.
5898         (pt_solution_ior_into): New function.
5899         (pt_solution_empty_p): Export.
5900         (pt_solution_includes_global): Adjust.
5901         (pt_solution_includes_1): Likewise.
5902         (pt_solutions_intersect_1): Likewise.
5903         (dump_sa_points_to_info): Check some invariants.
5904         (solve_constraints): Move constraint dumping ...
5905         (compute_points_to_sets): ... here.
5906         (ipa_pta_execute): ... and here.
5907         (compute_may_aliases): Do not re-compute points-to info
5908         locally if IPA info is available.
5909         (ipa_escaped_pt): New global var.
5910         (ipa_pta_execute): Properly implement IPA PTA.
5911         * tree-into-ssa.c (dump_decl_set): Support dumping
5912         decls not in referenced-vars.
5913         * tree-flow.h (struct gimple_df): Add ipa_pta flag.
5914         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
5915         (dump_points_to_solution): Likewise.
5916         * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
5917         * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
5918         (remap_gimple_stmt): Reset call clobber/use information if necessary.
5919         (copy_decl_to_var): Copy DECL_PT_UID.
5920         (copy_result_decl_to_var): Likewise.
5921         * tree.c (make_node_stat): Initialize DECL_PT_UID.
5922         (copy_node_stat): Copy it.
5923         * tree.h (DECL_PT_UID): New macro.
5924         (SET_DECL_PT_UID): Likewise.
5925         (DECL_PT_UID_SET_P): Likewise.
5926         (struct tree_decl_minimal): Add pt_uid member.
5927         * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
5928         (pt_solution_empty_p): Declare.
5929         (pt_solution_set): Adjust.
5930         (ipa_escaped_pt): Declare.
5931         * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
5932         * gimple-pretty-print.c (pp_points_to_solution): New function.
5933         (dump_gimple_call): Dump call clobber/use information.
5934         * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
5935         * tree-pass.h (TDF_ALIAS): New dump option.
5936         * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
5937         * doc/invoke.texi (-fipa-pta): Update documentation.
5938
5939 2010-04-15  Richard Guenther  <rguenther@suse.de>
5940
5941         * Makefile.in (OBJS-common): Add gimple-fold.o.
5942         (gimple-fold.o): New rule.
5943         * tree.h (maybe_fold_offset_to_reference,
5944         maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
5945         prototypes ...
5946         * gimple.h: ... here.
5947         * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
5948         may_propagate_address_into_dereference): Move prototypes ...
5949         * gimple.h: ... here.
5950         * tree-ssa-ccp.c (get_symbol_constant_value,
5951         may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
5952         maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
5953         maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
5954         maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
5955         ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
5956         fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
5957         gimplify_and_update_call_from_tree): Move ...
5958         * gimple-fold.c: ... here.  New file.
5959         (ccp_fold_builtin): Rename to ...
5960         (gimple_fold_builtin): ... this.
5961         * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
5962
5963 2010-04-15  Richard Guenther  <rguenther@suse.de>
5964
5965         * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
5966         fit_double_type, force_fit_type_double, add_double_with_sign,
5967         neg_double, mul_double_with_sign, lshift_double, rshift_double,
5968         lrotate_double, rrotate_double, div_and_round_double): Move ...
5969         * double-int.c: ... here.
5970         * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
5971         add_double, neg_double, mul_double_with_sign, mul_double,
5972         lshift_double, rshift_double, lrotate_double, rrotate_double,
5973         div_and_round_double): Move prototypes ...
5974         * double-int.h: ... here.
5975
5976 2010-04-15  Bernd Schmidt  <bernds@codesourcery.com>
5977
5978         PR target/43742
5979         * config/sh/sh.md (doloop_end_split, dect): Undo previous patch.  Use
5980         matching constraints to ensure inputs match the output.
5981
5982 2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
5983
5984         PR target/43742
5985         * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
5986         in an input-only operand.
5987
5988 2010-04-15  Anatoly Sokolov  <aesok@post.ru>
5989
5990         * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
5991         (double_int_not, double_int_lshift, double_int_rshift): Declare.
5992         (double_int_negative_p): Convert to static inline function.
5993         * double-int.c (double_int_lshift, double_int_lshift): New functions.
5994         (double_int_negative_p): Remove.
5995         * tree.h (lshift_double, rshift_double):
5996         * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
5997         * fold-const.c (fold_convert_const_int_from_real,
5998         fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
5999         (lshift_double): Change type of arith argument to bool.
6000         (rshift_double): Change type of arith argument to bool. Correct
6001         comment.
6002         * expmed.c (mask_rtx, lshift_value): (Ditto.).
6003
6004 2010-04-14  Bernd Schmidt  <bernds@codesourcery.com>
6005
6006         PR target/21803
6007         * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
6008         at the start and end of the then/else blocks, and omit them from the
6009         conversion.
6010         * cfgcleanup.c (flow_find_cross_jump): No longer static.  Remove MODE
6011         argument; all callers changed.  Pass zero to old_insns_match_p instead.
6012         (flow_find_head_matching_sequence): New function.
6013         (old_insns_match_p): Check REG_EH_REGION notes for calls.
6014         * basic-block.h (flow_find_cross_jump,
6015         flow_find_head_matching_sequence): Declare functions.
6016
6017 2010-04-14  Jason Merrill  <jason@redhat.com>
6018
6019         PR c++/36625
6020         * c-common.c (attribute_takes_identifier_p): New fn.
6021         * c-common.h: Declare it.
6022
6023 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
6024
6025         * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
6026         splitter condition.
6027         (*udivmod<mode>4): Ditto.
6028
6029 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
6030
6031         * config/i386/i386.md (maxmin_int): Rename code attribute from
6032         maxminiprefix and update all users.
6033         (maxmin_float): Ditto from maxminfprefix.
6034         (logic): Ditto from logicprefix.
6035         (absneg_mnemonic): Ditto from absnegprefix.
6036         * config/i386/mmx.md: Update all users of maxminiprefix,
6037         maxminfprefix and logicprefix for rename.
6038         * config/i386/sse.md: Ditto.
6039         * config/i386/sync.md (sync_<code><mode>): Update for
6040         logicprefix rename.
6041
6042 2010-04-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6043
6044         PR 42966
6045         * diagnostics.c (diagnostic_report_diagnostic): Mark specially
6046         warnings converted to errors.
6047
6048 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
6049
6050         * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
6051         used insn_type variable.
6052         (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
6053         to avoid set-but-not-used warning.
6054
6055 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
6056
6057         * df-core.c (df_ref_debug): Change format string placeholder
6058         from 0x%x to %#x.
6059         * dwarf2asm.c (dw2_asm_output_data_raw,
6060         dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
6061         dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
6062         * dwarf2out.c (output_cfi, output_cfi_directive,
6063         dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
6064         output_cfa_loc_raw, output_die, output_ranges, output_file_names):
6065         Ditto.
6066         * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
6067         * print-rtl.c (print_rtx): Ditto.
6068
6069 2010-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
6070
6071         PR middle-end/42694
6072         * builtins.c (expand_builtin_pow_root): New function to expand pow
6073         calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
6074         series of sqrt and cbrt calls under -ffast-math.
6075         (expand_builtin_pow): Call it.
6076
6077 2010-04-14  Michael Matz  <matz@suse.de>
6078
6079         PR tree-optimization/42963
6080         * tree-cfg.c (touched_switch_bbs): New static variable.
6081         (group_case_labels_stmt): New function broken out from ...
6082         (group_case_labels): ... here, use the above.
6083         (start_recording_case_labels): Allocate touched_switch_bbs.
6084         (end_recording_case_labels): Deallocate it, call
6085         group_case_labels_stmt.
6086         (gimple_redirect_edge_and_branch): Remember index of affected BB.
6087
6088 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
6089
6090         * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
6091         from insn template.
6092
6093 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
6094
6095         * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
6096
6097 2010-04-13  Jan Hubicka  <jh@suse.cz>
6098
6099         * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
6100         of optimized out static functions.
6101         (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
6102         cost computation.  Also sanity check for overflows.
6103         (update_caller_keys): Update cgraph_edge_badness call; properly
6104         update fibheap and sanity check that it is up to date.
6105         (add_new_edges_to_heap): Update cgraph_edge_badness.
6106         (cgraph_decide_inlining_of_small_function): Likewise;
6107         add sanity checking that badness in heap is up to date;
6108         improve dumping of reason; Update badness of calls to the
6109         offline copy of function currently inlined; dump badness
6110         of functions not inlined because of unit growth limits.
6111
6112 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
6113
6114         PR middle-end/32628
6115         * c-common.c (pointer_int_sum): Disregard overflow that occured only
6116         because of sign-extension change when converting to sizetype here...
6117         * fold-const.c (fold_convert_const_int_from_int): ...and not here.
6118
6119         * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
6120         the folding to constants.  Remove redundant final conversion.
6121         (fold_binary) <associate>: Do not associate if the re-association of
6122         constants alone overflows.
6123         (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
6124         to the end of the list.
6125         (multiple_of_p) <COND_EXPR>: New case.
6126
6127 2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6128
6129         * opt-functions.awk (opt_sanitized_name): New.
6130         (opt_enum): New.
6131         * optc-gen.awk: Use it
6132         * opth-gen.awk: Use it.
6133
6134 2010-04-13  Martin Jambor  <mjambor@suse.cz>
6135
6136         * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
6137         (sra_modify_assign): Delete stmts loading dead data even if racc has no
6138         children.  Call replace_uses_with_default_def_ssa_name to handle
6139         SSA_NAES on lhs.
6140
6141 2010-04-13  Michael Matz  <matz@suse.de>
6142
6143         PR middle-end/43730
6144         * builtins.c (expand_builtin_interclass_mathfn): Also create
6145         a register if the predicate doesn't match.
6146
6147 2010-04-13  Diego Novillo  <dnovillo@google.com>
6148
6149         * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
6150         * c-pch.c: Include timevar.h.
6151         (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
6152         (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
6153         * ggc-common.c: Include timevar.h.
6154         (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
6155         * timevar.def (TV_PCH_SAVE): Define.
6156         (TV_PCH_CPP_SAVE): Define.
6157         (TV_PCH_PTR_REALLOC): Define.
6158         (TV_PCH_PTR_SORT): Define.
6159         (TV_PCH_RESTORE): Define.
6160         (TV_PCH_CPP_RESTORE): Define.
6161
6162 2010-04-13  Michael Matz  <matz@suse.de>
6163
6164         * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
6165         into MINUS_EXPRs.
6166         (can_reassociate_p): New function.
6167         (break_up_subtract_bb, reassociate_bb): Use it.
6168
6169 2010-04-13  Richard Guenther  <rguenther@suse.de>
6170
6171         PR bootstrap/43737
6172         * builtins.c (c_readstr): Fix assert.
6173
6174 2010-04-13  Uros Bizjak  <ubizjak@gmail.com>
6175
6176         * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
6177         when generating cltd insn.
6178
6179         (*ashl<mode>3_1): Remove special handling for register operand 2.
6180         (*ashlsi3_1_zext): Ditto.
6181         (*ashlhi3_1): Ditto.
6182         (*ashlhi3_1_lea): Ditto.
6183         (*ashlqi3_1): Ditto.
6184         (*ashlqi3_1_lea): Ditto.
6185         (*<shiftrt_insn><mode>3_1): Ditto.
6186         (*<shiftrt_insn>si3_1_zext): Ditto.
6187         (*<shiftrt_insn>qi3_1_slp): Ditto.
6188         (*<rotate_insn><mode>3_1): Ditto.
6189         (*<rotate_insn>si3_1_zext): Ditto.
6190         (*<rotate_insn>qi3_1_slp): Ditto.
6191
6192 2010-04-13  Richard Guenther  <rguenther@suse.de>
6193
6194         * tree-ssa-structalias.c (callused_id): Remove.
6195         (call_stmt_vars): New.
6196         (get_call_vi): Likewise.
6197         (lookup_call_use_vi): Likewise.
6198         (lookup_call_clobber_vi): Likewise.
6199         (get_call_use_vi): Likewise.
6200         (get_call_clobber_vi): Likewise.
6201         (make_transitive_closure_constraints): Likewise.
6202         (handle_const_call): Adjust to do per-call call-used handling.
6203         (handle_pure_call): Likewise.
6204         (find_what_var_points_to): Remove general callused handling.
6205         (init_base_vars): Likewise.
6206         (init_alias_vars): Initialize call_stmt_vars.
6207         (compute_points_to_sets): Process call-used and call-clobbered
6208         vars for call statements.
6209         (delete_points_to_sets): Free call_stmt_vars.
6210
6211 2010-04-13  Richard Guenther  <rguenther@suse.de>
6212
6213         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
6214         Only add RW dependence for dependence distance zero.
6215         Adjust maximal vectorization factor according to dependences.
6216         Move alignment handling ...
6217         (vect_find_same_alignment_drs): ... here.  New function.
6218         (vect_analyze_data_ref_dependences): Adjust.
6219         (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
6220         (vect_analyze_data_refs): Adjust minimal vectorization factor
6221         according to data references.
6222         * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
6223         dependences before determining the vectorization factor.
6224         Analyze alignment after determining the vectorization factor.
6225         * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
6226         dependences before alignment.
6227         * tree-vectorizer.h (vect_analyze_data_ref_dependences):
6228         Adjust prototype.
6229         (vect_analyze_data_refs): Likewise.
6230         (MAX_VECTORIZATION_FACTOR): New define.
6231
6232 2010-04-13  Duncan Sands  <baldrick@free.fr>
6233
6234         * except.h (lang_eh_type_covers): Remove.
6235         * except.c (lang_eh_type_covers): Likewise.
6236
6237 2010-04-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6238             Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6239
6240         * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
6241         * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
6242         UNITS_PER_LONG where it is ABI relevant.
6243         (s390_return_addr_rtx): Likewise.
6244         (s390_back_chain_rtx): Likewise.
6245         (s390_frame_area): Likewise.
6246         (s390_frame_info): Likewise.
6247         (s390_initial_elimination_offset): Likewise.
6248         (save_gprs): Likewise.
6249         (s390_emit_prologue): Likewise.
6250         (s390_emit_epilogue): Likewise.
6251         (s390_function_arg_advance): Likewise.
6252         (s390_function_arg): Likewise.
6253         (s390_va_start): Likewise.
6254         (s390_gimplify_va_arg): Likewise.
6255         (s390_function_profiler): Likewise.
6256         (s390_optimize_prologue): Likewise.
6257         (s390_rtx_costs): Likewise.
6258         (s390_secondary_reload): Likewise.
6259         (s390_promote_function_mode): Likewise.
6260         (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
6261         (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
6262         registers available.
6263         (s390_unwind_word_mode): New function.
6264         (s390_function_value): Split 64 bit values into register pair if
6265         used as return value.
6266         (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
6267         function call parameters.  Handle parallels.
6268         (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
6269         (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
6270         (DWARF_CIE_DATA_ALIGNMENT): New macro.
6271         (s390_expand_setmem): Remove unused variable src_addr.
6272         * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
6273         deal with 64 bit registers.
6274         * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
6275         Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
6276         (UNITS_PER_LONG): New macro.
6277         * libjava/include/s390-signal.h: Define extended ucontext
6278         structure containing the upper halfs of the 64 bit registers.
6279
6280 2010-04-13  Simon Baldwin  <simonb@google.com>
6281
6282         * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
6283
6284 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
6285
6286         * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
6287         rvalue on the RHS if the LHS is of a non-renamable type.
6288         * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
6289
6290 2010-04-13  Matthias Klose  <doko@ubuntu.com>
6291
6292         * gcc.c (cc1_options): Handle -iplugindir before processing
6293         the cc1 spec. Only add -iplugindir once.
6294         (cpp_unique_options): Add -iplugindir option if -fplugin* options
6295         found.
6296         * common.opt (iplugindir): Remove `Separate' property, initialize.
6297         * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
6298         option.
6299         * Makefile.in (check-%, check-parallel-%): Create plugin dir.
6300         (distclean): Remove plugin dir.
6301         * doc/invoke.texi: Document -iplugindir.
6302
6303 2010-04-13  Basile Starynkevitch  <basile@starynkevitch.net>
6304
6305         * doc/plugins.texi (Loading Plugins): Document short
6306         -fplugin=foo option.
6307         (Plugin API): Mention default_plugin_dir_name function.
6308
6309         * gcc.c (find_file_spec_function): Add new declaration.
6310         (static_spec_func): Use it for "find-file".
6311         (find_file_spec_function): Add new function.
6312         (cc1_options): Add -iplugindir option if -fplugin* options found.
6313
6314         * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
6315
6316         * plugin.c (add_new_plugin): Updated comment, and handle short
6317         plugin name.
6318         (default_plugin_dir_name): Added new function.
6319
6320         * common.opt (iplugindir): New option to set the plugin directory.
6321
6322 2010-04-12  Uros Bizjak  <ubizjak@gmail.com>
6323
6324         * config/i386/i386.md (any_rotate): New code iterator.
6325         (rotate_insn): New code attribute.
6326         (rotate): Ditto.
6327         (SWIM124): New mode iterator.
6328         (<rotate_insn>ti3): New expander.
6329         (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
6330         any_rotate code iterator.
6331         (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
6332         using any_rotate code iterator and SWIM124 mode iterator.
6333         (ix86_rotlti3): New insn_and_split pattern.
6334         (ix86_rotrti3): Ditto.
6335         (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
6336         ix86_rotl{di,ti}3 patterns.
6337         (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
6338         (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
6339         and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
6340         *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
6341         code iterator and SWI mode iterator.
6342         (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
6343         Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
6344         code iterator.
6345         (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
6346         Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
6347         (bswap rotatert splitter): Add splitter.
6348         (bswap splitter): Macroize splitter using any_rotate code iterator.
6349         Add insn predicate to split only for TARGET_USE_XCHGB or when
6350         optimizing function for size.
6351
6352 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
6353
6354         * config/pa/pa.c (emit_move_sequence): Remove use of
6355         deleted variable flag_argument_noalias.
6356
6357 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6358
6359         * config.gcc: Removed *-*-solaris2.7* from list of obsolete
6360         configurations.
6361         Add to unsupported targets list.
6362         * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
6363         sparc*-sun-solaris2.[567]* from target lists.
6364         * configure: Regenerate.
6365         * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
6366         removal.
6367         Remove Solaris 7 patch references.
6368         (Specific, sparc-sun-solaris2.7): Removed.
6369         (sparc-sun-solaris2*): Update Solaris 7 example.
6370         (sparc64-*-solaris2*): Likewise.
6371
6372 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6373
6374         * config.build (alpha*-dec-osf4*): Remove.
6375         * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
6376         of obsolete configurations.
6377         (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
6378         support.
6379         * config/alpha/t-osf4: Renamed to ...
6380         * config/alpha/t-osf5: ... this.
6381         * config/alpha/osf.h: Renamed to ...
6382         * config/alpha/osf5.h: ... this.
6383         Merged old osf5.h contents.
6384         Update comments.
6385         (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
6386         (EXTRA_SPECS): Removed.
6387         * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
6388         reflect removal of Tru64 UNIX V4.0/V5.0 support.
6389         Document that.
6390
6391 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6392
6393         * doc/contrib.texi (Contributors, Rainer Orth): Update.
6394
6395 2010-04-12  Kai Tietz  <kai.tietz@onevision.com>
6396
6397         PR/43702
6398         * config/i386/i386.c (x86_this_parameter): Handle aggregate for
6399         __thiscall convention.
6400
6401 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
6402
6403         * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
6404         orig_base.
6405         * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
6406
6407 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
6408
6409         * function.c (assign_parms_initialize_all): Add unused attribute
6410         to fntype.
6411
6412 2010-04-12  Richard Guenther  <rguenther@suse.de>
6413
6414         * gsstruct.def (GSS_CALL): New.
6415         * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
6416         * gimple.h: Include tree-ssa-alias.h.
6417         (struct gimple_statement_call): New.
6418         (union gimple_statement_struct_d): Add gimple_call member.
6419         (gimple_call_reset_alias_info): Declare.
6420         (gimple_call_use_set): New function.
6421         (gimple_call_clobber_set): Likewise.
6422         * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
6423         * gimple.c (gimple_call_reset_alias_info): New function.
6424         (gimple_build_call_1): Call it.
6425         * lto-streamer-in.c (input_gimple_stmt): Likewise.
6426         * tree-inline.c (remap_gimple_stmt): Likewise.
6427         (expand_call_inline): Remove callused handling.
6428         * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
6429         * tree-dfa.c (dump_variable): Likewise.
6430         * tree-parloops.c (parallelize_loops): Likewise.
6431         * tree-ssa.c (init_tree_ssa): Likewise.
6432         (delete_tree_ssa): Likewise.
6433         * tree-flow-inline.h (is_call_used): Remove.
6434         * tree-flow.h (struct gimple_df): Remove callused member.
6435         * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
6436         * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
6437         (ref_maybe_used_by_call_p_1): Simplify.
6438         (call_may_clobber_ref_p_1): Likewise.
6439         * tree-ssa-structalias.c (compute_points_to_sets): Set
6440         the call stmt used and clobbered sets.
6441         * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
6442         (find_tail_calls): Verify the tail call.
6443
6444 2010-04-12  Richard Guenther  <rguenther@suse.de>
6445
6446         * ipa.c (cgraph_postorder): Adjust postorder to guarantee
6447         single-iteration always-inline inlining.
6448         * ipa-inline.c (cgraph_mark_inline): Do not return anything.
6449         (cgraph_decide_inlining): Do not handle always-inline specially.
6450         (try_inline): Remove always-inline cycle detection special case.
6451         Do not recurse on always-inlines.
6452         (cgraph_early_inlining): Do not iterate if not optimizing.
6453         (cgraph_gate_early_inlining): remove.
6454         (pass_early_inline): Run unconditionally.
6455         (gate_cgraph_decide_inlining): New function.
6456         (pass_ipa_inline): Use it.  Do not run the IPA inliner if
6457         not inlining or optimizing.
6458         (cgraph_decide_inlining_of_small_functions): Also consider
6459         always-inline functions.
6460         (cgraph_default_inline_p): Return true for nodes which should
6461         disregard inline limits.
6462         (estimate_function_body_sizes): Assume zero size and time for
6463         nodes which are marked as disregarding inline limits.
6464         (cgraph_decide_recursive_inlining): Do not perform recursive
6465         inlining on always-inline nodes.
6466
6467 2010-04-12  Jakub Jelinek  <jakub@redhat.com>
6468
6469         PR bootstrap/43699
6470         * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
6471         for exprs satisfying handled_component_p.
6472
6473 2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
6474
6475         * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
6476         non-constant aggregate elements.
6477
6478         * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
6479         is a real initialization.
6480
6481 2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>
6482
6483         PR c/36774
6484         * c-decl.c (start_function): Move forward check for nested function.
6485
6486 2010-04-11  Kaz Kojima  <kkojima@gcc.gnu.org>
6487
6488         * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
6489         * config/sh/sh.c: Include reload.h.
6490         (sh_legitimize_reload_address): New.
6491         * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
6492         sh_legitimize_reload_address.
6493
6494 2010-04-11  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
6495
6496         * config/sh/sh.md (*movqi_pop): New insn pattern.
6497         * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
6498
6499 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
6500
6501         * config/i386/i386.md (any_shiftrt): New code iterator.
6502         (shiftrt_insn): New code attribute.
6503         (shiftrt): Ditto.
6504         (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
6505         using any_shiftrt code iterator.
6506         (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
6507         *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
6508         (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
6509         pattern from corresponding peephole2 patterns.
6510         (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
6511         using any_shiftrt code iterator.
6512         (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
6513         (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
6514         (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
6515         (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
6516         *{ashr,lshr}<mode>3_cmp_zext.
6517         (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
6518
6519 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
6520
6521         * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
6522         scratch register.
6523         (*lshr<mode>3_cconly): Ditto.
6524
6525 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
6526
6527         * config/i386/i386.md (lshr<mode>3): Macroize expander from
6528         lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
6529         (*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
6530         pattern from *lshr{di,ti}3_1 and corresponding splitters using
6531         DWI mode iterator.
6532         (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
6533         from corresponding peephole2 patterns.
6534         (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
6535         *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
6536         and *lshrdi3_1_rex64 using SWI mode iterator.
6537         (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
6538         (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
6539         (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
6540         *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
6541         and *lshrdi3_cmp_rex64 using SWI mode iterator.
6542         (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
6543         (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
6544         *lshrdi3_one_bit_cconly_rex64. Macroize insn from
6545         *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
6546         SWI mode iterator.
6547
6548 2010-04-10  Uros Bizjak  <ubizjak@gmail.com>
6549
6550         * config/i386/i386.md (ashr<mode>3): Macroize expander from
6551         ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
6552         (*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
6553         pattern from *ashr{di,ti}3_1 and corresponding splitters using
6554         DWI mode iterator.
6555         (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
6556         from corresponding peephole2 patterns.
6557         (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
6558         (ashrsi3_cvt): Rename from ashrsi3_31.
6559         (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
6560         (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
6561         and x86_64_shift_adj_3 using SWI48 mode iterator.
6562         (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
6563         *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
6564         and *ashrdi3_1_rex64 using SWI mode iterator.
6565         (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
6566         (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
6567         (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
6568         *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
6569         and *ashrdi3_cmp_rex64 using SWI mode iterator.
6570         (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
6571         (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
6572         *ashrdi3_one_bit_cconly_rex64. Macroize insn from
6573         *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
6574         SWI mode iterator.
6575         (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
6576         * config/i386/i386.c (ix86_split_ashr): Update for renamed
6577         x86_shift<mode>_adj_3 expanders.
6578
6579 2010-04-10  Wei Guozhi  <carrot@google.com>
6580
6581         PR target/42601
6582         * config/arm/arm.c (arm_pic_static_addr): New function.
6583         (legitimize_pic_address): Call arm_pic_static_addr when it detects
6584         a static symbol.
6585         (arm_output_addr_const_extra): Output expression for new pattern.
6586         * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
6587
6588 2010-04-10  Bernd Schmidt  <bernds@codesourcery.com>
6589
6590         * ira-costs.c (record_reg_classes): Ignore alternatives that are
6591         not enabled.
6592
6593         * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
6594         * web.c: Include "insn-config.h" and "recog.h".
6595         (union_match_dups): New function.
6596         (web_main): Call it.
6597         (union_defs): Don't try to recognize match_dups.
6598
6599         * reload1.c (eliminate_regs_in_insn): Don't restore an operand
6600         if doing so would replace the entire pattern.
6601
6602 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
6603
6604         PR target/43707
6605         PR target/43709
6606         * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
6607         and splitter pattern.  Change splitter operand 1 predicate to
6608         nonmemory_operand.
6609
6610 2010-04-09  Martin Jambor  <mjambor@suse.cz>
6611
6612         * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
6613         lattices are addresses of CONST_DECLs with the same initial value.
6614         (ipcp_print_all_lattices): Print values of CONST_DECLs.
6615         * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
6616
6617 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
6618             Bernd Schmidt  <bernds@codesourcery.com>
6619
6620         * loop-invariant.c (replace_uses): New static function.
6621         (move_invariant_reg): Use it to ensure we can replace the uses.
6622
6623 2010-04-09  Hariharan Sandanagobalane  <hariharan@picochip.com>
6624
6625         * config/picochip/picochip.c (picochip_rtx_costs): Use correct
6626         function template.
6627         (picochip_override_options): Enable section anchors only above -O1.
6628         (picochip_reorg): Fixed a couple of build warnings.
6629
6630 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6631
6632         * configure.ac (plugin -rdynamic test): Log result.
6633         * configure: Regenerate.
6634         * config/sol2.h (LINK_SPEC): Handle -rdynamic.
6635         (RDYNAMIC_SPEC): Define.
6636         * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
6637
6638 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6639
6640         * configure.ac: Determine Sun ld version numbers.
6641         (comdat_group): Restrict GNU ld version checks to gld.
6642         (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
6643         (enable_comdat): Support --enable-comdat.
6644         * configure: Regenerate.
6645         * doc/install.texi (Configuration): Document --enable-comdat.
6646
6647 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6648
6649         * config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
6650         * config/sol2-gld.h: ... here.
6651         * config.gcc (sparc*-*-solaris2*): Reflect this.
6652         (i[34567]86-*-solaris2*): Use it.
6653
6654 2010-04-09  Steve Ellcey  <sje@cup.hp.com>
6655
6656         * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
6657         setup_clocks_p.
6658         (final_emit_insn_group_barriers): Remove unused variable prev_insn.
6659
6660 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6661
6662         PR 42965
6663         * diagnostic.c (diagnostic_initialize): Initialize
6664         some_warnings_are_errors.
6665         (diagnostic_finish): New.
6666         (diagnostic_action_after_output): Call it before exiting.
6667         (diagnostic_report_diagnostic): Do not print message here. Set
6668         some_warnings_are_errors.
6669         * diagnostic.h (diagnostic_context): Delete
6670         issue_warnings_are_errors_message. Add some_warnings_are_errors.
6671         (diagnostic_finish): Declare.
6672         * toplev.c (toplev_main): Call it before exit.
6673
6674 2010-04-09  Jason Merrill  <jason@redhat.com>
6675
6676         PR c++/42623
6677         * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
6678         for incomplete type.
6679
6680         PR c++/41788
6681         * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
6682         based on a warning flag.
6683
6684 2010-04-09  Richard Guenther  <rguenther@suse.de>
6685
6686         * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
6687
6688 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
6689
6690         PR bootstrap/43684
6691         * varasm.c (default_assemble_visibility): Wrap vars that are
6692         set, but unused, by targets without GAS.
6693         * config/rs6000/rs6000.c (paired_emit_vector_compare):
6694         Remove set, but unused, vars.
6695         (rs6000_legitimize_tls_address): Likewise.
6696         (altivec_expand_dst_builtin): Likewise.
6697         * config/darwin.c (machopic_classify_symbol): Likewise.
6698         (machopic_indirection_name): Likewise.
6699
6700 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
6701
6702         * config/i386/i386.md (DWI): New mode iterator.
6703         (S): New mode attribute.
6704         (shift_operand): Ditto.
6705         (shift_immediate_operand): Ditto.
6706         (ashl_input_operand): Ditto.
6707         (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
6708         using SDWIM mode iterator.
6709         (*ashl<mode>3_doubleword): New insn_and_split_pattern.  Macroize
6710         pattern from *ashl{di,ti}3_1 and corresponding splitters using
6711         DWI mode iterator.
6712         (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
6713         from corresponding peephole2 patterns.
6714         (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
6715         and x86_64_shift_adj_1 using SWI48 mode iterator.
6716         (x86_shift<mode>_adj_2): Ditto.
6717         (*ashldi3_1_rex64): Split TYPE_LEA pattern.
6718         (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
6719         using SWI48 mode iterator.
6720         (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
6721         *ashldi3_cmp_rex64 using SWI mode iterator.
6722         (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
6723         *ashldi3_cconly_rex64 using SWI mode iterator.
6724         * config/i386/i386.c (ix86_split_ashl): Update for renamed
6725         x86_shift<mode>_adj_{1,2}.
6726         (ix86_split_ashr): Ditto.
6727         (ix86_split_lshr): Ditto.
6728
6729 2010-04-09  Richard Guenther  <rguenther@suse.de>
6730
6731         * target.h (builtin_conversion): Pass in input and output types.
6732         * targhooks.c (default_builtin_vectorized_conversion): Adjust.
6733         * targhooks.h (default_builtin_vectorized_conversion): Likewise.
6734         * tree-vect-stmts.c (vectorizable_conversion): Adjust.
6735         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
6736
6737         * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
6738         Handle AVX modes.
6739         * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
6740
6741 2010-04-09  Richard Guenther  <rguenther@suse.de>
6742
6743         PR target/43152
6744         * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
6745
6746 2010-04-09  Richard Guenther  <rguenther@suse.de>
6747
6748         * tree-vectorizer.h (struct _stmt_vec_info): Document
6749         that vectype is the type of the LHS.
6750         (supportable_widening_operation, supportable_narrowing_operation):
6751         Get both input and output vector types as arguments.
6752         (vect_is_simple_use_1): Declare.
6753         (get_same_sized_vectype): Likewise.
6754         * tree-vect-loop.c (vect_determine_vectorization_factor):
6755         Set STMT_VINFO_VECTYPE to the vector type of the def.
6756         (vectorizable_reduction): Adjust.
6757         * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
6758         Adjust.  Specify the output vector type.
6759         (vect_pattern_recog_1): Adjust.
6760         * tree-vect-stmts.c (get_same_sized_vectype): New function.
6761         (vectorizable_call): Adjust.
6762         (vectorizable_conversion): Likewise.
6763         (vectorizable_operation): Likewise.
6764         (vectorizable_type_demotion): Likewise.
6765         (vectorizable_type_promotion): Likewise.
6766         (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
6767         the def.
6768         (vect_is_simple_use_1): New function.
6769         (supportable_widening_operation): Get both input and output
6770         vector types.
6771         (supportable_narrowing_operation): Likewise.
6772         * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
6773
6774 2010-04-09  Kai Tietz  <kai.tietz@onevision.com>
6775
6776         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
6777         __thiscall and _thiscall as predefined macros.
6778         * config/i386/i386.c (ix86_handle_cconv_attribute): Add
6779         thiscall attribute handling.
6780         (ix86_comp_type_attributes): Likewise.
6781         (ix86_function_regparm): Likewise.
6782         (ix86_return_pops_args): Likewise.
6783         (init_cumulative_args): Likewise.
6784         (find_drap_reg): Likewise.
6785         (ix86_static_chain): Likewise.
6786         (x86_this_parameter): Likewise.
6787         (x86_output_mi_thunk): Likewise.
6788         (ix86_attribute_table): Add description for thiscall attribute.
6789         * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
6790         * doc/extend.texi: Add documentation for thiscall.
6791
6792 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6793
6794         PR c++/28584
6795         * c.opt (Wint-to-pointer-cast): Available in C++.
6796         * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
6797
6798 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
6799
6800         * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
6801         * calls.c (expand_call): Pass the function type to aggregate_value_p.
6802         * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
6803         the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
6804         function type instead.  Reorder and simplify checks.
6805
6806         * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
6807
6808 2010-04-08  Jing Yu  <jingyu@google.com>
6809             Zdenek Dvorak  <ook@ucw.cz>
6810
6811         PR tree-optimization/42720
6812         * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
6813         loop unswitch conditions here from ...
6814         (tree_unswitch_single_loop): ... here.
6815
6816 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
6817
6818         * tree-if-conv.c: Fix comments and simplify logic.
6819
6820 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
6821
6822         * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
6823         (tree_if_conversion): Same.  Update call to if_convertible_loop_p.
6824         (main_tree_if_conversion): Update call to tree_if_conversion.
6825
6826 2010-04-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6827
6828         PR 42485
6829         * doc/invoke.texi (-b,-V): Delete.
6830         * doc/tm.texi: Do not mention -b.
6831         * gcc.c (display_help): Delete -b and -V.
6832         (process_command): Delete -b and -V.
6833         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
6834
6835 2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
6836             Wolfgang Gellerich  <gellerich@de.ibm.com>
6837
6838         Implement target hook for loop unrolling
6839         * target.h (loop_unroll_adjust): Add a new target hook function.
6840         * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
6841         * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
6842         * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
6843         (s390_loop_unroll_adjust): Implement the new target hook for s390.
6844         * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
6845         target hook.
6846         (decide_unroll_stupid): Likewise.
6847
6848 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6849
6850         PR target/43643
6851         * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
6852
6853 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6854
6855         * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
6856         (Specific, *-*-solaris2*): Likewise.
6857         Don't prefer Sun as over GNU as.
6858
6859 2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>
6860
6861         * config/s390/s390.c (override_options): Adjust the z10 defaults
6862         for max-unroll-times, max-completely-peeled-insns
6863         and max-completely-peel-times.
6864
6865 2010-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6866
6867         * config/s390/s390.c (s390_expand_movmem): Issue prefetch
6868         instructions for z10.
6869         (s390_expand_setmem): Likewise.
6870         (s390_expand_cmpmem): Likewise.
6871
6872 2010-04-08  Richard Guenther  <rguenther@suse.de>
6873
6874         PR tree-optimization/43679
6875         * tree-ssa-pre.c (eliminate): Only propagate copies.
6876
6877 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
6878
6879         PR bootstrap/43681
6880         * expr.c (block_move_libcall_safe_for_call_parm): Avoid
6881         set but not used variable warning.
6882
6883 2010-04-08  Wei Guozhi  <carrot@google.com>
6884
6885         PR target/41653
6886         * config/arm/arm.c (thumb1_size_rtx_costs): New function.
6887         (arm_size_rtx_costs): Call the new function when optimized for size.
6888
6889 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
6890
6891         PR debug/43670
6892         * cfgexpand.c (expand_debug_expr): If for non-NULL offset
6893         op0 is not a MEM, just return NULL instead of assertion
6894         failure.
6895         (discover_nonconstant_array_refs): Don't walk debug stmts.
6896
6897 2010-04-08  Doug Kwan  <dougkwan@google.com>
6898
6899         * configure.ac: Recognize gold and do not use its version number
6900         to test ld features.
6901         * configure: Regenerate.
6902
6903 2010-04-08  Maxim Kuvyrkov  <maxim@codesourcery.com>
6904
6905         PR middle-end/40815
6906         * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
6907         (negate_value): Move code to push elements to broken_up_substracts ...
6908         (eliminate_plus_minus_pair): ... here.  Push operands that have no
6909         negative pair to plus_negates.
6910         (repropagate_negates, init_reassoc, fini_reassoc): Update.
6911
6912 2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6913
6914         * doc/install.texi (Configuration): Move description of
6915         --enable-lto, --with-libelf*, --enable-gold from Java section to
6916         general section.
6917
6918         * doc/generic.texi (Working with declarations)
6919         (Function Properties, C and C++ Trees): Fix typos.
6920         * doc/sourcebuild.texi (Top Level): Likewise.
6921
6922 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
6923
6924         PR c/18624
6925         * tree.h (DECL_READ_P): Define.
6926         (struct tree_decl_common): Add decl_read_flag.
6927         * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
6928         a set but not used warning.
6929         (merge_decls): Merge DECL_READ_P flag.
6930         (finish_decl, build_compound_literal): Set DECL_READ_P flag.
6931         (finish_function): Issue -Wunused-but-set-parameter diagnostics.
6932         * c-common.c (handle_used_attribute, handle_unused_attribute):
6933         Likewise.
6934         * c-tree.h (default_function_array_read_conversion, mark_exp_read):
6935         New prototypes.
6936         * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
6937         New functions.
6938         (default_conversion, c_process_expr_stmt): Call mark_exp_read.
6939         * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
6940         c_parser_binary_expression, c_parser_cast_expression,
6941         c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
6942         Call default_function_array_read_conversion instead of
6943         default_function_array_conversion where needed.
6944         (c_parser_unary_expression, c_parser_conditional_expression,
6945         c_parser_postfix_expression_after_primary, c_parser_initelt):
6946         Likewise.  Call mark_exp_read where needed.
6947         (c_parser_statement_after_labels, c_parser_asm_operands,
6948         c_parser_typeof_specifier, c_parser_sizeof_expression,
6949         c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
6950         where needed.
6951         * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
6952         New.
6953         * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
6954         (warn_unused_but_set_parameter): Default to warn_unused
6955         && extra_warnings.
6956         * doc/invoke.texi: Document -Wunused-but-set-variable and
6957         -Wunused-but-set-parameter.
6958
6959         * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
6960         used count variable.
6961         * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
6962         when operandN variables aren't used in the body of the expander
6963         or splitter.
6964         * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
6965         FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
6966         * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
6967         * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
6968         FOR_EACH_IMM_USE_ON_STMT): Likewise.
6969         * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
6970         * tree.c (PROCESS_ARG): Likewise.
6971
6972 2010-04-07  Simon Baldwin  <simonb@google.com>
6973
6974         * diagnostic.h (diagnostic_override_option_index): New macro to
6975         set a diagnostic's option_index.
6976         * c-tree.h (c_cpp_error): Add warning reason argument.
6977         * opts.c (_warning_as_error_callback): New.
6978         (register_warning_as_error_callback): Store callback for
6979         warnings enabled via enable_warning_as_error.
6980         (enable_warning_as_error): Call callback, minor code tidy.
6981         * opts.h (register_warning_as_error_callback): Declare.
6982         * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
6983         response to -Werror=.
6984         (c_common_init_options): Register warning_as_error_callback in opts.c.
6985         * common.opt: Add -Wno-cpp option.
6986         * c-common.c (struct reason_option_codes_t): Map cpp warning
6987         reason codes to gcc option indexes.
6988         * (c_option_controlling_cpp_error): New function, lookup the gcc
6989         option index for a cpp warning reason code.
6990         * (c_cpp_error): Add warning reason argument, call
6991         c_option_controlling_cpp_error for diagnostic_override_option_index.
6992         * doc/invoke.texi: Document -Wno-cpp.
6993
6994 2010-04-07  Richard Guenther  <rguenther@suse.de>
6995
6996         * ipa-reference.c (mark_load): Use get_base_address.
6997         (mark_store): Likewise.
6998
6999         * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
7000         inserting GIMPLE_NOPs into the IL.
7001         * tree-ssa-structalias.c (get_constraint_for_component_ref):
7002         Explicitly strip handled components and indirect references.
7003
7004         * fold-const.c (fold_unary_loc): Do not strip qualifiers when
7005         folding address expressions.
7006         * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
7007         * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
7008         operand_equal_p to compare decls.
7009         (ptr_deref_may_alias_decl_p): Likewise.
7010         * tree-ssa-operands.c (get_asm_expr_operands): Simplify
7011         * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
7012         Handle reversed comparison ops.
7013         * tree-sra.c (asm_visit_addr): Use get_base_address.
7014         * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
7015         * ipa-reference.c (mark_address): Use get_base_address.
7016
7017 2010-04-07  Richard Guenther  <rguenther@suse.de>
7018
7019         * tree-ssa-forwprop.c (forward_propagate_addr_expr):
7020         Propagate constants everywhere.
7021
7022 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
7023
7024         PR debug/43516
7025         * tree.c (MAX_INT_CACHED_PREC): Define.
7026         (nonstandard_integer_type_cache): New array.
7027         (build_nonstandard_integer_type): Cache results for precision
7028         <= MAX_INT_CACHED_PREC.
7029
7030 2010-04-07  Richard Guenther  <rguenther@suse.de>
7031
7032         * doc/invoke.texi (-fargument-alias, -fargument-noalias,
7033         -fargument-noalias-global, -fargument-noalias-anything): Remove.
7034         * common.opt: Likewise.
7035         * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
7036         * alias.c (base_alias_check): Remove flag_argument_noalias handling.
7037         (nonoverlapping_memrefs_p): Likewise.
7038         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
7039         * opts.c (common_handle_option): Handle OPT_fargument_alias,
7040         OPT_fargument_noalias, OPT_fargument_noalias_anything and
7041         OPT_fargument_noalias_global for backward compatibility.
7042
7043 2010-04-07  Richard Guenther  <rguenther@suse.de>
7044
7045         PR tree-optimization/43270
7046         * tree-vrp.c (check_array_ref): Fix flexible array member detection.
7047         * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
7048         * tree-ssa-pre.c (phi_translate_1): Adjust.
7049         (fully_constant_expression): Split out vn_reference handling to ...
7050         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
7051         Fold reads from constant strings.
7052         (vn_reference_lookup): Handle fully constant references.
7053         (vn_reference_lookup_pieces): Likewise.
7054         * Makefile.in (expmed.o-warn): Add -Wno-error.
7055
7056 2010-04-07  Martin Jambor  <mjambor@suse.cz>
7057
7058         * tree-sra.c (find_param_candidates): Allow scalar va_list types.
7059
7060 2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>
7061
7062         PR driver/41594
7063         * gcc.c: Add -static-libstdc++ to list of recognized options.
7064
7065 2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7066
7067         * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
7068
7069 2010-04-07  Richard Guenther  <rguenther@suse.de>
7070
7071         PR middle-end/42617
7072         * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
7073         bases build simple mem attributes to retain points-to information.
7074
7075 2010-04-07  Richard Guenther  <rguenther@suse.de>
7076
7077         PR middle-end/42617
7078         * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
7079         preserve points-to related information.
7080
7081 2010-04-07  Richard Guenther  <rguenther@suse.de>
7082
7083         PR middle-end/42617
7084         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
7085         discard plain indirect references.
7086         * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
7087         * tree.c (tree_nop_conversion): Likewise.
7088
7089 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
7090
7091         PR debug/43628
7092         * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
7093
7094 2010-04-06  Kai Tietz  <kai.tietz@onevision.com>
7095
7096         * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
7097         calling convention attributes on METHOD_TYPEs for w64 ABI, too.
7098
7099 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
7100
7101         * tree-if-conv.c: Fix indentation and comments.
7102
7103 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
7104
7105         * tree-if-conv.c: Sort static functions in topological order.
7106
7107 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
7108
7109         * tree-if-conv.c: Fix indentation and comments.
7110
7111 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
7112
7113         PR middle-end/43519
7114         * graphite-clast-to-gimple.c (max_signed_precision_type): Use
7115         lang_hooks.types.type_for_size instead of
7116         build_nonstandard_integer_type.
7117         When converting an unsigned type to signed, double its precision.
7118         (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
7119         (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
7120         (graphite_create_new_loop_guard): When ub + 1 wraps around,
7121         use lb <= ub.
7122
7123 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
7124
7125         PR middle-end/43519
7126         * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
7127         POINTER_PLUS_EXPR for pointer types.
7128
7129 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
7130
7131         PR middle-end/43519
7132         * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
7133         * graphite-clast-to-gimple.c: Include langhooks.h.
7134         (max_signed_precision_type): New.
7135         (max_precision_type): Takes two types as arguments.
7136         (precision_for_value): New.
7137         (precision_for_interval): New.
7138         (gcc_type_for_interval): New.
7139         (gcc_type_for_value): New.
7140         (gcc_type_for_clast_term): New.
7141         (gcc_type_for_clast_red): New.
7142         (gcc_type_for_clast_bin): New.
7143         (gcc_type_for_clast_expr): Split up into several functions.
7144         (gcc_type_for_clast_eq): Rewritten.
7145         (compute_bounds_for_level): New.
7146         (compute_type_for_level_1): New.
7147         (compute_type_for_level): New.
7148         (gcc_type_for_cloog_iv): Removed.
7149         (gcc_type_for_iv_of_clast_loop): Rewritten.
7150         (graphite_create_new_loop): Compute the lower and upper bound types
7151         with gcc_type_for_clast_expr.
7152         (graphite_create_new_loop_guard): Same.
7153         (find_cloog_iv_in_expr): Removed.
7154         (compute_cloog_iv_types_1): Removed.
7155         (compute_cloog_iv_types): Removed.
7156         (gloog): Do not call compute_cloog_iv_types.
7157         * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
7158         GBB_CLOOG_IV_TYPES.
7159         (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
7160         * sese.h (struct gimple_bb): Removed field cloog_iv_types.
7161         (GBB_CLOOG_IV_TYPES): Removed.
7162
7163 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
7164
7165         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
7166         gimple_phi_num_args of the loop close SSA phi node is equal to 1.
7167         (detect_commutative_reduction): Same.
7168
7169 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
7170
7171         * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
7172         call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
7173         argument.
7174         * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
7175         * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
7176         (rewrite_commutative_reductions_out_of_ssa): Same.
7177         * passes.c (execute_function_todo): Call verify_ssa for every pass
7178         in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
7179         * tree-flow.h (verify_loop_closed_ssa): Update declaration.
7180         * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
7181         with an extra argument.
7182         * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
7183         verify_ssa only when the extra argument is true.
7184         (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
7185         with an extra argument.
7186         (tree_transform_and_unroll_loop): Same.
7187
7188 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
7189
7190         * passes.c (execute_function_todo): Call verify_loop_closed_ssa
7191         for all the passes of the LNO having LOOP_CLOSED_SSA.
7192         * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
7193         * tree-loop-distribution.c (pass_loop_distribution): Same.
7194         * tree-pass.h (TODO_verify_loops): Removed.
7195         * tree-ssa-loop.c (pass_tree_loop_init): Same.
7196         (pass_lim): Same.
7197         (pass_tree_unswitch): Same.
7198         (pass_predcom): Same.
7199         (pass_vectorize): Same.
7200         (pass_linear_transform): Same.
7201         (pass_graphite_transforms): Same.
7202         (pass_iv_canon): Same.
7203         (pass_complete_unroll): Same.
7204         (pass_complete_unrolli): Same.
7205         (pass_parallelize_loops): Same.
7206         (pass_loop_prefetch): Same.
7207         (pass_iv_optimize): Same.
7208
7209 2010-04-06  Changpeng Fang  <changpeng.fang@amd.com>
7210
7211         PR middle-end/32824
7212         * passes.c (init_optimization_passes): Move pass_lim before
7213         pass_copy_prop and pass_dce_loop.
7214
7215 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
7216
7217         PR target/43667
7218         * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
7219         instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
7220         (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
7221         MULTI_* defines for 4 argument vpermil2p* builtins.
7222
7223 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
7224
7225         * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
7226         * config/i386/i386.c (x86_maybe_negate_const_int): New.
7227         (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
7228         * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
7229         *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
7230         *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
7231         *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
7232         Use x86_maybe_negate_const_int to output insn mnemonic.
7233         (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto.  Remove overflow
7234         check from instruction predicate.  Update comments.
7235         * config/i386/sync.md (sync_add<mode>): Use
7236         x86_maybe_negate_const_int to output insn mnemonic.
7237
7238 2010-04-06  Jan Hubicka  <jh@suse.cz>
7239
7240         PR tree-optimization/42906
7241         * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
7242         IGNORE_SELF argument.  Set visited_control_parents for fully
7243         processed BBs.
7244         (find_obviously_necessary_stmts): Update call of
7245         mark_control_dependent_edges_necessary.
7246         (propagate_necessity): Likewise.  Handle PHI edges more curefully.
7247
7248 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
7249
7250         * config/i386/i386.md: Remove comment about 'e' and 'E'
7251         operand modifier.
7252
7253 2010-04-06  Richard Guenther  <rguenther@suse.de>
7254
7255         PR tree-optimization/43627
7256         * tree-vrp.c (extract_range_from_unary_expr): Widenings
7257         of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
7258         not varying.
7259
7260 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
7261
7262         * BASE-VER: Change to 4.6.0.
7263
7264         PR target/43638
7265         * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
7266         handling.
7267
7268 2010-04-06  Richard Guenther  <rguenther@suse.de>
7269
7270         PR middle-end/43661
7271         * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
7272
7273 2010-04-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7274
7275         * doc/invoke.texi (Optimize Options): Document that LTO
7276         won't remove object access purely due to incompatible
7277         declarations.
7278
7279 2010-04-04  Matthias Klose  <doko@ubuntu.com>
7280
7281         * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
7282         Initialize variable.
7283
7284 2010-04-03  Richard Guenther  <rguenther@suse.de>
7285
7286         PR middle-end/42509
7287         * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
7288         require a non-NULL MEM_OFFSET.
7289
7290 2010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
7291
7292         * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
7293         basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
7294         collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
7295         config/alpha/predicates.md, config/arm/arm.md,
7296         config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
7297         config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
7298         config/darwin9.h, config/darwin.c, config/darwin.h,
7299         config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
7300         config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
7301         config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
7302         config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
7303         config/mips/mips.md, config/mn10300/mn10300.c,
7304         config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
7305         config/rs6000/aix.h, config/rs6000/dfp.md,
7306         config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
7307         config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
7308         config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
7309         config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
7310         config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
7311         config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
7312         c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
7313         diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
7314         doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
7315         doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
7316         fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
7317         gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
7318         graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
7319         graphite-dependences.c, graphite-poly.c, graphite-poly.h,
7320         graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
7321         graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
7322         intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
7323         ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
7324         ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
7325         loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
7326         objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
7327         opt-functions.awk, opth-gen.awk, params.def, passes.c,
7328         postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
7329         rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
7330         store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
7331         tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
7332         tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
7333         tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
7334         tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
7335         tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
7336         tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
7337         tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
7338         tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
7339         tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
7340         tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
7341         unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
7342
7343 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7344
7345         PR other/43620
7346         * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
7347         * aclocal.m4: Regenerate.
7348
7349 2010-04-02  Richard Guenther  <rguenther@suse.de>
7350
7351         PR tree-optimization/43629
7352         * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
7353         if we have seen a constant value.
7354
7355 2010-04-02  Joseph Myers  <joseph@codesourcery.com>
7356
7357         * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
7358
7359 2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
7360
7361         PR target/43469
7362         * arm.c (legitimize_tls_address): Adjust call to
7363         gen_tls_load_dot_plus_four.
7364         (arm_note_pic_base): New function.
7365         (arm_cannot_copy_insn_p): Use it.
7366         * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
7367         constraint.
7368
7369 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7370
7371         PR bootstrap/43531
7372
7373         Revert:
7374         2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7375
7376         * Makefile.in ($(out_object_file)): Depend on
7377         gt-$(basename $(notdir $(out_file))).h.
7378
7379 2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
7380
7381         * config.gcc (lm32-*-rtems*): Add t-lm32.
7382
7383 2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
7384
7385         * config.gcc: Add lm32-*-rtems*.
7386         * config/lm32/rtems.h: New file.
7387
7388 2010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
7389
7390         PR target/42609
7391         * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
7392
7393 2010-04-01  Jakub Jelinek  <jakub@redhat.com>
7394
7395         * dwarf2out.c (output_compilation_unit_header): For
7396         -gdwarf-4 use version 4 instead of version 3.
7397         (output_line_info): For version 4 and above emit additional
7398         maximum ops per insn header field.
7399         (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
7400
7401         * dwarf2out.c (is_c_family, is_java): Remove.
7402         (lower_bound_default): New function.
7403         (add_bound_info, gen_descr_array_type_die): Use it.
7404
7405 2010-04-01  Dodji Seketeli  <dodji@redhat.com>
7406
7407         PR debug/43325
7408         * dwarf2out.c (gen_variable_die): Allow debug info for variable
7409         re-declaration when it happens in a function.
7410
7411 2010-04-01  Aldy Hernandez  <aldyh@redhat.com>
7412
7413         * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
7414         (cgraph_remove_function_insertion_hook): Same.
7415         (cgraph_call_function_insertion_hooks): Same.
7416
7417 2010-04-01  Richard Guenther  <rguenther@suse.de>
7418
7419         PR middle-end/43614
7420         * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
7421         and TREE_THIS_VOLATILE.
7422         (copy_ref_info): Likewise.
7423         * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
7424         * tree.c (build6_stat): Ignore side-effects of all but arg5
7425         for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
7426         TARGET_MEM_REF.
7427
7428 2010-04-01  Richard Guenther  <rguenther@suse.de>
7429
7430         PR tree-optimization/43607
7431         * ipa-type-escape.c (check_call): Do not access non-existing
7432         arguments.
7433
7434 2010-04-01  Richard Guenther  <rguenther@suse.de>
7435
7436         PR middle-end/43602
7437         Revert
7438         2010-03-30  Seongbae Park <seongbae.park@gmail.com>
7439                     Jack Howarth <howarth@bromo.med.uc.edu>
7440
7441         * tree-profile.c (tree_init_ic_make_global_vars): Make static
7442         variables TLS.
7443
7444 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7445
7446         * doc/install.texi (Prerequisites): Document libelf usability on
7447         IRIX 5/6 and Solaris 2.
7448         (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
7449         Update GNU as, GNU ld requirements.
7450         (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
7451         Document Sun Studio compiler download.
7452         Update and simplify as, ld recommendations.
7453         (Specific, *-*-solaris2.7): Note obsoletion, removal.
7454
7455 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7456
7457         * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
7458         with_tune_32 to pentium4.
7459
7460 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>
7461
7462         * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
7463
7464 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7465
7466         * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
7467         obsoletion, removal.
7468         Update IDO URL.
7469         Document GNU as requirement.
7470         Update configure requirements.
7471         (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
7472         Recomment IRIX 6.5.18+.
7473         Document IDF/IDL requirement.
7474         Document GNU as requirement.
7475         Document GNU ld bootstrap failure.
7476         Remove freeware.sgi.com reference.
7477
7478 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7479
7480         * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
7481         UNIX V4.0, V5.0 obsoletion, removal.
7482         Remove --with-gc=simple reference.
7483         Update VM requirements during bootstrap.
7484         Remove -oldas bootstrap description.
7485         Update binutils reference.
7486         Remove comparison failure note.
7487
7488 2010-03-31  Richard Guenther  <rguenther@suse.de>
7489             Zdenek Dvorak  <ook@ucw.cz>
7490             Sebastian Pop  <sebastian.pop@amd.com>
7491
7492         PR middle-end/43464
7493         * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
7494         with multiple arguments.
7495         (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
7496
7497 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
7498
7499         * graphite-dependences.c (print_pddr): Call print_pdr with an
7500         extra argument.
7501         * graphite-poly.c (debug_pdr): Add an extra argument for the
7502         verbosity level.
7503         (print_pdr): Same.
7504         (print_pbb_domain): Same.
7505         (print_pbb): Same.
7506         (print_scop_context): Same.
7507         (print_scop): Same.
7508         (print_cloog): Same.
7509         (debug_pbb_domain): Same.
7510         (debug_pbb): Same.
7511         (print_pdrs): Same.
7512         (debug_pdrs): Same.
7513         (debug_scop_context): Same.
7514         (debug_scop): Same.
7515         (debug_cloog): Same.
7516         (print_scop_params): Same.
7517         (debug_scop_params): Same.
7518         (print_iteration_domain): Same.
7519         (print_iteration_domains): Same.
7520         (debug_iteration_domain): Same.
7521         (debug_iteration_domains): Same.
7522         (print_scattering_function): Same.
7523         (print_scattering_functions): Same.
7524         (debug_scattering_function): Same.
7525         (debug_scattering_functions): Same.
7526         * graphite-poly.h (debug_pdr): Update declaration.
7527         (print_pdr): Same.
7528         (print_pbb_domain): Same.
7529         (print_pbb): Same.
7530         (print_scop_context): Same.
7531         (print_scop): Same.
7532         (print_cloog): Same.
7533         (debug_pbb_domain): Same.
7534         (debug_pbb): Same.
7535         (print_pdrs): Same.
7536         (debug_pdrs): Same.
7537         (debug_scop_context): Same.
7538         (debug_scop): Same.
7539         (debug_cloog): Same.
7540         (print_scop_params): Same.
7541         (debug_scop_params): Same.
7542         (print_iteration_domain): Same.
7543         (print_iteration_domains): Same.
7544         (debug_iteration_domain): Same.
7545         (debug_iteration_domains): Same.
7546         (print_scattering_function): Same.
7547         (print_scattering_functions): Same.
7548         (debug_scattering_function): Same.
7549         (debug_scattering_functions): Same.
7550
7551 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
7552
7553         * graphite-poly.c (print_scattering_function_1): New.
7554         (print_scattering_function): Call it.
7555         (print_scop_params): Remove spaces at the end of lines.
7556         (print_cloog): New.
7557         (debug_cloog): New.
7558         * graphite-poly.h (print_cloog): Declared.
7559         (debug_cloog): Declared.
7560
7561 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
7562
7563         * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
7564         in loop->header.
7565         * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
7566         * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
7567         * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
7568         to switch between adding the IV bump in loop->latch or in loop->header.
7569
7570 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
7571
7572         * graphite-poly.c (print_scattering_function): Pretty print following
7573         the scoplib format.
7574         (print_pdr): Same.
7575         (print_pbb_domain): Same.
7576         (dump_gbb_cases): Same.
7577         (dump_gbb_conditions): Same.
7578         (print_pdrs): Same.
7579         (print_pbb): Same.
7580         (print_scop_params): Same.
7581         (print_scop_context): Same.
7582         (print_scop): Same.
7583         (print_pbb_body): New.
7584         (lst_indent_to): New.
7585         (print_lst): Start new lines with a #.
7586         * graphite-poly.h (pbb_bb): New.
7587         (pbb_index): Use pbb_bb.
7588         * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
7589         disjuncts.
7590         * tree-data-ref.c (dump_data_reference): Start new lines with a #.
7591
7592 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
7593
7594         * dwarf2out.c (size_of_die): For -gdwarf-4 use
7595         uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
7596         and 0 instead of 1 for dw_val_class_flag.
7597         (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
7598         dw_val_class_range_list, dw_val_class_loc_list,
7599         dw_val_class_lineptr and dw_val_class_macptr, use
7600         DW_FORM_flag_present for dw_val_class_flag and
7601         DW_FORM_exprloc for dw_val_class_loc.
7602         (output_die): For -gdwarf-4 print dw_val_class_loc
7603         size as uleb128 instead of 1 or 2 bytes and don't print
7604         anything for dw_val_class_flag.
7605
7606         * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
7607         instead of cselib_lookup following by tweaking locs->setting_insn.
7608
7609         PR bootstrap/43596
7610         * cselib.c (cselib_process_insn): Clear cselib_current_insn
7611         even before returning from label, setjmp call or volatile asm
7612         handling.
7613
7614 2010-03-31  Richard Guenther  <rguenther@suse.de>
7615
7616         PR middle-end/43600
7617         * cgraphunit.c (cgraph_output_in_order): Do not allocate
7618         temporary data on stack.
7619
7620 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7621
7622         * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
7623         (PUSHSECTION_ASM_OP): Remove.
7624         (POPSECTION_ASM_OP): Remove.
7625         (PUSHSECTION_FORMAT): Remove.
7626         * config/sol2.h (PUSHSECTION_FORMAT): Define.
7627         * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
7628         * config/sol2.c (solaris_output_init_fini): Use it.
7629
7630 2010-03-31  Jie Zhang  <jie@codesourcery.com>
7631
7632         PR 43574
7633         * opt-functions.awk (var_type_struct): Use signed char type
7634         for simple variables.
7635
7636 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7637
7638         * config/sol2.c: Include output.h.
7639         (solaris_assemble_visibility): New function.
7640         * config/t-sol2 (sol2.o): Add output.h dependency.
7641         * config/sol2-protos.h (solaris_assemble_visibility): Declare.
7642         * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
7643         Redefine.
7644
7645 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
7646
7647         PR target/43580
7648         * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
7649         V2SImode or XFmode on PRE_DEC.
7650
7651         PR debug/43557
7652         * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
7653         BLKmode.
7654
7655 2010-03-31  Jie Zhang  <jie@codesourcery.com>
7656
7657         PR 43562
7658         * reload.h (caller_save_initialized_p): Declare.
7659         * toplev.c (backend_init_target): Don't call
7660         init_caller_save but set caller_save_initialized_p to false.
7661         * caller-save.c (caller_save_initialized_p): Define.
7662         (init_caller_save): Check caller_save_initialized_p.
7663         * ira.c (ira): Call init_caller_save if flag_caller_saves.
7664
7665 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7666
7667         PR target/39048
7668         * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
7669         and soft-fp/t-softfp to tmake_file.
7670         * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
7671         (LIBGCC2_TF_CEXT): Define.
7672         (TF_SIZE): Define.
7673
7674 2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
7675
7676         PR debug/42977
7677         * cselib.c (n_useless_values): Document handling of debug locs.
7678         (n_useless_debug_values, n_debug_values): New variables.
7679         (new_elt_loc_list): Don't add to debug values, keep count.
7680         (promote_debug_loc): New.
7681         (cselib_reset_table): Zero new variables.
7682         (entry_and_rtx_equal_p): Promote debug locs.
7683         (discard_useless_locs): Increment n_useless_debug_values for
7684         debug values.
7685         (remove_useless_values): Adjust n_useless_values and n_debug_values
7686         with n_useless_debug_values.
7687         (add_mem_for_addr): Promote debug locs.
7688         (cselib_lookup_mem): Likewise.
7689         (cselib_lookup_addr): Renamed to...
7690         (cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
7691         (cselib_log_lookup): ... this.  Turn into...
7692         (cselib_lookup_addr): ... new wrapper.
7693         (cselib_lookup_from_insn): New.
7694         (cselib_invalidate_regno): Increment n_useless_debug_values for
7695         debug values.
7696         (cselib_invalidate_mem): Likewise.
7697         (cselib_process_insn): Take n_deleted and n_debug_values into
7698         account to guard remove_useless_value call.
7699         (cselib_finish): Zero n_useless_debug_values.
7700         * cselib.h (cselib_lookup_from_insn): Declare.
7701         * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
7702         (sched_analyze_2): Likewise.
7703
7704 2010-03-30  Jakub Jelinek  <jakub@redhat.com>
7705
7706         * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
7707         functions.
7708         (adjust_mems): Replace narrowing SUBREG of expression containing
7709         just PLUS, MINUS, MULT and ASHIFT of registers and constants
7710         with operations in the narrower mode.
7711
7712         PR debug/43593
7713         * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
7714         regs_invalidated_by_call instead all call_used_reg_set registers.
7715
7716 2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
7717
7718         PR middle-end/43430
7719         * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
7720         pointer comparisons with types_compatible_p.
7721         * tree-vect-stmts.c (vectorizable_call): Same.
7722         (vectorizable_condition): Same.
7723
7724 2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7725
7726         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
7727         stack check if the mask would be zero.
7728
7729 2010-03-30  Seongbae Park <seongbae.park@gmail.com>
7730             Jack Howarth <howarth@bromo.med.uc.edu>
7731
7732         * tree-profile.c (tree_init_ic_make_global_vars): Make static
7733         variables TLS.
7734
7735 2010-03-30  Joseph Myers  <joseph@codesourcery.com>
7736
7737         PR other/25232
7738         * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
7739         and __unordtf2.
7740         * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
7741         Include ___unordxf2 and ___unordtf2.
7742         * config/i386/libgcc-glibc.ver: Do not define inheritance from
7743         GCC_4.4.0 here.
7744
7745 2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
7746
7747         * config/lm32/t-lm32: New file.
7748         * config.gcc: Use the above file when targetting lm32.
7749
7750 2010-03-28  Duncan Sands  <baldrick@free.fr>
7751
7752         * Makefile.in (PLUGIN_HEADERS): Add except.h.
7753
7754 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
7755
7756         PR middle-end/43431
7757         * tree-vect-loop.c (vect_estimate_min_profitable_iters):
7758         Improve vectorization cost model diagnostic.
7759
7760 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
7761
7762         PR middle-end/43436
7763         * tree-vect-data-refs.c (vect_analyze_data_refs): When
7764         compute_data_dependences_for_loop returns false, early exit
7765         and output an extra diagnostic for the failed data reference
7766         analysis.
7767
7768 2010-03-29  Richard Guenther  <rguenther@suse.de>
7769
7770         PR tree-optimization/43560
7771         * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
7772         (can_sm_ref_p): Treat stores to readonly locations as trapping.
7773
7774 2010-03-29  Jie Zhang  <jie@codesourcery.com>
7775
7776         PR 43564
7777         * toplev.c (process_options): Set optimization_default_node
7778         and optimization_current_node.
7779         * opts.c (decode_options): Don't set optimization_default_node
7780         and optimization_current_node.
7781
7782 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
7783
7784         * config/rtems.h: Abandon -qrtems_debug.
7785
7786 2010-03-28  Jan Hubicka  <jh@suse.cz>
7787
7788         PR tree-optimization/43505
7789         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
7790         map should not be copied.
7791
7792 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7793
7794         PR middle-end/41674
7795         * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
7796         cdtors, set DECL_PRESERVE_P.
7797         * ipa.c (cgraph_externally_visible_p): Return true if declaration
7798         should be preseved.
7799
7800 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
7801
7802         PR tree-optimization/43528
7803         * stor-layout.c (place_field): Check that constant fits into
7804         unsigned HWI when skipping calculation of MS bitfield layout.
7805
7806 2010-03-27  Jan Hubicka  <jh@suse.cz>
7807
7808         PR middle-end/43391
7809         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
7810         notice_global_symbol work.
7811
7812 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
7813
7814         * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
7815         instead of dwarf2out_decl.
7816         (struct var_loc_node): Remove section_label field.
7817         (dwarf2out_function_decl): New function.
7818         (dwarf2out_var_location): Don't set section_label field.
7819         (dwarf2out_begin_function): Don't empty decl_loc_table here.
7820
7821 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
7822
7823         PR tree-optimization/43544
7824         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
7825         First argument for builtin vectorized function hook is now a
7826         tree to be able to distinguish between machine specific and
7827         standard builtins.
7828         * targhooks.c (default_builtin_vectorized_function): Ditto.
7829         * targhooks.h (default_builtin_vectorized_function): Ditto.
7830         * target.h (struct gcc_target): Ditto.
7831         * tree-vect-stmts.c (vectorizable_function): Ditto.
7832         * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
7833         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
7834         Ditto.
7835
7836 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
7837
7838         PR c/43381
7839         * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
7840         nested binding iff it is a FUNCTION_DECL.
7841         (store_parm_decls_newstyle): Pass nested=true to bind for
7842         FUNCTION_DECLs amongst parameters.
7843
7844 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
7845
7846         * var-tracking.c (vt_expand_loc_callback): Don't run
7847         cselib_expand_value_rtx_cb in dummy mode if
7848         cselib_dummy_expand_value_rtx_cb returned false.
7849
7850         * var-tracking.c (emit_note_insn_var_location): For one part
7851         notes with offset 0, don't add EXPR_LIST around the location.
7852         * dwarf2out.c (loc_descriptor, dw_loc_list_1,
7853         add_location_or_const_value_attribute): Adjust for that change.
7854
7855         PR debug/43540
7856         * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
7857         into first operand and location into second.
7858         (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
7859         dw_cfi_oprnd_loc for DW_CFA_expression.
7860         (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
7861         (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
7862         assume first argument is regnum and second argument is location.
7863
7864 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
7865
7866         PR target/42113
7867         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
7868         of scratch register to DImode.  Split to DImode comparison operator.
7869         Use SImode subreg of scratch register in the multiplication.
7870         (*cmp_sadd_sidi): Ditto.
7871         (*cmp_ssub_si): Ditto.
7872         (*cmp_ssub_sidi): Ditto.
7873
7874 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
7875
7876         PR target/43524
7877         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
7878         Remove invalid assert and wrong comment.
7879
7880 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
7881
7882         PR debug/43516
7883         * flags.h (final_insns_dump_p): New extern.
7884         * final.c (final_insns_dump_p): New variable.
7885         (rest_of_clean_state): Set it before -fdump-final-insns=
7886         dumping, clear afterwards.
7887         * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
7888         MEM_ALIAS_SET on MEMs.
7889
7890 2010-03-26  David S. Miller  <davem@davemloft.net>
7891
7892         * configure.ac: Fix sparc GOTDATA_OP bug check.
7893         * configure: Rebuild.
7894
7895 2010-03-26  Alan Modra  <amodra@gmail.com>
7896
7897         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
7898
7899 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7900
7901         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
7902         TLS_SECTION_ASM_FLAG.
7903
7904 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
7905
7906         PR bootstrap/43511
7907         * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
7908         Clear first_function_block_is_cold.
7909
7910         PR c/43385
7911         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
7912         argument if the argument is truth_value_p.
7913
7914 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
7915
7916         * config/rs6000/constraints.md: Update copyright year for my changes.
7917
7918         PR target/43484
7919         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
7920         used in reg+reg addressing, swap registers.
7921
7922 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
7923
7924         PR debug/43293
7925         * target.h (struct gcc_target): Add code_end hook.
7926         * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
7927         if not yet defined.
7928         (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
7929         * toplev.c (compile_file): Call targetm.asm_out.code_end
7930         hook before unwind info/debug info output.
7931         * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
7932         * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
7933         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
7934         * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
7935         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
7936         * config/i386/i386.c (ix86_file_end): Renamed to...
7937         (ix86_code_end): ... this.  Make static.  Don't call
7938         file_end_indicate_exec_stack.  Emit unwind info using
7939         final_start_function/final_end_function.
7940         (darwin_x86_file_end): Remove.
7941         (TARGET_ASM_CODE_END): Define.
7942         * config/i386/i386.h (TARGET_ASM_FILE_END,
7943         NEED_INDICATE_EXEC_STACK): Don't define.
7944         * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
7945         (TARGET_ASM_FILE_END): Define to darwin_file_end.
7946         * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
7947         * doc/tm.texi (TARGET_ASM_CODE_END): Document.
7948
7949         PR target/43498
7950         * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
7951         at the beginning and final_end_function at the end.
7952         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
7953
7954 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7955
7956         * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
7957         and Sun as TLS syntax.
7958         (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
7959         * configure: Regenerate.
7960         * config.in: Regenerate.
7961         * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
7962         (default_elf_asm_named_section): Use it.
7963         * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
7964         (i386_output_dwarf_dtprel): Likewise.
7965         (output_addr_const_extra): Likewise.
7966         (output_pic_addr_const): Lowercase @GOTTPOFF.
7967         (output_addr_const_extra): Likewise.
7968         (output_pic_addr_const): Lowercase @GOTNTPOFF.
7969         (output_addr_const_extra): Likewise.
7970         (output_pic_addr_const): Lowercase @INDNTPOFF.
7971         (output_addr_const_extra): Likewise.
7972         (output_pic_addr_const): Lowercase @NTPOFF.
7973         (output_addr_const_extra): Likewise.
7974         (output_pic_addr_const): Lowercase @TPOFF.
7975         (output_addr_const_extra): Likewise.
7976         * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
7977         (*tls_global_dynamic_64): Likewise.
7978         (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
7979         (*tls_local_dynamic_base_64): Lowercase @TLSLD.
7980
7981         * defaults.h (TLS_COMMON_ASM_OP): Provide default.
7982         (ASM_OUTPUT_TLS_COMMON): Use it.
7983         * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
7984
7985         PR target/38118
7986         * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
7987         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
7988         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
7989         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
7990         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
7991         (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
7992
7993 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7994
7995         * config/i386/i386.c (override_options): Don't accept
7996         -mtls-dialect=sun any longer.
7997         * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
7998         * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
7999         (*tls_local_dynamic_base_32_sun): Likewise.
8000         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
8001
8002 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
8003
8004         PR debug/43508
8005         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
8006         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
8007
8008         PR debug/43479
8009         * ira.c (adjust_cleared_regs): New function.
8010         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
8011
8012         PR debug/19192
8013         PR debug/43479
8014         * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
8015         from gimple_block.
8016         * expr.c (expand_expr_real): Restore previous
8017         curr_insn_source_location and curr_insn_block after
8018         expand_expr_real_1 call.
8019         (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
8020         instead of expand_expr_real_1.
8021
8022 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
8023
8024         PR rtl-optimization/43413
8025         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
8026         hard regs too.
8027
8028 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
8029
8030         PR target/43348
8031         * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
8032         call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
8033
8034 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
8035
8036         * config/i386/i386.c (ix86_target_string): Add -mfma.
8037         Fix a typo in comment.
8038
8039 2010-03-22  Mike Stump  <mikestump@comcast.net>
8040
8041         PR target/23071
8042         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
8043         Don't overly align based upon packed packed fields.
8044
8045 2010-03-22  Jason Merrill  <jason@redhat.com>
8046
8047         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
8048         Use () rather than [], and move before the element type.
8049
8050 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8051
8052         * doc/configfiles.texi (Configuration Files): Removed
8053         fixinc/Makefile*, intl/Makefile.*.
8054         * doc/makefile.texi: Fixed markup. Abstract from version
8055         control system used.
8056         (Makefile): Removed obsolete gcc/java/parse.y example.
8057         * doc/sourcebuild.texi: Likewise.
8058         (Top Level): Added config, gnattools, libdecnumber, libgcc,
8059         libgomp, libssp.  Removed fastjar.
8060         (Miscellaneous Docs): Clarify location.
8061         Added COPYING3, COPYING3.LIB.
8062         (Front End Directory): Moved Make-lang.in entry to new subsubsection.
8063
8064 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8065
8066         PR target/38085
8067         * config/i386/i386.c (x86_function_profiler)
8068         [!NO_PROFILE_COUNTERS]: Fix typo.
8069         * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
8070         instead of callq.
8071
8072 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
8073             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8074
8075         * doc/sourcebuild.texi (Test Directives): Split into six
8076         subsections, with most of the current text in new subsections
8077         Directives, Selectors, and Final Actions.
8078         (Directives): Split list of test directives into multiple
8079         subsubsections.
8080         (Selectors): Describe use and syntax of selectors.
8081         (Effective-Target Keywords): Describe all existing keywords.
8082         (Add Options): Describe features for dg-add-options.
8083         (Require Support): Describe variants of dg-require-support.
8084         (Final Actions): Describe commands to use in dg-final.
8085
8086 2010-03-22  Michael Matz  <matz@suse.de>
8087
8088         PR middle-end/43475
8089         * recog.c (validate_replace_rtx_group): Replace also in
8090         REG_EQUAL and REG_EQUIV notes.
8091
8092 2010-03-22  Richard Guenther  <rguenther@suse.de>
8093
8094         PR tree-optimization/43390
8095         * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
8096         sure vector extracts are type correct.
8097
8098 2010-03-22  Richard Guenther  <rguenther@suse.de>
8099
8100         PR middle-end/40106
8101         * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
8102         x * sqrt (x) even when optimizing for size if the target
8103         has native support for sqrt.
8104
8105 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
8106
8107         * varasm.c (make_decl_rtl_for_debug): Also clear
8108         flag_mudflap for the duration of make_decl_rtl call.
8109
8110         PR debug/43443
8111         * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
8112         locs from preserved VALUEs.
8113
8114 2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8115
8116         PR middle-end/42718
8117         * pa.md (movmemsi): Set align to one if zero.
8118         (movmemdi): Likewise.
8119
8120 2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
8121
8122         PR target/42321
8123         * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
8124         with their corresponding prologue pushes.
8125
8126 2010-03-20  Andrew Pinski  <pinskia@gmail.com>
8127
8128         PR target/43156
8129         * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
8130         at the begining or end.
8131         (spu_expand_epilogue): Likewise.
8132
8133 2010-03-20  Richard Guenther  <rguenther@suse.de>
8134
8135         PR rtl-optimization/43438
8136         * combine.c (make_extraction): Properly zero-/sign-extend an
8137         extraction of the low part of a CONST_INT.  Also handle
8138         CONST_DOUBLE.
8139
8140 2010-03-19  Mike Stump  <mikestump@comcast.net>
8141
8142         * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
8143         * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
8144         (override_options): Use SUBTARGET32_DEFAULT_CPU.
8145
8146 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
8147
8148         PR c/43211
8149         * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
8150         an error.
8151
8152 2010-03-19  Bernd Schmidt  <bernds@codesourcery.com>
8153
8154         PR rtl-optimization/42258
8155         * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
8156         use that may match DEF.
8157
8158         PR target/40697
8159         * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
8160         the cost of loading the constant rather than assuming
8161         COSTS_N_INSNS (1).
8162         * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
8163         outer code is AND, do the same tests as the andsi3 expander and
8164         return COSTS_N_INSNS (1) if and is cheap.
8165
8166         * optabs.c (avoid_expensive_constant): Fix formatting.
8167
8168 2010-03-19  Michael Matz  <matz@suse.de>
8169
8170         PR c++/43116
8171         * attribs.c (decl_attributes): When rebuilding a function pointer
8172         type use the same qualifiers as the original pointer type.
8173
8174 2010-03-19  Martin Jambor  <mjambor@suse.cz>
8175
8176         * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
8177         and is_gimple_ip_invariant_address.
8178
8179 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
8180
8181         Revert
8182         2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
8183
8184         * config/arm/arm.c (arm_override_options): Turn off
8185         flag_dwarf2_cfi_asm for AAPCS variants.
8186
8187 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
8188
8189         PR target/43399
8190         * config/arm/arm.c (emit_multi_reg_push): Update comments.
8191         Use PRE_MODIFY instead of PRE_DEC.
8192         (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
8193         (vfp_emit_fstmd): Likewise.
8194
8195 2010-03-19  Michael Matz  <matz@suse.de>
8196
8197         PR target/43305
8198         * builtins.c (expand_builtin_interclass_mathfn,
8199         expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
8200         if that fails.
8201
8202 2010-03-19  Richard Guenther  <rguenther@suse.de>
8203
8204         PR tree-optimization/43415
8205         * tree-ssa-pre.c (phi_translate): Split out worker to ...
8206         (phi_translate_1): ... this.
8207         (phi_translate): Move all caching here.  Cache all NARY
8208         and REFERENCE translations.
8209
8210 2010-03-19  David S. Miller  <davem@davemloft.net>
8211
8212         With help from Eric Botcazou.
8213         * config/sparc/sparc.c: Include dwarf2out.h.
8214         (emit_pic_helper): Delete.
8215         (pic_helper_symbol_name): Delete.
8216         (pic_helper_emitted_p): Delete.
8217         (pic_helper_needed): New.
8218         (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
8219         (get_pc_thunk_name): New.
8220         (load_pic_register): Remove 'delay_pic_helper' arg.  Use
8221         get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
8222         Set pic_helper_needed to true.  Don't call emit_pic_helper.
8223         (sparc_expand_prologue): Update load_pic_register call.
8224         (sparc_output_mi_thunk): Likewise.
8225         (sparc_file_end): Emit a hidden comdat symbol for the PIC
8226         thunk if possible.  Output CFI information as needed.
8227
8228 2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8229             Jack Howarth <howarth@bromo.med.uc.edu>
8230
8231         PR target/36399
8232         * config/i386/i386.h: Fix ABI on darwin x86-32.
8233
8234 2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
8235
8236         * tree.h: Declare make_decl_rtl_for_debug.
8237         * varasm.c (make_decl_rtl_for_debug): New.
8238         * dwarf2out.c (rtl_for_decl_location): Call it.
8239         * cfgexpand.c (expand_debug_expr): Call it.
8240
8241 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
8242
8243         PR bootstrap/43399
8244         * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
8245         mem_mode.
8246
8247         PR bootstrap/43403
8248         * var-tracking.c (vt_init_cfa_base): Do nothing if
8249         cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
8250
8251 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
8252
8253         PR debug/42873
8254         * var-tracking.c (canonicalize_vars_star): New.
8255         (dataflow_post_merge_adjust): Use it.
8256
8257 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
8258
8259         PR debug/43058
8260         * var-tracking.c (non_suitable_const): New function.
8261         (add_uses): For DEBUG_INSNs with constants, don't record any
8262         value, instead just the constant value itself.
8263         (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
8264         is not VAR_LOC_UNKNOWN_P, set var to the constant.
8265         (emit_notes_in_bb): Likewise.
8266         (emit_note_insn_var_location): For onepart variables if
8267         cur_loc is a VOIDmode constant, use DECL_MODE.
8268
8269 2010-03-18  Martin Jambor  <mjambor@suse.cz>
8270
8271         PR middle-end/42450
8272         * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
8273         * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
8274         all non-clones.  Moved call redirection...
8275         (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
8276         (cgraph_materialize_all_clones): Dispose of all
8277         combined_args_to_skip bitmaps.
8278         (verify_cgraph_node): Do not check for edges pointing to wrong
8279         nodes in inline clones.
8280         * tree-inline.c (copy_bb): Call
8281         cgraph_redirect_edge_call_stmt_to_callee.
8282         * ipa.c (cgraph_remove_unreachable_nodes): Call
8283         cgraph_node_remove_callees even when there are used clones.
8284
8285 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
8286
8287         * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
8288
8289 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
8290
8291         PR target/43383
8292         * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
8293         for 32bit.
8294
8295 2010-03-18  Michael Matz  <matz@suse.de>
8296
8297         PR middle-end/43419
8298         * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
8299         into sqrt(x) if we need to preserve signed zeros.
8300
8301 2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
8302             Eric Botcazou  <ebotcazou@adacore.com>
8303
8304         PR rtl-optimization/43360
8305         * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
8306         note if we don't know its invariant status.
8307
8308 2010-03-18  Michael Matz  <matz@suse.de>
8309
8310         PR tree-optimization/43402
8311         * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
8312         PHI chains of ssa names registered for update.
8313
8314 2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
8315
8316         PR target/42427
8317         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
8318         non-offsettable and pre_modify update addressing.
8319         * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
8320         and "2" alternatives "#".
8321         (*movdd_softfloat32): Make all alternatives "#";
8322         * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
8323         (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
8324         (*movdf_softfloat32): Make all alternatives "#";
8325         (movdi): Use the new DIFD mode iterator to create a common splitter
8326         for movdi, movdf and movdd patterns.
8327
8328 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
8329
8330         * common.opt (dumpdir): Remove redundant tab.
8331
8332 2010-03-17  Martin Jambor  <mjambor@suse.cz>
8333
8334         PR tree-optimization/43347
8335         * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
8336         original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
8337
8338 2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
8339
8340         PR rtl-optimization/42216
8341         * regrename.c (create_new_chain): New function, broken out from...
8342         (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
8343         appending a use to an empty chain.
8344         (build_def_use): Remove previous changes that convert OP_INOUT to
8345         OP_OUT operands; instead detect the case where an OP_INOUT operand
8346         uses a previously untracked register and create an empty chain for it.
8347
8348 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8349
8350         * doc/extend.texi (Function Attributes): Rewrite unfinished
8351         sentence in ms_abi documentation.
8352
8353 2010-03-17  Alan Modra  <amodra@gmail.com>
8354
8355         * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
8356         * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
8357         (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
8358         * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
8359
8360 2010-03-16  Richard Henderson  <rth@redhat.com>
8361
8362         PR middle-end/43365
8363         * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
8364         (lower_try_finally): Save and restore eh_seq around the expansion
8365         of the try-finally.
8366
8367 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
8368
8369         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
8370         statements before splitting block.
8371
8372 2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8373
8374         * doc/sourcebuild.texi (Testsuites): Fix markup.
8375         Use pathnames relative to gcc/testsuite.
8376         (Test Directives): Move description of how timeout is determined.
8377         (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
8378         (C Tests): Correct gcc.misc-tests directory.
8379         Framework tests now live in gcc.test-framework.
8380
8381 2010-03-16  Richard Guenther  <rguenther@suse.de>
8382
8383         PR middle-end/43379
8384         * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
8385         operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
8386
8387 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
8388             Alexandre Oliva  <aoliva@redhat.com>
8389
8390         PR tree-optimization/42917
8391         * lambda-code.c (remove_iv): Skip debug statements.
8392         (lambda_loopnest_to_gcc_loopnest): Likewise.
8393         (not_interesting_stmt): Debug statements are not interesting.
8394
8395 2010-03-16  Jakub Jelinek  <jakub@redhat.com>
8396
8397         PR debug/43051
8398         PR debug/43092
8399         * cselib.c (cselib_preserve_constants,
8400         cfa_base_preserved_val): New static variables.
8401         (preserve_only_constants): New function.
8402         (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
8403         clear its REG_VALUES.  If cselib_preserve_constants, don't
8404         empty the whole hash table, but preserve there VALUEs with constants,
8405         cfa_base_preserved_val and cfa_base_preserved_val plus constant.
8406         (cselib_preserve_cfa_base_value): New function.
8407         (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
8408         (cselib_init): Change argument to int bitfield.  Set
8409         cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
8410         is in it.
8411         (cselib_finish): Clear cselib_preserve_constants and
8412         cfa_base_preserved_val.
8413         * cselib.h (enum cselib_record_what): New enum.
8414         (cselib_init): Change argument to int.
8415         (cselib_preserve_cfa_base_value): New prototype.
8416         * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
8417         * dse.c (dse_step1): Likewise.
8418         * cfgcleanup.c (thread_jump): Likewise.
8419         * sched-deps.c (sched_analyze): Likewise.
8420         * gcse.c (local_cprop_pass): Likewise.
8421         * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
8422         If FN is non-NULL, call the callback always and whenever it returns
8423         non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
8424         * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
8425         * combine.c (propagate_for_debug_subst): Add old_rtx argument,
8426         compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
8427         * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
8428         * var-tracking.c: Include recog.h.
8429         (bb_stack_adjust_offset): Remove.
8430         (vt_stack_adjustments): Don't call it, instead just gather the
8431         adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
8432         (adjust_stack_reference): Remove.
8433         (compute_cfa_pointer): New function.
8434         (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
8435         (struct adjust_mem_data): New type.
8436         (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
8437         functions.
8438         (get_address_mode): New function.
8439         (replace_expr_with_values): Use it.
8440         (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
8441         Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
8442         (adjust_sets): Remove.
8443         (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
8444         Use get_address_mode.
8445         (get_adjusted_src): Remove.
8446         (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
8447         MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
8448         (add_with_sets): Don't call adjust_sets.
8449         (fp_setter, vt_init_cfa_base): New functions.
8450         (vt_initialize): Change return type to bool.  Move most of pool etc.
8451         initialization to the beginning of the function from end.  Pass
8452         CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
8453         If !frame_pointer_needed, call vt_stack_adjustment before mos
8454         vector is filled, call vt_init_cfa_base if argp/framep has been
8455         eliminated to sp.  If frame_pointer_needed and argp/framep has
8456         been eliminated to hard frame pointer, set
8457         hard_frame_pointer_adjustment and call vt_init_cfa_base after
8458         encountering fp setter in the prologue.  For MO_ADJUST, call
8459         log_op_type before pusing the op into mos vector, not afterwards.
8460         Call adjust_insn before cselib_process_insn/add_with_sets,
8461         call cancel_changes (0) afterwards.
8462         (variable_tracking_main_1): Adjust for vt_initialize calling
8463         vt_stack_adjustments and returning whether it succeeded or not.
8464
8465 2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
8466
8467         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
8468         debug statements.
8469
8470 2010-03-15  Jakub Jelinek  <jakub@redhat.com>
8471
8472         * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
8473         has been set.
8474         (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
8475         drap_reg has not been set.
8476
8477 2010-03-15  Michael Matz  <matz@suse.de>
8478
8479         PR middle-end/43300
8480         * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
8481         use it to expand block copies.
8482         (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
8483         insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
8484         (insert_value_copy_on_edge): Use store_expr for BLKmode values.
8485
8486 2010-03-15  Richard Guenther  <rguenther@suse.de>
8487
8488         PR tree-optimization/43367
8489         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
8490         elimination check.
8491
8492 2010-03-15  Richard Guenther  <rguenther@suse.de>
8493
8494         PR tree-optimization/43317
8495         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
8496
8497 2010-03-15  Martin Jambor  <mjambor@suse.cz>
8498
8499         PR tree-optimization/43141
8500         * tree-sra.c (create_abstract_origin): New function.
8501         (modify_function): Call create_abstract_origin.
8502
8503 2010-03-15  Chris Demetriou  <cgd@google.com>
8504
8505         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
8506         wasn't copied.
8507
8508 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
8509
8510         PR middle-end/43354
8511         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
8512         call insert_out_of_ssa_copy for default definitions.
8513
8514 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
8515
8516         * graphite-clast-to-gimple.c (my_long_long): Defined.
8517         (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
8518         * graphite-sese-to-poly.c (my_long_long): Defined.
8519         (scop_ivs_can_be_represented): Use it.
8520
8521 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
8522
8523         * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
8524         graphite-max-bbs-per-function, and loop-block-tile-size.
8525         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
8526         with "maximum".
8527         (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
8528
8529 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
8530
8531         * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
8532         forward declaration.
8533         * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
8534         (add_upper_bounds_from_estimated_nit): New.
8535         (build_loop_iteration_domains): Use it.
8536
8537 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
8538
8539         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
8540
8541 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
8542
8543         PR middle-end/43306
8544         * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
8545         should be an INTEGER_CST.  Also handle CASE_CONVERT.
8546
8547 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
8548
8549         * graphite.c (graphite_initialize): To bound the number of bbs per
8550         function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
8551         * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
8552         * doc/invoke.texi: Document it.
8553
8554 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
8555
8556         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
8557         * graphite-sese-to-poly.h (build_poly_scop): Same.
8558
8559 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
8560
8561         * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
8562         the number of parameters in the scop.  Use as an upper bound
8563         PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
8564         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
8565         * doc/invoke.texi: Document it.
8566
8567 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
8568
8569         * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
8570         * doc/c-tree.texi: Remove.
8571         * doc/generic.texi: Merge c-tree.texi here.
8572         * doc/gccint.texi (Trees): Remove menu entry.
8573         (c-tree.texi): Remove @include.
8574         * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
8575         * doc/languages.texi (Reading RTL): Ditto.
8576
8577 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
8578
8579         PR target/42869
8580         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
8581
8582 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
8583
8584         PR middle-end/42431
8585         * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
8586         code added to work around reload clobbering CONST insns.
8587
8588 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
8589
8590         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
8591         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
8592         (cselib_preserve_only_values): Remove retain argument, don't
8593         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
8594         * cselib.h (cselib_preserve_only_values): Remove retain argument.
8595         * var-tracking.c (micro_operation): Move insn field before union.
8596         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
8597         (struct variable_tracking_info_def): Remove n_mos field, change
8598         mos into a vector of micro_operations.
8599         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
8600         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
8601         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
8602         changing into a vector.
8603         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
8604         come before all other uops generated by add_stores.
8605         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
8606         argument removal.
8607         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
8608         a vector.  Run just one pass over the bbs instead of separate counting
8609         and computation phase.
8610         (vt_finalize): Free VTI (bb)->mos vector instead of array.
8611
8612         PR debug/43329
8613         * tree-inline.c (remap_decls): Put old_var rather than origin_var
8614         into *nonlocalized_list vector.
8615         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
8616         even if origin is non-NULL.
8617         (gen_variable_die): Likewise.
8618         (process_scope_var): Don't change origin.
8619         (gen_decl_die): Likewise.
8620         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
8621         before adding new edges instead of after it, fix moving over
8622         debug stmts.
8623
8624 2010-03-11  David S. Miller  <davem@davemloft.net>
8625
8626         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
8627         of four.
8628         * configure: Rebuild.
8629
8630 2010-03-11  Martin Jambor  <mjambor@suse.cz>
8631
8632         PR tree-optimization/43257
8633         * tree.c (assign_assembler_name_if_neeeded): New function.
8634         (free_lang_data_in_cgraph): Assembler name assignment moved to the
8635         above new function.
8636         * tree.h (assign_assembler_name_if_neeeded): Declare.
8637         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
8638         the function if needed.
8639
8640 2010-03-11  Chris Demetriou  <cgd@google.com>
8641
8642         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
8643         include/stdint-gcc.h, and include/stdint.h world-readable.
8644
8645 2010-03-11  Richard Guenther  <rguenther@suse.de>
8646
8647         PR tree-optimization/43255
8648         * tree-vrp.c (process_assert_insertions_for): Do not insert
8649         asserts for trivial conditions.
8650
8651 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8652
8653         PR tree-optimization/43280
8654         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
8655         generation.  Move calculation of size out of the if branch.
8656         (find_bswap): Modify compare number generation.
8657
8658 2010-03-11  Richard Guenther  <rguenther@suse.de>
8659
8660         PR lto/43200
8661         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
8662         (input_gimple_stmt): Fixup handled component types during
8663         operand read.  Also fix up decls in ADDR_EXPRs.
8664
8665 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
8666
8667         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
8668         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
8669
8670 2010-03-10  Jan Hubicka  <jh@suse.cz>
8671
8672         PR c/43288
8673         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
8674         * varasm.c (get_variable_section): Don't do that here...
8675         (make_decl_rtl): ... and here.
8676         (do_assemble_alias): Produce decl RTL.
8677         (assemble_alias): Likewise.
8678
8679 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
8680
8681         PR debug/43290
8682         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
8683         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
8684         of fde->vdrap_reg.
8685         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
8686         (based_loc_descr): Only express drap or vdrap regno based expressions
8687         using DW_OP_fbreg when not optimizing.
8688         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
8689         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
8690         REG_CFA_SET_VDRAP note.
8691
8692 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
8693
8694         PR tree-optimization/43236
8695         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
8696         error in calculation of base address in reverse iteration case.
8697         (generate_builtin): Take number of latch executions if the statement
8698         is in the latch.
8699
8700 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
8701
8702         PR middle-end/42859
8703         * tree-eh.c: Include pointer-set.h.
8704         (lower_eh_dispatch): Filter out duplicate case labels and
8705         remove the unneeded edge when the label is unused.  Return
8706         true when some edges are removed.
8707         (execute_lower_eh_dispatch): When any lowering resulted in
8708         removing an edge, also delete unreachable blocks.
8709
8710 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
8711
8712         PR bootstrap/43287
8713         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
8714         UNSPEC_MACHOPIC_OFFSET.
8715
8716 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
8717
8718         PR target/43294
8719         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
8720         (m68k_delegitimize_address): New function.
8721
8722 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
8723
8724         PR debug/43299
8725         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
8726
8727         PR debug/43299
8728         * var-tracking.c (adjust_sets): New function.
8729         (count_with_sets, add_with_sets): Use it.
8730         (get_adjusted_src): New inline function.
8731         (add_stores): Use it.
8732
8733         PR debug/43304
8734         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
8735         call cselib_dummy_expand_value_rtx_cb instead of
8736         cselib_expand_value_rtx_cb.
8737
8738         PR debug/43293
8739         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
8740         * config/i386/i386.c: Include debug.h and dwarf2out.h.
8741         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
8742         and .cfi_endproc around the pic thunks.
8743         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
8744         all queued unwind info register saves are saved before the call.
8745         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
8746         considered as sp-=4 for unwind info and the pop as sp+=4 which
8747         also clobbers dest, but doesn't actually restore it.
8748
8749         PR debug/43290
8750         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
8751         RTX_FRAME_RELATED_P.
8752
8753 2010-03-09  Jie Zhang  <jie@codesourcery.com>
8754
8755         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
8756         whitespaces in output template.
8757
8758 2010-03-09  Jie Zhang  <jie@codesourcery.com>
8759
8760         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
8761         out array boundary.
8762
8763 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
8764
8765         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
8766         builtins.exp in a separate job.
8767
8768 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
8769
8770         * graphite-sese-to-poly.c (add_param_constraints): Use
8771         lower_bound_in_type and upper_bound_in_type.
8772
8773 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
8774
8775         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
8776         instead of unsigned_type_node.
8777
8778 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
8779             Reza Yazdani  <reza.yazdani@amd.com>
8780
8781         PR middle-end/43065
8782         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
8783         on pointer type parameters.
8784
8785 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
8786
8787         PR middle-end/42644
8788         PR middle-end/42130
8789         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
8790         handle conversions from pointer to integers.
8791         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
8792         induction variable, to be able to work with code generated by CLooG.
8793         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
8794         (build_poly_scop): Bail out if we cannot codegen a loop.
8795
8796 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
8797
8798         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
8799         code generation with gloog_error.
8800
8801 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
8802
8803         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
8804         Call fold_convert on all the returned values.
8805         (expand_scalar_variables_expr): Pass to
8806         expand_scalar_variables_ssa_name the type of the resulting expression.
8807
8808 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
8809
8810         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
8811         ppl_min_for_le_pointset.
8812         Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
8813         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
8814
8815 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
8816
8817         * graphite-dependences.c (map_into_dep_poly): Removed.
8818         (dependence_polyhedron_1): Use combine_context_id_scat.
8819
8820 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
8821
8822         * graphite-poly.h (struct poly_scattering): Add layout documentation.
8823         (struct poly_bb): Same.
8824         (combine_context_id_scat): New.
8825
8826 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
8827
8828         PR middle-end/42326
8829         * sese.c (name_defined_in_loop_p): Return false for default
8830         definitions.
8831
8832 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
8833
8834         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
8835         and clean up the logic.
8836
8837 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
8838
8839         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
8840         early return.
8841
8842 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
8843
8844         * var-tracking.c (remove_cselib_value_chains): Define only for
8845         ENABLE_CHECKING.
8846         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
8847         delete_slot_part, emit_notes_for_differences_1): Don't call
8848         remove_cselib_value_chains here.
8849         (set_slot_part, emit_notes_for_differences_2): Don't call
8850         add_cselib_value_chains here.
8851         (preserved_values): New vector.
8852         (preserve_value): New function.
8853         (add_uses, add_stores, vt_add_function_parameters): Use it
8854         instead of cselib_preserve_value.
8855         (changed_values_stack): New vector.
8856         (check_changed_vars_0): New function.
8857         (check_changed_vars_1, check_changed_vars_2): Use it.
8858         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
8859         changed_values_stack VALUEs.
8860         (vt_emit_notes): For all preserved_values call
8861         add_cselib_value_chains.  If ENABLE_CHECKING call
8862         remove_cselib_value_chains before verifying value_chains is empty.
8863         Initialize and free changed_values_stack.
8864         (vt_initialize): Initialize preserved_values.
8865         (vt_finalize): Free preserved_values.
8866
8867 2010-03-08  Richard Guenther  <rguenther@suse.de>
8868
8869         PR tree-optimization/43269
8870         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
8871         region detection.
8872
8873 2010-03-08  Martin Jambor  <mjambor@suse.cz>
8874
8875         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
8876         (ipa_is_param_called): Removed.
8877         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
8878         (ipa_print_node_params): Do not print the called flag.
8879         (ipa_write_node_info): Do not stream the called flag.
8880         (ipa_read_node_info): Likewise.
8881
8882 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
8883
8884         PR debug/43176
8885         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
8886         * cselib.c (struct expand_value_data): Add dummy field.
8887         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
8888         dummy to false.
8889         (cselib_dummy_expand_value_rtx_cb): New function.
8890         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
8891         any rtl.
8892         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
8893         * var-tracking.c: Include pointer-set.h.
8894         (variable): Change n_var_parts to char from int.  Add
8895         cur_loc_changed and in_changed_variables fields.
8896         (variable_canonicalize): Remove.
8897         (shared_var_p): New inline function.
8898         (unshare_variable): Maintain cur_loc_changed and
8899         in_changed_variables fields.  If var was in changed_variables,
8900         replace it there with new_var.  Just copy cur_loc instead of
8901         resetting it to something else.
8902         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
8903         (dataflow_set_union): Don't call variable_canonicalize.
8904         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
8905         of their DEBUG_EXPR_TREE_DECLs.
8906         (canonicalize_loc_order_check): Verify that cur_loc is NULL
8907         and in_changed_variables and cur_loc_changed is false.
8908         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
8909         and cur_loc_changed.  Don't update cur_loc here.
8910         (variable_merge_over_src): Don't call variable_canonicalize.
8911         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
8912         removing loc that is equal to cur_loc, clear cur_loc,
8913         set cur_loc_changed and ensure variable_was_changed is called.
8914         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
8915         compare pointers in cur_loc check, if it is equal to loc,
8916         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
8917         (variable_different_p): Remove compare_current_location argument,
8918         don't compare cur_loc.
8919         (dataflow_set_different_1): Adjust variable_different_p caller.
8920         (variable_was_changed): If dv had some var in changed_variables
8921         already, reset in_changed_variables flag for it and propagate
8922         cur_loc_changed over to the new variable.  On empty var
8923         always set cur_loc_changed.  Set in_changed_variables on whatever
8924         var is added to changed_variables.
8925         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
8926         Use shared_var_p.  When removing loc that is equal to cur_loc,
8927         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
8928         end, don't set it to something else, just call variable_was_changed.
8929         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
8930         loc being removed, clear cur_loc and set cur_loc_changed.
8931         Set cur_loc_changed if all locations have been removed.
8932         (struct expand_loc_callback_data): New type.
8933         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
8934         allocated.  Always create SUBREGs if simplify_subreg failed.
8935         Prefer to use cur_loc, when that fails and still in
8936         changed_variables (and seen first time) recompute it.  Set
8937         cur_loc_changed of variables which had to change cur_loc and
8938         compute elcd->cur_loc_changed if any of the subexpressions used
8939         had to change cur_loc.
8940         (vt_expand_loc): Adjust to pass arguments in
8941         expand_loc_callback_data structure.
8942         (vt_expand_loc_dummy): New function.
8943         (emitted_notes): New variable.
8944         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
8945         that weren't used for any other decl in current
8946         emit_notes_for_changes call call vt_expand_loc_dummy to update
8947         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
8948         first loc_chain location if NULL before.  Always use just
8949         cur_loc instead of first loc_chain location.  When cur_loc_changed
8950         is false, when not --enable-checking=rtl just don't emit any note.
8951         When rtl checking, compute the note and assert it is the same
8952         as previous note.  Clear cur_loc_changed and in_changed_variables
8953         at the end before removing from changed_variables.
8954         (check_changed_vars_3): New function.
8955         (emit_notes_for_changes): Traverse changed_vars to call
8956         check_changed_vars_3 on each changed var.
8957         (emit_notes_for_differences_1): Clear cur_loc_changed and
8958         in_changed_variables.  Recompute cur_loc of new_var.
8959         (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
8960         (vt_emit_notes): Initialize and destroy emitted_notes.
8961
8962 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
8963
8964         PR rtl-optimization/42220
8965         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
8966         Use verify_reg_tracked to determine if we should use OP_OUT rather
8967         than OP_INOUT.
8968         (build_def_use): If we see an in-out operand for a register that we
8969         know nothing about, treat is an output if possible, fail the block if
8970         not.
8971
8972 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
8973
8974         PR debug/42897
8975         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
8976         permanently.
8977
8978 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
8979
8980         PR debug/42897
8981         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
8982         uses of relevant DEFs that are dead outside the loop too.
8983
8984 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
8985
8986         * var-tracking.c (dataflow_set_merge): Swap src and src2.
8987         Reverted:
8988         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
8989         PR debug/41371
8990         * var-tracking.c (values_to_unmark): New variable.
8991         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
8992         values_to_unmark vector.  Moved body to...
8993         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
8994         instead queue it into values_to_unmark vector.
8995         (vt_find_locations): Free values_to_unmark vector.
8996
8997 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
8998
8999         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
9000         (site.exp): Export them when plugins are enabled.
9001
9002 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
9003
9004         PR middle-end/42326
9005         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
9006         that contain scevs.
9007         (chrec_fold_multiply): Same.
9008
9009 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
9010
9011         PR c/43248
9012         * c-decl.c (build_compound_literal): Return early if init is
9013         an error_mark_node.
9014
9015 2010-03-04  Martin Jambor  <mjambor@suse.cz>
9016
9017         PR tree-optimization/43164
9018         PR tree-optimization/43191
9019         * tree-sra.c (type_consists_of_records_p): Reject records with
9020         zero-size bit-fields at the end.
9021
9022 2010-03-04  Mike Stump  <mikestump@comcast.net>
9023
9024         * Makefile.in (TAGS): Remove *.y.
9025
9026 2010-03-04  Richard Guenther  <rguenther@suse.de>
9027
9028         PR tree-optimization/40761
9029         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
9030         in reverse order.
9031         (my_rev_post_order_compute): New function.
9032         (init_pre): Call it.
9033
9034 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
9035
9036         PR middle-end/43209
9037         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
9038         decrease the cost of an IV candidate when the cost is infinite.
9039
9040 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9041
9042         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
9043         Use '3DNow!' for the extension of that name, ensure normal space
9044         after the string.
9045         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
9046
9047 2010-03-03  Jeff Law  <law@redhat.com>
9048
9049         * PR middle-end/32693
9050         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
9051         than gen_rtx_SUBREG.
9052         (extract_bit_field_1): Likewise.
9053
9054 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
9055
9056         * doc/sourcebuild.texi (Test directives): Document that arguments
9057         include-opts and exclude-opts are now optional for dg-skip-if,
9058         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
9059
9060 2010-03-03  Jason Merrill  <jason@redhat.com>
9061
9062         PR c++/12909
9063         * cgraph.h (varpool_node): Add extra_name field.
9064         * varpool.c (varpool_extra_name_alias): New.
9065         (varpool_assemble_decl): Emit extra name aliases.
9066         (varpool_mark_needed_node): Look past an extra name alias.
9067         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
9068         * lto-streamer-in.c (lto_input_tree): Read it.
9069         * lto-streamer-out.c (output_unreferenced_globals): Write it.
9070
9071 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
9072
9073         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
9074         (sparc*-*-solaris2*): ...this.
9075
9076 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
9077
9078         PR debug/43229
9079         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
9080         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
9081         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
9082         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
9083
9084         PR debug/43237
9085         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
9086         fallthrough to default handling, just with want_address 0 instead of 2.
9087         For single element lists, add_AT_loc directly, otherwise create an
9088         artificial variable DIE and stick location list to it.
9089
9090         PR debug/43177
9091         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
9092         (VAL_EXPR_HAS_REVERSE): Define.
9093         (reverse_op): New function.
9094         (add_stores): For reversible operations add an extra MO_VAL_USE.
9095
9096 2010-03-02  Jason Merrill  <jason@redhat.com>
9097
9098         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
9099
9100 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
9101
9102         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
9103         (sparc64-*-linux*): Likewise.
9104         (sparc64-*-solaris2*): Include assembler files before linker ones.
9105         (sparc-*-solaris2*): Simplify and reorder to match previous case.
9106         * config/sparc/gas.h: Delete.
9107         * config/sparc/sol2-64.h: Add copyright notice.
9108         * config/sparc/sol2-gas-bi.h: Likewise.
9109         * config/sparc/sol2-gld.h: Likewise.
9110         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
9111         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
9112         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
9113         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
9114         (sparc_elf_asm_named_section): Rename into...
9115         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
9116
9117 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
9118
9119         * config/alpha/alpha.c (override_options): Fix -mtune error message.
9120
9121 2010-03-02  Jeff Law  <law@redhat.com>
9122
9123         PR middle-end/42431
9124         * reload1.c (rtx_p, substitute_stack): Declare.
9125         (substitute): Record addresses of changed rtxs.
9126         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
9127         Restore the original rtx when complete.
9128         (reload): Free subsitute_stack when complete.
9129
9130 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
9131
9132         * doc/gccint.texi (menu): Add Testsuites as a chapter.
9133         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
9134         new chapter.
9135         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
9136         LTO Testing, gcov Testing, profopt Testing, compat Testing,
9137         Torture Tests): Change from subsection to section.
9138
9139 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
9140             Steven Bosscher  <steven@gcc.gnu.org>
9141
9142         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
9143         instead of bb.
9144
9145 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
9146
9147         PR middle-end/42640
9148         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
9149         the assignment from the new induction variable to the assignment
9150         of the value from the original loop PHI function.
9151
9152 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
9153             Daniel Jacobowitz  <dan@codesourcery.com>
9154
9155         * doc/sourcebuild.texi (Test directives): Clarify options to
9156         dg-skip-if.
9157
9158 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9159
9160         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
9161         Disable cfi directives unless GCC and gas agree on using read-only
9162         .eh_frame sections for 64-bit.
9163         * configure: Regenerate.
9164
9165 2010-03-01  Richard Guenther  <rguenther@suse.de>
9166
9167         PR tree-optimization/43220
9168         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
9169         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
9170
9171 2010-03-01  Richard Guenther  <rguenther@suse.de>
9172             Martin Jambor  <mjambor@suse.cz>
9173
9174         PR middle-end/41250
9175         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
9176         gimplified parameters.
9177
9178 2010-03-01  Christian Bruel  <christian.bruel@st.com>
9179
9180         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
9181
9182 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
9183
9184         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
9185
9186 2010-03-01  Richard Guenther  <rguenther@suse.de>
9187
9188         PR middle-end/43213
9189         * expr.c (expand_assignment): Use the alias-oracle to tell
9190         if the rhs aliases the result decl.
9191
9192 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9193
9194         PR pch/14940
9195         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
9196         to sol_gt_pch_get_address.
9197         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
9198         64-bit, SPARC and x86.
9199         (sol_gt_pch_get_address): New function.
9200
9201 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
9202
9203         * toplev.h (inform_n, error_n): Declare.
9204         * diagnostic.c (inform_n, error_n): New function.
9205
9206 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
9207
9208         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
9209         has no rtl yet when processing local_decls, queue it and recheck
9210         if deferred stack allocation hasn't assigned it rtl.
9211
9212 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
9213
9214         * config/sh/sh.c (unspec_bbr_uid): New.
9215         (gen_block_redirect): Use it instead of INSN_UID.
9216         (gen_far_branch): Likewise.
9217
9218 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
9219
9220         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
9221         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
9222
9223 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9224
9225         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
9226         (Warning Options): -Wno-conversion-null is valid for
9227         Objective-C++ as well.
9228         * doc/tm.texi (Named Address Spaces): Likewise.
9229         * doc/plugins.texi (Plugins): Replace TABs with spaces.
9230         * doc/tree-ssa.texi (Tree SSA): Likewise.
9231
9232 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
9233
9234         PR bootstrap/43202
9235         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
9236         by default.  Don't set the default arch for
9237         i[34567]86-*-darwin*|x86_64-*-darwin*.
9238
9239 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
9240
9241         PR bootstrap/43202
9242         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
9243         default.  Set the default 32bit/64bit archs with $with_arch
9244         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
9245
9246 2010-02-27  Richard Guenther  <rguenther@suse.de>
9247
9248         PR tree-optimization/43186
9249         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
9250         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
9251         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
9252         unroller iterations.
9253
9254 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
9255
9256         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
9257         required and i[34567]86-*-* targets don't support 64bit ISA.
9258
9259 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
9260
9261         PR ada/43096
9262         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
9263         the same alias set.
9264
9265 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
9266
9267         * config.gcc: Set the default arch at least to Prescott for
9268         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
9269         if SSE math is enabled.
9270
9271 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9272
9273         * diagnostic.c (diagnostic_initialize): Update.
9274         (diagnostic_report_diagnostic): Test inhibit_notes_p for
9275         informative notes.
9276         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
9277         (diagnostic_inhibit_notes): New.
9278         * toplev.c (process_options): inhibit notes with -fcompare-debug.
9279
9280 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9281
9282         PR c/20631
9283         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
9284         * doc/standards.texi: Likewise.
9285         * doc/extend.texi: Likewise.
9286         * doc/trouble.texi: Likewise.
9287         * doc/cppopts.texi: Likewise.
9288         * doc/install.texi: Likewise.
9289         * c.opt (std=c90,std=gnu90): New options.
9290         * c-opts.c (c_common_handle_option): Handle them.
9291
9292 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9293
9294         PR c/24577
9295         * c-decl.c (undeclared_variable): Use an informative note.
9296
9297 2010-02-26  Richard Guenther  <rguenther@suse.de>
9298
9299         PR tree-optimization/43186
9300         * gimple.h (gimple_fold): Remove.
9301         * gimple.c (gimple_fold): Remove.  Inline into single user ...
9302         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
9303         Try harder for conditions.
9304
9305 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
9306
9307         PR debug/43190
9308         * function.c (used_types_insert): Don't skip through named pointer
9309         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
9310         and it is different from the main variant's type.
9311
9312 2010-02-26  Nick Clifton  <nickc@redhat.com>
9313
9314         * config/rx/rx.md (sminsi3): Remove bogus alternative.
9315
9316 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
9317
9318         * config.gcc: Support --with-fpmath=sse for x86.
9319
9320         * config/i386/ssemath.h: New.
9321
9322         * doc/install.texi (--with-fpmath=sse): Documented.
9323
9324 2010-02-26  Richard Guenther  <rguenther@suse.de>
9325
9326         PR tree-optimization/43188
9327         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
9328         vector types of over-aligned element type.
9329
9330 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
9331
9332         PR target/43175
9333         * config/i386/i386.c (expand_vec_perm_blend): Use correct
9334         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
9335
9336 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
9337
9338         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
9339
9340 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
9341
9342         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
9343         * var-tracking.c: Include diagnostic.h.
9344         (debug_dv): New function.
9345         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
9346
9347         PR debug/43160
9348         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
9349         (add_value_chain, add_value_chains, remove_value_chain,
9350         remove_value_chains): Handle DEBUG_EXPRs.
9351         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
9352
9353         PR debug/43161
9354         * regcprop.c (struct queued_debug_insn_change): New type.
9355         (struct value_data_entry): Add debug_insn_changes field.
9356         (struct value_data): Add n_debug_insn_changes field.
9357         (debug_insn_changes_pool): New variable.
9358         (free_debug_insn_changes, apply_debug_insn_changes,
9359         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
9360         (kill_value_one_regno): Call free_debug_insn_changes if needed.
9361         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
9362         fields.
9363         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
9364         changes for them.
9365         (copyprop_hardreg_forward_1): Don't call apply_change_group for
9366         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
9367         changes, call cprop_find_used_regs via note_stores.
9368         (copyprop_hardreg_forward): When copying vd from predecessor
9369         which has any queued DEBUG_INSN changes, make sure the pointers are
9370         cleared.  At the end call df_analyze and then if there are any
9371         DEBUG_INSN changes queued at the end of some basic block for still
9372         live registers, apply them.
9373         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
9374
9375 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
9376
9377         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
9378         (arm*-*-*): Ditto.
9379
9380 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
9381
9382         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
9383         targets.  Set the default with_cpu/with_arch from arch/cpu.
9384         Allow x86-64 and native for with_cpu/with_arch.
9385
9386 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
9387
9388         * ebitmap.c: Change calls to verify_popcount with calls to
9389         sbitmap_verify_popcount.
9390         (ebitmap_clear_bit): Fixed map->cacheindex test and
9391         map>cache update when bit clearing results in an empty
9392         element.
9393
9394 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
9395
9396         PR target/43154
9397         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
9398         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
9399         and support both V2DF and V2DI modes.
9400         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
9401         support both V2DF and V2DI modes.
9402         (general): Delete trailing whitespace from a few patterns.
9403
9404         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
9405         V2DF/V2DI interleave high/low builtins.
9406
9407         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
9408         new VSX builtins.
9409
9410         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
9411         interleave high/low functions.
9412
9413 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
9414
9415         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
9416         #pragma extern_prefix.
9417
9418 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
9419
9420         PR debug/43166
9421         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
9422         BLKmode, assert op0 is a MEM and just adjust its mode.
9423
9424         PR debug/43165
9425         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
9426         if bitpos isn't multiple of mode's bitsize.
9427
9428 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9429
9430         * c.opt (-ftemplate-depth=): New.
9431         (-ftemplate-depth-): Deprecate.
9432         * optc-gen.awk: Handle -ftemplate-depth=.
9433         * opth-gen.awk: Likewise.
9434         * c-opts.c (c_common_handle_option): Likewise.
9435         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
9436
9437 2010-02-24  Jason Merrill  <jason@redhat.com>
9438
9439         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
9440
9441 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9442
9443         * cfg.c (alloc_aux_for_block): Remove inline.
9444         (alloc_aux_for_edge): Likewise.
9445
9446 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9447
9448         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
9449
9450 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9451
9452         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
9453         * config/i386/sol2-gas.h: New file.
9454         * config.gcc (i[34567]86-*-solaris2*): Use it.
9455
9456 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9457
9458         PR c/43128
9459         * c-typeck.c (ep_convert_and_check): New.
9460         (build_conditional_expr): Use it.
9461         (build_binary_op): Likewise.
9462
9463 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
9464
9465         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
9466
9467         PR debug/43150
9468         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
9469         bounds even for -O+.
9470         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
9471         expr needs to have DECL_NAME set.
9472
9473 2010-02-24  Nick Clifton  <nickc@redhat.com>
9474
9475         * config/mep/mep.c: Include gimple.h.
9476         (mep_function_uses_sp): Delete unused function.
9477         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
9478         parameters.  Use unsigned integers to count args.  Return a
9479         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
9480
9481 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
9482
9483         PR target/43107
9484         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
9485         greater or equal to nelt instead of 2 * nelt.
9486         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
9487         with nelt - 1.
9488
9489 2010-02-23  Jason Merrill  <jason@redhat.com>
9490
9491         PR debug/42800
9492         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
9493         in cfun->local_decls even if they have register types.
9494
9495         PR c++/42837
9496         * stor-layout.c (place_field): Don't warn about unnecessary
9497         DECL_PACKED if the type is packed.
9498
9499 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
9500
9501         PR target/43139
9502         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
9503         GOTOFF relocs, even when the base reg isn't pic pointer.
9504
9505 2010-02-23  Michael Matz  <matz@suse.de>
9506
9507         PR debug/43077
9508         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
9509         (expand_gimple_basic_block): Generate and use debug temps if there
9510         are debug uses left after the last real use of TERed ssa names.
9511         Unlink debug immediate uses when they are expanded.
9512
9513 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9514
9515         PR 43123
9516         * config/i386/i386.c (override_options): Reorganise to provide
9517         better error messages.
9518
9519 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
9520
9521         PR middle-end/43083
9522         * graphite-scop-detection.c (create_single_exit_edge): Move
9523         the call to find_single_exit_edge to....
9524         (create_sese_edges): ...here.  Don't handle multiple edges
9525         exiting the function.
9526         (build_graphite_scops): Don't handle multiple edges
9527         exiting the function.
9528
9529 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
9530
9531         PR middle-end/43097
9532         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
9533         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
9534
9535 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
9536
9537         PR middle-end/43026
9538         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
9539
9540 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9541
9542         PR c++/43126
9543         * c-typeck.c (convert_arguments): Print declaration location.
9544         * c-common.c (validate_nargs): Rename as
9545         builtin_function_validate_nargs.
9546         (check_builtin_function_arguments): Update.
9547
9548 2010-02-22  Richard Guenther  <rguenther@suse.de>
9549
9550         PR lto/43045
9551         * tree-inline.c (declare_return_variable): Use the type of
9552         the call stmt lhs if available.
9553
9554 2010-02-22  Duncan Sands  <baldrick@free.fr>
9555
9556         * passes.c (register_pass): Always consider all pass lists when
9557         ref_pass_instance_number is zero.
9558
9559 2010-02-22  Richard Guenther  <rguenther@suse.de>
9560
9561         PR tree-optimization/42749
9562         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
9563         parameter.  Do arithmetic in the original type.
9564         (update_accumulator_with_ops): Likewise.
9565         (adjust_accumulator_values): Adjust.
9566
9567 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
9568
9569         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
9570         (QI to BLKmode splitter): New splitter.
9571
9572 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
9573
9574         * config/i386/i386.c (initial_ix86_tune_features): Turn on
9575         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
9576
9577 2010-02-22  Richard Guenther  <rguenther@suse.de>
9578
9579         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
9580
9581 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
9582
9583         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
9584         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
9585         ($(T)crti.o, $(T)crtn.o): Remove rules.
9586
9587 2010-02-21  Tobias Burnus  <burnus@net-b.de>
9588
9589         PR fortran/35259
9590         * doc/invoke.texi (-fassociative-math): Document that this
9591         option is automatically enabled for Fortran.
9592
9593 2010-02-20  David S. Miller  <davem@davemloft.net>
9594
9595         * configure.ac: Test if linker and assembler properly support
9596         GOTDATA_OP relocations.
9597         * configure: Rebuild.
9598         * config.in: Likewise.
9599         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
9600         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
9601         (movsi_high_pic): Likewise.
9602         (movdi_lo_sum_pic): Likewise.
9603         (movdi_high_pic): Likewise.
9604         (movsi_pic_gotdata_op): New pattern.
9605         (movdi_pic_gotdata_op): Likewise.
9606         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
9607         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
9608
9609 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
9610
9611         PR target/43067
9612         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
9613         attribute to ssemul.
9614         (xop_mulv2div2di3_high): Ditto.
9615
9616 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9617
9618         PR c++/35669
9619         * c.opt (Wconversion-null): New option.
9620         * doc/invoke.texi (Wconversion-null): Document.
9621
9622 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9623
9624         * common.opt (Wlarger-than-): Add Undocumented.
9625
9626 2010-02-19  Mike Stump  <mikestump@comcast.net>
9627
9628         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
9629
9630 2010-02-19  Jason Merrill  <jason@redhat.com>
9631
9632         PR target/40332
9633         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
9634         * configure: Likewise.
9635
9636 2010-02-20  Alan Modra  <amodra@gmail.com>
9637
9638         PR middle-end/42344
9639         * cgraph.h (cgraph_make_decl_local): Declare.
9640         * cgraph.c (cgraph_make_decl_local): New function.
9641         (cgraph_make_node_local): Use it.
9642         * cgraphunit.c (cgraph_function_versioning): Likewise.
9643         * ipa.c (function_and_variable_visibility): Likewise.
9644
9645 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
9646
9647         PR bootstrap/43121
9648         * except.c (sjlj_emit_function_enter): Don't call
9649         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
9650         directly.
9651         * rtl.h (add_reg_br_prob_note): Remove prototype.
9652
9653 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9654
9655         PR 41779
9656         * c-common.c (conversion_warning): Remove widening conversions
9657         before checking the conversion of integers to reals.
9658
9659 2010-02-19  Mike Stump  <mikestump@comcast.net>
9660
9661         PR middle-end/43125
9662         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
9663
9664         PR objc/43061
9665         * cgraphunit.c (process_function_and_variable_attributes): Check
9666         DECL_PRESERVE_P instead of looking up attribute "used".
9667         * ipa-pure-const.c (check_decl): Likewise.
9668         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
9669         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
9670         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
9671         instead of attribute "used".
9672         * config/sol2-c.c (solaris_pragma_init): Likewise.
9673         (solaris_pragma_fini): Likewise.
9674
9675 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
9676
9677         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
9678         Use XCNEW instead of xcalloc.
9679         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
9680         XNEW instead of xmalloc.
9681         (get_fields): Use XNEWVEC instead of xmalloc.
9682
9683         PR debug/43084
9684         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
9685         populate vars array.
9686         (create_new_general_access): For debug stmts just reset value.
9687         (get_stmt_accesses): For accesses within debug stmts just record them
9688         using add_access_to_acc_sites instead of preventing the peeling or
9689         counting them as accesses.
9690
9691         PR middle-end/42233
9692         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
9693
9694 2010-02-19  Richard Guenther  <rguenther@suse.de>
9695
9696         PR tree-optimization/42916
9697         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
9698         instructions.
9699
9700 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
9701
9702         * configure.ac: Replace all uses of changequote in macro arguments
9703         with proper quoting.
9704
9705 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
9706
9707         PR middle-end/42233
9708         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
9709
9710 2010-02-19  Richard Guenther  <rguenther@suse.de>
9711
9712         PR tree-optimization/42944
9713         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
9714         test for aliasing with errno.
9715
9716 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
9717
9718         PR middle-end/42233
9719         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
9720         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
9721         * dojump.c: Include output.h.
9722         (inv): New inline function.
9723         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
9724         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
9725         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
9726         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
9727         argument, pass it down to other calls.
9728         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
9729         add REG_BR_PROB note to the conditional jump.
9730         * cfgexpand.c (add_reg_br_prob_note): Removed.
9731         (expand_gimple_cond): Don't call it, add the probability
9732         as last argument to jumpif_1/jumpifnot_1.
9733         * Makefile.in (dojump.o): Depend on output.h.
9734         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
9735         callers.
9736         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
9737         * stmt.c (do_jump_if_equal): Likewise.
9738         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
9739         * loop-unswitch.c (compare_and_jump_seq): Likewise.
9740         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
9741         Likewise.
9742         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
9743         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
9744         jumpifnot_1 callers.
9745         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
9746         callers.
9747         (store_expr): Adjust jumpifnot caller.
9748         (store_constructor): Adjust jumpif caller.
9749
9750         PR middle-end/42233
9751         * gimplify.c (gimple_boolify): For __builtin_expect call
9752         gimple_boolify also on its first argument.
9753
9754 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
9755
9756         * configure.ac (gnu-unique-object): Wrap regexps using [] in
9757         changequote block.
9758         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
9759         * configure: Regenerated.
9760
9761 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
9762
9763         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
9764         lang_hooks.types_compatible_p instead of comptypes.
9765
9766 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
9767
9768         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
9769         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
9770         if __prefer_thumb__ is defined.
9771
9772 2010-02-18  Martin Jambor  <mjambor@suse.cz>
9773
9774         PR tree-optimization/43066
9775         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
9776         array with zero-sized element type.
9777
9778 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
9779
9780         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
9781         rtx, allocate struct var_loc_node here and return it to the
9782         caller, and only if it is actually needed.
9783         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
9784         move it earlier and return immediately if it returns NULL.
9785
9786 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
9787
9788         * config/sparc/gas.h: New file.  Restore
9789         TARGET_ASM_NAMED_SECTION to its ELF default.
9790         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
9791         check !HAVE_GNU_AS.
9792         * config/sparc/sparc.c (sparc_elf_asm_named_section):
9793         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
9794         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
9795         after sparc/sysv4.h.
9796
9797 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
9798
9799         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
9800
9801 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
9802
9803         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
9804         patterns from predicated pattern.
9805
9806 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
9807
9808         PR target/43103
9809         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
9810         for insn mnemonic suffix.
9811
9812 2010-02-17  Richard Guenther  <rguenther@suse.de>
9813
9814         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
9815         to loop PHI nodes.
9816
9817 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
9818
9819         PR debug/42918
9820         * caller-save.c (save_call_clobbered_regs): If BB ends with
9821         a DEBUG_INSN, move any notes in between last real insn and the last
9822         DEBUG_INSN after the last DEBUG_INSN.
9823
9824 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
9825
9826         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
9827         Fix return type.  Fix argument type.  Explain meaning of return value.
9828
9829 2010-02-16  Richard Guenther  <rguenther@suse.de>
9830
9831         PR tree-optimization/41043
9832         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
9833         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
9834         statements ...
9835         (vrp_visit_phi_node): ... but only for loop PHI nodes.
9836
9837 2010-02-16  Ira Rosen  <irar@il.ibm.com>
9838
9839         PR tree-optimization/43074
9840         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
9841         * tree-vect-loop.c (vect_analyze_loop_operations): Add
9842         vectorizable cycles in hybrid SLP check.
9843         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
9844
9845 2010-02-16  Richard Guenther  <rguenther@suse.de>
9846
9847         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
9848         (true_dependence): If memrefs_conflict_p computes must-alias
9849         trust it.  Move TBAA check after offset-based disambiguation.
9850         (canon_true_dependence): Likewise.
9851
9852 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
9853
9854         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
9855         * doc/invoke.texi: Document it.
9856         * var-tracking.c: Include toplev.h and params.h.
9857         (vt_find_locations): Return bool indicating success.  Compute
9858         hash sizes unconditionally.  Check new parameter, report.
9859         (variable_tracking_main_1): Check vt_find_locations results and
9860         retry.  Renamed from...
9861         (variable_tracking_main): ... this.  New wrapper to preserve
9862         flag_var_tracking_assignments.
9863         * Makefile.in (var-tracking.o): Adjust dependencies.
9864
9865 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
9866             Jakub Jelinek <jakub@redhat.com>
9867
9868         PR target/42854
9869         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
9870         if weak_import attribute is present.
9871         * config/darwin.c (machopic_select_section): Likewise.
9872
9873 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
9874
9875         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
9876         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
9877         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
9878         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
9879
9880         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
9881         types.
9882
9883         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
9884         Fix argument types.
9885
9886         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
9887         Rewrite text to refer to the names.
9888
9889 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
9890
9891         * config/i386/i386-builtin-types.def
9892         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
9893         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
9894         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
9895         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
9896         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
9897         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
9898         IX86_BUILTIN_VPERMIL2PS256.
9899         (MULTI_ARG_4_DF2_DI_I): Defined.
9900         (MULTI_ARG_4_DF2_DI_I1): Defined.
9901         (MULTI_ARG_4_SF2_SI_I): Defined.
9902         (MULTI_ARG_4_SF2_SI_I1): Defined.
9903         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
9904         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
9905         __builtin_ia32_vpermil2ps256.
9906         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
9907         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
9908         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
9909         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
9910         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
9911         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
9912         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
9913         CODE_FOR_xop_vpermil2v8sf3.
9914         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
9915         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
9916         * config/i386/xopintrin.h (_mm_permute2_pd): New.
9917         (_mm256_permute2_pd): New.
9918         (_mm_permute2_ps): New.
9919         (_mm256_permute2_ps): New.
9920
9921 2010-02-15  Nick Clifton  <nickc@redhat.com>
9922
9923         * config/h8300/h8300.c (h8300_push_pop): Use bool type for
9924         boolean parameters.  Use emit_jump_insn when emitting a pop
9925         instruction containing a return insn.
9926         (push): Use 'true' rather than '1' as second parameter to F.
9927         (h8300_expand_prologue): Likewise.
9928         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
9929         (h8300_expand_epilogue): Likewise.
9930
9931 2010-02-15  Richard Guenther  <rguenther@suse.de>
9932
9933         PR middle-end/43068
9934         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
9935         if that is zero.
9936
9937 2010-02-15  Nick Clifton  <nickc@redhat.com>
9938
9939         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
9940         delta.
9941
9942 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
9943
9944         * intl.c (fake_ngettext): New function.
9945         * intl.h (fake_ngettext): Declare.
9946         (ngettext): Define macro.
9947         * collect2.c (notice_translated): New function.
9948         (main): Use notice_translated and ngettext.
9949         * collect2.h (notice_translated): Declare.
9950
9951 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
9952
9953         * reorg.c (delete_computation): Comment fixes.
9954         * caller-save.c (setup_save_areas): Idem.
9955         * sel-sched-dump.c (dump_lv_set): Idem.
9956         * rtl.def: Idem.
9957
9958 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
9959
9960         * config/s390/s390.c (s390_sched_init): New function.
9961         (TARGET_SCHED_INIT): Target hook defined.
9962
9963 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
9964             Jack Howarth  <howarth@bromo.med.uc.edu>
9965             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9966
9967         PR target/42982
9968         Partial revert of unintended change in fix for PR41605.
9969         * config/darwin.h: Fix typo.
9970         * config/darwin9.h: Same.
9971
9972 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
9973
9974         * c-pch.c (pch_init): Clear v.
9975
9976 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
9977
9978         PR middle-end/42930
9979         * graphite-scop-detection.c (graphite_can_represent_scev): Call
9980         graphite_can_represent_init for MULT_EXPR.
9981
9982 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
9983
9984         PR middle-end/42914
9985         PR middle-end/42530
9986         * graphite-sese-to-poly.c (remove_phi): New.
9987         (translate_scalar_reduction_to_array): Call remove_phi.
9988
9989 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
9990
9991         PR middle-end/42771
9992         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
9993         * graphite-clast-to-gimple.h (gloog): Update declaration.
9994         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
9995         * graphite-poly.h (struct poly_bb): Add missing comments.
9996         (struct scop): Add poly_scop_p field.
9997         (POLY_SCOP_P): New.
9998         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
9999         * graphite.c (graphite_transform_loops): Build the polyhedral
10000         representation for each scop before code generation.
10001         * sese.c (rename_variables_in_operand): Removed.
10002         (rename_variables_in_expr): Return the renamed expression.
10003         (rename_sese_parameters): New.
10004         * sese.h (rename_sese_parameters): Declared.
10005
10006 2010-02-11  Richard Guenther  <rguenther@suse.de>
10007
10008         PR tree-optimization/42998
10009         * tree-ssa-pre.c (create_expression_by_pieces): Treat
10010         POINTER_PLUS_EXPR properly.
10011
10012 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
10013             Changpeng Fang  <changpeng.fang@amd.com>
10014
10015         PR middle-end/40886
10016         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
10017         the cost of an IV candidate when the IV is used in a test against zero.
10018
10019         * gcc.dg/tree-ssa/ivopts-3.c: New.
10020
10021 2010-02-11  Richard Guenther  <rguenther@suse.de>
10022
10023         PR lto/41664
10024         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
10025         pointer-vs-decl case by swapping refs.  Handle some cases
10026         of pointer-vs-decl disambiguations more conservatively.
10027         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
10028         to false after expanding.
10029
10030 2010-02-11  Richard Guenther  <rguenther@suse.de>
10031
10032         PR driver/43021
10033         * gcc.c (process_command): Handle LTO file@offset case more
10034         appropriately.
10035
10036 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
10037
10038         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
10039         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
10040         of DEBUG_INSNs.
10041         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
10042
10043         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
10044         if MEM's mode size isn't DWARF2_ADDR_SIZE.
10045         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
10046         Optimize eq/ne comparisons when both arguments are known to be
10047         zero-extended.
10048         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
10049         Don't mask operands unnecessarily if they are known to be already
10050         zero-extended.
10051
10052 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
10053
10054         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
10055         instead of loop.
10056
10057 2010-02-10  Richard Guenther  <rguenther@suse.de>
10058
10059         PR tree-optimization/43017
10060         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
10061         for wrapping signed arithmetic.
10062
10063 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
10064
10065         PR debug/43010
10066         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
10067         if no debug info should be emitted for it.
10068
10069 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
10070
10071         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
10072         note when flag_exceptions is set.
10073
10074 2010-02-10  Duncan Sands  <baldrick@free.fr>
10075
10076         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
10077
10078 2010-02-10  Richard Guenther  <rguenther@suse.de>
10079
10080         PR c/43007
10081         * tree.c (get_unwidened): Handle constants.
10082         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
10083
10084 2010-02-10  Martin Jambor  <mjambor@suse.cz>
10085
10086         PR lto/42985
10087         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
10088         check for variable argument counts independently.
10089
10090 2010-02-10  Christian Bruel  <christian.bruel@st.com>
10091
10092         PR target/42841
10093         * config/sh/sh.c (find_barrier): Increase length for non delayed
10094         conditional branches.
10095
10096 2010-02-10  Christian Bruel  <christian.bruel@st.com>
10097
10098         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
10099
10100 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
10101
10102         * builtins.c (set_builtin_user_assembler_name): Also handle
10103         ffs if int is smaller than word.
10104
10105 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
10106
10107         PR middle-end/42973
10108         * ira-conflicts.c (get_dup): Remove.
10109         (process_reg_shuffles): Add new parameter.  Use it as an
10110         additional guard for copy generation.
10111         (add_insn_allocno_copies): Rewrite.
10112
10113 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
10114
10115         * common.opt (fsched2-use-traces): Preserved for backward
10116         compatibility.
10117         * doc/invoke.texi: Remove the documentation about option
10118         -fsched2-use-traces.
10119         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
10120         flag_sched2_use_traces.
10121         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
10122         the backward compatibility flag section.
10123
10124 2010-02-09  Richard Guenther  <rguenther@suse.de>
10125
10126         PR tree-optimization/43008
10127         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
10128         make HEAP variables initialized from global memory if they
10129         are not known builtin functions.
10130         (find_func_aliases): Adjust.
10131
10132 2010-02-09  Richard Guenther  <rguenther@suse.de>
10133
10134         PR tree-optimization/43000
10135         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
10136         arithmetic manually.
10137
10138 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
10139
10140         PR tree-optimization/42931
10141         * tree-loop-linear.c (try_interchange_loops): Don't call
10142         double_int_mul if estimated_loop_iterations failed.
10143
10144 2010-02-08  Martin Jambor  <mjambor@suse.cz>
10145
10146         PR middle-end/42898
10147         * tree-sra.c (build_accesses_from_assign): Do not mark in
10148         should_scalarize_away_bitmap if stmt has volatile ops.
10149         (sra_modify_assign): Do not process assigns piecemeal if if stmt
10150         has volatile ops.
10151
10152 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
10153
10154         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
10155
10156 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
10157
10158         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
10159         before the pattern.
10160
10161 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
10162
10163         PR middle-end/42946
10164         * df-core.c (df_finish_pass): Change type of saved_flags to int.
10165
10166 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
10167
10168         PR middle-end/42988
10169         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
10170         to unknown_dependence.
10171         (graphite_legal_transform_dr): Handle the unknown_dependence.
10172         (graphite_carried_dependence_level_k): Same.
10173
10174 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
10175
10176         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
10177
10178 2010-02-07  Richard Guenther  <rguenther@suse.de>
10179
10180         PR middle-end/42991
10181         * expr.c (get_inner_reference): Always initialize *pbitsize.
10182
10183 2010-02-07  Richard Guenther  <rguenther@suse.de>
10184
10185         PR middle-end/42956
10186         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
10187         new ARRAY_REFs on variable size element or minimal index arrays.
10188         Complete.
10189         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
10190         gimple_fold_indirect_ref.
10191
10192 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
10193
10194         PR target/42957
10195         * arm.c (arm_override_options): Just return if the user has specified
10196         an invalid fpu name.
10197
10198 2010-02-03  Jason Merrill  <jason@redhat.com>
10199
10200         PR c++/42870
10201         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
10202         i386_pe_maybe_record_exported_symbol.
10203
10204 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
10205
10206         PR target/42924
10207         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
10208         (pa_delegitimize_address): New function.
10209
10210 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
10211
10212         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
10213         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
10214
10215 2010-02-05  Richard Guenther  <rguenther@suse.de>
10216
10217         PR lto/42762
10218         * lto-streamer-in.c (get_resolution): Deal with references
10219         to undefined functions.
10220
10221 2010-02-05  Richard Guenther  <rguenther@suse.de>
10222
10223         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
10224         (fold_const_aggregate_ref): Likewise.
10225         (ccp_fold_stmt): Substitute loads.
10226         (maybe_fold_reference): Verify types before substituting.
10227         Unshare properly.
10228         (fold_gimple_assign): Unshare properly.
10229         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
10230
10231 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
10232
10233         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
10234         for rs6000_gen_cell_microcode.
10235
10236 2010-02-04  Richard Guenther  <rguenther@suse.de>
10237
10238         PR rtl-optimization/42952
10239         * dse.c (const_or_frame_p): Remove MEM handling.
10240
10241 2010-02-04  Nick Clifton  <nickc@redhat.com>
10242
10243         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
10244         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
10245         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
10246         (mn10300_asm_output_mi_thunk): New function.
10247         (mn10300_can_output_mu_thunk): New function.
10248         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
10249         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
10250         (FUNCTION_ARG): Delete incorrect comment.
10251
10252 2010-02-03  Jason Merrill  <jason@redhat.com>
10253
10254         PR c++/40138
10255         * fold-const.c (operand_equal_p): Handle erroneous types.
10256
10257 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
10258
10259         * config/h8300/h8300.md (can_delay): Fix attibute condition.
10260
10261 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
10262
10263         PR rtl-optimization/42941
10264         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
10265         of xmalloc.
10266
10267 2010-02-03  Jason Merrill  <jason@redhat.com>
10268
10269         PR c++/35652
10270         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
10271
10272 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
10273
10274         PR debug/42896
10275         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
10276         (cselib_reset_table): Renamed from...
10277         (cselib_reset_table_with_next_value): ... this.
10278         (cselib_get_next_uid): Renamed from...
10279         (cselib_get_next_unknown_value): ... this.
10280         * cselib.c (next_uid): Renamed from...
10281         (next_unknown_value): ... this.
10282         (cselib_clear_table): Adjust.
10283         (cselib_reset_table): Adjust.  Renamed from...
10284         (cselib_reset_table_with_next_value): ... this.
10285         (cselib_get_next_uid): Adjust.  Renamed from...
10286         (cselib_get_next_unknown_value): ... this.
10287         (get_value_hash): Use hash.
10288         (cselib_hash_rtx): Likewise.
10289         (new_cselib_val): Adjust.  Set and dump uid.
10290         (cselib_lookup_mem): Pass next_uid as hash.
10291         (cselib_subst_to_values): Likewise.
10292         (cselib_log_lookup): Dump uid.
10293         (cselib_lookup): Pass next_uid as hash.  Adjust.
10294         (cselib_process_insn): Adjust.
10295         (cselib_init): Initialize next_uid.
10296         (cselib_finish): Adjust.
10297         (dump_cselib_table): Likewise.
10298         * dse.c (canon_address): Dump value uid.
10299         * print-rtl.c (print_rtx): Print value uid.
10300         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
10301         (dvuid): New type.
10302         (dv_uid): New function, sort of renamed from...
10303         (dv_htab_hash): ... this, reimplemented in terms of it and...
10304         (dv_uid2hash): ... this.  New.
10305         (variable_htab_eq): Drop excess assertions.
10306         (tie_break_pointers): Removed.
10307         (canon_value_cmp): Compare uids.
10308         (variable_post_merge_New_vals): Print uids.
10309         (vt_add_function_parameters): Adjust.
10310         (vt_initialize): Reset table.  Adjust.
10311
10312 2010-02-03  Richard Guenther  <rguenther@suse.de>
10313
10314         PR tree-optimization/42944
10315         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
10316         (call_may_clobber_ref_p_1): Likewise.  Properly handle
10317         malloc and calloc clobbering errno.
10318
10319 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
10320
10321         * doc/invoke.texi: Fix name of sched1 dump.
10322
10323         * opts.c (decode_options): Set flag_tree_switch_conversion
10324         only conditionally on optimize >= 2.
10325
10326         * gcse.c: Assorted comment fixes in pass description.
10327
10328 2010-02-03  Anthony Green  <green@moxielogic.com>
10329
10330         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
10331         nop padding in order to maintain alignment of storage location of
10332         target function address.
10333         (moxie_trampoline_init): Store target function address at newly
10334         aligned location.
10335         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
10336         to 32.
10337         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
10338
10339 2010-02-03  Richard Guenther  <rguenther@suse.de>
10340
10341         PR middle-end/42927
10342         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
10343
10344 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10345
10346         * config.gcc: Reenable check for obsolete targets.
10347         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
10348         mips-sgi-irix6.[0-4]*.
10349
10350 2010-02-02  Nick Clifton  <nickc@redhat.com>
10351
10352         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
10353         constant size of 4 as being the same as 0.
10354         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
10355         can take values in the range 0..4.
10356
10357 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
10358
10359         PR java/41991
10360         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
10361         as _darwin10_Unwind_FindEnclosingFunction().
10362         * libgcc-libsystem.ver: New.
10363
10364 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
10365
10366         PR target/41399
10367         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
10368         implicitly set registers.
10369
10370 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
10371
10372         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
10373         (arm_override_options): Allow automatic selection of the thread
10374         pointer register if thumb2.
10375         (legitimize_pic_address): Improve code sequences for Thumb2.
10376         (arm_call_tls_get_addr): Likewise.
10377         (legitimize_tls_address): Likewise.
10378         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
10379         (pic_load_addr_32bit): ... this.  New named pattern.
10380         * thumb2.md (pic_load_addr_thumb2): Delete.
10381         (pic_load_dot_plus_four): Delete.
10382         (tls_load_dot_plus_four): New named pattern.
10383
10384 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10385
10386         PR libgomp/29986
10387         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
10388         Document fix for TLS bug.
10389
10390 2010-01-31  Richard Guenther  <rguenther@suse.de>
10391
10392         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
10393         conservatively correct.
10394
10395 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10396
10397         PR target/42850
10398         Revert:
10399         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10400
10401         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
10402
10403 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10404
10405         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
10406
10407 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
10408
10409         * config.gcc: Adjust order of makefile fragments for mingw targets.
10410
10411 2010-01-31  Richard Guenther  <rguenther@suse.de>
10412
10413         PR middle-end/42898
10414         * gimplify.c (gimplify_init_constructor): For volatile LHS
10415         initialize a temporary.
10416
10417 2010-01-31  Matthias Klose  <doko@ubuntu.com>
10418
10419         * configure.ac: Fix __stack_chk_fail check for cross builds configured
10420         --with-headers
10421         * configure: Regenerate.
10422
10423 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
10424
10425         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
10426         the same alias set and their sizes different constantness.
10427         (aliasing_component_refs_p): Revert 2009-10-24 change.
10428
10429 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10430
10431         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
10432         unused.
10433
10434 2010-01-29  Richard Guenther  <rguenther@suse.de>
10435
10436         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
10437         Assert we successfully updated the call.
10438
10439 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
10440
10441         PR rtl-optimization/42889
10442         * df.h (df_set_bb_dirty_nonlr): New prototype.
10443         * df-core.c (df_set_bb_dirty_nonlr): New function.
10444         * df-scan.c (df_insn_rescan): Call it instead of
10445         df_set_bb_dirty for DEBUG_INSNs.
10446
10447 2010-01-29  Richard Guenther  <rguenther@suse.de>
10448
10449         PR middle-end/37448
10450         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
10451         quadratic behavior in most cases.
10452
10453 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
10454
10455         PR target/42891
10456         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
10457         in the call to gen_x86_movsicc_0_m1.
10458
10459 2010-01-28  Richard Guenther  <rguenther@suse.de>
10460
10461         PR tree-optimization/42871
10462         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
10463
10464 2010-01-28  Richard Guenther  <rguenther@suse.de>
10465
10466         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
10467         into call arguments.
10468
10469 2010-01-28  Richard Guenther  <rguenther@suse.de>
10470
10471         PR middle-end/42883
10472         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
10473         the forwarder if the destination is an EH landing pad.
10474
10475 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
10476
10477         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
10478         block list passed to gimple_duplicate_sese_tail.
10479         (parallelize_loops): Avoid parallelization when the function
10480         has_nonlocal_label.
10481         Avoid parallelization when the preheader is IRREDUCIBLE.
10482         Try to optimize when estimated_loop_iterations_int is unresolved.
10483         Add the loop's location to the dump file.
10484         * tree-cfg.c (add_phi_args_after_redirect): Remove.
10485         (gimple_duplicate_sese_tail): Remove the check for the latch.
10486         Redirect nexits to the exit block.
10487         Remove handling of the incoming edges to the latch.
10488         Redirect the backedge from the copied latch to the exit bb.
10489
10490 2010-01-28  Michael Matz  <matz@suse.de>
10491
10492         PR target/42881
10493         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
10494         Wrap force_reg into a sequence, emit it before user.
10495
10496 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
10497
10498         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
10499         (arm_rev): New.
10500         (arm_legacy_rev): Likewise.
10501         (thumb_legacy_rev): Likewise.
10502
10503 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
10504
10505         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
10506         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
10507         on MEM's address failed, try avoid_constant_pool_reference and
10508         recurse if it returned something different.
10509         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
10510         address, try avoid_constant_pool_reference and recurse if it
10511         returned something different.
10512         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
10513         address and avoid_constant_pool_reference returned something
10514         different, don't set have_address.
10515
10516 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
10517
10518         PR debug/42861
10519         * var-tracking.c (val_store): Add modified argument, obey it.
10520         Adjust callers.
10521         (count_uses): Move down logging of main.
10522         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
10523         don't need resolution.
10524         (emit_notes_in_bb): Likewise.
10525
10526 2010-01-27  Richard Guenther  <rguenther@suse.de>
10527
10528         PR middle-end/42878
10529         * tree-inline.c (remap_decl): Delay remapping of SSA name
10530         default definitions until we need them.
10531
10532 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
10533
10534         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
10535         (rs6000_delegitimize_address): New function.
10536
10537         * config/s390/s390.c (s390_delegitimize_address): Call
10538         delegitimize_mem_from_attrs.
10539
10540         PR middle-end/42874
10541         * tree-inline.c (cannot_copy_type_1): Removed.
10542         (copy_forbidden): Don't forbid copying of functions containing
10543         records/unions with variable length fields.
10544
10545 2010-01-27  Christian Bruel  <christian.bruel@st.com>
10546
10547         Revert:
10548         PR target/42841
10549         * config/sh/sh.c (find_barrier): Increase length for non delayed
10550         conditional branches.
10551
10552 2010-01-27  Matthias Klose  <doko@ubuntu.com>
10553
10554         * configure.ac (gnu-unique-object): Fix ldd version check.
10555         * configure: Regenerate.
10556
10557 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10558
10559         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
10560         HAVE_GNU_AS value.
10561         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
10562         Test for HAVE_GNU_AS value.
10563
10564 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10565
10566         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
10567         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
10568         INT64_TYPE): Define.
10569         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
10570         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
10571         INT_LEAST64_TYPE): Define.
10572         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
10573         UINT_LEAST64_TYPE): Define.
10574         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
10575         INT_FAST64_TYPE): Define.
10576         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
10577         UINT_FAST64_TYPE): Define.
10578         (INTMAX_TYPE, UINTMAX_TYPE): Define.
10579         (INTPTR_TYPE, UINTPTR_TYPE): Define.
10580         (SIG_ATOMIC_TYPE): Define.
10581
10582 2010-01-26  Richard Guenther  <rguenther@suse.de>
10583
10584         * df-scan.c (df_scan_set_bb_info): Remove assert.
10585         (df_insn_rescan_debug_internal): Merge asserts.
10586         (df_install_ref): Likewise.
10587         (df_mark_reg): Use bitmap_set_range.
10588         (df_hard_reg_used_p): Remove assert.
10589         (df_hard_reg_used_count): Likewise.
10590
10591 2010-01-26  Richard Guenther  <rguenther@suse.de>
10592
10593         PR rtl-optimization/42685
10594         * web.c (web_main): Ignore DEBUG_INSNs.
10595
10596 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
10597
10598         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
10599
10600         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
10601         Fix types of fndecl and arglist parameters.
10602
10603 2010-01-26  Richard Guenther  <rguenther@suse.de>
10604
10605         PR middle-end/42806
10606         * tree-eh.c (unsplit_eh): Skip debug insns.
10607
10608 2010-01-26  Richard Guenther  <rguenther@suse.de>
10609
10610         PR tree-optimization/42250
10611         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
10612
10613 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
10614
10615         PR fortran/42866
10616         * omp-low.c (expand_omp_sections): Only use single_pred if
10617         l2_bb is single_pred_p.
10618
10619 2010-01-25  Christian Bruel  <christian.bruel@st.com>
10620
10621         PR target/42841
10622         * config/sh/sh.c (find_barrier): Increase length for non delayed
10623         conditional branches.
10624         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
10625
10626 2010-01-24  David S. Miller  <davem@davemloft.net>
10627
10628         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
10629         define if not using GAS.
10630         * config/sparc/sparc.c (sparc_elf_asm_named_section):
10631         Likewise.  Delete SECTION_MERGE code, which is only applicable
10632         when using GAS.
10633
10634 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
10635
10636         PR c++/42748
10637         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
10638         mangling of va_list in system headers.
10639
10640 2010-01-23  Toon Moene  <toon@moene.org>
10641
10642         * tree-predcom.c (combine_chains): Return NULL, not false.
10643
10644 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
10645
10646         * tree-loop-distribution.c (distribute_loop): Fix declaration and
10647         initialization of variable res to agree with return type.
10648
10649 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
10650
10651         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
10652         * tree-sra.c: Add include of expr.h.
10653
10654 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
10655
10656         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
10657         insert the debug stmt on the single non-EH edge from the stmt.
10658
10659 2010-01-22  Richard Henderson  <rth@redhat.com>
10660
10661         PR tree-opt/42833
10662         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
10663         the RHS until after generate_subtree_copies has insertted its
10664         code before the current statement.
10665
10666 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
10667
10668         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
10669
10670         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
10671
10672 2010-01-21  Martin Jambor  <mjambor@suse.cz>
10673
10674         PR tree-optimization/42585
10675         * tree-sra.c (struct access): New field grp_total_scalarization.
10676         (dump_access): Dump the new field.
10677         (should_scalarize_away_bitmap): New variable.
10678         (cannot_scalarize_away_bitmap): Likewise.
10679         (sra_initialize): Allocate new bitmaps.
10680         (sra_deinitialize): Free new bitmaps.
10681         (create_access_1): New function.
10682         (create_access): Parts moved to create_access_1.
10683         (type_consists_of_records_p): New function.
10684         (completely_scalarize_record): Likewise.
10685         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
10686         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
10687         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
10688         access.
10689         (analyze_all_variable_accesses): Completely scalarize small eligible
10690         records.
10691
10692 2010-01-21  Martin Jambor  <mjambor@suse.cz>
10693
10694         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
10695
10696 2010-01-21  Andrew Haley  <aph@redhat.com>
10697
10698         * gcc.c (process_command): Move lang_specific_driver before
10699         setting cc_libexec_prefix.
10700
10701 2010-01-21  Richard Guenther  <rguenther@suse.de>
10702
10703         PR middle-end/19988
10704         * fold-const.c (negate_expr_p): Pretend only negative
10705         real constants are easily negatable.
10706
10707 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
10708             Jason Merrill  <jason@redhat.com>
10709
10710         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
10711         (TYPE_TRANSPARENT_AGGR): this, for union and record.
10712         * calls.c (initialize argument_information): Handle it.
10713         * c-common.c (handle_transparent_union_attribute): Use new name.
10714         * c-decl.c (finish_struct): Ditto.
10715         * c-typeck.c (type_lists_compatible_p): Ditto.
10716         (convert_for_assignment): Use new name and also handle record.
10717         * function.c (aggregate_value_p): Handle it.
10718         (pass_by_reference): Ditto.
10719         (assign_parm_data_types): Ditto.
10720         * print-tree.c (print_node): Ditto.
10721         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
10722         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
10723         * tree.c (first_field): New fn.
10724
10725 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
10726
10727         PR target/42818
10728         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
10729         even when linking statically, for now.
10730
10731 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
10732
10733         PR debug/42715
10734         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
10735         without a cselib val.
10736         (count_uses): Accept MO_VAL_SET with no val on stores.
10737         (add_stores): Likewise.
10738
10739 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
10740
10741         * var-tracking.c (check_value_val): Add a compile time assertion.
10742         (dv_is_decl_p): Simplify.
10743         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
10744         gcc_assert if ENABLE_CHECKING.
10745
10746 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
10747
10748         PR debug/42782
10749         * var-tracking.c: Include tree-flow.h.
10750         (mem_dies_at_call): New.
10751         (dataflow_set_preserve_mem_locs): Use it.
10752         (dataflow_set_remove_mem_locs): Likewise.
10753         (dump_var): Renamed from dump_variable.  Adjust all callers.
10754         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
10755         * Makefile.in (var-tracking.o): Adjust deps.
10756
10757 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
10758
10759         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
10760
10761 2010-01-20  Richard Guenther  <rguenther@suse.de>
10762
10763         PR tree-optimization/42717
10764         * tree-ssa-dce.c (get_live_post_dom): Remove.
10765         (forward_edge_to_pdom): Take an arbitrary edge to copy
10766         degenerate PHI args from.
10767         (remove_dead_stmt): Use the first post-dominator even if it
10768         does not contain live statements as redirection destination.
10769
10770 2010-01-20  Richard Guenther  <rguenther@suse.de>
10771
10772         * tree-inline.c (estimate_num_insns): Handle EH builtins.
10773
10774 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
10775
10776         * sel-sched.c (create_speculation_check): Remove set but not used
10777         variable twin.
10778         (try_transformation_cache): Remove set but not used variable ds.
10779         (calculate_privileged_insns): Remove set but not used variables
10780         cur_insn and min_spec_insn.
10781         (find_best_expr): Remove set but not used variable avail_n.
10782         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
10783         variable e.
10784         * cgraphunit.c (assemble_thunk): Remove set but not used variable
10785         false_label.
10786         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
10787         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
10788         new_scop_exit_edge.
10789
10790 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
10791
10792         PR bootstrap/42786
10793         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
10794         cpu types.  Add support for *-sse3 cpu types.
10795         (x86_64-*-*): Ditto.
10796
10797 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
10798
10799         PR middle-end/42803
10800         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
10801         argument, call initializer_constant_valid_p_1 instead of
10802         initializer_constant_valid_p, pass CACHE to it, return NULL
10803         immediately if first call returns NULL.
10804         (initializer_constant_valid_p_1): New function.
10805         (initializer_constant_valid_p): Use it.
10806
10807 2010-01-20  Thomas Quinot  <quinot@adacore.com>
10808
10809         * tree.def (PLACEHOLDER_EXPR): Fix comment.
10810
10811 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
10812
10813         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
10814         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
10815         (loc_list_from_tree): Don't handle unsigned division.  Handle
10816         signed modulo using DW_OP_{over,over,div,mul,minus}.
10817         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
10818         modulo instead of signed.
10819
10820 2010-01-20  DJ Delorie  <dj@redhat.com>
10821
10822         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
10823         (Fpa): Pass it
10824         (h8300_emit_stack_adjustment): Propogate it.
10825         (push): Pass it.
10826         (h8300_expand_prologue): Likewise.
10827         (h8300_expand_epilogue): Likewise.
10828
10829 2010-01-19  Michael Matz  <matz@suse.de>
10830
10831         PR tree-optimization/41783
10832         * tree-data-ref.c (toplevel): Include flags.h.
10833         (dump_data_dependence_relation):  Also dump the inputs if the
10834         result will be unknown.
10835         (split_constant_offset_1): Look through some conversions.
10836         * tree-predcom.c (determine_roots_comp): Restart a new chain if
10837         the offset from last element is too large.
10838         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
10839         (reassociate_to_the_same_stmt): Handle vector registers.
10840         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
10841         (e.g. conversions).
10842         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
10843         wide_prolog_niters argument, emit widening instructions.
10844         (vect_do_peeling_for_alignment): Adjust caller, use widened
10845         variant of the iteration cound.
10846         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
10847
10848 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
10849
10850         PR target/38697
10851         * config/arm/neon-testgen.m (emit_automatics): New parameter
10852         features. Adjust for Fixed_return_reg feature.
10853         (test_intrinsic): Call emit_automatics with new feature.
10854         * config/arm/neon.ml: Update copyright years.
10855         (features): New Fixed_return_reg feature.
10856         (ops): Update feature for Vget_low.
10857
10858 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
10859
10860         PR tree-optimization/42719
10861         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
10862         stmt uses.
10863
10864         PR debug/42728
10865         * fwprop.c (all_uses_available_at): Return false if def_set dest
10866         is a REG that is used in def_insn.
10867
10868 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
10869
10870         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
10871
10872         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
10873         Add argument names.
10874
10875         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
10876
10877         * target.h (struct gcc_target) <secondary_reload>: Change type
10878         of last argument to secondary_reload_info *.
10879
10880 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
10881
10882         PR target/42774
10883         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
10884         memory references with unaligned offsets.  Remove CQImode handling.
10885         (unaligned_memory_operand): Return 1 for memory references with
10886         unaligned offsets.  Remove CQImode handling.
10887
10888 2010-01-18  Richard Guenther  <rguenther@suse.de>
10889
10890         PR middle-end/39954
10891         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
10892         builtin calls.
10893
10894 2010-01-18  Richard Guenther  <rguenther@suse.de>
10895
10896         PR tree-optimization/42781
10897         * tree-ssa-structalias.c (find_what_var_points_to): Skip
10898         restrict processing only if the original variable was artificial.
10899
10900 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
10901
10902         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
10903         find number of popped argument bytes.
10904
10905         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
10906         Fix the text that describes the return value for invalid insns.
10907
10908         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
10909
10910         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
10911         Clarify what 'cost of the -dependence' is.  Fix quoting.
10912
10913         * toplev.c (default_get_pch_validity): Rename argument to "sz".
10914         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
10915
10916 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
10917
10918         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
10919         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
10920
10921 2010-01-17  Richard Guenther  <rguenther@suse.de>
10922
10923         PR middle-end/42248
10924         * function.c (split_complex_args): Take a VEC to modify.
10925         (assign_parms_augmented_arg_list): Build a VEC instead of
10926         a chain of PARM_DECLs.
10927         (assign_parms_unsplit_complex): Take a VEC of arguments.
10928         Do not fixup unmodified parms.
10929         (assign_parms): Deal with the VEC.
10930         (gimplify_parameters): Likewise.
10931
10932 2010-01-17  Richard Guenther  <rguenther@suse.de>
10933
10934         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
10935         node existence check.
10936         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
10937         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
10938         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
10939         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
10940         (gimple_execute_on_growing_pred): Likewise.
10941
10942 2010-01-17  Richard Guenther  <rguenther@suse.de>
10943
10944         PR tree-optimization/42773
10945         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
10946         (compute_antic_aux): Likewise.
10947         (compute_partial_antic_aux): Likewise.
10948
10949 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
10950
10951         PR debug/42767
10952         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
10953         and US_TRUNCATE.
10954
10955 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
10956
10957         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
10958         appearance.
10959
10960         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
10961         Fix markup for strict argument.
10962
10963         (TARGET_SCHED_REORDER2): Fix argument types.
10964
10965         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
10966         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
10967
10968         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
10969         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
10970
10971         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
10972         Add argument name.
10973
10974         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
10975         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
10976         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
10977         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
10978         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
10979
10980         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
10981
10982         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
10983
10984         (TARGET_ASM_RELOC_RW_MASK): Add return type.
10985         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
10986
10987         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
10988
10989         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
10990         Use prototype.
10991
10992         (TARGET_ASM_NAMED_SECTION): Fix argument list.
10993
10994         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
10995         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
10996
10997         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
10998
10999         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
11000
11001         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
11002         referring to it.  Fix language.
11003
11004         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
11005
11006         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
11007
11008         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
11009
11010         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
11011
11012         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
11013         '@var{stream}.  Remove stray 'and'.
11014
11015         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
11016
11017         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
11018
11019         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
11020
11021         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
11022         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
11023
11024         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
11025         Fix description of return value.
11026         Rename argument "sz" to "len."
11027
11028         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
11029         Clarify meaning of 'true' return value.
11030
11031         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
11032
11033         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
11034         rep_mode versus mode_rep.
11035
11036         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
11037
11038         (TARGET_BUILTIN_DECL): Fix name.
11039
11040         (TARGET_COMMUTATIVE_P): Fix type of first argument.
11041
11042         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
11043
11044         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
11045
11046         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
11047
11048         (TARGET_RELAXED_ORDERING): Use @deftypevr.
11049
11050         (TARGET_GET_DRAP_RTX): Note that this is a hook.
11051         Clarify language.
11052
11053         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
11054         Rename argument tm_fn to md_fn.
11055
11056         (TARGET_OPTION_PRINT): Fix argument list.
11057
11058 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
11059
11060         PR target/42664
11061         * config/i386/i386.c (ix86_fixup_binary_operands):
11062         Revert FMA4 fixup of operands.
11063
11064 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11065
11066         PR gcc/42525
11067         * Makefile.in (write_entries_to_file, install-plugin):
11068         Use \012 instead of \n with tr.
11069
11070 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
11071
11072         * configure.ac (HAVE_AS_REF): New C macro.
11073         * configure: Regenerate.
11074         * config.in: Likewise.
11075         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
11076         if HAVE_AS_REF.
11077         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
11078         if HAVE_AS_REF.
11079
11080 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
11081
11082         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
11083
11084         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
11085
11086         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
11087
11088         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
11089
11090         (TARGET_IN_SMALL_DATA_P): Fix argument type.
11091
11092         (TARGET_BINDS_LOCAL_P): Fix argument type.
11093
11094         (TARGET_ASM_FILE_END): Use prototype.
11095
11096         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
11097
11098         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
11099
11100         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
11101
11102         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
11103
11104         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
11105         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
11106
11107         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
11108         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
11109
11110         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
11111         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
11112         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
11113         (TARGET_ADDR_SPACE_CONVERT): Likewise.
11114
11115         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
11116
11117         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
11118
11119         (TARGET_INIT_BUILTINS): Use prototype.
11120
11121         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
11122         Put 'const char *' in braces.  Fix parameter types.
11123         (TARGET_INVALID_CONVERSION): Fix parameter types.
11124         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
11125         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
11126
11127         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
11128         Fix argument type.
11129
11130         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
11131
11132         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
11133
11134 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
11135
11136         * doc/tm.texi (TARGET_HELP): Fix return type.
11137
11138         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
11139         in braces.  Fix argument types.
11140
11141         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
11142
11143         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
11144
11145         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
11146
11147         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
11148         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
11149
11150         (TARGET_MANGLE_TYPE): Fix argument types.
11151
11152         (TARGET_IRA_COVER_CLASSES): Use prototype.
11153
11154         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
11155
11156         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
11157
11158         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
11159
11160         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
11161
11162         (TARGET_CALLEE_COPIES): Fix argument types.
11163
11164         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
11165
11166         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
11167
11168         (TARGET_FUNCTION_VALUE): Fix argument types.
11169
11170         (TARGET_RETURN_IN_MSB): Fix argument type.
11171
11172         (TARGET_RETURN_IN_MEMORY): Fix argument types.
11173
11174         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
11175
11176         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
11177
11178         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
11179         agree with return type.
11180
11181         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
11182
11183 2010-01-15  Jing Yu  <jingyu@google.com>
11184
11185         PR rtl-optimization/42691
11186         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
11187         a pseudo to a constant and are merged, and adjust comments.
11188
11189 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
11190
11191         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
11192
11193 2010-01-15  Richard Guenther  <rguenther@suse.de>
11194
11195         PR middle-end/42739
11196         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
11197         labels of computed or non-local gotos to the destination.
11198         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
11199         landing pad label is the first label.
11200
11201 2010-01-15  Richard Guenther  <rguenther@suse.de>
11202
11203         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
11204
11205 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
11206
11207         PR target/42747
11208         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
11209         to allow generation of the xssqrtdp instruction on power7.
11210         (sqrtdf2_fpr): Ditto.
11211
11212 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
11213
11214         PR middle-end/42674
11215         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
11216         functions with noreturn attribute.
11217
11218         PR c++/42608
11219         * varasm.c (declare_weak): Add weak attribute to decl if it
11220         doesn't have one already.
11221         (assemble_external): Only add decls to weak_decls if they also
11222         have weak attribute.
11223
11224 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
11225
11226         * var-tracking.c (var_reg_delete): Don't delete the association
11227         between REGs and values or one-part variables if the register
11228         isn't clobbered.
11229
11230 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
11231
11232         PR debug/42657
11233         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
11234         because its first operand is a non-localized variable.
11235
11236 2010-01-14  Martin Jambor  <mjambor@suse.cz>
11237
11238         PR tree-optimization/42706
11239         * tree-sra.c (encountered_recursive_call): New variable.
11240         (encountered_unchangable_recursive_call): Likewise.
11241         (sra_initialize): Initialize both new variables.
11242         (callsite_has_enough_arguments_p): New function.
11243         (scan_function): Call decl and flags check only for IPA-SRA, check
11244         whether there is a recursive call and whether it has enough arguments.
11245         (all_callers_have_enough_arguments_p): New function.
11246         (convert_callers): Look for recursive calls only when
11247         encountered_recursive_call is set.
11248         (ipa_early_sra): Bail out either if
11249         !all_callers_have_enough_arguments_p or
11250         encountered_unchangable_recursive_call.
11251
11252 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
11253
11254         * sel-sched.c: Add 2010 to copyright years.
11255         * sel-sched-ir.c: Likewise.
11256         * sel-sched-ir.h: Likewise.
11257
11258 2010-01-14  Martin Jambor  <mjambor@suse.cz>
11259
11260         PR tree-optimization/42714
11261         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
11262         constructors specially.
11263
11264 2010-01-14  Andi Kleen  <ak@linux.intel.com>
11265
11266         * config/i386/drivers-i386.c (detect_caches_intel):
11267         Add l2sizekb parameter and fill in.
11268         (host_detect_local_cpu): Add l2sizekb, fill in.
11269         Add Atom small cache heuristic.
11270
11271 2010-01-14  Andi Kleen  <ak@linux.intel.com>
11272
11273         * config/i386/drivers-i386.c (detect_caches_cpuid4):
11274         Add level3 parameter and fill in.
11275         (detect_caches_intel): Handle level3 cache.
11276
11277 2010-01-14  Andi Kleen  <ak@linux.intel.com>
11278
11279         * config/i386/drivers-i386.c (host_detect_local_cpu):
11280         Fix core duo detection.
11281
11282 2010-01-14  Andi Kleen  <ak@linux.intel.com>
11283
11284         * config/i386/drivers-i386.c (host_detect_local_cpu):
11285         Fix Atom detection.
11286
11287 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
11288
11289         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
11290         (rs6000_variable_issue_1): this.  Use...
11291         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
11292
11293 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
11294
11295         * sel-sched-ir.c (sel_restore_other_notes): Rename to
11296         sel_restore_notes.  Update all callers.  Call reemit_notes
11297         for all insns.
11298
11299 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
11300
11301         PR rtl-optimization/42246
11302         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
11303         loops.
11304
11305 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
11306
11307         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
11308         all successors is the same as number of successors in current region.
11309
11310 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
11311
11312         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
11313         to rename is not separable.  Otherwise check that its LHS is not NULL.
11314
11315 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
11316
11317         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
11318
11319 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
11320
11321         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
11322         available registers when failed to discover LHS register class.
11323         Fix indentation.  Update comment.
11324
11325 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
11326             Alexander Monakov  <amonakov@ispras.ru>
11327
11328         PR rtl-optimization/42389
11329         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
11330         to can_issue_more.
11331         (advance_state_on_fence): Likewise.
11332         (sel_target_adjust_priority): Print debug output only when
11333         sched_verbose >= 4, not 2.
11334         (get_expr_cost): Do not issue all unique insns on the next cycle.
11335         (fill_insns): Initialize can_issue_more from the value saved
11336         with the fence.
11337         * sel-sched-ir.c (flist_add): New parameter issue_more.
11338         Init FENCE_ISSUE_MORE with it.
11339         (merge_fences): Likewise.
11340         (init_fences): Update call to flist_add.
11341         (add_to_fences, add_clean_fence_to_fences)
11342         (add_dirty_fence_to_fences): Likewise.
11343         (move_fence_to_fences): Update call to merge_fences.
11344         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
11345         sched groups.
11346         * sel-sched-ir.h (struct _fence): New field issue_more.
11347         (FENCE_ISSUE_MORE): New accessor macro.
11348
11349 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
11350
11351         PR rtl-optimization/42388
11352         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
11353         that have no predecessors nor successors.  Do not call move_bb_info
11354         for empty blocks outside of current region.
11355
11356 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
11357
11358         PR rtl-optimization/42294
11359         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
11360         * sel-sched.c (move_exprs_to_boundary): Transitively add all
11361         originators' originators.
11362
11363 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
11364
11365         PR rtl-optimization/39453
11366         PR rtl-optimization/42246
11367         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
11368         for pipelining_p.
11369         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
11370
11371 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
11372             Alexander Monakov  <amonakov@ispras.ru>
11373
11374         PR middle-end/42245
11375         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
11376         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
11377         argument.  Update all callers.
11378         (tidy_control_flow): ... and here.  Recompute topological order
11379         of basic blocks in region if necessary.
11380         (sel_redirect_edge_and_branch): Change return type.  Return true
11381         if topological order might have been invalidated.
11382         (purge_empty_blocks): Export and move from...
11383         * sel-sched.c (purge_empty_blocks): ... here.
11384         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
11385         (maybe_tidy_empty_bb): Delete prototype.
11386         (purge_empty_blocks): Declare.
11387
11388 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
11389
11390         PR rtl-optimization/42249
11391         * sel-sched.c (try_replace_dest_reg): When chosen register
11392         and original register is the same, do not bail out early, but
11393         still check all original insns for validity of replacing destination
11394         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
11395         in this case.
11396
11397 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
11398
11399         PR c/42721
11400         Port from no-undefined-overflow branch:
11401         2009-03-09  Richard Guenther  <rguenther@suse.de>
11402
11403         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
11404
11405 2010-01-14  Richard Guenther  <rguenther@suse.de>
11406
11407         PR lto/42665
11408         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
11409
11410 2010-01-14  Ira Rosen  <irar@il.ibm.com>
11411
11412         PR tree-optimization/42709
11413         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
11414         as scalar type in creation of constant vector operand.
11415
11416 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11417
11418         PR testsuite/42414
11419         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
11420         (check-parallel-%): Match `testsuite' directory component only
11421         at the end.
11422
11423 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
11424
11425         PR translation/39521
11426         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
11427         strings with _().
11428
11429 2010-01-13  Richard Guenther  <rguenther@suse.de>
11430
11431         PR tree-optimization/42730
11432         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
11433         offset zero.
11434
11435 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
11436
11437         PR target/pr42542
11438         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
11439         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
11440         them signed.
11441
11442 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
11443
11444         * config/bfin/libgcc-bfin.ver: Regenerate based on current
11445         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
11446         ___umulsi3_highpart.
11447
11448         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
11449         rather than schedule_insns if the pass is enabled.
11450
11451 2010-01-13  Martin Jambor  <mjambor@suse.cz>
11452
11453         PR tree-optimization/42704
11454         * tree-sra.c (sra_modify_assign): Do not delete assignments to
11455         SSA_NAMEs.
11456
11457 2010-01-13  Martin Jambor  <mjambor@suse.cz>
11458
11459         PR tree-optimization/42703
11460         * tree-sra.c (analyze_access_subtree): Check that we can build a
11461         reference to the original data within the aggregate.
11462
11463 2010-01-13  Richard Guenther  <rguenther@suse.de>
11464
11465         PR tree-optimization/42705
11466         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
11467
11468 2010-01-13  Richard Guenther  <rguenther@suse.de>
11469
11470         PR middle-end/42716
11471         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
11472
11473 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
11474
11475         PR debug/41371
11476         * var-tracking.c (values_to_unmark): New variable.
11477         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
11478         values_to_unmark vector.  Moved body to...
11479         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
11480         instead queue it into values_to_unmark vector.
11481         (vt_find_locations): Free values_to_unmark vector.
11482
11483 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
11484
11485         * config/s390/s390.c (override_options): Set
11486         default of max-pending-list-length to 256
11487
11488 2010-01-13  Richard Guenther  <rguenther@suse.de>
11489
11490         PR lto/42678
11491         * tree-pass.h (PROP_gimple_lcx): New.
11492         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
11493         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
11494         before the final cleanup_eh.
11495         (dump_properties): Dump PROP_gimple_lcx.
11496         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
11497         (tree_lower_complex_O0): Remove.
11498         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
11499         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
11500         tree_lower_complex, schedule TODO_update_ssa.
11501         * lto-streamer-out.c (output_function): Stream the functions
11502         properties.
11503         * lto-streamer-in.c (input_function): Likewise.
11504         (lto_read_body): Do not override them here.
11505
11506 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
11507
11508         PR c/42708
11509         * c-typeck.c (build_c_cast): Fold value cast to union type before
11510         wrapping it in a CONSTRUCTOR.
11511
11512 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
11513
11514         PR rtl-optimization/42699
11515         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
11516         involved.
11517
11518 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11519
11520         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
11521         SUBTARGET_WARN_UNUSED_SPEC): Move ...
11522         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
11523         SUBTARGET_WARN_UNUSED_SPEC): ... here
11524         * config/mips/iris5.h (LIBGCC_SPEC): Define.
11525
11526 2010-01-12  Julian Brown  <julian@codesourcery.com>
11527
11528         * config/arm/neon-schedgen.ml (Utils): Don't try to
11529         open missing module.
11530         (find_with_result): New.
11531
11532 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
11533
11534         PR debug/42662
11535         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
11536         sharing when canonicalizing ({lt,ge}u (plus a b) b).
11537
11538         PR tree-optimization/42645
11539         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
11540         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
11541         decl_map, set processing_debug_stmt to -1 and return name without
11542         any remapping.
11543
11544 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
11545
11546         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
11547         binutils version, and reword target configuration description.
11548
11549 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
11550
11551         * config/avr/avr.h (LINKER_NAME): Remove.
11552
11553 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
11554
11555         PR target/42416
11556         * config/rs6000/rs6000.c (rs6000_override_options): On targets
11557         that support VSX, warn for -mno-altivec if vsx is not disabled,
11558         and disable vsx.
11559
11560 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
11561             Shujing Zhao  <pearly.zhao@oracle.com>
11562
11563         PR translation/42469
11564         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
11565         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
11566         character between option name and help text.
11567         * c.opt (imultilib): Likewise.
11568
11569 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
11570
11571         * lto-streamer-out.c (output_unreferenced_globals): Output static
11572         variables.
11573
11574 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
11575
11576         PR rtl-optimization/42621
11577         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
11578         optimizing for size.
11579         (duplicate_computed_gotos): Remove now-redundant check.
11580
11581 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
11582
11583         PR target/37454
11584         * configure.ac: Save and restore LDFLAGS and LIBS
11585         * configure: Regenerate.
11586
11587 2010-01-10  Richard Guenther  <rguenther@suse.de>
11588
11589         PR middle-end/42667
11590         * builtins.c (fold_builtin_strlen): Add type argument and
11591         convert the resulting length to it.
11592         (fold_builtin_1): Adjust.
11593
11594 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
11595
11596         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
11597         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
11598         1 insn.
11599         (num_insns_constant_wide): Adjust for that change.
11600
11601 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
11602
11603         PR debug/42631
11604         * web.c (union_defs): Add used argument, to combine uses of
11605         uninitialized regs.
11606         (entry_register): Adjust type and tests of used argument.
11607         (web_main): Widen used for new use.  Pass it to union_defs.
11608         * df.h (union_defs): Adjust prototype.
11609
11610 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
11611
11612         PR debug/42630
11613         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
11614         uses in new incoming argument.  Free body.
11615         (reset_debug_uses_in_loop): New.
11616         (analyze_insn_to_expand_var): Call the latter if the former found
11617         anything.  Fix whitespace.  Reject invalid dest overlaps before
11618         going through all insns in the loop.
11619
11620 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
11621
11622         PR debug/42629
11623         * haifa-sched.c (dying_use_p): Debug insns don't count.
11624
11625 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
11626
11627         PR middle-end/42363
11628         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
11629         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
11630         (verify_gimple_call): Reject LHS in noreturn calls.
11631
11632 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
11633
11634         PR debug/42604
11635         PR debug/42395
11636         * tree-vect-loop-manip.c (adjust_info): New type.
11637         (adjust_vec): New pointer to vector.
11638         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
11639         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
11640         (slpeel_update_phis_for_duplicate_loop): Use them.
11641         (slpeel_update_phi_nodes_for_guard1): Likewise.
11642         (slpeel_update_phi_nodes_for_guard2): Likewise.
11643         (slpeel_tree_peel_loop_to_edge): Likewise.
11644         (vect_update_ivs_after_vectorizer): Likewise.
11645
11646 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
11647
11648         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
11649         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
11650
11651 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
11652
11653         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
11654         bogus uninitialized warning.
11655
11656 2010-01-09  Richard Guenther  <rguenther@suse.de>
11657
11658         PR middle-end/42512
11659         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
11660         the evolution is compatible with the initial condition.
11661
11662 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
11663
11664         * gcc.c (process_command): Update copyright notice dates.
11665         * gcov.c (print_version): Likewise.
11666         * gcov-dump.c (print_version): Likewise.
11667         * mips-tfile.c (main): Likewise.
11668         * mips-tdump.c (main): Likewise.
11669
11670 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
11671
11672         PR target/41885
11673         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
11674         (rotlhi3): Delete.
11675         (rotlhi3_8): Delete.
11676         (rotlsi3): Delete.
11677         (rotlsi3_8): Delete.
11678         (rotlsi3_16): Delete.
11679         (rotlsi3_24): Delete.
11680         (rotl<mode>3): New.
11681         (*rotw<mode>3): New.
11682         (*rotb<mode>3): New.
11683         * config/avr/avr.c (avr_rotate_bytes): New function.
11684         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
11685
11686 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
11687
11688         PR target/37454
11689         * configure.ac: Modify -rdynamic check.
11690         * configure: Regenerate.
11691
11692 2010-01-08  DJ Delorie  <dj@redhat.com>
11693
11694         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
11695         register popping order.
11696
11697 2010-01-08  Richard Guenther  <rguenther@suse.de>
11698
11699         PR lto/42528
11700         * c.opt (fsigned-char): Also let LTO handle this option.
11701         (funsigned-char): Likewise.
11702
11703 2010-01-07  Richard Guenther  <rguenther@suse.de>
11704
11705         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
11706         (gimple_op): Likewise.
11707         (gimple_op_ptr): Likewise.
11708         (gimple_assign_set_lhs): Remove gcc_assert.
11709         (gimple_assign_set_rhs1): Likewise.
11710         (gimple_assign_set_rhs2): Likewise.
11711         (gimple_call_set_lhs): Likewise.
11712         (gimple_call_set_fn): Likewise.
11713         (gimple_call_set_fndecl): Likewise.
11714         (gimple_call_fndecl): Likewise.
11715         (gimple_call_return_type): Likewise.
11716         (gimple_call_set_chain): Likewise.
11717         (gimple_call_num_args): Likewise.
11718         (gimple_call_set_arg): Likewise.
11719         (gimple_cond_set_code): Likewise.
11720         (gimple_cond_set_lhs): Likewise.
11721         (gimple_cond_set_rhs): Likewise.
11722         (gimple_cond_set_true_label): Likewise.
11723         (gimple_cond_set_false_label): Likewise.
11724         (gimple_label_set_label): Likewise.
11725         (gimple_goto_set_dest): Likewise.
11726         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
11727         (gimple_debug_bind_get_value): Likewise.
11728         (gimple_debug_bind_get_value_ptr): Likewise.
11729         (gimple_debug_bind_set_var): Likewise.
11730         (gimple_debug_bind_set_value): Likewise.
11731         (gimple_debug_bind_reset_value): Likewise.
11732         (gimple_debug_bind_has_value_p): Likewise.
11733         (gimple_return_retval_ptr): Remove gcc_assert.
11734         (gimple_return_retval): Likewise.
11735         (gimple_return_set_retval): Likewise.
11736         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
11737         (safe_referenced_var_iterator): Remove.
11738         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
11739         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
11740         (fill_referenced_var_vec): Remove.
11741         (first_readonly_imm_use): Remove redundant gcc_assert.
11742         (phi_arg_index_from_use): Combine gcc_asserts.
11743         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
11744         (first_imm_use_stmt): Remove redundant gcc_assert.
11745         * tree-cfg.c (verify_gimple_call): Verify function and chain
11746         operands.  Verify arguments.
11747         (verify_types_in_gimple_stmt): Verify condition code and labels.
11748
11749 2010-01-07  Richard Guenther  <rguenther@suse.de>
11750
11751         PR tree-optimization/42641
11752         * sese.c (rename_map_elt_info): Use the SSA name version, do
11753         not hash pointers.
11754
11755 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
11756
11757         PR tree-optimization/42625
11758         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
11759         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
11760
11761 2010-01-07  Duncan Sands  <baldrick@free.fr>
11762
11763         * Makefile.in (PLUGIN_HEADERS): Add version.h.
11764
11765 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
11766
11767         PR target/42511
11768         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
11769         note itself is not function_invariant_p.
11770
11771 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
11772
11773         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
11774         Do not add the DF_NOTE problem.
11775         * store-motion.c (execute_rtl_store_motion): Likewise.
11776
11777 2010-01-07  Martin Jambor  <mjambor@suse.cz>
11778
11779         PR tree-optimization/42157
11780         * tree-sra.c (compare_access_positions): Stabilize sort if both
11781         accesses have integer types, return zero immediately if they are the
11782         same.
11783
11784 2010-01-06  Richard Henderson  <rth@redhat.com>
11785
11786         PR middle-end/41883
11787         * haifa-sched.c (add_to_note_list): Merge into ...
11788         (concat_note_lists): ... here, and ...
11789         (unlink_other_notes, rm_other_notes): Merge into...
11790         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
11791         NOTE_INSN_EPILOGUE_BEG.
11792
11793 2010-01-06  Richard Guenther  <rguenther@suse.de>
11794
11795         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
11796         not inline regular functions into always-inline functions.
11797
11798 2010-01-06  Nick Clifton  <nickc@redhat.com>
11799
11800         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
11801         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
11802         used together.
11803         (OVERRIDE_OPTIONS): Delete.
11804         (OPTIMIZATION_OPTIONS): Define.
11805         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
11806         * config/rx/rx.c (rx_handle_option): Issue an error message if
11807         -mcpu=rx200 and -fpu are used together.
11808         (rx_set_optimization_options): New function.  Issue an error
11809         message if an optimization attribute attempts to reset the FPU/
11810         math optimization pairing.
11811         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
11812         * config/rx/rx.opt: Set the default to 32-bit doubles.
11813         * config/rx/t-rx: Add multilibs for -nofpu option.
11814         * doc/invoke.texi: Update documentation of RX options.
11815
11816 2010-01-06  Richard Guenther  <rguenther@suse.de>
11817
11818         * tree-ssa-pre.c (name_to_id): New global.
11819         (alloc_expression_id): Simplify SSA name handling.
11820         (lookup_expression_id): Likewise.
11821         (init_pre): Zero name_to_id.
11822         (fini_pre): Free it.
11823
11824 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
11825
11826         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
11827
11828 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
11829
11830         PR target/42542
11831         * config/i386/sse.md (smaxv2di3): New.
11832         (umaxv2di3): Likewise.
11833         (sminv2di3): Likewise.
11834         (uminv2di3): Likewise.
11835
11836 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
11837
11838         PR target/42564
11839         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
11840         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
11841         (legitimize_tls_address): Likewise.
11842         (sparc_tls_referenced_p): Likewise.
11843         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
11844         and adjust calls to legitimize_pic_address.
11845         (legitimate_constant_p) Use sparc_tls_referenced_p.
11846         (legitimate_pic_operand_p): Likewise.
11847         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
11848         (sparc_tls_symbol_ref_1): Delete.
11849         (sparc_tls_referenced_p): Make static, recognize specific patterns.
11850         (legitimize_tls_address): Make static, handle CONST patterns.
11851         (legitimize_pic_address): Make static, remove unused parameter and
11852         adjust recursive calls.
11853         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
11854         and adjust call to legitimize_pic_address.
11855         (sparc_output_mi_thunk): Likewise.
11856
11857 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
11858             H.J. Lu  <hongjiu.lu@intel.com>
11859
11860         PR target/42542
11861         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
11862         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
11863         operands to make them signed.
11864
11865         Revert:
11866         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
11867
11868         PR target/42542
11869         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
11870         GTU to GT for V4SI and V2DI.
11871
11872         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
11873         (umin<mode>3): Removed.
11874         (uminv8hi3): New.
11875         (uminv4si3): Likewise.
11876
11877 2010-01-05  Martin Jambor  <mjambor@suse.cz>
11878
11879         PR tree-optimization/42462
11880         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
11881         current_function_decl to helper functions and macros.
11882
11883 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11884
11885         PR bootstrap/41771
11886         * flags.h: Don't include real.h.
11887         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
11888         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
11889         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
11890         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
11891         * dominance.c: Update copyright.
11892         * gimple.c (walk_gimple_op): Remove inline.
11893         * tree-ssa-reassoc.c: Include real.h.
11894         * Makefile.in (FLAGS_H): Remove $(REAL_H).
11895         (tree-ssa-reassoc.o): Depend on $(REAL_H).
11896
11897 2010-01-05  Nick Clifton  <nickc@redhat.com>
11898
11899         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
11900         register to push into the stack frame when the accumulator has to
11901         be saved during interrupts.
11902
11903 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
11904
11905         * doc/invoke.texi: Remove the documentation about option
11906         -Wunreachable-code.
11907         * common.opt (Wunreachable-code):  Preserved for backward
11908         compatibility.
11909         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
11910         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
11911         the backward compatibility flag section.
11912
11913 2010-01-05  Richard Guenther  <rguenther@suse.de>
11914
11915         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
11916
11917 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
11918
11919         PR other/42611
11920         * cfgexpand.c (expand_one_var): Diagnose too large variables.
11921
11922         PR tree-optimization/42508
11923         * tree-sra.c (convert_callers): Check for recursive call
11924         by comparing cgraph nodes instead of decls.
11925         (modify_function): Call ipa_modify_formal_parameters also
11926         on all same_body aliases.
11927
11928         * cgraphunit.c (cgraph_materialize_all_clones): Compare
11929         cgraph nodes when checking for same_body aliases.
11930
11931 2010-01-05  Richard Guenther  <rguenther@suse.de>
11932
11933         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
11934         allocation and lookup.
11935         (get_or_alloc_expr_for_constant): Likewise.
11936         (phi_translate): Sink allocation.
11937
11938 2010-01-04  Richard Guenther  <rguenther@suse.de>
11939
11940         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
11941         a new entry only if needed.
11942         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
11943         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
11944         hashtable lookup.
11945         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
11946         the result array.
11947         (phi_translate): Handle CONSTANTs early.
11948
11949 2010-01-04  Martin Jambor  <mjambor@suse.cz>
11950
11951         PR tree-optimization/42398
11952         * tree-sra.c (struct access): Removed flag grp_different_types.
11953         (dump_access): Do not dump the removed flag.
11954         (sort_and_splice_var_accesses): Do not set the removed flag.
11955         (sra_modify_expr): Check for type compatibility directly.
11956
11957 2010-01-04  Martin Jambor  <mjambor@suse.cz>
11958
11959         PR tree-optimization/42366
11960         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
11961         edges with variable number of parameters.
11962         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
11963         flag instead of asserting it.
11964         (ipa_read_node_info): Read uses_analysis_done flag.
11965
11966 2010-01-04  Richard Guenther  <rguenther@suse.de>
11967
11968         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
11969         iterative_hash_* as intended.
11970         (vn_reference_compute_hash): Likewise.  Simplify hashing
11971         SSA names.
11972         (vn_reference_lookup_2): Likewise.
11973         (vn_nary_op_compute_hash): Likewise.
11974         (vn_phi_compute_hash): Likewise.
11975         (expressions_equal_p): Remove strange code.
11976         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
11977         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
11978         (bitmap_insert_into_set_1): Take value-id as parameter.
11979         (add_to_value): Pass it.
11980         (bitmap_insert_into_set): Likewise.
11981         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
11982
11983 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
11984
11985         PR driver/42442
11986         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
11987         (do_self_spec): For switches with SWITCH_IGNORE set set also
11988         SWITCH_IGNORE_PERMANENTLY.
11989         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
11990         of SWITCH_IGNORE.
11991
11992 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
11993
11994         * lto-streamer-out.c (output_unreferenced_globals): Output the full
11995         tree of an unreferenced global var.
11996
11997 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
11998
11999         PR target/42542
12000         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
12001         GTU to GT for V4SI and V2DI.
12002
12003         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
12004         (umin<mode>3): Removed.
12005         (uminv8hi3): New.
12006         (uminv4si3): Likewise.
12007
12008 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
12009
12010         PR lto/42581
12011         * collect2.c (main): Turn on trace in collect2 if -v is passed
12012         to gcc with LTO.
12013
12014 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
12015
12016         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
12017         description of expression operand.
12018
12019 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
12020
12021         * configure.ac: Add install-html to target_list for Make-hooks.
12022         * configure: Regenerate.
12023         * fortran/Make-lang.in (F95_HTMLFILES): New.
12024         (fortran.html): Use it.
12025         (fortran.install-html): New.
12026         * Makefile.in (install-html): Add lang.install-html.
12027         * java/Make-lang.in (JAVA_HTMLFILES): New.
12028         (java.html): Use it.
12029         (java.install-html): New.
12030         * objc/Make-lang.in (objc.install-html): New.
12031         * objcp/Make-lang.in (obj-c++.install-html): New.
12032         * cp/Make-lang.in (c++.install-html): New.
12033         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
12034         * lto/Make-lang.in (lto.install-html): New.
12035
12036 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
12037
12038         PR lto/42520
12039         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
12040
12041 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
12042
12043         PR rtl-optimization/41862
12044         * store-motion.c (store_killed_in_insn, compute_store_table,
12045         remove_reachable_equiv_notes, replace_store_insn,
12046         build_store_vectors): Ignore all DEBUG_INSNs.
12047
12048 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
12049
12050         PR lto/41564
12051         * common.opt: Add dumpdir.
12052
12053         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
12054         isn't specified.
12055         (option_map): Add --dumpdir.
12056
12057         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
12058
12059         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
12060
12061         * opts.c (decode_options): Try dump_dir_name first if
12062         dump_base_name isn't an absolute path.
12063         (common_handle_option): Handle OPT_dumpdir.
12064
12065         * toplev.c (dump_dir_name): New.
12066         (print_switch_values): Also ignore -dumpdir.
12067
12068         * toplev.h (dump_dir_name): New.
12069
12070 2010-01-03  Richard Guenther  <rguenther@suse.de>
12071
12072         PR tree-optimization/42589
12073         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
12074         double-word expansion of bswap32.
12075
12076 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
12077
12078         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
12079         with BLOCK_FOR_INSN.
12080         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
12081         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
12082         noce_process_if_block): Likewise.
12083         * gcse.c (compute_local_properties, insert_expr_in_table,
12084         insert_set_in_table, canon_list_insert, find_avail_set,
12085         pre_insert_copy_insn): Likewise.
12086
12087         * basic-block.h (BLOCK_NUM): Move from here...
12088         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
12089
12090 2010-01-03  Richard Guenther  <rguenther@suse.de>
12091
12092         PR tree-optimization/42438
12093         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
12094         contains_may_not_return_call flag.
12095         (BB_MAY_NOTRETURN): New.
12096         (valid_in_sets): Trapping nary operations are not valid
12097         in blocks that may not return.
12098         (insert_into_preds_of_block): Remove check for trapping expressions.
12099         (compute_avail): Compute also BB_MAY_NOTRETURN.
12100
12101 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
12102
12103         * doc/invoke.texi: Add 2010 to copyright years.
12104
12105 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
12106
12107         * config/sparc/sparc.c: Fix formatting nits.
12108
12109 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
12110             Alexander Monakov  <amonakov@ispras.ru>
12111
12112         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
12113
12114 2010-01-02  Richard Guenther  <rguenther@suse.de>
12115
12116         PR middle-end/42577
12117         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
12118         (simplify_switch_using_ranges): Mark to be removed edges
12119         as non-executable.
12120
12121 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12122
12123         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
12124
12125         * collect2.c (scan_libraries): Add missing argument in call to
12126         scan_prog_file.
12127
12128 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
12129
12130         PR target/42448
12131         * config/alpha/predicates.md (aligned_memory_operand): Return false
12132         for CQImode.
12133         (unaligned_memory_operand): Return true for CQImode.
12134         * config/alpha/alpha.c (get_aligned_mem): Assert that location
12135         doesn not cross aligned SImode word boundary.
12136
12137 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
12138
12139         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
12140         Remove.
12141         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
12142         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
12143
12144 2010-01-02  Richard Guenther  <rguenther@suse.de>
12145
12146         PR lto/41597
12147         * toplev.c (compile_file): Emit LTO marker properly.  Change
12148         it to __gnu_lto_v1.
12149         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
12150
12151 2010-01-01  Richard Guenther  <rguenther@suse.de>
12152
12153         PR debug/42455
12154         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
12155
12156 2010-01-01  Richard Guenther  <rguenther@suse.de>
12157
12158         PR c/42570
12159         * c-decl.c (grokdeclarator): For zero-size arrays force
12160         structural equality checks as layout_type does.
12161
12162 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
12163
12164         * builtins.c: Update copyright to 2010.
12165
12166 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
12167
12168         PR lto/42531
12169         * lto-streamer-out.c (produce_asm): Revert the last change.
12170         (copy_function): Likewise.
12171
12172         * lto-streamer.c (lto_get_section_name): Skip any leading
12173         asterisk in name.
12174
12175 2010-01-01  Richard Guenther  <rguenther@suse.de>
12176
12177         PR middle-end/42559
12178         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
12179         for LABEL_DECLs.
12180
12181 \f
12182 Copyright (C) 2010 Free Software Foundation, Inc.
12183
12184 Copying and distribution of this file, with or without modification,
12185 are permitted in any medium without royalty provided the copyright
12186 notice and this notice are preserved.