OSDN Git Service

Do not create the temporary array for reductions into VAR_DECL, PARM_DECL, and RESULT...
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2
3         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
4         VAR_DECL, PARM_DECL, and RESULT_DECL.
5
6 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
7
8         * graphite-dependences.c (reduction_dr_1): Allow several reductions
9         in a reduction PBB.
10         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
11         that have already been marked as PBB_IS_REDUCTION.
12
13 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
14
15         * graphite-scop-detection.c (same_close_phi_node): New.
16         (remove_duplicate_close_phi): New.
17         (make_close_phi_nodes_unique): New.
18         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
19
20 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
21
22         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
23         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
24         of both data references to be the same.
25
26 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
27
28         * graphite-dependences.c (build_lexicographical_constraint): Remove the
29         gdim parameter.
30         (build_lexicographical_constraint): Adjust call to ppl_powerset_is_empty.
31         (dependence_polyhedron): Same.
32         (graphite_legal_transform_dr): Same.
33         (graphite_carried_dependence_level_k): Same.
34         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params parameter.
35         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
36
37 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
38
39         * graphite-sese-to-poly.c
40         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
41         (close_phi_written_to_memory): New.
42         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
43         and unshare_expr.
44
45 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
46
47         * doc/install.texi: Update the expected version number of PPL to 0.11.
48         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
49         #if PPL_VERSION_MINOR < 11.
50
51 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
52
53         * graphite-dependences.c: Include graphite-cloog-util.h.
54         (new_poly_ddr): Inlined into dependence_polyhedron.
55         (free_poly_ddr): Moved close by new_poly_ddr.
56         (dependence_polyhedron_1): Renamed dependence_polyhedron.
57         Early return NULL when ppl_powerset_is_empty returns true.
58         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
59         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
60         (graphite_legal_transform_dr): Call new_poly_ddr.
61         (graphite_carried_dependence_level_k): Same.
62         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
63         (dot_transformed_deps_stmt_1): Removed.
64         (dot_deps_stmt_1): Call dot_deps_stmt_2.
65         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
66         (dot_deps_1): Call dot_deps_2.
67         * Makefile.in (graphite-dependences.o): Add missing dependence on
68         graphite-cloog-util.h.
69
70 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
71
72         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
73         (build_lexicographical_constraint): Same.
74         (dependence_polyhedron_1): Same.
75         (graphite_legal_transform_dr): Same.
76         (graphite_carried_dependence_level_k): Same.
77         * graphite-ppl.c (ppl_powerset_is_empty): New.
78         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
79         * tree-data-ref.c (dump_data_reference): Print the basic block index.
80
81 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
82
83         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
84         the "a followed by b" relation and document it.
85
86 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
87
88         * graphite-dependences.c (build_lexicographical_constraint): Stop the
89         iteration when the bag of constraints is empty.
90
91 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
92
93         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
94
95 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
96
97         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
98         nest and two loop depths as parameters.
99         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
100         lst_perfect_nestify.
101
102 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
103
104         * graphite-dependences.c (print_pddr): Call
105         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
106
107 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
108
109         * graphite-ppl.c (debug_gmp_value): New.
110         * graphite-ppl.h (debug_gmp_value): Declared.
111
112 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
113
114         * doc/install.texi: Document availability of cloog-0.16.
115
116 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
117
118         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
119         invalid postdominance info.
120
121 2011-01-24  Jan Hubicka  <jh@suse.cz>
122
123         PR c/21659
124         * doc/extend.texi (weak pragma): Drop claim that it must
125         appear before definition.
126         * varasm.c (merge_weak, declare_weak): Only sanity check
127         that DECL is not output at a time it is declared weak.
128
129 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
130
131         * machmode.def: Fixed comments.
132
133 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
134
135         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
136
137 2011-01-24  Paul Koning  <ni1d@arrl.net>
138
139         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
140         WORDS_BIG_ENDIAN.
141
142 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
143
144         PR target/46519
145         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
146         (block_info): Add scanned and prev.
147         (move_or_delete_vzeroupper_2): Return if the basic block
148         has been scanned and the upper 128bit state is unchanged
149         from the last scan.
150         (move_or_delete_vzeroupper_1): Return true if the exit
151         state is changed.
152         (move_or_delete_vzeroupper): Visit basic blocks using the
153         work-list based algorithm based on vt_find_locations in
154         var-tracking.c.
155
156         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
157
158 2011-01-24  Nick Clifton  <nickc@redhat.com>
159
160         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
161         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
162         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
163         then define __v850e1__.
164         * doc/invoke.texi: Document -mv850es.
165
166 2011-01-24  Richard Henderson  <rth@redhat.com>
167
168         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
169         compound unordered comparisons.
170         * config/rx/rx.c (rx_split_fp_compare): Remove.
171         * config/rx/rx-protos.h: Update.
172         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
173         (cbranchsf4): Don't call rx_split_fp_compare.
174         (*cbranchsf4): Use rx_split_cbranch.
175         (*cmpsf): Don't accept "i" constraint.
176         (*conditional_branch): Only valid after reload.
177         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
178
179 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
180
181         PR target/47385
182         * config/rs6000/altivec.md (vector constant splitters): Add
183         support for creating vector single precision constants if -mvsx is
184         used and we would create the constant using Altivec primitives.
185
186 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
187             Richard Sandiford  <rdsandiford@googlemail.com>
188
189         PR rtl-optimization/47166
190         * reload1.c (emit_reload_insns): Disable the spill_reg_store
191         mechanism for PRE_MODIFY and POST_MODIFY.
192         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
193         reloadreg.
194
195 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
196
197         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
198
199 2011-01-22  Jan Hubicka  <jh@suse.cz>
200
201         PR lto/47333
202         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
203
204 2011-01-22  Jan Hubicka  <jh@suse.cz>
205
206         PR tree-optimization/43884
207         PR lto/44334
208         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
209         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
210
211 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
212
213         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
214         * config/s390/s390.c (s390_register_move_cost,
215         s390_memory_move_cost): New.
216         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
217
218 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
219
220         PR middle-end/47401
221         * except.c (sjlj_assign_call_site_values): Move setting the
222         crtl->uses_eh_lsda flag to ...
223         (sjlj_mark_call_sites): ... here.
224         (sjlj_emit_function_enter): Support NULL dispatch label.
225         (sjlj_build_landing_pads): In a function with no landing pads
226         that still has must-not-throw regions, generate code to register
227         a personality function with empty LSDA.
228
229 2011-01-21  Richard Henderson  <rth@redhat.com>
230
231         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
232
233         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
234
235         * compare-elim.c: New file.
236         * Makefile.in (OBJS-common): Add it.
237         (compare-elim.o): New.
238         * common.opt (fcompare-elim): New.
239         * opts.c (default_options_table): Add OPT_fcompare_elim.
240         * tree-pass.h (pass_compare_elim_after_reload): New.
241         * passes.c (init_optimization_passes): Add it.
242         * recog.h: Protect against re-inclusion.
243         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
244         * doc/invoke.texi (-fcompare-elim): Document it.
245         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
246         * doc/tm.texi: Rebuild.
247
248 2011-01-22  Nick Clifton  <nickc@redhat.com>
249
250         * config/rx/rx.md (cstoresf4): Pass comparison operator to
251         rx_split_fp_compare.
252
253 2011-01-22  Nick Clifton  <nickc@redhat.com>
254
255         * config/rx/rx.md (UNSPEC_CONST): New.
256         (deallocate_and_return): Wrap the amount popped off the stack in
257         an UNSPEC_CONST in order to stop it being rejected by
258         -mmax-constant-size.
259         (pop_and_return): Add a "(return)" rtx.
260         (call): Drop the immediate operand.
261         (call_internal): Likewise.
262         (call_value): Likewise.
263         (call_value_internal): Likewise.
264         (sibcall_internal): Likewise.
265         (sibcall_value_internal): Likewise.
266         (sibcall): Likewise.  Generate an explicit call using
267         sibcall_internal.
268         (sibcall_value): Likewise.
269         (mov<>): FAIL if a constant operand is not legitimate.
270         (addsi3_unpsec): New pattern.
271
272         * config/rx/rx.c (rx_print_operand_address): Handle UNPSEC
273         CONSTs.
274         (ok_for_max_constant): New function.
275         (gen_safe_add): New function.
276         (rx_expand_prologue): Use gen_safe_add.
277         (rx_expand_epilogue): Likewise.
278         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
279         UNSPEC CONSTs.
280
281 2011-01-21  Jeff Law  <law@redhat.com>
282
283         PR tree-optimization/47053
284         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
285         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
286         statements are deleted.
287         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
288         is nonempty, then purge dead edges and cleanup the CFG.
289
290 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
291
292         PR debug/47402
293         Temporarily revert:
294         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
295         PR debug/47106
296         * tree-dfa.c (create_var_ann): Mark variable as used.
297
298 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
299
300         PR middle-end/45566
301         * except.c (convert_to_eh_region_ranges): Emit queued no-region
302         notes from other section in hot/cold partitioning even if
303         last_action is -3.  Increment call_site_base.
304
305         PR rtl-optimization/47366
306         * fwprop.c (forward_propagate_into): Return bool.  If
307         any changes are made, -fnon-call-exceptions is used and
308         REG_EH_REGION note is present, call purge_dead_edges
309         and return true if it purged anything.
310         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
311         any EH edges were purged.
312
313 2011-01-21  Jeff Law  <law@redhat.com>
314
315         PR rtl-optimization/41619
316         * caller-save.c (setup_save_areas): Break out code to determine
317         which hard regs are live across calls by examining the reload chains
318         so that it is always used.
319         Eliminate code which checked REG_N_CALLS_CROSSED.
320
321 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
322
323         PR tree-optimization/47355
324         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
325         NOP has non-debug uses beyond PHIs in new_bb.
326
327 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
328
329         PR debug/47106
330         * cfgexpand.c (account_used_vars_for_block): Only account vars
331         that are annotated as used.
332         (estimated_stack_frame_size): Don't set TREE_USED.
333         * tree-dfa.c (create_var_ann): Mark variable as used.
334
335 2011-01-21  Richard Guenther  <rguenther@suse.de>
336
337         PR middle-end/47395
338         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
339
340 2011-01-21  Richard Guenther  <rguenther@suse.de>
341
342         PR tree-optimization/47365
343         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
344         (vn_reference_lookup_pieces): Adjust.
345         (vn_reference_lookup): Likewise.
346         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
347         (vn_reference_lookup_3): Only look through kills if in
348         VN_WALKREWRITE mode.
349         (vn_reference_lookup_pieces): Adjust.
350         (vn_reference_lookup): Likewise.
351         (visit_reference_op_load): Likewise.
352         (visit_reference_op_store): Likewise.
353         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
354         (compute_avail): Likewise.
355         (eliminate): Likewise.
356
357 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
358
359         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
360         DECL_IGNORED_P non-reg vars if they are used.
361
362         PR tree-optimization/47391
363         * varpool.c (const_value_known_p): Return false if
364         decl is volatile.
365
366 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
367
368         PR bootstrap/47215
369         * config/i386/i386.c (ix86_local_alignment): Handle
370         case for va_list_type_node is nil.
371         (ix86_canonical_va_list_type): Likewise.
372
373 2011-01-21  Alan Modra  <amodra@gmail.com>
374
375         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
376         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
377
378 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
379
380         * config/arm/arm.md (define_attr type): Rename f_load
381         and f_store to f_fpa_load and f_fpa_store. Update.
382         (write_conflict): Deal with rename fallout.
383         (*push_fp_multi): Likewise.
384         * config/arm/fpa.md (f_load): Use f_fpa_load.
385         (f_store): Use f_fpa_store.
386         (*movsf_fpa): Likewise.
387         (*movdf_fpa): Likewise.
388         (*movxf_fpa): Likewise.
389         (*thumb2_movsf_fpa): Likewise.
390         (*thumb2_movdf_fpa): Likewise.
391         (*thumb2_movxf_fpa): Likewise.
392         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
393         f_loadd and f_stored.
394         (*thumb2_movdi_vfp): Likewise.
395         (*thumb2_movsf_vfp): Fix attribute to f_loads.
396         (*thumb2_movsi_vfp): Likewise.
397         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
398         Use f_loads instead of f_load.
399         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
400
401 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
402
403         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
404         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
405         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
406         (xtensa_mode_dependent_address_p): New function.
407         (constantpool_address_p): Make static. Change return type to bool.
408         Change argument type to const_rtx. Use CONST_INT_P predicate.
409
410 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
411
412         PR debug/46583
413         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
414
415 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
416
417         PR debug/47283
418         * cfgexpand.c (expand_debug_expr): Instead of generating
419         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
420         etc. handling.
421
422 2011-01-20  Richard Guenther  <rguenther@suse.de>
423
424         PR middle-end/47370
425         * tree-inline.c (remap_gimple_op_r): Recurse manually for
426         the pointer operand of MEM_REFs.
427
428 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
429
430         PR tree-optimization/46130
431         * ipa-split.c (consider_split): If return_bb contains non-virtual
432         PHIs other than for retval or if split_function would not adjust it,
433         refuse to split.
434
435 2011-01-20  Richard Guenther  <rguenther@suse.de>
436
437         PR tree-optimization/47167
438         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
439         Revert previous change, only avoid enumeral type changes.
440
441 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
442
443         PR c++/47291
444         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
445         (gen_scheduled_generic_parms_dies): New functions.
446         (gen_struct_or_union_type_die): Schedule template parameters DIEs
447         generation for the end of CU compilation.
448         (dwarf2out_finish): Generate template parameters DIEs here.
449
450 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
451
452         PR debug/46240
453         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
454         debug bind stmt on merge edges.
455
456 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
457
458         PR debug/47079
459         PR debug/46724
460         * function.c (instantiate_expr): Instantiate incoming rtl of
461         implicit arguments, and recurse on VALUE_EXPRs.
462         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
463         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
464
465 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
466
467         * c-parser.c (c_parser_for_statement): Initialize
468         collection_expression.
469
470 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
471
472         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
473
474 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
475
476         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
477         (LINK_SHLIB_SPEC): Don't use %(link_path).
478         (SUBTARGET_EXTRA_SPECS): Remove link_path.
479
480 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
481
482         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
483         (NO_SHARED_LIB_SUPPORT): Remove.
484         (LINK_SHLIB_SPEC): Remove one conditional definition.
485
486 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
487
488         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
489         %{call_shared}.
490         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
491         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
492         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
493         %{call_shared} and conditionals on these options not being passed.
494         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
495         %{call_shared}.
496
497 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
498
499         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
500         simplify.
501
502         * ipa-split.c: Spelling fixes.
503
504 2011-01-19  Richard Henderson  <rth@redhat.com>
505
506         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
507         (*mulsi3): Likewise.
508
509         * longlong.h [__mn10300__] (count_leading_zeros): New.
510         [__mn10300__] (umul_ppmm, smul_ppmm): New.
511         [__mn10300__] (add_ssaaaa, subddmmss): New.
512         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
513         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
514
515 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
516
517         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
518
519 2011-01-19  Richard Henderson  <rth@redhat.com>
520
521         * config/mn10300/mn10300.md (addsi3_flags): New.
522         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
523         (subsi3_flags, subc_internal, subdi3): New.
524         (subdi3_internal, *subdi3_degenerate): New.
525         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
526
527         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
528         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
529         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
530         * config/mn10300/mn10300-protos.h: Update.
531         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
532         (return_ret): Likewise.  Rename from return_internal_regs.
533         (return_internal): Remove.
534
535         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
536         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
537         (mn10300_legitimate_constant_p): Likewise.
538         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
539         (mn10300_frame_size): New.
540         (mn10300_expand_prologue): Use it.
541         (mn10300_expand_epilogue): Likewise.
542         (mn10300_initial_offset): Likewise.
543         * config/mn10300/mn10300-protos.h: Update.
544         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
545         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
546         (prologue, epilogue, return_internal): Tidy output code.
547         (mn10300_store_multiple_operation, return): Likewise.
548         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
549         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
550         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
551         (load_pic, am33_load_pic): New.
552         (mn10300_load_pic0, mn10300_load_pic1): New.
553
554         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
555         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
556         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
557         (cc_flags_for_mode, cc_flags_for_code): New.
558         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
559         overflow flag is not valid.  Validate that the flags we need
560         for the comparison are valid.
561         (mn10300_output_cmp): Remove.
562         (mn10300_output_add): New.
563         (mn10300_select_cc_mode): Use cc_flags_for_code.
564         (mn10300_split_cbranch): New.
565         (mn10300_match_ccmode): New.
566         (mn10300_split_and_operand_count): New.
567         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
568         to the function.
569         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
570         (addsi3): ... here.  Use mn10300_output_add.
571         (*addsi3_flags): New.
572         (*am33_subsi3, *mn10300_subsi3): Merge...
573         (subsi3): ... here.  Use attribute isa.
574         (*subsi3_flags): New.
575         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
576         when possible.
577         (*am33_andsi3, *mn10300_andsi3): Merge...
578         (andsi3): ... here.
579         (*andsi3_flags): New.
580         (andsi3 splitters): New.
581         (*am33_iorsi3, *mn10300_iorsi3): Merge...
582         (iorsi3): ... here.
583         (*iorsi3_flags): New.
584         (*am33_xorsi3, *mn10300_xorsi3): Merge...
585         (xorsi3): ... here.
586         (*xorsi3_flags): New.
587         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
588         (one_cmplsi2): ... here.
589         (*one_cmplsi2_flags): New.
590         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
591         instead of "dax" in constraints.  Use mn10300_split_cbranch.
592         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
593         use matching constraints to eliminate a self-comparison.
594         (*integer_conditional_branch): Rename from integer_conditional_branch.
595         Use int_mode_flags to match CC_REG.
596         (*cbranchsi4_btst, *btstsi): New.
597         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
598         mn10300_split_cbranch.
599         (*am33_cmpsf): Rename from am33_cmpsf.
600         (*float_conditional_branch): Rename from float_conditional_branch.
601         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
602         (zero_extendqisi2): ... here.
603         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
604         (zero_extendhisi2): ... here.
605         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
606         (extendqisi2): ... here.
607         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
608         (extendhisi2): ... here.
609         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
610         (ashlsi3): ... here.
611         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
612         (lshrsi3): ... here.
613         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
614         (ashrsi3): ... here.
615         (consecutive add peephole): Remove.
616         * config/mn10300/predicates.md (label_ref_operand): New.
617         (int_mode_flags): New.
618         (CCZN_comparison_operator): New.
619
620         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
621         (throughput_42_latency_43): New reservation.
622         (mulsidi3, umulsidi3): New expanders.
623         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
624         the MDR register to allocation; separately allocate the low and
625         high parts of the DImode result.
626         (umulsidi3_internal): Similarly.
627         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
628         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
629         (udivsi3, umodsi3): Remove.
630         (udivmodsi4, divmodsi4): New expanders.
631         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
632         (*divmodsi4): Simiarly.
633         (ext_internal): New.
634
635         * config/mn10300/constraints.md ("z"): New constraint.
636         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
637         (FIXED_REGISTERS): Don't fix MDR.
638         (CALL_USED_REGSITERS): Reformat nicely.
639         (REG_ALLOC_ORDER): Add MDR.
640         (enum regclass): Add MDR_REGS.
641         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
642         (IRA_COVER_CLASSES): Add MDR_REGS.
643         (REGNO_REG_CLASS): Handle MDR_REG.
644         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
645         (mn10300_register_move_cost): Likewise.
646         * config/mn10300/mn10300.md (MDR_REG): New.
647         (*movsi_internal): Handle moves to/from MDR_REGS.
648
649         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
650         POST_MODIFY.
651         (mn10300_secondary_reload): Tidy combination reload classes.
652         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
653         addresses for AM33.  Allow symbolic offsets for reg+imm.
654         (mn10300_regno_in_class_p): New.
655         (mn10300_legitimize_reload_address): New.
656         * config/mn10300/mn10300.h (enum reg_class): Remove
657         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
658         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
659         SP_OR_GENERAL_REGS.
660         (REG_CLASS_NAMES): Update to match.
661         (REG_CLASS_CONTENTS): Likewise.
662         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
663         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
664         (REGNO_IN_RANGE_P): Remove.
665         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
666         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
667         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
668         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
669         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
670         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
671         (REGNO_GENERAL_P): New.
672         (HAVE_POST_MODIFY_DISP): New.
673         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
674         (LEGITIMIZE_RELOAD_ADDRESS): New.
675         * config/mn10300/mn10300-protos.h: Update.
676
677         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
678         DATA_REGS for AM33 stack-pointer destination.
679         (mn10300_preferred_output_reload_class): Likewise.
680         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
681         into a form appropriate for ...
682         (TARGET_SECONDARY_RELOAD): New.
683         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
684         * config/mn10300/mn10300-protos.h: Update.
685         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
686         reload_insi; use the "A" constraint for the scratch; handle AM33
687         moves of sp to non-address registers.
688
689         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
690         (*movqi_internal): ... here.
691         (*am33_movhi, *mn10300_movhi): Merge into...
692         (*movhi_internal): ... here.
693         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
694         as the source/destination of moves from/to SP.
695         (movsf): Only allow for AM33-2.
696         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
697         any integer constant constraint.  Only allow for AM33-2.  Tidy
698         all of the alternative outputs.
699         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
700         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
701         for MN103.
702         (udivsi3, umodsi3): New patterns for MN103 only.
703
704 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
705
706         * doc/tm.texi.in: Spell out that a lack of register class unions
707         can lead to ICEs.
708         * doc/tm.texi: Regenerate.
709
710 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
711
712         PR rtl-optimization/47337
713         * dce.c (check_argument_store): New function.
714         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
715
716         PR tree-optimization/47290
717         * tree-eh.c (infinite_empty_loop_p): New function.
718         (cleanup_empty_eh): Use it.
719
720 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
721
722         PR target/46997
723         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
724         (a64_expand_widen_sum): Ditto.
725         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
726         (vec_extract_evenodd_help): Ditto.
727         (vec_extract_evenv4hi): Ditto.
728         (vec_extract_oddv4hi): Ditto.
729         (vec_extract_evenv2si): Ditto.
730         (vec_extract_oddv2si): Ditto.
731         (vec_extract_evenv2sf): Ditto.
732         (vec_extract_oddv2sf): Ditto.
733         (vec_pack_trunc_v4hi: Ditto.
734         (vec_pack_trunc_v2si): Ditto.
735         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
736         (vec_interleave_highv8qi): Ditto.
737         (mix1_r): Ditto.
738         (vec_extract_oddv8qi): Ditto.
739         (vec_interleave_lowv4hi): Ditto.
740         (vec_interleave_highv4hi): Ditto.
741         (vec_interleave_lowv2si): Ditto.
742         (vec_interleave_highv2si): Ditto.
743
744 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
745
746         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
747         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
748         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
749         (pa_c_mode_for_suffix): New.
750         (TARGET_EXPAND_BUILTIN): Define.
751         (TARGET_C_MODE_FOR_SUFFIX): Define.
752         (pa_builtins): Define.
753         (pa_init_builtins): Register __float128 type and init new support
754         builtins.
755         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
756         * config/pa/quadlib.c (_U_Qfcopysign): New.
757
758 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
759
760         PR middle-end/46894
761         * explow.c (allocate_dynamic_stack_space): Do not assume more than
762         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
763         are defined.
764
765 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
766
767         PR tree-optimization/47179
768         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
769         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
770
771 2011-01-18  Richard Guenther  <rguenther@suse.de>
772
773         PR rtl-optimization/47216
774         * emit-rtl.c: Include tree-flow.h.
775         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
776         of replicating it with different semantics.
777         * Makefile.in (emit-rtl.o): Adjust.
778
779 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
780
781         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually
782         include.
783         (cortex_a9_dp): Handle neon types correctly.
784
785 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
786
787         PR rtl-optimization/47299
788         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
789         subtarget.  Use normal multiplication if both operands are
790         constants.
791         * expmed.c (expand_widening_mult): Don't try to optimize constant
792         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
793         before using it.
794
795 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
796
797         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
798         spacing after 'e.g.', typos, comma, hyphenation.
799
800 2011-01-17  Richard Henderson  <rth@redhat.com>
801
802         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
803         (rx_restricted_mem_operand): New.
804         (rx_shift_operand): Use register_operand.
805         (rx_source_operand, rx_compare_operand): Likewise.
806         * config/rx/rx.md (addsi3_flags): New expander.
807         (adddi3): Rewrite as expander.
808         (adc_internal, *adc_flags, adddi3_internal): New patterns.
809         (subsi3_flags): New expander.
810         (subdi3): Rewrite as expander.
811         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
812
813         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
814         (rx_init_builtins): Remove sat builtin.
815         (rx_expand_builtin): Likewise.
816         * config/rx/rx.md (ssaddsi3): New.
817         (*sat): Rename from sat.  Represent the CC_REG input.
818
819         * config/rx/predicates.md (rshift_operator): New.
820         * config/rx/rx.c (rx_expand_insv): Remove.
821         * config/rx/rx-protos.h: Update.
822         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
823         operand to the canonical position.
824         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
825         (*bitclr, *bitclr_in_memory): Similarly.
826         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
827         (insv): Retain the zero_extract in the expansion.
828
829         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
830         (bswaphi2, bitinvert, revw): Likewise.
831
832         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
833         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
834         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
835         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
836         (bitset, bitset_in_memory): Likewise.
837         (bitinvert, bitinvert_in_memory): Likewise.
838         (bitclr, bitclr_in_memory): Likewise.
839         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
840         (rx_strend, rx_cmpstrn): Likewise.
841         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
842         (bitop peep2 patterns): Remove.
843
844         * config/rx/rx.c (rx_match_ccmode): New.
845         * config/rx/rx-protos.h: Update.
846         * config/rx/rx.md (abssi2): Clobber, don't set flags.
847         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
848         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
849         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
850         (fix_truncsfsi2, floatsisf2): Likewise.
851         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
852         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
853         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
854         (*subsi3_flags, *xorsi3_flags): New.
855
856         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
857
858         * config/rx/rx.c (rx_print_operand): Remove workaround for
859         unsplit comparison operations.
860
861         * config/rx/rx.md (movsicc): Split after reload.
862         (*movsicc): Merge *movsieq and *movsine via match_operator.
863         (*stcc): New pattern.
864
865         * config/rx/rx.c (rx_float_compare_mode): Remove.
866         * config/rx/rx.h (rx_float_compare_mode): Remove.
867         * config/rx/rx.md (cstoresi4): Split after reload.
868         (*sccc): New pattern.
869
870         * config/rx/predicates.md (label_ref_operand): New.
871         (rx_z_comparison_operator): New.
872         (rx_zs_comparison_operator): New.
873         (rx_fp_comparison_operator): New.
874         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
875         Validate that the flags are set properly for the comparison.
876         (rx_gen_cond_branch_template): Remove.
877         (rx_cc_modes_compatible): Remove.
878         (mode_from_flags): New.
879         (flags_from_code): Rename from flags_needed_for_conditional.
880         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
881         (rx_select_cc_mode): Likewise.
882         (rx_split_fp_compare): New.
883         (rx_split_cbranch): New.
884         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
885         (*cbranchsi4): Use match_operator and rx_split_cbranch.
886         (*cbranchsf4): Similarly.
887         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
888         match_operator and rx_split_cbranch.
889         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
890         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
891         (*cmpsi): Rename from cmpsi.
892         (*tstsi): Rename from tstsi.
893         (*cmpsf): Rename from cmpsf; use CC_Fmode.
894         (*conditional_branch): Rename from conditional_branch.
895         (*reveresed_conditional_branch): Remove.
896         (b<code>): Remove expander.
897         * config/rx/rx-protos.h: Update.
898
899         * config/rx/rx.c (rx_compare_redundant): Remove.
900         * config/rx/rx.md (cmpsi): Don't use it.
901         * config/rx/rx-protos.h: Update.
902
903         * config/rx/rx-modes.def (CC_F): New mode.
904         * config/rx/rx.c (rx_select_cc_mode): New.
905         * config/rx/rx.h (SELECT_CC_MODE): Use it.
906         * config/rx/rx-protos.h: Update.
907
908 2011-01-17  Richard Henderson  <rth@redhat.com>
909
910         * except.c (dump_eh_tree): Fix stray ; after for statement.
911
912 2011-01-17  Richard Guenther  <rguenther@suse.de>
913
914         PR tree-optimization/47313
915         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
916         handling before copying the body.  Properly deal with
917         by-reference result in SSA form.
918
919 2011-01-17  Ian Lance Taylor  <iant@google.com>
920
921         PR target/47219
922         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
923         (struct_value_alias_set): Don't define.
924         (sparc_option_override): Don't set sparc_sr_alias_set and
925         struct_value_alias_set.
926         (save_or_restore_regs): Use gen_frame_mem rather than calling
927         set_mem_alias_set.
928         (sparc_struct_value_rtx): Likewise.
929
930 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
931
932         PR target/47318
933         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
934         __m128i.
935         (_mm_maskstore_pd): Likewise.
936         (_mm_maskload_ps): Likewise.
937         (_mm_maskstore_ps): Likewise.
938         (_mm256_maskload_pd): Change mask to __m256i.
939         (_mm256_maskstore_pd): Likewise.
940         (_mm256_maskload_ps): Likewise.
941         (_mm256_maskstore_ps): Likewise.
942
943         * config/i386/i386-builtin-types.def: Updated.
944         (ix86_expand_special_args_builtin): Likewise.
945
946         * config/i386/i386.c (bdesc_special_args): Update
947         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
948         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
949         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
950         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
951
952         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
953         Use <avxpermvecmode> on mask register.
954         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
955
956 2011-01-17  Olivier Hainque  <hainque@adacore.com>
957             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
958             Eric Botcazou  <ebotcazou@adacore.com>
959
960         PR target/46655
961         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
962         if <= USHRT_MAX in 32-bit mode.
963
964 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
965
966         * doc/install.texi (Configuration, Specific): Wrap long
967         lines in examples.  Allow line wrapping in long options
968         and URLs where beneficial for PDF output.
969
970 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
971
972         * config/mips/mips.c (mips_classify_symbol): Don't return
973         SYMBOL_PC_RELATIVE for nonlocal labels.
974
975 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
976
977         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
978
979 2011-01-15  Jan Hubicka  <jh@suse.cz>
980
981         PR tree-optimization/47276
982         * ipa.c (function_and_variable_visibility): Do not try to mark alias
983         declarations as needed.
984
985 2011-01-15  Martin Jambor  <mjambor@suse.cz>
986
987         * common.opt (fdevirtualize): New flag.
988         * doc/invoke.texi (Option Summary): Document it.
989         * opts.c (default_options_table): Add devirtualize flag.
990         * ipa-prop.c (detect_type_change): Return immediately if
991         devirtualize flag is not set.
992         (detect_type_change_ssa): Likewise.
993         (compute_known_type_jump_func): Likewise.
994         (ipa_analyze_virtual_call_uses): Likewise.
995
996 2011-01-14  Martin Jambor  <mjambor@suse.cz>
997
998         PR tree-optimization/45934
999         PR tree-optimization/46302
1000         * ipa-prop.c (type_change_info): New type.
1001         (stmt_may_be_vtbl_ptr_store): New function.
1002         (check_stmt_for_type_change): Likewise.
1003         (detect_type_change): Likewise.
1004         (detect_type_change_ssa): Likewise.
1005         (compute_complex_assign_jump_func): Check for dynamic type change.
1006         (compute_complex_ancestor_jump_func): Likewise.
1007         (compute_known_type_jump_func): Likewise.
1008         (compute_scalar_jump_functions): Likewise.
1009         (ipa_analyze_virtual_call_uses): Likewise.
1010         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
1011
1012 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1013
1014         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
1015         * config/i386/i386.opt (msse5): New Alias.
1016
1017 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1018
1019         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
1020         * config/sparc/linux64.h (CC1_SPEC): Likewise.
1021         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
1022         * config/sparc/sparc.h (CC1_SPEC): Likewise.
1023
1024 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1025
1026         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
1027         -mcpu options.
1028         * config/sparc/linux64.h (CC1_SPEC): Likewise.
1029         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
1030         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
1031         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
1032         Likewise.
1033         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
1034
1035 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1036
1037         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or
1038         -fvec-eabi.
1039
1040 2011-01-14  Mike Stump  <mikestump@comcast.net>
1041
1042         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
1043         * config/fr30/fr30.md: Likweise
1044         (movsi_push): Likewise.
1045         (movsi_pop): Likewise.
1046         (enter_func): Likewise.
1047         * config/moxie/moxie.md (movsi_push): Likewise.
1048         (movsi_pop): Likewise.
1049
1050 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1051
1052         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
1053         %{no_archive} %{exact_version}.
1054         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
1055         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
1056         %{no_archive} %{exact_version}.
1057         * config/mips/openbsd.h (LINK_SPEC): Likewise.
1058         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
1059         * config/mips/vxworks.h: Likewise.
1060
1061 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1062
1063         * config/microblaze/microblaze.h (ASM_SPEC): Remove
1064         %{microblaze1}.
1065
1066 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1067
1068         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
1069         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
1070
1071 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1072
1073         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
1074         -nodefaultlib.
1075
1076 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1077
1078         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
1079         for mcpu not cpu.
1080         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
1081         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
1082         not cpu.
1083         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
1084         Don't handle -shlib.
1085
1086 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1087
1088         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
1089         (CC1_SPEC): Don't handle -profile.
1090
1091 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1092
1093         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
1094         * config/mips/mips.h (CC1_SPEC): Likewise.
1095
1096 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1097
1098         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
1099         * config/mips/mips.h (CC1_SPEC): Likewise.
1100
1101 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1102
1103         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
1104         * config/m32r/linux.h (LINK_SPEC): Likewise.
1105         * config/mips/linux.h (LINK_SPEC): Likewise.
1106         * config/mips/linux64.h (LINK_SPEC): Likewise.
1107         * config/sparc/linux.h (LINK_SPEC): Likewise.
1108         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
1109         LINK_SPEC): Likewise.
1110         * config/xtensa/linux.h (LINK_SPEC): Likewise.
1111
1112 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1113
1114         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
1115         %{version:-v}.
1116         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
1117
1118 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1119
1120         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
1121         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
1122
1123 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1124
1125         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
1126
1127 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1128
1129         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
1130         supports -Bstatic/-Bdynamic.
1131         * configure: Regenerate.
1132
1133 2011-01-14  Jan Hubicka  <jh@suse.cz>
1134         Jack Howarth <howarth@bromo.med.uc.edu>
1135
1136         PR target/46037
1137         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
1138         when checking debug_info_level. Test write_symbols instead of
1139         debug_hooks->var_location when setting flag_var_tracking_uninit.
1140
1141 2011-01-14  Richard Guenther  <rguenther@suse.de>
1142
1143         PR tree-optimization/47179
1144         * target.def (ref_may_alias_errno): New target hook.
1145         * targhooks.h (default_ref_may_alias_errno): Declare.
1146         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
1147         (default_ref_may_alias_errno): New function.
1148         * target.h (struct ao_ref_s): Declare.
1149         * tree-ssa-alias.c: Include target.h.
1150         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
1151         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
1152         (targhooks.o): Likewise.
1153         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
1154         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
1155
1156 2011-01-14  Richard Guenther  <rguenther@suse.de>
1157
1158         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
1159
1160 2011-01-14  Richard Guenther  <rguenther@suse.de>
1161
1162         PR tree-optimization/47280
1163         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
1164         return CFG changes.
1165         (tree_ssa_forward_propagate_single_use_vars): Deal with
1166         CFG changes from associate_plusminus.
1167
1168 2011-01-14  Richard Guenther  <rguenther@suse.de>
1169
1170         PR middle-end/47281
1171         Revert
1172         2011-01-11  Richard Guenther  <rguenther@suse.de>
1173
1174         PR tree-optimization/46076
1175         * tree-ssa.c (useless_type_conversion_p): Conversions from
1176         unprototyped to empty argument list function types are useless.
1177
1178 2011-01-14  Richard Guenther  <rguenther@suse.de>
1179
1180         PR tree-optimization/47286
1181         * tree-ssa-structalias.c (new_var_info): Register variables are global.
1182
1183 2011-01-14  Martin Jambor  <mjambor@suse.cz>
1184
1185         PR middle-end/46823
1186         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
1187
1188 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
1189
1190         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
1191         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
1192         * config/xtensa/xtensa.c (xtensa_libcall_value,
1193         xtensa_function_value_regno_p): New functions.
1194         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
1195
1196 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
1197
1198         PR c++/47213
1199         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
1200         PE specific hook.
1201         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
1202         New function prototype.
1203         * config/i386/winnt.c (i386_pe_assemble_visibility):
1204         Warn only if attribute was specified by user.
1205
1206 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
1207
1208         PR target/47251
1209         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
1210         floating point.
1211         (floatunsdidf2_fcfidu): Ditto.
1212
1213 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1214
1215         * config/s390/s390.c (print_operand_address): Replace 'error' with
1216         'output_operand_lossage'.
1217         (print_operand): Likewise.
1218
1219 2011-01-13  Jeff Law  <law@redhat.com>
1220
1221         PR rtl-optimization/39077
1222         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
1223         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
1224         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
1225         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
1226         * gcse.c (prune_insertions_deletions): New function.
1227         (compute_pre_data): Use it.
1228
1229 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
1230
1231         PR debug/PR46973
1232         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
1233         static function.
1234         (prune_unused_types_mark): Use it.
1235
1236 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
1237
1238         PR rtl-optimization/45352
1239         * sel-sched.c: Update copyright years.
1240         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1241         in the advancing loop when we have issued issue_rate insns.
1242
1243 2011-01-12  Richard Henderson  <rth@redhat.com>
1244
1245         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
1246         (TARGET_MD_ASM_CLOBBERS): New.
1247
1248         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
1249         (TARGET_DELEGITIMIZE_ADDRESS): New.
1250
1251         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
1252         (clzsi2, *bsch): New patterns.
1253
1254         * config/mn10300/mn10300.md (INT): New mode iterator.
1255         (*mov<INT>_clr): New pattern, and peep2 to generate it.
1256
1257         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
1258         flag_split_wide_types.
1259
1260         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
1261         (mn10300_trampoline_init): Rewrite without a template, an immediate
1262         load and a direct branch.
1263         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
1264
1265 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
1266
1267         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1268         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
1269         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
1270         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1271
1272 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
1273
1274         PR debug/47209
1275         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
1276         of type.
1277
1278 2011-01-12  Jan Hubicka  <jh@suse.cz>
1279
1280         PR driver/47244
1281         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
1282         (PLUGIN_COND_CLOSE): New macro.
1283         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
1284
1285 2011-01-12  Richard Guenther  <rguenther@suse.de>
1286
1287         PR lto/47259
1288         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
1289         register variables in a MEM_REF.
1290
1291 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
1292
1293         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
1294         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
1295         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
1296         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
1297         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
1298         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
1299         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
1300         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
1301         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
1302         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
1303         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
1304         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
1305         * config/gnu-user.h: New.  Copied from linux.h.
1306         (LINUX_TARGET_STARTFILE_SPEC): Rename to
1307         GNU_USER_TARGET_STARTFILE_SPEC.
1308         (LINUX_TARGET_ENDFILE_SPEC): Rename to
1309         GNU_USER_TARGET_ENDFILE_SPEC.
1310         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
1311         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
1312         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
1313         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
1314         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
1315         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
1316         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
1317         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
1318         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
1319         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
1320         * config/arm/linux-eabi.h (CC1_SPEC): Use
1321         GNU_USER_TARGET_CC1_SPEC.
1322         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
1323         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
1324         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
1325         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
1326         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
1327         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
1328         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
1329         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
1330
1331 2011-01-12  Richard Guenther  <rguenther@suse.de>
1332
1333         PR other/46946
1334         * doc/invoke.texi (ffast-math): Document it is turned on
1335         with -Ofast.
1336
1337 2011-01-12  Jan Hubicka  <jh@suse.cz>
1338
1339         PR tree-optimization/47233
1340         * opts.c (common_handle_option): Disable ipa-reference with profile
1341         feedback.
1342
1343 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1344
1345         * c-parser.c (c_parser_objc_at_property_declaration): Improved
1346         error message.
1347
1348 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1349
1350         * c-parser.c (c_lex_one_token): Updated and reindented some
1351         comments.  No changes in code.
1352
1353 2011-01-11  Ian Lance Taylor  <iant@google.com>
1354
1355         * godump.c (go_output_var): Don't output the variable if there is
1356         already a type with the same name.
1357
1358 2011-01-11  Ian Lance Taylor  <iant@google.com>
1359
1360         * godump.c (go_format_type): Don't generate float80.
1361
1362 2011-01-11  Richard Henderson  <rth@redhat.com>
1363
1364         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
1365         declaration.  Rewrite for both speed and size.
1366         (mn10300_address_cost_1): Remove.
1367         (mn10300_register_move_cost): New.
1368         (mn10300_memory_move_cost): New.
1369         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
1370         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
1371         extensions, shifts, BSWAP, CLZ.
1372         (mn10300_wide_const_load_uses_clr): Remove.
1373         (TARGET_REGISTER_MOVE_COST): New.
1374         (TARGET_MEMORY_MOVE_COST): New.
1375         * config/mn10300/mn10300-protos.h: Update.
1376         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
1377
1378         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
1379         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
1380         * config/mn10300/mn10300-protos.h: Update.
1381         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
1382         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
1383         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
1384         (*test_int_bitfield, *test_byte_bitfield): Remove.
1385         (*bit_test, *subreg_bit_test): Remove.
1386         * config/mn10300/predicates.md (const_8bit_operand): Remove.
1387
1388         * config/mn10300/constraints.md ("c"): Rename from "A".
1389         ("A", "D"): New constraint letters.
1390         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
1391         (fmssf4, fnmasf4, fnmssf4): Likewise.
1392
1393         * config/mn10300/mn10300.md (isa): New attribute.
1394         (enabled): New attribute.
1395
1396         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
1397         (abssf2, negsf2): Define only for hardware fp.
1398         (sqrtsf2): Reformat.
1399         (addsf3, subsf3, mulsf3): Merge expander and insn.
1400
1401         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
1402         (DEBUGGER_AUTO_OFFSET): Remove.
1403         (DEBUGGER_ARG_OFFSET): Remove.
1404
1405         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
1406         Emit register stores with the same offsets as the hardware.
1407         (mn10300_store_multiple_operation): Don't check that the register
1408         save offsets are monotonic.
1409         * config/mn10300/mn10300-protos.h: Update.
1410
1411         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
1412
1413         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
1414         in terms of the value on the stack, not the MDR register.
1415
1416 2011-01-11  Jan Hubicka  <jh@suse.cz>
1417
1418         PR lto/45721
1419         PR lto/45375
1420         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
1421         (symbol_alias_set_destroy, symbol_alias_set_contains,
1422         propagate_aliases_backward): Declare.
1423         * lto-streamer-out.c (struct sets): New sturcture.
1424         (trivally_defined_alias): New function.
1425         (output_alias_pair_p): Rewrite.
1426         (output_unreferenced_globals): Fix output of alias pairs.
1427         (produce_symtab): Likewise.
1428         * ipa.c (function_and_variable_visibility): Set weak alias destination
1429         as needed in lto.
1430         * varasm.c (symbol_alias_set_t): Remove.
1431         (symbol_alias_set_destroy): Export.
1432         (propagate_aliases_forward, propagate_aliases_backward): New functions
1433         based on ...
1434         (compute_visible_aliases): ... this one; remove.
1435         (trivially_visible_alias): New
1436         (trivially_defined_alias): New.
1437         (remove_unreachable_alias_pairs): Rewrite.
1438         (finish_aliases_1): Reorganize code checking if alias is defined.
1439         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
1440         in LTO mode.
1441
1442 2011-01-11  Richard Guenther  <rguenther@suse.de>
1443
1444         PR tree-optimization/46076
1445         * tree-ssa.c (useless_type_conversion_p): Conversions from
1446         unprototyped to empty argument list function types are useless.
1447
1448 2011-01-11  Richard Guenther  <rguenther@suse.de>
1449
1450         PR middle-end/45235
1451         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
1452         volatile MEMs as MEM_READONLY_P.
1453
1454 2011-01-11  Richard Guenther  <rguenther@suse.de>
1455
1456         PR tree-optimization/47239
1457         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
1458
1459 2011-01-11  Jeff Law  <law@redhat.com>
1460
1461         PR tree-optimization/47086
1462         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
1463         IVs from statements that might throw.
1464
1465 2011-01-10  Jan Hubicka  <jh@suse.cz>
1466
1467         PR lto/45375
1468         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
1469
1470 2011-01-10  Jan Hubicka  <jh@suse.cz>
1471
1472         PR lto/45375
1473         * profile.c (read_profile_edge_counts): Ignore profile inconistency
1474         when correcting profile.
1475
1476 2011-01-10  Jan Hubicka  <jh@suse.cz>
1477
1478         PR lto/46083
1479         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
1480         DECL_FINI_PRIORITY.
1481         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
1482         Restore DECL_FINI_PRIORITY.
1483
1484 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1485
1486         * doc/gimple.texi: Fix quoting of multi-word return values in
1487         @deftypefn statements.  Ensure presence of return value.  Wrap
1488         overlong @deftypefn lines.
1489         (is_gimple_operand, is_gimple_min_invariant_address): Remove
1490         descriptions of removed functions.
1491         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
1492         of multi-word return value in @deftypefn statement.
1493
1494 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1495
1496         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
1497         (Conditional Expressions, Logical Operators)
1498         (Statement and operand traversals): Do not indent smallexample
1499         code.  Fix duplicate function argument in example.
1500
1501 2011-01-10  Jeff Law  <law@redhat.com>
1502
1503         PR tree-optimization/47141
1504         * ipa-split.c (split_function): Handle case where we are
1505         returning a value and the return block has a virtual operand phi.
1506
1507 2011-01-10  Jan Hubicka  <jh@suse.cz>
1508
1509         PR tree-optimization/47234
1510         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
1511         (pass_feedback_split_functions): Declare.
1512         * passes.c (init_optimization_passes): Add ipa-split as subpass of
1513         tree-profile.
1514         * ipa-split.c (gate_split_functions): Update comments; disable
1515         split-functions for profile_arc_flag and branch_probabilities.
1516         (gate_feedback_split_functions): New function.
1517         (execute_feedback_split_functions): New function.
1518         (pass_feedback_split_functions): New global var.
1519
1520 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
1521
1522         PR lto/46760
1523         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
1524         calling gimple_call_set_cannot_inline.
1525
1526 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
1527
1528         * config/darwin-sections.def: Remove unused section.
1529
1530 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
1531
1532         PR c++/47218
1533         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
1534
1535 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
1536
1537         PR objc/47232
1538         * c-parser.c (c_parser_declaration_or_fndef): Improved
1539         error message.
1540
1541 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
1542
1543         * config/i386/winnt.c (i386_pe_start_function): Make sure
1544         to switch back to function's section.
1545
1546 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
1547
1548         PR gcc/46902
1549         PR testsuite/46912
1550         * plugin.c: Move include of dlfcn.h from here...
1551         * system.h: ... to here.
1552
1553 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1554
1555         * doc/cpp.texi (C++ Named Operators): Fix markup for header
1556         file name.
1557         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
1558         two extra empty pages in PDF output.
1559
1560 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
1561
1562         PR objc/47078
1563         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
1564         for error recovery purposes behave as if it was not specified so
1565         that the default type is usd.
1566
1567 2011-01-07  Jan Hubicka  <jh@suse.cz>
1568
1569         PR tree-optmization/46469
1570         * ipa.c (function_and_variable_visibility): Clear needed flags on
1571         nodes with external decls; handle weakrefs merging correctly.
1572
1573 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
1574
1575         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
1576         not false.
1577
1578 2011-01-07  Jan Hubicka  <jh@suse.cz>
1579
1580         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
1581         and no longer claim that gold is required for linker plugin.
1582         * configure: Regenerate.
1583         * gcc.c (PLUGIN_COND): New macro.
1584         (LINK_COMMAND_SPEC): Use it.
1585         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
1586         * config.in (HAVE_LTO_PLUGIN): New.
1587         * configure.ac (--with-lto-plugin): New parameter; autodetect
1588         HAVE_LTO_PLUGIN.
1589
1590 2011-01-07  Jan Hubicka  <jh@suse.cz>
1591
1592         PR tree-optimization/46367
1593         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
1594         when we can update original.
1595         (cgraph_mark_inline_edge): Sanity check.
1596         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
1597
1598 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1599
1600         * config/spu/spu.h (ASM_COMMENT_START): Define.
1601
1602 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
1603
1604         PR driver/42445
1605         * gcc.c (%>S): New.
1606         (SWITCH_KEEP_FOR_GCC): Likewise.
1607         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
1608         (do_spec_1): Handle "%>".
1609
1610         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
1611
1612 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
1613
1614         PR target/47201
1615         * config/i386/i386.c (ix86_delegitimize_address): If
1616         simplify_gen_subreg fails, return orig_x.
1617
1618         PR bootstrap/47187
1619         * value-prof.c (gimple_stringop_fixed_value): Handle
1620         lhs of the call properly.
1621
1622 2011-01-07  Jan Hubicka  <jh@suse.cz>
1623
1624         PR lto/45375
1625         * lto-opt.c (lto_reissue_options): Set flag_shlib.
1626
1627 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
1628
1629         * target.def (function_switched_text_sections): New hook.
1630         * doc/tm.texi: Regenerated.
1631         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
1632         * final.c (default_function_switched_text_sections): New.
1633         (final_scan_insn): Call function_switched_text_sections when a
1634         mid-function section change occurs.
1635         * output.h (default_function_switched_text_sections): Declare.
1636         * config/darwin-protos.h (darwin_function_switched_text_sections):
1637         Likewise.
1638         * config/darwin.c (darwin_function_switched_text_sections): New.
1639         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
1640
1641 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
1642
1643         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
1644         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
1645         the secondary code fragment when outputting for DWARF == 2.
1646
1647 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
1648
1649         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1650         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
1651         Remove.
1652         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
1653         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1654
1655 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
1656
1657         PR debug/46704
1658         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
1659         when it is not empty.
1660
1661 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
1662
1663         Bobcat Enablement
1664         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1665         (case ${target}): Add btver1.
1666         * config/i386/driver-i386.c (host_detect_local_cpu): Let
1667         -march=native recognize btver1 processors.
1668         * config/i386/i386-c.c (ix86_target_macros_internal): Add
1669         btver1 def_and_undef
1670         * config/i386/i386.c (struct processor_costs btver1_cost): New
1671         btver1 cost table.
1672         (m_BTVER1): New definition.
1673         (m_AMD_MULTIPLE): Includes m_BTVER1.
1674         (initial_ix86_tune_features): Add btver1 tune.
1675         (processor_target_table): Add btver1 entry.
1676         (static const char *const cpu_names): Add btver1 entry.
1677         (software_prefetching_beneficial_p): Add btver1.
1678         (ix86_option_override_internal): Add btver1 instruction sets.
1679         (ix86_issue_rate): Add btver1.
1680         (ix86_adjust_cost): Add btver1.
1681         * config/i386/i386.h (TARGET_BTVER1): New definition.
1682         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
1683         (enum processor_type): Add PROCESSOR_BTVER1.
1684         * config/i386/i386.md (define_attr "cpu"): Add btver1.
1685
1686 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1687
1688         PR target/43309
1689         * config/i386/i386.c (legitimize_tls_address)
1690         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
1691         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
1692         (tls_initial_exec_64_sun): New pattern.
1693
1694 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
1695
1696         * doc/invoke.texi (Overall Options): Improve wording and markup
1697         of the description of -wrapper.
1698
1699 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
1700
1701         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
1702         rdynamic, threads): New Driver options.
1703
1704 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1705
1706         PR target/38118
1707         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
1708         if coming from .tdata.
1709         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1710
1711 2011-01-06  Jan Hubicka  <jh@suse.cz>
1712
1713         PR lto/47188
1714         * collect2.c (main): Do not enable LTOmode when plugin is active.
1715
1716 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1717
1718         PR other/45915
1719         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
1720         --version output if supported.
1721         * configure: Regenerate.
1722
1723 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
1724
1725         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
1726         Driver options.
1727
1728 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
1729
1730         PR c/47150
1731         * c-convert.c (convert): When converting a complex expression
1732         other than COMPLEX_EXPR to a different complex type, ensure
1733         c_save_expr is called instead of save_expr, unless in_late_binary_op.
1734         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
1735         when converting COMPLEX_TYPE.
1736
1737 2011-01-06  Ira Rosen  <irar@il.ibm.com>
1738
1739         PR tree-optimization/47139
1740         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
1741         only the last reduction value is used outside the loop.  Update
1742         documentation.
1743
1744 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
1745
1746         * config/rtems.opt: New.
1747         * config.gcc (*-*-rtems*): Use rtems.opt.
1748
1749 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
1750
1751         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
1752         processors do not support 3DNow instructions.
1753
1754 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1755
1756         * config/spu/spu.c (spu_option_override): Set parameter
1757         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
1758
1759 2011-01-05  Jan Hubicka  <jh@suse.cz>
1760
1761         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
1762         at the command line.
1763
1764 2011-01-05  Martin Jambor  <mjambor@suse.cz>
1765
1766         PR lto/47162
1767         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
1768         deltas on streamed outgoing edges.
1769         (output_node_opt_summary): Output info for outgoing edges only when
1770         the node is in new parameter set.
1771         (output_cgraph_opt_summary): New parameter set, passed to the two
1772         aforementioned functions.  Update its forward declaration and its
1773         callee too.
1774
1775 2011-01-05  Tom Tromey  <tromey@redhat.com>
1776
1777         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
1778         operator to c_finish_omp_atomic.
1779         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
1780         (build_unary_op): Update.
1781         (build_modify_expr): Update.
1782         (build_asm_expr): Update.
1783
1784 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1785
1786         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
1787         newly inserted insns.
1788         (pad_bb): Likewise.
1789         (spu_emit_branch_hint): Likewise.
1790         (insert_hbrp_for_ilb_runout): Likewise.
1791         (spu_machine_dependent_reorg): Call df_finish_pass after
1792         schedule_insns returns.
1793
1794 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1795
1796         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
1797
1798 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
1799
1800         PR tree-optimization/47005
1801         * tree-sra.c (struct access): Add 'non_addressable' bit.
1802         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
1803         (decide_one_param_reduction): Return 0 if the parameter is passed by
1804         reference and one of the accesses in the group is non_addressable.
1805
1806 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
1807
1808         PR tree-optimization/47056
1809         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
1810         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
1811         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
1812
1813 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
1814
1815         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
1816         initializer.  Skip view conversions from aggregate types.
1817
1818 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
1819
1820         PR bootstrap/47055
1821         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
1822
1823 2011-01-04  Philipp Thomas <pth@suse.de>
1824
1825         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
1826         obvious typo.
1827
1828 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1829
1830         * function.c (thread_prologue_and_epilogue_insns): Do not crash
1831         on empty epilogue sequences.
1832
1833 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
1834
1835         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
1836         non-static): New Driver options.
1837
1838 2011-01-04  Jie Zhang  <jie@codesourcery.com>
1839
1840         PR driver/47137
1841         * gcc.c (default_compilers[]): Set combinable field to 0
1842         for all assembly languages.
1843
1844 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
1845
1846         * config/mips/loongson3a.md: New file.
1847         * config/mips/mips.md: Include loongson3a.md.
1848         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
1849         TUNE_LOONGSON_3A.
1850
1851 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
1852
1853         PR middle-end/47017
1854         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
1855         instead of convert_memory_address_addr_space on the base expression.
1856
1857 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1858
1859         * config/spu/spu.c (spu_option_override): Update error text
1860         for bad -march= / -mtune= values.
1861
1862 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1863
1864         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
1865         if branch-hint optimization will be performed.
1866
1867 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
1868
1869         PR tree-optimization/47148
1870         * ipa-split.c (split_function): Convert arguments to
1871         DECL_ARG_TYPE if possible.
1872
1873         PR tree-optimization/47155
1874         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
1875         when computing uns.
1876
1877         PR rtl-optimization/47157
1878         * combine.c (try_combine): If undobuf.other_insn becomes
1879         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
1880         and set *new_direct_jump_p too.
1881
1882 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
1883
1884         PR tree-optimization/47021
1885         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
1886
1887 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
1888
1889         * gcc.c (process_command): Update copyright notice dates.
1890         * gcov.c (print_version): Likewise.
1891         * gcov-dump.c (print_version): Likewise.
1892         * mips-tfile.c (main): Likewise.
1893         * mips-tdump.c (main): Likewise.
1894
1895 2011-01-03  Martin Jambor  <mjambor@suse.cz>
1896
1897         PR tree-optimization/46801
1898         * tree-sra.c (type_internals_preclude_sra_p): Check whether
1899         aggregate fields start at byte boundary instead of the bit-field flag.
1900
1901 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
1902
1903         PR driver/47137
1904         * gcc.c (main): Revert revision 168407.
1905
1906 2011-01-03  Martin Jambor  <mjambor@suse.cz>
1907
1908         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
1909
1910 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1911
1912         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
1913         vector optab to expand vector/scalar shift, update gimple to vector.
1914
1915 2011-01-03  Martin Jambor  <mjambor@suse.cz>
1916
1917         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
1918         a thunk.
1919
1920 2011-01-03  Martin Jambor  <mjambor@suse.cz>
1921
1922         PR tree-optimization/46984
1923         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
1924         HOST_WIDE_INT.
1925         (cgraph_create_indirect_edge): Fixed line length.
1926         (cgraph_indirect_call_info): Declare.
1927         (cgraph_make_edge_direct) Update declaration.
1928         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
1929         (cgraph_create_indirect_edge): Use it.
1930         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
1931         callees.
1932         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
1933         the new thunk_delta representation.
1934         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
1935         HOST_WIDE_INT.
1936         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
1937         (ipa_read_indirect_edge_info): Likewise.
1938         * lto-cgraph.c (output_edge_opt_summary): New function.
1939         (output_node_opt_summary): Call it on all outgoing edges.
1940         (input_edge_opt_summary): New function.
1941         (input_node_opt_summary): Call it on all outgoing edges.
1942
1943 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
1944
1945         PR driver/47137
1946         * gcc.c (main): Don't check have_o when settting combine_inputs.
1947
1948 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
1949
1950         * regrename.c: Add general comment describing the pass.
1951         (struct du_head): Remove 'length' field.
1952         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
1953         (regrename_optimize): Do not sort chains.  Rework comments, add others.
1954         Force renaming to the preferred class (if any) in the first pass and do
1955         not consider registers that belong to it in the second pass.
1956         (create_new_chain): Do not set 'length' field.
1957         (scan_rtx_reg): Likewise.
1958
1959 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
1960
1961         PR tree-optimization/47140
1962         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
1963         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
1964         to bit_value_binop.
1965
1966         PR rtl-optimization/47028
1967         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
1968         parm_birth_insn instead of at the beginning of first bb.
1969
1970 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
1971
1972         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
1973         Remove the word "see" before "@pxref".
1974         * doc/rtl.texi: Remove the word "see" before "@pxref".
1975
1976 2011-01-01  Jan Hubicka  <jh@suse.cz>
1977
1978         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
1979         memory.
1980
1981 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
1982
1983         PR target/38662
1984         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
1985
1986 \f
1987 Copyright (C) 2011 Free Software Foundation, Inc.
1988
1989 Copying and distribution of this file, with or without modification,
1990 are permitted in any medium without royalty provided the copyright
1991 notice and this notice are preserved.