OSDN Git Service

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