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