OSDN Git Service

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