OSDN Git Service

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