OSDN Git Service

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