OSDN Git Service

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