| 2004-12-31 Richard Henderson <rth@redhat.com> |
| |
| PR tree-opt/19042 |
| * tree-sra.c (decide_block_copy): Force use_block_copy false |
| for complex values. |
| |
| 2004-12-31 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/17799 |
| * function.c (use_register_for_decl): Check DECL_IGNORED_P instead |
| of DECL_ARTIFICIAL. |
| (assign_parms_augmented_arg_list): Set DECL_IGNORED_P. |
| * c-decl.c (build_compound_literal): Likewise. |
| * dwarf2asm.c (dw2_force_const_mem): Likewise. |
| * gimplify.c (create_artificial_label): Likewise. |
| * tree-inline.c (expand_call_inline): Likewise. |
| * var-tracking.c (vt_initialize): Likewise. |
| * tree-outof-ssa.c (create_temp): Copy DECL_IGNORED_P. |
| |
| 2004-12-31 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/19211 |
| * config/darwin.c (machopic_legitimize_pic_address): If the orig |
| is subregister return orig. |
| |
| 2004-12-31 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-scalar-evolution.c (instantiate_parameters_1): Copy the |
| expression only if needed. |
| |
| 2004-12-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa-hpux.h (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Define. |
| |
| 2004-12-31 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| PR target/18701 |
| * combine.c (combine_simplify_rtx): Do not allow paradoxical |
| subregs of MEM. |
| |
| PR target/18701 |
| * combine.c (gen_lowpart_for_combine): When stripping SUBREG of |
| MEM, adjust imode and isize. |
| |
| 2004-12-30 Richard Henderson <rth@redhat.com> |
| |
| * config/ia64/ia64.c (hfa_element_mode): Return false for |
| zero-sized top-level aggregates. |
| |
| 2004-12-30 Jan Hubicka <jh@suse.cz> |
| |
| PR target/18019 |
| * i386.md (movqi_1): Fix -Os instruction choice. |
| |
| 2004-12-30 Steven Bosscher <stevenb@suse.de> |
| |
| * global.c (regclass_intersect): Remove. |
| (mark_reg_use_for_earlyclobber): Use reg_classes_intersect_p instead. |
| |
| 2004-12-30 Richard Henderson <rth@redhat.com> |
| |
| * config/ia64/ia64.c (ia64_function_value): Use PARALLEL for |
| aggregates with XF/XCmode. |
| |
| 2004-12-29 Richard Henderson <rth@redhat.com> |
| |
| * target.h (targetm.calls.arg_partial_bytes): New. |
| * target-def.h (TARGET_ARG_PARTIAL_BYTES): New. |
| * calls.c (store_unaligned_arguments_into_pseudos): Update for |
| partial in bytes. |
| (load_register_parameters): Likewise. |
| (store_one_arg): Likewise. |
| (initialize_argument_information): Use targetm.calls.arg_partial_bytes. |
| (emit_library_call_value_1): Likewise. |
| * expr.c (block_move_libcall_safe_for_call_parm): Likewise. |
| (emit_push_insn): Update for partial in bytes. |
| * expr.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * function.c (assign_parm_find_entry_rtl): Use |
| targetm.calls.arg_partial_bytes. Update for result in bytes. |
| (locate_and_pad_parm): Update for partial in bytes. |
| * system.h (FUNCTION_ARG_PARTIAL_NREGS): Poison. |
| * targhooks.c (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): New. |
| * targhooks.h (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Declare. |
| * doc/tm.texi (TARGET_ARG_PARTIAL_BYTES): Rename and update from |
| FUNCTION_ARG_PARTIAL_NREGS. |
| |
| * config/arc/arc.h, config/c4x/c4x.h, config/i386/i386.h, |
| config/i860/i860.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h, |
| config/pdp11/pdp11.h, config/s390/s390.h, config/stormy16/stormy16.h, |
| config/xtensa/xtensa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| |
| * config/alpha/alpha.c (alpha_arg_partial_bytes): New. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/alpha/alpha.h, config/alpha/unicosmk.h, |
| config/alpha/vms.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| |
| * config/arm/arm.h (FUNCTION_ARG_PARTIAL_NREGS): Move ... |
| * config/arm/arm.c (arm_arg_partial_bytes): ... here. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| |
| * config/cris/cris.h (FUNCTION_ARG_PARTIAL_NREGS): Move ... |
| * config/cris/cris.c (cris_arg_partial_bytes): ... here. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| |
| * config/fr30/fr30.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * config/fr30/fr30.c (fr30_arg_partial_bytes): Rename from |
| fr30_function_arg_partial_nregs. Adjust to return bytes. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/fr30/fr30-protos.h: Update. |
| |
| * config/frv/frv.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * config/frv/frv.c (frv_arg_partial_bytes): Rename from |
| frv_function_arg_partial_nregs. Adjust to return bytes. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/frv/frv-protos.h: Update. |
| |
| * config/ia64/ia64.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * config/ia64/ia64.c (ia64_arg_partial_bytes): Rename from |
| ia64_function_arg_partial_nregs. Adjust to return bytes. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/ia64/ia64-protos.h: Update. |
| |
| * config/iq2000/iq2000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * config/iq2000/iq2000.c (iq2000_arg_partial_bytes): Rename from |
| function_arg_partial_nregs. Adjust to return bytes. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/iq2000/iq2000-protos.h: Update. |
| |
| * config/m32r/m32r.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * config/m32r/m32r.c (m32r_arg_partial_bytes): Rename from |
| function_arg_partial_nregs. Adjust to return bytes. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/m32r/m32r-protos.h: Update. |
| |
| * config/mcore/mcore.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * config/mcore/mcore.c (mcore_arg_partial_bytes): Rename from |
| mcore_function_arg_partial_nregs. Adjust to return bytes. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/mcore/mcore-protos.h: Update. |
| |
| * config/mips/mips.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * config/mips/mips.c (mips_arg_partial_bytes): Rename from |
| function_arg_partial_nregs. Adjust to return bytes. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/mips/mips-protos.h: Update. |
| |
| * config/mn10300/mn10300.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * config/mn10300/mn10300.c (mn10300_arg_partial_bytes): Rename from |
| function_arg_partial_nregs. Adjust to return bytes. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/mn10300/mn10300-protos.h: Update. |
| |
| * config/ns32k/ns32k.h (FUNCTION_ARG_PARTIAL_NREGS): Move ... |
| * config/ns32k/ns32k.c (ns32k_arg_partial_bytes): ... here. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| |
| * config/pa/pa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * config/pa/pa.c (pa_arg_partial_bytes): Rename from |
| function_arg_partial_nregs. Handle 32-bit. Adjust to return bytes. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/pa/pa-protos.h: Update. |
| |
| * config/rs6000/rs6000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Rename from |
| function_arg_partial_nregs. Adjust to return bytes. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/rs6000/rs6000-protos.h: Update. |
| |
| * config/sh/sh.h (FUNCTION_ARG_PARTIAL_NREGS): Move ... |
| * config/sh/sh.c (sh_arg_partial_bytes): ... here. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| |
| * config/sparc/sparc.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * config/sparc/sparc.c (sparc_arg_partial_bytes): Rename from |
| function_arg_partial_nregs. Adjust to return bytes. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/sparc/sparc-protos.h: Update. |
| |
| * config/v850/v850.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
| * config/v850/v850.c (v850_arg_partial_bytes): Rename from |
| function_arg_partial_nregs. Adjust to return bytes. |
| (TARGET_ARG_PARTIAL_BYTES): New. |
| * config/v850/v850-protos.h: Update. |
| |
| 2004-12-30 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * config/mmix/mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Define. |
| * config/mmix/mmix.c (mmix_asm_output_internal_label): New |
| function. |
| * config/mmix/mmix-protos.h (mmix_asm_output_internal_label): |
| Prototype. |
| |
| 2004-12-29 Richard Henderson <rth@redhat.com> |
| |
| * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): True. |
| |
| 2004-12-29 Jeff Law <law@redhat.com> |
| |
| * tree-outof-ssa.c (insert_backedge_copies): New function. |
| (rewrite_out_of_ssa): Use it. |
| |
| 2004-12-29 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/18179 |
| * tree-vectorizer.c (vect_get_base_and_offset): Call get_inner_reference |
| and vect_analyze_offset_expr. |
| (vect_create_addr_base_for_vector_ref): Build address_base by combining |
| base and initial_offset fields of vect_stmt_info. |
| (vect_update_inits_of_dr): Update offset of data-ref instead of its |
| access-fn. Remove argument. |
| (vect_update_inits_of_drs): Call vect_update_inits_of_dr with new |
| arguments. |
| (vect_compute_data_ref_alignment): Check misalignment info in |
| vect_stmt_info. Remove argument. |
| (vect_compute_data_refs_alignment): Call vect_compute_data_ref_alignment |
| with correct argument. |
| (vect_analyze_data_ref_access): Check access info in vect_stmt_info. |
| (vect_analyze_pointer_ref_access): Update step and initial_offset fields |
| of vect_stmt_info. |
| (vect_get_memtag_and_dr): Call vect_get_base_and_offset and set the |
| fields of stmt_vec_info. |
| (vect_analyze_data_refs): Find vectype and pass it to |
| vect_get_memtag_and_dr. |
| (vect_get_first_index): Remove. |
| (vect_compute_array_base_alignment): Remove. |
| (vect_compute_array_ref_alignment): Remove |
| (vect_create_data_ref_ptr): Use TYPE_SIZE_UNIT instead GET_MODE_SIZE. |
| (vect_gen_niters_for_prolog_loop): Use TREE_CONSTANT instead |
| host_integerp. |
| (vectorizable_load): Use size arithmetics. |
| |
| 2004-12-29 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/18179 |
| * tree-vectorizer.c (vect_get_base_and_offset): Rename (previous name |
| vect_get_base_and_bit_offset). |
| (vect_get_memtag_and_dr): Rename (previous name vect_get_symbl_and_dr). |
| |
| 2004-12-29 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/18179 |
| * tree-vectorizer.h (struct _stmt_vec_info): Add new fields: |
| initial_offset, step, misalignment and base_aligned_p and macros |
| to access them. |
| * tree-vectorizer.c (vect_analyze_offset_expr): New function. |
| (new_stmt_vec_info): Initialize the new fields of stmt_vec_info. |
| |
| (vect_create_data_ref_ptr): Fix printings. |
| |
| 2004-12-29 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/18179 |
| * tree-vectorizer.c (vect_get_symbl_and_dr): Reorganize. Add memtag |
| retrieval. |
| (vect_analyze_data_refs): Remove memtag retrieval. |
| |
| 2004-12-28 Richard Henderson <rth@redhat.com> |
| |
| PR inline-asm/15740 |
| * gimplify.c (gimplify_asm_expr): Move resolve asm names ... |
| * c-typeck.c (build_asm_expr): ... here. Validate input |
| constraints. Mark memory inputs addressable. |
| |
| 2004-12-28 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| PR target/18321 |
| * config/mmix/mmix.c (mmix_expand_epilogue): Change type of |
| variable offset to HOST_WIDE_INT. Remove obsolete comment. Fix |
| spacing. |
| |
| 2004-12-28 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * fold-const.c (fold_build_cleanup_point_expr): For a RETURN_EXPR, |
| we only need a cleanup point expression when the expression on the |
| left hand side of the MODIFIY_EXPR inside the return has side |
| effects. |
| |
| 2004-12-28 Dorit Naishlos <dorit@il.ibm.com> |
| |
| * tree-vectorizer.c (vect_mark_relevant) First argument changed from |
| varray_type to varray_type*. |
| (vect_mark_stmts_to_be_vectorized): Pass &worklist instead of worklist |
| when calling vect_mark_relevant. |
| |
| 2004-12-28 Alan Modra <amodra@bigpond.net.au> |
| |
| * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't |
| generate non-offsettable DImode lo_sum addresses. |
| |
| 2004-12-28 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/19103 |
| * loop-iv.c (iv_number_of_iterations): Fix typo. |
| |
| 2004-12-28 Andreas Jaeger <aj@suse.de> |
| |
| * genrecog.c (compute_predicate_codes): Avoid warning. |
| |
| 2004-12-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * vax.c (vax_address_cost, vax_rtx_cost): Correct casts. |
| (vax_rtx_cost): Handle small offsets for both PLUS and MINUS. |
| |
| 2004-12-27 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-dom.c (thread_across_edge): Remove broken code to |
| avoid threading into a loop. |
| |
| 2004-12-27 Richard Henderson <rth@redhat.com> |
| |
| PR target/17406 |
| * config/i386/i386.c (ix86_expand_prologue): Add REG_FRAME_RELATED_EXPR |
| note for allocate_stack_worker insn. |
| |
| 2004-12-27 Jason Merrill <jason@redhat.com> |
| |
| * doc/tm.texi (TARGET_RELAXED_ORDERING): Document. |
| * target.h (struct gcc_target): Add relaxed_ordering field. |
| * target-def.h (TARGET_RELAXED_ORDERING): Define default. |
| (TARGET_INITIALIZER): Add it. |
| * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define. |
| * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define. |
| * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define. |
| * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define. |
| |
| 2004-12-27 Roger Sayle <roger@eyesopen.com> |
| |
| PR driver/16118 |
| * doc/invoke.texi: Document the interaction between -save-temps |
| and -x. |
| |
| 2004-12-27 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/rs6000.c (rs6000_eliminate_indexed_memrefs): |
| Do not break apart constant pool addresses. |
| (rs6000_emit_move): Only force source into REG if target is MEM. |
| |
| 2004-12-27 Mark Mitchell <mark@codesourcery.com> |
| |
| PR c++/19148 |
| * gimplify.c (gimplify_cond_expr): Add post_p parameter. |
| (gimplify_modify_expr_rhs): Adjust call to gimplify_cond_expr. |
| (gimplify_expr): Likewise. |
| |
| 2004-12-27 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW. |
| |
| 2004-12-26 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_gimplify_va_arg): Also pass the result |
| of type_natural_mode to examine_argument. |
| |
| * config/i386/i386.md (mov<MMXMODEI>_internal_rex64): New. |
| (movv2sf_internal_rex64): New. |
| (mov<MMXMODEI>_internal): Use no register preferences at all. |
| (movv2sf_internal): Likewise. |
| |
| 2004-12-26 Richard Henderson <rth@redhat.com> |
| |
| * simplify-rtx.c (simplify_relational_operation_1): Don't simplify |
| plus/minus across EQ for floating-point. |
| |
| 2004-12-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/17643 |
| * pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when |
| generating code for the portable runtime. |
| |
| 2004-12-25 Richard Henderson <rth@redhat.com> |
| |
| * expr.c (clear_storage): Validate CONST0_RTX extant. Special case |
| complex modes. |
| |
| 2004-12-25 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/19078 |
| * tree-ssa-loop-ivopts.c (determine_use_iv_cost_generic, |
| determine_use_iv_cost_outer): Fix computing of cost for the original |
| bivs. |
| (dump_use): Handle case related_cands == NULL. |
| |
| 2004-12-25 Marek Michalkiewicz <marekm@amelek.gda.pl> |
| |
| PR target/19059 |
| * config/avr/avr.c (avr_mcu_types): Move attiny{13,2313} from avr4 |
| to avr2. |
| * config/avr/avr.h (LINK_SPEC): Ditto. |
| * config/avr/t-avr (MULTILIB_MATCHES): Ditto. |
| |
| 2004-12-25 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/19137 |
| * config/rs6000/rs6000.md (movti_power, movti_string): Relax |
| operand[1] predicate to input_operand, and add r<-n alternative. |
| Move TImode const_double_operand splitter to where it belongs. |
| |
| 2004-12-25 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/19147 |
| * config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete. |
| |
| 2004-12-24 Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386.md (*fix_trunc{d,s,h}i_1): |
| Rename to *fix_trunc{d,s,h}i_i387. |
| (fix_trunc{d,s}fdi2): Reorder tests. |
| |
| 2004-12-24 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR debug/14638 |
| |
| * tree.h (DECL_DEBUG_ALIAS_OF): New macro. |
| * var-tracking.c (track_expr_p): Don't disqualify tracking of variables |
| that are aliases of variables we want to track, unless the |
| original variable is also ignored for debugging purposes. |
| (VARIABLE_HASH_VAL): Use DECL_UID, so that this is deterministic. |
| * tree-outof-ssa.c (create_temp): Note who we are a debug alias of. |
| * dwarf2out.c (dwarf2out_var_location): Add us to the location of |
| the decl we are an alias of. |
| |
| 2004-12-24 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/19142 |
| * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow |
| DFmode for 32-bit again. |
| |
| 2004-12-23 Roger Sayle <roger@eyesopen.com> |
| |
| * reload.c (regno_clobbered_p): Add a gcc_assert that regno |
| refers to a hard register. |
| |
| 2004-12-23 Mark Mitchell <mark@codesourcery.com> |
| |
| * gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p. |
| |
| 2004-12-23 DJ Delorie <dj@redhat.com> |
| |
| * genrecog.c (did_you_mean_codes): New. |
| (compute_predicate_codes): Fail unmatched codes. |
| |
| 2004-12-23 Eric Christopher <echristo@redhat.com> |
| |
| * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add |
| assert for machine=mips for !TARGET_IRIX. |
| * config/mips/linux.h: Remove machine=mips assert. |
| * config/mips/netbsd.h: Ditto. |
| * config/mips/openbsd.h: Ditto. |
| |
| 2004-12-23 Dale Johannesen <dalej@apple.com> |
| |
| * tree.c (iterative_hash_expr): Canonicalize builtins. |
| |
| 2004-12-23 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR target/16819 |
| * calls.c (load_register_parameters): Don't call use_regs when |
| nregs is zero. |
| |
| 2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR middle-end/17746 |
| * expr.c (get_inner_reference): Add 'keep_aligning' parameter. |
| Break on aligning VIEW_CONVERT_EXPR nodes on STRICT_ALIGNMENT |
| platforms only if keep_aligning is true. |
| (expand_assignment): Adjust call to get_inner_reference. |
| (expand_expr_addr_expr_1): Likewise. |
| (expand_expr_real_1): Likewise. |
| * dojump.c (do_jump): Likewise. |
| * dwarf2out.c (loc_descriptor_from_tree_1): Likewise. |
| * fold-const.c (optimize_bit_field_compare): Likewise. |
| (decode_field_reference): Likewise. |
| (split_address_to_core_and_offset): Likewise. |
| * tree-ssa-loop-ivopts.c (split_address_cost): Likewise. |
| * tree.h (get_inner_reference): Adjust prototype. |
| |
| 2004-12-23 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (override_options): Revert last change |
| wrt fancy 387 math. |
| |
| 2004-12-23 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.md (one_cmpl<mode>2, and<mode>3, andnot<mode>3, |
| ior<mode>3, iornot<mode>3, xor<mode>3, xornot<mode>3): New macroized |
| vector operate patterns. |
| |
| 2004-12-23 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_expand_vector_move): Tidy. |
| (ix86_expand_vector_move_misalign): New. |
| (ix86_misaligned_mem_ok): Remove. |
| (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. |
| * config/i386/i386-protos.h: Update. |
| * config/i386/i386.md (SSEMODEI): Rename from SSEINT16. |
| (MMXMODEI): Rename from MMXINT8. |
| (SSEMODE, MMXMODE, movmisalign<mode>): New. |
| |
| 2004-12-23 Mark Mitchell <mark@codesourcery.com> |
| |
| PR c++/16405 |
| * gimplify.c (gimplify_modify_expr_rhs): Handle |
| INDIRECT_REF/ADDR_EXPR combinations. |
| |
| 2004-12-22 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.c (alpha_expand_mov): Split out ... |
| (alpha_expand_movmisalign): ... misaligned vector support. |
| (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. |
| * config/alpha/alpha-protos.h: Update. |
| * config/alpha/alpha.md (VEC): New macro. |
| (movv8qi, movv4hi, movv2si): Compress with VEC. |
| (movv8qi_fix, movv4hi_fix, movv2si_fix): Likewise. |
| (movv8qi_nofix, movv4hi_nofix, movv2si_nofix): Likewise. |
| (movmisalign<mode>): New. |
| |
| 2004-12-22 Richard Henderson <rth@redhat.com> |
| |
| * optabs.h (OTI_movmisalign, movmisalign_optab): New. |
| * optabs.c (init_optabs): Create it. |
| * genopinit.c (optabs): Initialize it. |
| * expr.c (expand_expr_real_1) <MISALIGNED_INDIRECT_REF>: Use it. |
| * tree-vectorizer.c (vect_supportable_dr_alignment): Likewise. |
| * target-def.h (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. |
| * target.h (vectorize.misaligned_mem_ok): Remove. |
| * targhooks.c (default_vect_misaligned_mem_ok): Remove. |
| * doc/md.texi (movmisalign): New. |
| * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. |
| |
| 2004-12-22 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/emmintrin.h (_mm_loadh_pd): Don't cast pointer arg |
| to __v2si. |
| (_mm_storeh_pd, _mm_loadl_pd, _mm_storel_pd): Likewise. |
| * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use double* or |
| const double* for __builtin_ia32_loadhpd, __builtin_ia32_loadlpd, |
| __builtin_ia32_storehpd, __builtin_ia32_storelpd. |
| (ix86_expand_builtin): Update to match. |
| (ix86_expand_vector_init): Use sse2_loadlpd. |
| * config/i386/i386.md (vec_setv2df): Use sse2_loadlpd, sse2_loadhpd. |
| (vec_extractv2df): Use sse2_storelpd, sse2_storehpd. |
| (sse2_storehpd, sse2_loadhpd, sse2_storelpd, sse2_loadlpd): New. |
| (sse2_movhpd): Remove. |
| |
| 2004-12-23 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/18751 |
| * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Return |
| false for anything larger than 32 bits in 32-bit code. |
| |
| 2004-12-22 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.md (btsq, btrq, btcq): Fix modes. |
| (bt peepholes): Likewise. |
| |
| * varasm.c (force_const_mem): Call set_mem_align. |
| |
| 2004-12-22 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/predicates.md (sse_comparison_operator): Fix |
| typo in ieee test. |
| (arith_or_logical_operator): Downcase codes. |
| |
| 2004-12-23 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/18511 |
| * reload1.c (emit_output_reload_insns): Check if OLD is a hard |
| register before calling regno_clobbered_p. |
| * reload.c: Update comment for regno_clobbered_p. |
| |
| 2004-12-22 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (override_options): Respect user disable of |
| fancy 387 math, sse, mmx. |
| (construct_container): Generate error if we need an sse regster |
| and sse has been disabled. |
| * config/i386/i386.h (TARGET_SWITCHES): Disabling sse also disables |
| later sse generations. Disabling mmx also disables 3dnow. |
| |
| 2004-12-22 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-inline.c (struct inline_data): Remove inlined_fns. |
| (expand_call_inline): Remove dead code setting |
| inlined_fns. |
| (optimize_inline_calls): Remove dead code setting DECL_INLINED_FNS. |
| * tree.h (struct tree_decl): Remove inlined_fns. |
| |
| 2004-12-22 Roger Sayle <roger@eyesopen.com> |
| |
| * tree-browser.c: Remove obsolete #ifdef HOST_EBCDIC code. |
| |
| 2004-12-23 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/18896 |
| * function.c (split_complex_args): Set DECL_ARTIFICIAL, DECL_IGNORED_P |
| for real and imaginary parts if the parm is addressable. |
| (assign_parms_unsplit_complex): If parm addressable, save real |
| and imaginary parts to a stack temp. Pass assign_parm_data_all. |
| (assign_parms): Adjust assign_parms_unsplit_complex call. |
| |
| 2004-12-22 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree.h (DECL_PTA_ALIASVAR): Dead. |
| (struct tree_decl): Remove alias_var field. |
| |
| 2004-12-22 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * system.h (IN_RANGE): Restore HOST_WIDE_INT cast. |
| * tree.h (IS_EXPR_CODE_CLASS): Do not use IN_RANGE. |
| |
| 2004-12-22 Richard Henderson <rth@redhat.com> |
| Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386.md (truncdfsf2): Don't create stack temp when |
| using sse math only. Use truncdfsf2_with_temp. |
| (truncdfsf2_with_temp): New. |
| (truncdfsf_fast_i387): Rename from truncdfsf2_noop. Add memory |
| output alternative. |
| (truncdfsf_mixed): Rename from truncdfsf2_1_sse. Compress duplicate |
| alternatives. |
| (truncdfsf_fast_sse): Rename from truncdfsf2_2. Remove f alternative. |
| (truncdfsf2_3, truncdfsf2_sse_only): Remove. |
| (truncdfsf_i387): Rename from truncdfsf2_1. Compress duplicates. |
| (truncdfsf_fast_mixed): New. |
| (truncdfsf splitters): Remove all except the 387 load/store split. |
| (truncxfsf2_1, truncxfdf2_1): Unify enable constraint with |
| respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH and |
| TARGET_MIX_SSE_I387. |
| (*truncxf{s,d}f2_1): Rename to *truncxf{s,d}f2_mixed. |
| (truncxf{s,d}f2_noop) Rename to truncxf{d,s}f2_i387_noop. |
| (*truncxf{s,d}f2_i387): New patterns. |
| (*truncxf{s,d}f2_2): Rename to *truncxf{s,d}f2_i387_1. |
| (truncxf{s,d}f2, fmod{s,d}f3, drem{s,d}f3, log1p{s,d}f2, |
| rint{s,d}f2, floor{s,d}f2, ceil{s,d}f2, btrunc{s,d}f2, |
| nearbyint{s,d}f2): Use renamed patterns. |
| |
| 2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree.h (TYPE_SIZES_GIMPLIFIED): New. |
| * function.c (gimplify_parm_type): Don't gimplify type if already done. |
| * gimplify.c (gimplify_decl_expr): Likewise. |
| (gimplify_type_sizes): Set TYPE_SIZES_GIMPLIFIED. Examine nested |
| array types. |
| |
| 2004-12-22 Richard Henderson <rth@redhat.com> |
| |
| * gimplify.c (eval_save_expr): Remove. |
| (gimplify_one_sizepos): Unshare expr before gimplifying. |
| * stor-layout.c (variable_size): Revert 2004-12-19 change. |
| (layout_decl): Revert 2004-12-18 change. |
| (layout_type): Revert 2004-12-21 change. |
| |
| 2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree-sra.c (type_can_be_decomposed_p): Reject variable sized types. |
| |
| 2004-12-22 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (install-common): Remove special-case code for when |
| SPECS is defined. |
| |
| 2004-12-22 Jan Beulich <jbeulich@novell.com> |
| |
| * config.gcc: Add dbxelf.h to NetWare's tm_file. |
| * config/i386/netware-crt0.c: Prototype __init_environment and |
| __deinit_environment prior to their definition. |
| (__init_environment): Correct invokation of constructor function. |
| * config/i386/netware.h (TARGET_OS_CPP_BUILTINS): Use |
| builtin_define_std rather than builtin_define on IAPX386. |
| * config/i386/nwld.h: Disable stabs debugging info with the linker |
| this file supports. |
| * config/i386/t-nwld (SHLIB_LINK): Do not use a temporary file for |
| the output. Add -posix to the options as that is the more compatible |
| mode. |
| * gthr-nks.h: Formatting. |
| (__gthread_mutex_init_function): Kill the dubious use of |
| NX_MUTEX_RECURSIVE as it is now clear that the traditional mutexes |
| were not meant to be recursive. |
| (__gthread_recursive_mutex_t, __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION, |
| __gthread_recursive_mutex_init_function, |
| __gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock, |
| __gthread_recursive_mutex_unlock): New. |
| |
| 2004-12-22 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/mips/t-linux64: Remove code that messed with $(SPECS). |
| (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Move |
| n32 to the front. |
| (MULTILIB_EXTRA_OPTS, CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): |
| Removed. |
| * config/mips/linux64.h (DRIVER_SELF_SPECS): Don't handle |
| -mabi-fake-default. |
| (SUBTARGET_TARGET_SWITCHES): Likewise. |
| |
| 2004-12-21 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR c++/18984 |
| * pointer-set.c (pointer_set_contains): Add back. |
| * pointer-set.h (pointer_set_contains): Add back. |
| |
| 2004-12-21 Richard Henderson <rth@redhat.com> |
| |
| * gimplify.c (eval_save_expr): New. |
| (gimplify_one_sizepos): Use it. |
| * stor-layout.c (layout_type): Unshare TYPE_MIN/MAX_VALUE. |
| |
| 2004-12-21 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * system.c (IN_RANGE): Use plain unsigned, not unsigned |
| HOST_WIDE_INT. |
| * tree.def (VOID_TYPE, INTEGER_TYPE, REAL_TYPE, COMPLEX_TYPE, |
| VECTOR_TYPE, OFFSET_TYPE, ENUMERAL_TYPE, BOOLEAN_TYPE, CHAR_TYPE, |
| POINTER_TYPE, REFERENCE_TYPE, METHOD_TYPE, FUNCTION_TYPE, |
| FILE_TYPE, ARRAY_TYPE, RECORD_TYPE, UNION_TYPE, |
| QUAL_UNION_TYPE): Reorder for better code efficiency. |
| (CONST_DECL, TYPE_DECL, VAR_DECL, FIELD_DECL, PARM_DECL): Likewise. |
| (INDIRECT_REF, ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF): Likewise. |
| * tree.h (INDIRECT_REF_P): Reorder checks for better optimization. |
| (IS_EXPR_CODE_CLASS): Use IN_RANGE. |
| (INTEGRAL_TYPE_P, FLOAT_TYPE_P): Reorder checks for better |
| optimization. |
| |
| 2004-12-21 David O'Brien <obrien@FreeBSD.org> |
| |
| * config/freebsd-spec.h: Use KSE pthread lib for -pthread. |
| |
| 2004-12-21 James A. Morrison <phython@gcc.gnu.org> |
| |
| PR c/18963 |
| * c-decl.c (pushdecl): Remove block trying to merge static function |
| declarations at block scope to file scope declarations. |
| |
| 2004-12-21 James A. Morrison <phython@gcc.gnu.org> |
| |
| PR c/18596 |
| * c-parse.in (initdcl): Don't process a declaration if start_decl fails. |
| (notype_initdcl): Don't process a declaration if start_decl fails. |
| * c-decl.c (start_decl): Fail if grokdeclarator fails. |
| (grokdeclarator): Fail if a function definition has an invalid storage |
| class. |
| * c-typeck.c (start_init): Treat error_mark_node the same as 0. |
| |
| 2004-12-21 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (x86_sse_split_regs): Rename from |
| x86_sse_partial_regs. |
| * config/i386/i386.h (x86_sse_split_regs): Likewise. |
| (TARGET_SSE_SPLIT_REGS): Rename from TARGET_SSE_PARTIAL_REGS. |
| * config/i386/i386.md (*): Update to match. Remove two |
| floatsisf splitters that use it. |
| |
| * config/i386/i386.h (x86_sse_partial_regs_for_cvtsd2ss): Remove. |
| |
| * config/i386/i386.c (x86_sse_partial_regs_for_cvtsd2ss): Remove. |
| * config/i386/i386.h (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): Remove. |
| * config/i386/i386.md (truncdfsf2_1_sse): Don't test it. |
| (truncdfsf2_2, truncdfsf2_sse_only): Likewise. |
| (truncdfsf2_1_sse_nooverlap, truncdfsf2_2_nooverlap): Remove. |
| (truncdfsf2_sse_only_nooverlap): Remove. |
| |
| * config/i386/i386.h (TARGET_SSE_TYPELESS_LOAD0): Remove. |
| |
| 2004-12-21 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * expr.c (emit_group_load_1): Return the source if the move |
| is a regular move between complex values. |
| |
| 2004-12-20 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/18683 |
| * config/rs6000/rs6000.c (current_file_function_operand): Only check |
| current_function_decl's DECL_RTL if it has already been set. |
| |
| 2004-12-20 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/18683 |
| * function.c (pop_function_context_from): Don't reset reg_renumber. |
| |
| 2004-12-20 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR middle-end/18776 |
| * expr.c (write_complex_part): Use a subreg if the original object |
| is a hard reg that spans an even number of regs or a MEM. |
| (read_complex_part): Likewise. |
| |
| 2004-12-20 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (install-common): Do not install the specs file |
| unless SPECS is defined. |
| |
| 2004-12-20 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/18942 |
| * simplify-rtx.c (simplify_relational_operation_1): Simplify |
| x + cst1 == cst2 to x == cst2 - cst1. Made static. |
| |
| 2004-12-20 Matt Austern <austern@apple.com> |
| |
| PR c++/19044 |
| * c-common.c (set_builtin_user_assembler_name): New. |
| * c-common.h (set_builtin_user_assembler_name): Declare. |
| * c-decl.c (finish_decl): Use set_builtin_user_assembler_name |
| |
| 2004-12-20 Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/19080 |
| |
| Merge from tree-cleanup-branch |
| |
| * tree-flow-inline.h (clear_call_clobbered): New function. |
| * tree-ssa-alias.c (init_alias_info): Call it. |
| |
| 2004-12-20 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.md (sse2_movsd): Remove ix86_binary_operator_ok |
| check. |
| |
| 2004-12-20 Steven Bosscher <stevenb@suse.de> |
| Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/18191 |
| PR middle-end/18965 |
| PR middle-end/18999 |
| * expr.c (categorize_ctor_elements_1): Count the total number |
| of elements in the constructor. |
| (categorize_ctor_elements): Return it in a new argument. |
| * tree.h (categorize_ctor_elements): Adjust prototype. |
| * gimplify.c (gimplify_init_ctor_eval_range): New. |
| (gimplify_init_ctor_eval): Gimplify RANGE_EXPR. |
| (gimplify_init_constructor): Block clear the object if the |
| constructor has fewer elements than the object type. Only try |
| to add assignments to individual elements when we have to. |
| |
| 2004-12-20 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use |
| long_long_integer_type_node in building V2DI_type_node. |
| |
| * config/i386/emmintrin.h: Use __vector_size__ instead of vector_size. |
| * config/i386/mmintrin.h, config/i386/xmmintrin.h: Likewise. |
| |
| 2004-12-20 Ben Elliston <bje@au.ibm.com> |
| |
| * doc/md.texi (Expander Definitions): Use @emph instead of @strong |
| around Note: text to workaround a limitation of the Info format. |
| * doc/cpp.texi (Invocation): Likewise. |
| * doc/cppopts.texi: Likewise. |
| |
| 2004-12-19 Dale Johannesen <dalej@apple.com> |
| |
| * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Don't |
| reference operand 1 of ADDR_EXPRs. |
| |
| 2004-12-19 Mark Mitchell <mark@codesourcery.com> |
| |
| * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): New macro. |
| * output.h (assemble_name_raw): Declare it. |
| * system.h (ASM_OUTPUT_INTERNAL_LABEL): Do not poison it. |
| * varasm.c (assemble_name_raw): New function. |
| (assemble_name): Use it. |
| (default_internal_label): Likewise. |
| * config/darwin.c (darwin_asm_output_dwarf_delta): Likewise. |
| * doc/tm.texi (ASM_OUTPUT_INTERNAL_LABEL): Document. |
| |
| 2004-12-19 Richard Henderson <rth@redhat.com> |
| |
| PR 18067 |
| * stor-layout.c (variable_size): Force creation of a SAVE_EXPR. |
| |
| 2004-12-19 Steven Bosscher <stevenb@suse.de> |
| |
| * config/i386/i386.c (ix86_split_to_parts): Use an array with |
| four elements for decoding a CONST_DOUBLE on 64 bits targets. |
| |
| 2004-12-19 Bernardo Innocenti <bernie@develer.com> |
| |
| * config/m68k/m68kemb.h (TARGET_OS_CPP_BUILTINS): Remove redundant |
| definition of mc68000, already present in TARGET_CPU_CPP_BUILTINS. |
| |
| 2004-12-18 Daniel Berlin <dberlin@dberlin.org> |
| |
| * lambda-code.c (can_convert_to_perfect_nest): Make checking |
| match up with what perfect_nestify can actually handle. |
| (perfect_nestify): Don't return false in the phi node loop. |
| |
| 2004-12-18 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.md (SSEINT16): New. |
| (movv16qi, movv8hi, movv4si, movv2di): Compress via macros. |
| (movv16qi_internal, movv8hi_internal, movv4si_internal, |
| movv2di_internal): Compress via macros. Add SSE zero alternative. |
| Fix pure SSE alternatives to use 'x' instead of 'Y'. |
| (MMXINT8): New. |
| (movv8qi, movv4hi, movv2si, movv8qi_internal, movv4hi_internal, |
| movv2si_internal): Compress via macros. |
| (SSEPUSH, MMXPUSH): New. |
| (pushv18qi, pushv8hi, pushv4si, pushv2di, pushti, pushv4sf, pushv2df, |
| pushv8qi, pushv4hi, pushv2si, pushv2sf): Compress via macros. |
| |
| 2004-12-18 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/16417 |
| * c-decl.c (store_parm_decls): Clarify get_pending_sizes insertion |
| comment. |
| * c-objc-common.c (c_cannot_inline_tree_fn): Remove pending sizes |
| checks. |
| * c-tree.h (struct lang_decl): Remove pending_sizes. |
| * function.c: Include tree-gimple.h |
| (assign_parm_setup_reg): Remove callee-copies code. |
| (gimplify_parm_type, gimplify_parameters): New functions. |
| (expand_pending_sizes): Remove. |
| (expand_function_start): Don't call it. |
| * gimplify.c (gimplify_expr): Examine DECL_VALUE_EXPR for PARM_DECL. |
| (gimplify_body): Add do_parms argument. Use gimplify_parameters. |
| (gimplify_function_tree): Setup cfun. Update gimplify_body call. |
| * tree-gimple.h (gimplify_body): Update decl. |
| * tree-inline.c (initialize_inlined_parameters): Update gimplify_body |
| call. |
| * tree.h (gimplify_parameters): Declare. |
| * Makefile.in (function.o): Depend on TREE_GIMPLE_H. |
| |
| 2004-12-18 Richard Henderson <rth@redhat.com> |
| |
| * c-decl.c (finish_struct): Add DECL_EXPR for variable sized |
| structures seen inside functions. |
| |
| 2004-12-18 Richard Henderson <rth@redhat.com> |
| |
| * c-decl.c (grokdeclarator): Save variable array size before |
| subtracting 1, rather than after. |
| |
| 2004-12-18 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR middle-end/15486 |
| * varasm.c (asm_emit_uninitialised): Return early if |
| a custom section is requested. |
| (assemble_variable): Revert 2002-03-15 patch. |
| |
| 2004-12-18 Richard Henderson <rth@redhat.com> |
| |
| * stor-layout.c (layout_decl): Use unshare_expr, not unsave_expr. |
| |
| 2004-12-18 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/18800 |
| * params.def (PARAM_IV_ALWAYS_PRUNE_CAND_SET_BOUND): New parameter. |
| * tree-ssa-loop-ivopts.c (struct iv_ca): Add n_cands field. |
| (ALWAYS_PRUNE_CAND_SET_BOUND): New macro. |
| (iv_ca_set_no_cp, iv_ca_set_cp, iv_ca_new): Update n_cands field. |
| (iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_n_cands, iv_ca_prune): |
| New functions. |
| (iv_ca_extend): Return number of candidates in the set. |
| (try_add_cand_for): Add argument to iv_ca_extend calls. |
| (try_improve_iv_set): Use iv_ca_prune. |
| * doc/invoke.texi (iv-always-prune-cand-set-bound): Document. |
| |
| 2004-12-18 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/19001 |
| * loop-iv.c (iv_number_of_iterations): Record assumptions for loops |
| with power of two step to 'infinite' field. |
| |
| 2004-12-18 Roger Sayle <roger@eyesopen.com> |
| |
| * Makefile.in (stor-layout.o): Depend upon gt-stor-layout.h. |
| (tree-ssa-propagate.o): Depend upon gt-tree-ssa-propagate.h. |
| (tree-ssa-operands.o): Depend upon gt-tree-ssa-operands.h. |
| (tree-mudflap.o): Depend upon gt-tree-mudflap.h. |
| (expr.o): Depend upon gt-expr.h. |
| (regclass.o): Depend upon gt-regclass.h. |
| (bitmap.o): Depend upon gt-bitmap.h. |
| (lists.o): Depend upon gt-lists.h. |
| |
| (cfgexpand.o): Don't depend upon gt-tree-cfg.h. |
| |
| (GTFILES): Remove fold-const.c. |
| (gt-stmt.h, gt-fold-const.h, gt-input.h, gt-tree-ssa-ccp.h): |
| Remove rules. |
| |
| 2004-12-18 Richard Henderson <rth@redhat.com> |
| |
| * stor-layout.c (layout_decl): Unshare size expressions copied |
| from the type. |
| |
| * fold-const.c (multiple_of_p): Handle BIT_AND_EXPR when |
| BOTTOM is a power of two. |
| |
| 2004-12-18 Richard Henderson <rth@redhat.com> |
| |
| * tree-nested.c (save_tmp_var): New. |
| (struct walk_stmt_info): Add is_lhs. |
| (walk_stmts) <MODIFY_EXPR>: Be more accurate with setting of |
| val_only; set is_lhs. |
| (convert_nonlocal_reference): Use save_tmp_var when is_lhs; |
| clear is_lhs when appropriate. |
| (convert_local_reference): Likewise. |
| |
| 2004-12-18 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm/ieee754-sf.S (floatdisf): Fix label definition in FPA |
| compatibility code. |
| |
| 2004-12-18 Roger Sayle <roger@eyesopen.com> |
| |
| * ifcvt.c (total_bb_rtx_cost): Rename function to cheap_bb_rtx_cost_p. |
| Take a max_cost argument to avoid scanning large blocks, by returning |
| a Boolean instead of a total. Include the cost of a "fstp %st(0)" |
| instruction required to pop dead values off of a register stack. |
| |
| 2004-12-18 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/18548 |
| * expr.c (expand_expr_real_1) <MAX_EXPR>: Ensure that target, op0 |
| and op1 are all registers (or constants) before expanding the RTL |
| comparison sequence [to avoid reg_overlap_mentioned (target, op1)]. |
| |
| 2004-12-18 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR rtl-optimization/16968 |
| * loop.c (scan_loop): Stop scanning the loop for movable |
| insns as soon as an optimization barrier is encountered. |
| |
| 2004-12-17 Zack Weinberg <zack@codesourcery.com> |
| |
| PR 18897 |
| * toplev.c (compile_file): Call process_pending_assemble_externals |
| just before targetm.asm_out.file_end. |
| |
| 2004-12-17 Diego Novillo <dnovillo@redhat.com> |
| |
| tree-optimization/18501 |
| * tree-optimize.c (init_tree_optimization_passes): Run |
| pass_late_warn_uninitialized before the last DCE run. |
| |
| 2004-12-17 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (x86_64_reg_class_name): Re-indent. |
| (classify_argument, examine_argument, construct_container, |
| merge_classes): Remove prototypes. |
| (type_natural_mode): Split out from ... |
| (function_arg): ... here. |
| (gen_reg_or_parallel): Remove alt_mode argument. Update callers. |
| Use orig_mode unless it's BLKmode. |
| (construct_container): Add orig_mode argument. Update callers. |
| Use gen_reg_or_parallel for SSE registers. |
| (ix86_function_value): Use type_natural_mode. |
| (ix86_gimplify_va_arg): Likewise. |
| (ix86_hard_regno_mode_ok): Always accept all SSE, MMX, 3DNOW modes in |
| SSE registers; always accept all MMX, 3DNOW modes in MMX registers. |
| * config/i386/i386.h (VALID_SSE2_REG_MODE): Don't include |
| VALID_MMX_REG_MODE. |
| * config/i386/i386.md (attribute mode): Add V1DF. |
| (movsi_1): Use 'x' instead of 'Y' constraints. |
| (movsi_1_nointernunit, movdi_2, movdi_1_rex64): Likewise. |
| (movdi_1_rex64_nointerunit): Likewise. |
| (movdf_nointeger, movdf_integer): Likewise. Handle SSE1. |
| (movsf_1, movsf_1_nointerunit): Line up constraint alternatives. |
| (swapsf): Use fp_register_operand, don't disable for TARGET_SSE. |
| (swapdf): Likewise. |
| (swapxf): Enable only for TARGET_80387. |
| (movv2sf, movv2sf_internal, pushv2sf): Enable for MMX. |
| (movtf): Remove double-check for TARGET_64BIT. |
| (movv2df_internal): Enable for SSE1. |
| (movv8hi_internal, movv16qi_internal): Likewise. |
| (movv2df, movv8hi, movv16qi): Likewise. |
| (pushv2di, pushv8hi, pushv16qi, pushv4si): Likewise. |
| (pushdi2_rex64, movv4sf_internal, movv4si_internal, movv2di_internal, |
| movv8qi_internal, movv4hi_internal, movv2sf_internal, |
| movv2df_internal, movv8hi_internal, movv16qi_internal, |
| movti_internal): Add leading '*' to name. |
| |
| 2004-12-17 Dale Johannesen <dalej@apple.com> |
| |
| * c-decl.c (diagnose_mismatched_decls): Accept mismatched |
| function types: void with previous implicit int. |
| |
| 2004-12-17 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.c (s390_gimplify_va_arg): Set alias set to |
| s390_sr_alias_set. |
| |
| 2004-12-17 Jan Beulich <jbeulich@novell.com> |
| |
| PR target/17603 |
| * config/i386/i386.c (enum x86_64_reg_class): Define |
| X86_64_COMPLEX_X87_CLASS. |
| (x86_64_reg_class_names): Add name for X86_64_COMPLEX_X87_CLASS. |
| (merge_classes): Handle X86_64_COMPLEX_X87_CLASS. |
| (classify_argument): XCmode is X86_64_COMPLEX_X87_CLASS. |
| (examine_argument): X86_64_COMPLEX_X87_CLASS requires two |
| registers when dealing with a return value. |
| (construct_container): Handle X86_64_COMPLEX_X87_CLASS. |
| Eliminate impossible case of two X87/X87UP pairs (this now is |
| being expressed by a single COMPLEX_X87). |
| (x86_libcall_value): XCmode gets returned in st0/st1. |
| |
| 2004-12-17 Steven Bosscher <stevenb@suse.de> |
| |
| * tree.c (type_contains_placeholder_1): Always return false |
| for VECTOR_TYPE if its TREE_TYPE does not contain a placeholder. |
| |
| 2004-12-17 Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386.md (extendsfdf2, *extendsfdf2_1, |
| *extendsfdf2_1_sse_only): Unify enable constraint with |
| respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH |
| and TARGET_MIX_SSE_I387. |
| (*extendsfdf2_i387): New insn pattern. |
| (*extendsfdf2_1): Rename to *extendsfdf2_mixed. Fix |
| register constraint for operand 0. |
| (*extendsfdf2_1_sse_only): Rename to *extendsfdf2_sse. |
| (*extend{s,d}fxf2_1): Rename to *extend{s,d}fxf2_i387. |
| |
| 2004-12-16 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/19041 |
| * config/darwin.c (machopic_symbol_defined_p): Return false |
| if the binds local and is a common symbol. |
| |
| 2004-12-16 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.md (extv, extzv, insv): Revalidate the |
| operand with ext_register_operand. |
| |
| 2004-12-16 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * global.c: Fix a comment typo. |
| |
| 2004-12-16 Eric Botcazou <ebotcazou@libertysurf.fr> |
| Roger Sayle <roger@eyesopen.com> |
| |
| PR tree-optimization/18707 |
| * cfgloopmanip.c (create_preheader): Move the preheader |
| only if the latch was falling through to the header. |
| |
| 2004-12-16 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| PR target/18997 |
| * config/i386/cygwin.h (GTHREAD_USE_WEAK): Define to 0. |
| |
| 2004-12-16 Richard Henderson <rth@redhat.com> |
| Aldy Hernandez <aldyh@redhat.com> |
| |
| * simplify-rtx.c (simplify_replace_rtx): Do not blindly replace |
| hard registers. |
| |
| 2004-12-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR other/18508 |
| * config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix |
| to back up the existing shared library. |
| * config/arm/t-netbsd (SHLIB_LINK): Likewise. |
| * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise. |
| * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise. |
| * config/sh/t-linux (SHLIB_LINK): Likewise. |
| * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise. |
| * config/t-slibgcc-darwin (SHLIB_LINK): Likewise. |
| * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise. |
| * config/t-slibgcc-sld (SHLIB_LINK): Likewise. |
| |
| * config/i386/t-nwld (SHLIB_LINK): Don't use the temporary |
| file. |
| |
| 2004-12-16 Richard Henderson <rth@redhat.com> |
| |
| * Makefile.in (MD_DEPS, s-mddeps): New. |
| (s-config, s-conditions, s-flags, s-codes, s-constants, s-emit, |
| s-recog, s-opinit, s-extract, s-peep, s-attr, s-attrtab, s-output, |
| s-preds): Depend on MD_DEPS instead of md_file. |
| (genobjnames): Add genmddeps.o |
| (build/genmddeps, build/genmddeps.o): New. |
| (mostlyclean): Remove mddeps.mk. |
| * genmddeps.c: New file. |
| * gensupport.c (include_callback): New. |
| (process_include): Call it. |
| * gensupport.h (include_callback): Declare. |
| |
| 2004-12-16 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * local-alloc.c (block_alloc): Replace IN_RANGE with simple |
| comparison. |
| |
| * doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs. |
| |
| 2004-12-16 Mark Dettinger <dettinge@de.ibm.com> |
| |
| * config/s390/s390.c (struct processor_costs): Two new fields: |
| madbr, maebr. |
| (s390_rtx_costs): Added handling of multipy and add in SFmode. |
| More precise values for cost of multiply and add. |
| |
| 2004-12-15 Richard Henderson <rth@redhat.com> |
| |
| PR target/19028 |
| * config/i386/i386.md (sse compare splitter): Test for SF and DFmode |
| explicitly instead of using VALID_SSE_REG_MODE. |
| |
| 2004-12-15 Richard Henderson <rth@redhat.com> |
| |
| PR target/19005 |
| * config/i386/i386.md (swaphi_1): Swap with swaphi_2, allow with |
| optimize_size. |
| (swapqi_1): Rename from swapqi. Enable only for no partial reg |
| stall and optimize_size. |
| (swapqi_2): New. |
| (swaphi_1, swaphi_2, swapqi_1): Add athlon_decode. |
| (swapsi, swaphi_1, swaphi_2, swapqi_1, swapdi): Remove modrm override. |
| |
| 2004-12-16 Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386.md (*floathisf2_i387, *floathidf2_i387): |
| Also enable for TARGET_MIX_SSE_I387. |
| |
| 2004-12-16 Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386.md (sqrt{s,d}f2_1, sqrt{s,d}f2_1_sse_only, |
| sqrt{s,d}f2_i387): Unify enable constraint with respect to |
| TARGET_SSE, TARGET_SSE2, TARGET_USE_FANCY_MATH_387, |
| TARGET_SSE_MATH and TARGET_MIX_SSE_I387. |
| (sqrt{s,d}f2_1): Rename to *sqrt{s,d}f2_mixed. |
| (sqrt{s,d}f2_1_sse_only): Rename to *sqrt{s,d}f2_sse. |
| (sqrt{s,d}f2_i387): Rename to *sqrt{s,d}f2_i387. |
| (*sqrtextendsfdf2): Also enable for TARGET_MIX_SSE_I387. |
| (*sqrtextend?f?f2): Rename to *sqrtextendsfdf2_i387. |
| |
| 2004-12-16 Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386.md (*fop_?f_comm_{,sse,nosse}, |
| *fop_?f_1_{,sse,nosse}, *fop_{d,x}f_{2,3,4,5,6}): Unify enable |
| constraint with respect to TARGET_80387, TARGET_SSE, TARGET_SSE2, |
| TARGET_SSE_MATH and TARGET_MIX_SSE_I387. |
| (*fop_?f_{comm,1}): Rename to *fop_?f_{comm,1}_mixed. |
| (*fop_?f_{comm,1}_nosse): Rename to *fop_?f_{comm,1}_i387. |
| (*fop_{d,x}f_{2,3,4,5,6}): Rename to *fop_{d,x}f_{2,3,4,5,6}_i387. |
| |
| 2004-12-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/18153 |
| * configure.ac: Define HAVE_LD_STATIC_DYNAMIC if linker supports |
| -Bstatic/-Bdynamic option. |
| * config.in: Regenerated. |
| * configure: Likewise. |
| |
| * gcc.c (init_spec): Pass -Bstatic/-Bdynamic to ld for static |
| -lunwind if possible. |
| |
| 2004-12-15 Daniel Berlin <dberlin@dberlin.org> |
| |
| * cfgloop.c (flow_loops_dump): Don't print out levels. |
| (flow_loops_find): Don't set loop->levels. |
| (flow_loops_level_compute): Make void. |
| * cfgloop.h (struct loops): Remove levels member. |
| Add comment about loops in parray possibly being NULL. |
| |
| 2004-12-15 Alexandre Oliva <aoliva@redhat.com> |
| |
| * reload.c (SMALL_REGISTER_CLASS_P): New. |
| (push_secondary_reload, find_reusable_reload, find_reloads): Use |
| it instead of testing only the class size. |
| |
| 2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR c++/17972 |
| * tree-inline.c (expand_call_inline): Set TREE_SIDE_EFFECTS |
| on the STMT_EXPR wrapping up the inlined body. |
| |
| 2004-12-15 Vladimir Makarov <vmakarov@redhat.com> |
| Steven Bosscher <stevenb@suse.de> |
| PR middle end/17340 |
| |
| * global.c: Update comments in a few places. |
| (check_earlyclobber): Return true if there are early clobber |
| classes. |
| (calculate_local_reg_bb_info): Do not try to mark earlyclobber |
| regs if there are none. |
| (bb_info, allocate_bb_info, free_bb_info, modify_reg_pav, |
| make_accurate_live_analysis): Rename pavin, pavout to live_pavin, |
| live_pavout. |
| (modify_bb_reg_pav): Remove. |
| (calculate_reg_pav): Use code from modify_bb_reg_pav. |
| (temp_bitmap): New variable. |
| (calculate_reg_pav): Allocate/deallocate temp_bitmap. |
| |
| 2004-12-15 Richard Henderson <rth@redhat.com> |
| |
| PR target/19010 |
| * config/i386/i386.c (ix86_must_pass_in_stack): Don't return true |
| for TImode vectors. |
| (gen_reg_or_parallel): New. |
| (function_arg): Use it. |
| (ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately, |
| MMX and 3DNOW separately. |
| (ix86_rtx_costs): Simplify FLOAT_EXTEND case. |
| (ix86_vector_mode_supported_p): Test SSE1 and SSE2 separately. |
| * config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ... |
| (VALID_SSE_REG_MODE): ... here. |
| |
| 2004-12-15 David Edelsohn <edelsohn@gnu.org> |
| |
| * xcoffout.c (xcoffout_declare_function): Change strncpy to memcpy. |
| |
| 2004-12-15 Ian Lance Taylor <ian@wasabisystems.com> |
| |
| * config/arm/arm.c (arm_xscale_rtx_costs): Increase cost of |
| COMPARE of MULT. |
| * config/arm/arm.md (mulsi3_compare0): Don't check |
| arm_arch_xscale. |
| (mulsi_compare0_scratch, mulsi3_addsi_compare0): Likewise. |
| (mulsi3addsi_compare0_scratch): Likewise. |
| |
| 2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR other/18665 |
| * libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2. |
| Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3. |
| * libgcc2.c (__addvsi3): Rename to __addvSI3. |
| New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC. |
| (__addvdi3): Rename to __addvDI3. |
| (__subvsi3): Rename to __subvSI3. Use word type for the result. |
| New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC. |
| (__subvdi3): Rename to __subvDI3. |
| (_mulvsi3): Rename to _mulvSI3. |
| New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC. |
| (_mulvdi3): Rename to _mulvDI3. |
| (__negvsi2): Rename to __negvSI2. |
| New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC. |
| (__negvdi2): Rename to __negvDI2. |
| (__absvsi2): Rename to __absvSI2. |
| New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC. |
| (__absvdi2): Rename to __absvDI2. |
| * libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC. |
| (__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2, |
| __addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate |
| symbol and declare. |
| (__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if |
| COMPAT_SIMODE_TRAPPING_ARITHMETIC. |
| |
| 2004-12-15 Kazuhiro Inaoka <inaoka.kazuhiro@reneasas.com> |
| |
| * config/m32r/m32r.h (PREFERRED_DEBUGGING_TYPE): |
| Use DWARF2_DEBUG. |
| |
| * config/m32r.c (m32r_legitimize_pic_address): Changed |
| to support GOTOFF relocation. |
| * config/m32r.md (UNSPEC_GOTOFF): New. |
| (gotoff_load_addr): New. |
| |
| 2004-12-15 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/mips/mips.c (mips_arg_info): Use FUNCTION_ARG_BOUNDARY to |
| decide whether an argument is double-word aligned. |
| |
| 2004-12-15 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.md: Fix missing modes on cmove splitters. |
| |
| 2004-12-15 Jan Beulich <jbeulich@novell.com> |
| |
| * mklibgcc.in (libgcc2_c_dep): Add dependency on libgcc2.h. |
| |
| 2004-12-15 Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386.md (floathisf2, *floathisf2_1, floatsisf2, |
| *floatsisf2_i387, *floatsisf2_sse, floatdisf2, |
| *floatdisf2_i387_only, *floatdisf2_i387, *floatdisf2_sse, |
| floathidf2, *floathidf2_1, *floatsidf2_i387, *floatsidf2_sse, |
| floatdidf2, *floatdidf2_i387_only, *floatdidf2_i387, |
| *floatdidf2_sse, floatunssisf2, floatunsdisf2, floatunsdidf2): |
| Unify enable constraint with respect to TARGET_80387, TARGET_SSE, |
| TARGET_SSE2, TARGET_64BIT, TARGET_SSE_MATH and TARGET_MIX_SSE_I387. |
| (*float?i?f_i387): Rename to *float?i?f2_mixed. |
| (*float?i?f2_1): Rename to *float?i?f2_i387. |
| (*float?i?f2_i387_only): Rename to *float?i?f2_i387. |
| (float?ixf2): Penalize integer register operand. |
| |
| 2004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR c++/17242 |
| * configure.ac: Add GAS check for HP-UX .nsubspa comdat. |
| * configure, config.in: Rebuilt. |
| * config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Delete |
| defines. |
| * config/pa/pa.c (pa_select_section): Allow uninitialized variables in |
| one-only (comdat) subspaces. |
| * config/pa/som.h (SUPPORTS_SOM_COMDAT): New define. |
| (SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT are |
| true. |
| (MAKE_DECL_ONE_ONLY): Place uninitialized variables in common. |
| |
| 2004-12-14 Ian Lance Taylor <ian@wasabisystems.com> |
| |
| * combine.c (combine_validate_cost): Consider cost of |
| undobuf.other_insn rather than always allowing the recombination |
| if it is set. |
| |
| 2004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa-host.c (MAP_FAILED): Define if not defined. |
| (pa_gt_pch_use_address): Handle short reads. |
| |
| 2004-12-14 Richard Henderson <rth@redhat.com> |
| |
| PR target/17990 |
| * config/i386/i386.c (x86_use_bt): New. |
| (ix86_expand_unary_operator): Use MEM_P. |
| (ix86_expand_fp_absneg_operator): New. |
| * config/i386/i386.h (x86_use_bt): Declare. |
| (TARGET_USE_BT): New. |
| * config/i386/i386-protos.h: Update. |
| * config/i386/i386.md (negsf2): Use ix86_expand_fp_absneg_operator. |
| (negdf2, negxf2, abssf2, absdf2, absxf2): Likewise. |
| (negsf2_memory, negsf2_ifs, negsf2_if, negdf2_memory, negdf2_ifs, |
| negdf2_ifs_rex64, negdf2_if, negdf2_if_rex64, negxf2_if, |
| abssf2_memory, abssf2_ifs, abssf2_if, absdf2_memory, absdf2_ifs, |
| absdf2_ifs_rex64, absdf2_if, absxf2_if): Remove. |
| (absnegsf2_mixed, absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, |
| absnegdf2_sse, absnegdf2_i387, absnegxf2_i387): New. Merge all |
| neg and abs splitters. Handle DFmode in general regs in 64-bit mode. |
| (negextendsfdf2, absextendsfdf2): Disable for non-mixed sse math. |
| (btsq, btrq, btcq): New. Add peepholes as well. |
| (movv4sf_internal splitter): Postpone til after reload. |
| (movv2di_internal splitter): Likewise. |
| * config/i386/predicates.md (const_0_to_63_operand): New. |
| (absneg_operator): New. |
| |
| 2004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa.h (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P): |
| Check register number and that reg_renumber is nonzero before using it. |
| |
| 2004-12-14 Steve Ellcey <sje@cup.hp.com> |
| |
| * doc/invoke.texi (IA-64 options): Add existing options that |
| weren't already listed. |
| |
| 2004-12-14 Jeff Law <law@redhat.com> |
| |
| * tree-outof-ssa.c (coalesce_abnormal_edges): Pass the correct target |
| partition to conflict_graph_merge_regs. |
| |
| 2004-12-14 Uttam Pawar <uttamp@us.ibm.com> |
| Janis Johnson <janis187@us.ibm.com> |
| |
| * rs6000.c (rs6000_handle_altivec_attribute_tree): Report errors |
| for vector types with invalid component types. |
| |
| 2004-12-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/18951 |
| * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2, |
| expand_builtin_mathfn_3): Avoid using arguments passed to |
| save_expr after that call. |
| |
| * fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend |
| LOAD_EXTEND_OP is not defined. |
| (fold): Likewise. If flag_syntax_only, don't depend on BITS_PER_WORD. |
| |
| 2004-12-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * tree.def, doc/c-tree.texi: Correctly document restrictions on the |
| shift width. |
| |
| 2004-12-14 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * expr.h (expand_modifier): Define EXPAND_STACK_PARM as 1. |
| |
| 2004-12-14 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/18973 |
| arm-cores.def (arm926ej-s, arm1026ej-s, arm1136j-s, arm1136-jfs) |
| (arm1176jz-s, arm1176jzf-s, mpcorenovfp, mpcore): Add load-scheduling |
| property to flags. |
| |
| 2004-12-14 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-gimple.c (get_base_address): Update documentation. |
| |
| 2004-12-13 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/17930 |
| * passes.c (rest_of_clean_state): Fix computation of |
| preferred_incoming_stack_boundary. |
| |
| 2004-12-13 Wolfgang Bangerth <bangerth@dealii.org> |
| |
| * reload.h: Remove struct needs and its only use. |
| |
| 2004-12-13 Roger Sayle <roger@eyesopen.com> |
| |
| PR rtl-optimization/18928 |
| * simplify_rtx.c (plus_minus_operand_p): New function to encode |
| the test for suitable operands for calls to simplify_plus_minus. |
| Only allow (CONST (PLUS x y)) if both x and y are CONSTANT_P. |
| (simplify_binary_operation): Use plus_minus_operand_p. |
| |
| 2004-12-13 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR tree-opt/16951 |
| * tree-inline.c (setup_one_parameter): Don't directly map a |
| parameter to the address of another variable of the same |
| function. |
| |
| 2004-13-12 Steven Bosscher <stevenb@suse.de> |
| |
| * basic-block.h (PROP_POSTRELOAD): Do not include PROP_AUTOINC, we |
| can never create autoinc insns after reload. |
| |
| 2004-12-13 Jeff Law <law@redhat.com> |
| Kazu Hirata <kazu@cs.umass.edu> |
| |
| PR tree-optimization/18694 |
| * tree-ssa-dom.c (thread_across_edge): Do not thread jumps if a |
| PHI argument is set from a PHI_RESULT in the same block and the |
| PHI argument is not the same as the PHI result. |
| |
| 2004-12-13 David Edelsohn <edelsohn@gnu.org> |
| |
| * xcoffout.c (xcoffout_declare_function): Always strip storage |
| class encoding. |
| |
| 2004-12-13 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/18964 |
| * config/darwin.c (darwin_assemble_visibility): Fix minor diagnostic |
| problem, adding a space at the end of the string before concatenation. |
| |
| 2004-12-13 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * c-common.c (fname_as_string): Free namep if we are returning |
| cstr.text. |
| |
| * tree-ssa-dom.c (record_edge_info): Fix memory leak. |
| |
| 2004-12-13 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * tree-cfg.c (remove_useless_stmts_cond): Call fold on COND_EXPR_COND. |
| |
| 2004-12-13 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-ssa-dom.c (record_equivalences_from_phis): Speed up by |
| doing a pointer comparison. |
| |
| * tree-ssa-dom.c (record_equivalences_from_phis): Add a |
| comment. |
| |
| * defaults.h, stmt.c, tree-cfg.c, tree-ssa-dce.c: Fix comment |
| typos. |
| |
| 2004-12-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
| |
| * config/m32r/t-linux (SHLIB_MAPFILES): Add libgcc-glibc.ver to |
| the list rather than replacing the existing value. |
| |
| 2004-12-13 Richard Henderson <rth@redhat.com> |
| |
| * cfg.c (dump_flow_info): Don't dump pseudo info after reload. |
| |
| 2004-12-13 Richard Henderson <rth@redhat.com> |
| |
| * Makefile.in (insn-preds.o): Depend on REGS_H. |
| * genpreds.c (write_insn_preds_c): Include regs.h. |
| * config/i386/predicates.md (index_register_operand): Use |
| REG_OK_FOR_INDEX_STRICT_P and REG_OK_FOR_INDEX_NONSTRICT_P. |
| |
| * config/i386/i386.h (REG_CLASS_FROM_LETTER): Add 'l'. |
| * config/i386/i386.md (lea_general_1, lea_general_1_zext, |
| lea_general_2, lea_general_2_zext, lea_general_3, lea_general_3_zext, |
| adddi_1_rex64, addsi_1, addsi_1_zext, addhi_1_lea, addqi_1_lea, |
| ashldi3_1_rex64, ashlsi3_1, ashlsi3_1_zext, ashlhi3_1_lea, |
| ashlqi3_1_lea): Use 'l' for index register operand. |
| (ashldi3_1_rex64 splitter): Use index_register_operand. |
| (ashlsi3_1 splitter): Be more careful with modes. |
| |
| 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| PR target/18459 |
| * defaults.h (TARGET_USE_JCR_SECTION): New macro. |
| * doc/tm.texi (TARGET_USE_JCR_SECTION): Document it. |
| * config/i386/cygming.h (TARGET_USE_JCR_SECTION): Override |
| default. |
| |
| 2004-12-13 Uros Bizjak <uros@kss-loka.si> |
| |
| PR target/14941 |
| PR target/18503 |
| * config/i386/i386.md (sse_movss, sse2_movsd, sse2_movhpd): |
| Fix wrong vec_merge selector bitmask. |
| |
| 2004-12-12 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/17186 |
| * reg-stack.c (move_nan_for_stack_reg): New. |
| (subst_stack_regs_pat): Use it. |
| (move_for_stack_reg): Handle source register not live with a nan. |
| |
| 2004-12-12 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatch |
| errors across operations. |
| |
| 2004-12-12 Di-an Jan <dianj@freeshell.org> |
| |
| * doc/passes.texi (Pass Manager): Correct list of source files. |
| |
| 2004-12-12 Richard Henderson <rth@redhat.com> |
| |
| * expr.c (emit_move_change_mode): New. |
| (emit_move_via_alt_mode): Use it. |
| |
| 2004-12-12 Nathanael Nerode <neroden@gcc.gnu.org> |
| John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR middle-end/17564 |
| * dojump.c (do_compare_and_jump): Only canonicalize function pointers |
| in a comparison if both sides are function pointers. |
| |
| 2004-12-12 Richard Henderson <rth@redhat.com> |
| |
| PR target/18932 |
| * config/i386/i386.md (all splits and peepholes): Use flags_reg_operand |
| and compare_operator to propagate the input CC mode to the output. |
| * config/i386/predicates.md (compare_operator): New. |
| |
| 2004-12-12 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/18040 |
| * expr.c (get_inner_reference): Remove NON_LVALUE_EXPR, NOP_EXPR, |
| CONVERT_EXPR cases. |
| (handled_component_p): Likewise. |
| |
| 2004-12-12 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * reg-stack.c (convert_regs_2): Free stack. |
| |
| * tree-ssa-dom.c (thread_across_edge, dom_opt_finalize_block): Fix |
| comment typos. |
| |
| 2004-12-12 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null. |
| * tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real |
| inner loop. |
| |
| 2004-12-12 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-gimple.c (get_base_address): Update documentation. |
| |
| 2004-12-12 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * lcm.c (optimize_mode_switching): Free ptr even when mode_set |
| is NULL_RTX. |
| |
| 2004-12-12 Roger Sayle <roger@eyesopen.com> |
| |
| * reg-stack.c (change_stack): Avoid placing the new top-of-stack in |
| its correct location during popping if we need to permute the stack |
| afterwards. Attempt to preserve the original stack ordering. |
| |
| 2004-12-12 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * lcm.c (optimize_mode_switching): Free insert and delete in |
| the "for" loop. |
| |
| 2004-12-11 David Edelsohn <edelsohn@gnu.org> |
| Ulrich Weigand <uweigand@de.ibm.com> |
| |
| PR target/18641 |
| * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Reload all |
| constants into all register classes intersecting with FLOAT_REGS |
| via memory. |
| * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Same. |
| * config/rs6000/rs6000.md (movdi_internal32): Ignore FPRs when |
| choosing register preferences. |
| (movdi_internal64): Same. |
| |
| 2004-12-11 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX |
| before we release an SSA_NAME. |
| |
| 2004-12-11 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/18921 |
| * fold-const.c (fold_unwidened_comparison): Use omit_one_operand |
| instead of constant_boolean_node as arg0 may have side-effects. |
| |
| 2004-12-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH |
| file to anonymous private map. |
| |
| 2004-12-10 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/18002 |
| PR middle-end/18424 |
| * dojump.c (do_jump): When attempting to reverse the effects of |
| fold_single_bit_test, we need to STRIP_NOPS and narrowing type |
| conversions, and handle BIT_XOR_EXPR that's used to invert the |
| sense of the single bit test. |
| |
| 2004-12-10 Devang Patel <dpatel@apple.com> |
| |
| PR 18732 |
| * gcc.c (main): Do not break out of loop when error is reported while |
| processing one source file. |
| |
| 2004-12-10 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-into-ssa.c (REWRITE_THIS_STMT): Define. |
| (mark_def_sites): Clear REWRITE_THIS_STMT for statements that |
| don't need any operands rewritten. |
| (rewrite_stmt): Ignore statements that don't need to be |
| rewritten. |
| (rewrite_operand): Validate that an existing SSA_NAME is |
| identical to the current reaching definition of the operand. |
| |
| 2004-12-10 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-dfa.c (mark_call_clobbered_vars_to_rename): New function. |
| * tree-vectorizer.c (vectorizable_load): Call it. |
| * tree-flow.h (mark_call_clobbered_vars_to_rename): Declare. |
| * tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming. |
| |
| 2004-12-10 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * regmove.c (combine_stack_adjustments_for_block): Free |
| memlist if it hasn't been freed. |
| |
| 2004-12-10 Ziemowit Laski <zlaski@apple.com> |
| |
| * c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC |
| pointer field is set before dereferencing it. |
| |
| 2004-12-10 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/18903 |
| * tree-cfg.c (remove_bb): Put the moved label at the beginning |
| of the basic block. |
| |
| 2004-12-10 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-data-ref.c (free_data_refs): Free each data_reference |
| object. |
| |
| * tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a |
| call to is_gimple_min_invariant if we know the result. |
| |
| 2004-12-10 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-alias.c (setup_pointers_and_addressables): Remove |
| redundant test of v_ann->mem_tag_kind. |
| |
| * tree-ssa-operands.c (get_indirect_ref_operands): Remove |
| redundant conditional clearing opf_kill_def. |
| |
| 2004-12-10 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/frv/frv-modes.def: Fix comment typos. |
| (CC_NZ): Define new mode. |
| * config/frv/frv-protos.h (frv_select_cc_mode): Declare. |
| (condexec_intop_cmp_operator): Delete. |
| * config/frv/frv.c (comparison_string): New function. |
| (frv_print_operand): Use it to handle 'c' and 'C'. |
| (relational_operator): Redefine in terms of integer_relational_operator |
| and float_relational_operator. |
| (signed_relational_operator, unsigned_relational_operator): Delete. |
| (integer_relational_operator): New predicate, combining the above. |
| Check the mode of the first operand but leave frv.md to check the rest. |
| (float_relational_operator): Just check the mode of the first operand |
| and leave frv.md to check the rest. |
| (intop_compare_operator): Assume the result is compared with zero |
| in mode CC_NZmode. Allow PLUS and MINUS. Leave frv.md to check |
| the operand predicates. |
| (condexec_intop_cmp_operator): Delete. |
| (frv_ifcvt_modify_tests, frv_ifcvt_modify_multiple_tests) |
| (frv_hard_regno_mode_ok): Handle CC_NZmode. |
| (frv_select_cc_mode): New function. |
| * config/frv/frv.h (SELECT_CC_MODE): Use frv_select_cc_mode. |
| (REVERSIBLE_CC_MODE): Include CC_NZmode. |
| (PREDICATE_CODES): Replace entries for signed_relational_operand and |
| unsigned_relational_operator with one for integer_relational_operator. |
| Delete entry for condexec_intop_cmp_operator. |
| * config/frv/frv.md (movcc_nz, *internal_movcc_nz, reload_incc_nz) |
| (reload_outcc_nz, *cmpsi_cc_nz, *cond_exec_cmpsi_cc_nz): New patterns. |
| (*combo_intop_compare2, *combo_intop_compare4): Delete. |
| (*combo_intop_compare1): Change mode to CC_NZ. |
| (*combo_intop_compare2): Likewise. Renamed from *combo_intop_compare3. |
| (branch_{un,}signed_true, branch_{un,}signed_false) |
| (*scc_{un,}signed, *scc_neg1_{un,}signed, *ck_{un,}signed) |
| (*movqicc_internal1_{un,}signed, *movqicc_internal2_{un,}signed) |
| (*movhicc_internal1_{un,}signed, *movhicc_internal2_{un,}signed) |
| (*movsicc_internal1_{un,}signed, *movsicc_internal2_{un,}signed) |
| (*movsfcc_has_fprs_{un,}signed, *movsfcc_no_fprs_{un,}signed) |
| (*return_{unsigned_,}true, *return_{unsigned_,}false): Merge these |
| pattern pairs. Use integer_relational_operator. Remove mode from |
| icc_operand. |
| |
| 2004-12-10 Mark Dettinger <dettinge@de.ibm.com> |
| |
| * config/s390/s390.c (struct processor_costs): New fields ml, |
| sqdbr, sqebr. |
| (s390_rtx_costs): Added the missing handling of multiply & add, |
| square root, and umulsidi. |
| |
| 2004-12-10 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * expmed.c (synth_mult): Initialize new_limit.latency before |
| making a recursive call. |
| |
| 2004-12-10 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300.c (legitimate_address_p): Reject address |
| whose index is itself the sum of two other parts. |
| |
| 2004-12-10 Alan Modra <amodra@bigpond.net.au> |
| |
| * config/t-slibgcc-sld (SHLIB_LINK): Correct symlink. |
| |
| 2004-12-10 Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386.md (*cmpfp_sf): Change type attribute to "multi". |
| |
| 2004-12-09 Richard Henderson <rth@redhat.com> |
| |
| PR c/18282 |
| * attribs.c (decl_attributes): Use relayout_decl. |
| * c-common.c (handle_mode_attribute): Copy all relevant type |
| parameters from the new underlying integral type. |
| |
| 2004-12-09 Richard Henderson <rth@redhat.com> |
| |
| * c-common.c (shorten_compare): Don't special-case min/maxval |
| for C enumerations. |
| |
| 2004-12-09 Richard Sandiford <rsandifo@redhat.com> |
| |
| * simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether |
| the request subreg is entirely contained in the requested component. |
| (simplify_gen_subreg): Return null for CONCATs that are rejected |
| by simplify_subreg. |
| * expmed.c (store_bit_field): Create a temporary when changing the |
| value to an integer mode. |
| |
| 2004-12-09 David Edelsohn <edelsohn@gnu.org> |
| |
| * real.c (ibm_extended): Correct comment. |
| |
| 2004-12-09 Stan Shebs <shebs@apple.com> |
| |
| * config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros |
| formerly in darwin-tramp.asm. |
| * config/rs6000/darwin-tramp.asm: Include darwin-asm.h. |
| * config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros. |
| * config/rs6000/t-darwin: Add dependencies. |
| |
| 2004-12-09 Richard Henderson <rth@redhat.com> |
| |
| PR target/17025 |
| * config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New. |
| (test_qi_1, andqi_2): Do not promote to simode. |
| |
| 2004-12-09 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/18904 |
| * tree-chrec.c (chrec_convert): Use fold_convert |
| instead of convert. |
| |
| 2004-12-09 Matt Rice <ratmice@yahoo.com> |
| |
| PR preprocessor/18102 |
| * c-incpath.c (remove_duplicates): Check for construct |
| equality. |
| |
| 2004-12-09 Dorit Naishlos <dorit@il.ibm.com> |
| |
| * genopinit.c (vec_realign_store_optab): Initialization removed. |
| * optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed. |
| * optabs.h (optab_index): OTI_vec_realign_store Removed. |
| (vec_realign_store_optab): Removed. |
| * target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed. |
| * target.h (builtin_mask_for_store): Removed. |
| * tree.def (REALIGN_STORE_EXPR): Removed. |
| * config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed. |
| (altivec_builtin_mask_for_store): Removed. |
| (altivec_init_builtins): Removed initialization of |
| altivec_builtin_mask_for_store. |
| |
| * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New. |
| (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New. |
| |
| 2004-12-09 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs. |
| |
| * tree.def (SET_TYPE): Remove. |
| (CONSTRUCTOR): Update description. |
| * builtins.c (type_to_class) Remove SET_TYPE case. |
| * dbxout.c (dbxout_type): Likewise. |
| * dwarf2out.c (is_base_type): Likewise. |
| (gen_set_type_die): Remove. |
| (gen_type_die): Remove SET_TYPE case. |
| * expr.c (count_type_elements): Likewise. |
| (mostly_zeroes_p): Likewise. |
| (store_constructor): Likewise. |
| * print_tree.c (print_node): Likewise. |
| * stor-layout.c (layout_type): Likewise. |
| * tree-browser.c (browse_tree): Likewise. |
| * tree-inline.c (remap_type): Likewise. |
| * tree-pretty-print.c (dump_generic_node): Likewise. |
| * tree.c (type_contains_plaeholder_1, type_hash_eq, |
| variably_modified_type_p, initializer_zerop): Likewise. |
| * tree.h (SET_OR_ARRAY_CHECK): Remove. |
| (AGGREGATE_TYPE_P): Remove SET_TYPE check. |
| (TYPE_DOMAIN): Use ARRAY_TYPE_CHECK. |
| * typeclass.h (enum type_class): Remove set_type_class. |
| * varasm.c (const_hash_1): Remove SET_TYPE case. |
| (compare_constant, copy_constant, output_constant): Likewise. |
| * config/i386/i386.c (classify_argument): Likewise. |
| * config/ia64/ia64.c (hfa_element_mode): Likewise. |
| * config/sparc/sparc.c (sparc_type_code): Likewise. |
| |
| PR c++/16681 |
| * tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case. |
| |
| 2004-12-08 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.md: Use FLAGS_REG everywhere. |
| |
| 2004-12-08 Eric Christopher <echristo@redhat.com> |
| |
| * config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite |
| to avoid call to default function. |
| |
| 2004-12-08 Zack Weinberg <zack@codesourcery.com> |
| |
| PR 17982 |
| * varasm.c (pending_assemble_externals): New static. |
| (assemble_external_real): Meat of assemble_external split out |
| to this new function. |
| (process_pending_assemble_externals): New function. |
| (assemble_external): Use gcc_assert. If flag_unit_at_a_time |
| is true and the basic test passes, merely cons the decl onto |
| the pending list to be handled later. |
| * tree.h: Declare process_pending_assemble_externals. |
| * cgraphunit.c (cgraph_optimize): Call it. |
| |
| * config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL. |
| |
| 2004-12-08 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cfgloopmanip.c (create_preheader): Speed up by "unrolling" |
| and simplifying FOR_EACH_EDGE. |
| |
| 2004-12-08 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/frv/frv.c (frv_sort_insn_group): Always initialize |
| packet_group->nop. |
| |
| 2004-12-08 Nathan Sidwell <nathan@codesourcery.com> |
| |
| PR c++/18672 |
| * gimplify.c (canonicalize_addr_expr): Cope with array of |
| incomplete type. |
| (gimplify_conversion): Remove redundant checks. |
| |
| * doc/trouble.texi (Non-bugs): Clarify empty loop removal. |
| |
| 2004-12-08 Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386.c (output_387_binary_op, |
| ix86_prepare_fp_compare_args): Fix is_sse condition. |
| |
| 2004-12-07 Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386-protos.h (ix86_split_fp_branch): New rtx |
| argument. |
| |
| * config/i386/i386.c (output_fp_compare): Fix is_sse condition. |
| Use EFLAGS_P only when fcomi insn should be used. Fix handling |
| of eflags_p variable. Change alt table accordingly. For non-fcomi |
| compare insn always use trailing fnstsw insn. Fix intmode |
| calculation for ficom insn. |
| (ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call |
| ix86_free_from_memory when "pushed" is specified. |
| (ix86_expand_branch): Change call to ix86_split_fp_branch. |
| |
| * config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf): |
| Change eflags_p parameter in call to output_fp_compare. |
| (*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove. |
| (*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to |
| *cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf. Change eflags_p |
| parameter in call to output_fp_compare. |
| (*cmpfp_2_u): Remove. |
| (*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter |
| in call to output_fp_compare. |
| (*ficom_1): Remove insn definition and corresponding define_split. |
| (*cmpfp_si): New insn definition. |
| (*fp_jcc_8): New insn definition. Add new splitters for |
| "memory_operand" and "register_operand". |
| (define_split): Add new parameter in call to ix86_split_fp_branch. |
| |
| config/i386/predicates.md (float_operator): New predicate. |
| |
| 2004-12-08 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * c-common.c (verify_tree): Don't check code length if we know |
| we are handling tcc_unary. |
| * print_tree.c (print_node): Remove code to handle RTL |
| appearing as a part of a tree node. |
| * tree-gimple.c (recalculate_side_effects): Rename fro as len. |
| * tree.c (build1_stat): Don't check TREE_CODE_LENGTH. |
| (PROCESS_ARG): Don't refer to fro. |
| (build2_stat, build3_stat, build4_stat): Don't compute fro. |
| |
| 2004-12-07 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/18293 |
| * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Move definition earlier. |
| (expand_mult): Special case powers of two to avoid synth_mult. |
| * loop.c (product_cheap_p): Handle case where expand_mult does |
| require/generate any instructions (i.e. multiplication by zero). |
| |
| 2004-12-07 Richard Henderson <rth@redhat.com> |
| |
| * tree-pretty-print.c (dump_array_domain): Split out from |
| dump_generic_node; fix off-by-one error on zero-based array bounds. |
| (dump_generic_node): Use it. |
| (print_declaration): Likewise. |
| |
| 2004-12-08 Richard Guenther <richard.guenther@uni-tuebingen.de> |
| |
| * doc/invoke.texi: Adjust default values for |
| large-function-growth and inline-unit-growth to match |
| params.def. Clarify used algorithm. |
| |
| 2004-12-07 David Mosberger <davidm@hpl.hp.com> |
| |
| PR target/18443 |
| * config/ia64/ia64.c (ia64_assemble_integer): Add support for |
| emitting unaligned pointer-sized integers. |
| |
| 2004-12-07 Steven Bosscher <stevenb@suse.de> |
| |
| PR c/18867 |
| * c-typeck.c (c_start_case): Set orig_type to error_mark_node |
| when the type of the controlling expression is not a valid type. |
| |
| 2004-12-07 Steven Bosscher <stevenb@suse.de> |
| |
| PR tree-optimization/17340 |
| * tree-ssa-pre.c (compute_antic): Fix comment. |
| (compute_avail): Do not recurse, instead do a DFS using a stack |
| and a loop. |
| (execute_pre): Adjust. |
| |
| 2004-12-07 Ziemowit Laski <zlaski@apple.com> |
| |
| * c-tree.h (struct lang_type): Rename 'objc_protocols' field |
| to 'objc_info'. |
| |
| 2004-12-07 Eric Christopher <echristo@redhat.com> |
| |
| PR target/16317 |
| * config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define. |
| |
| 2004-12-07 Eric Christopher <echristo@redhat.com> |
| |
| * config/mips/mips-protos.h (mips_valid_pointer_mode): Move |
| prototype... |
| * config/mips/mips.c: ... here. Make static. |
| |
| 2004-12-07 Eric Christopher <echristo@redhat.com> |
| |
| PR target/18442 |
| * config/mips/mips.c (mips_vector_mode_supported_p): New function. |
| (TARGET_SCALAR_MODE_SUPPORTED_P): Define to above. |
| |
| 2004-12-07 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * c-common.c, expr.c, fold-const.c, print-tree.c, |
| tree-gimple.c, tree-inline.c, tree-pretty-print.c, |
| tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of |
| first_rtl_op with TREE_CODE_LENGTH. |
| * tree.c (first_rtl_op): Remove. |
| Replace uses of first_rtl_op with TREE_CODE_LENGTH. |
| * tree.h: Remove the prototype for first_rtl_op. |
| |
| 2004-12-07 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK): |
| Revert 2004-12-01 change. |
| |
| 2004-12-06 Ziemowit Laski <zlaski@apple.com> |
| |
| * c-tree.h (struct lang_type): Add 'objc_protocols' field. |
| |
| 2004-12-06 DJ Delorie <dj@redhat.com> |
| |
| * reload.c (find_valid_class): Fix logic to test inner mode as well. |
| (push_reload): Pass inner mode. |
| |
| 2004-12-06 Eric Christopher <echristo@redhat.com> |
| |
| * doc/tm.texi (TARGET_VALID_POINTER_MODE): Document. |
| |
| 2004-12-06 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/rs6000/sysv4.h: Define RELOCATABLE_NEEDS_FIXUP to 1. |
| |
| 2004-12-06 Zdenek Dvorak <dvorakz@suse.cz> |
| Kazu Hirata <kazu@cs.umass.edu> |
| |
| PR tree-optimization/18601 |
| * tree-cfg.c (thread_jumps, thread_jumps_from_bb): Removed. |
| (tree_forwarder_block_p): Do not consider blocks that are its own |
| successors forwarders. |
| (cleanup_forwarder_blocks, remove_forwarder_block): New functions. |
| (cleanup_tree_cfg): Use cleanup_forwarder_blocks instead of |
| thread_jumps. |
| * tree-flow.h (bb_ann_d): Remove forwardable. |
| |
| 2004-12-06 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * expr.c (expand_expr_real_1): Remove an "if" whose condition |
| is always false. |
| |
| 2004-12-06 Roger Sayle <roger@eyesopen.com> |
| |
| * c-gimplify.c (gimplify_c_loop): Improve initial implementations |
| for loops whose conditions are known at compile-time. |
| * gimplify.c (append_to_statement_list_1): Remove side_effects |
| parameter, this function should never be called if its false. |
| (append_to_statement_list): Only call append_to_statement_list_1 |
| if t is non-NULL tree with side-effects. |
| (append_to_statement_list_force): Likewise, if t is not NULL. |
| |
| 2004-12-06 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * bt-load.c (btr_def_s): New member own_end; |
| (add_btr_to_live_range): Add second parameter. Changed caller. |
| (clear_btr_from_live_range): Clear btrs_live_at_end bit |
| for the register its definition basic block if own_end is set. |
| (augment_live_range): Also take btrs_live_at_end into account. |
| (combine_btr_defs): Don't bother with |
| other_def->other_btr_uses_after_use if it pertains to a different |
| register. |
| (move_btr_def): Set def->other_btr_uses_before_def after |
| calling combine_btr_defs." |
| |
| * bt-load.c (augment_live_range): New argument full_range. |
| Changed all callers. |
| |
| * bt-load.c (move_tr_def): Set other_tr_uses_before_def |
| taking new btr assignment into account. |
| |
| 2004-12-05 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-ssa-alias.c (create_global_var): Use void_type_node, |
| not size_type_node. |
| |
| 2004-12-05 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * expr.c (expand_expr_real_1): Abort on COND_EXPR of |
| VOID_TYPE. |
| |
| 2004-12-05 Richard Henderson <rth@redhat.com> |
| |
| PR target/18841 |
| * config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New. |
| (builtin_setjmp_receiver_er_sl_1): Use it. |
| (builtin_setjmp_receiver_er_1): Likewise. |
| (builtin_setjmp_receiver_er, exception_receiver_er): Remove. |
| (builtin_setjmp_receiver): Don't split for explicit relocs until |
| after reload. |
| (exception_receiver): Likewise. |
| |
| 2004-12-05 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * mklibgcc.in (vis_hide): Add the prototype for the test. |
| |
| 2004-12-05 Roger Sayle <roger@eyesopen.com> |
| |
| * c-typeck.c (c_finish_loop): Improve initial implementations |
| for loops whose conditions are known at compile-time. |
| |
| 2004-12-05 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * builtins.c: Fix comment typos. |
| |
| 2004-12-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR middle-end/18730 |
| * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): When |
| the first/last insn is a sequence, return the first/last insn of the |
| sequence. |
| |
| PR bootstrap/18804 |
| * mklibgcc.in (vis_hide): Use implementation instead of declaration |
| for test function. |
| |
| 2004-12-04 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.c (alpha_expand_unaligned_load): Don't forget to |
| use ofs in BWX two byte special case. |
| (alpha_expand_unaligned_store): Likewise. |
| |
| 2004-12-04 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * gcse.c (gcse_main): Add a comment. |
| |
| 2004-12-04 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/17909 |
| * builtins.c (fold_builtin_next_arg): Export and return true |
| when there is a warning or an error. |
| (expand_builtin_va_start): When fold_builtin_next_arg returns true, |
| return const0_rtx. |
| (expand_builtin): Likewise. |
| * gimplify.c (gimplify_call_expr): Error out if there is not |
| enough arguments to va_start. Call fold_builtin_next_arg also |
| on the second argument. |
| * tree.h (fold_builtin_next_arg): Prototype. |
| |
| 2004-12-04 Alan Modra <amodra@bigpond.net.au> |
| |
| * mklibgcc.in: Build shared libgcc and shared libunwind in gcc/. |
| Don't subst shlib_dir for SHLIB_LINK, SHLIBUNWIND_LINK, |
| SHLIB_INSTALL, and SHLIBUNWIND_INSTALL. |
| * config/i386/t-nwld (SHLIB_NAME): Use shlib_base_name in place of |
| shlib_dir and shlib_so_name. |
| * config/mips/t-slibgcc-irix (SHLIB_NAME): Likewise. |
| * config/t-libunwind-elf (SHLIB_NAME): Likewise. |
| * config/t-slibgcc-darwin (SHLIB_NAME): Likewise. |
| * config/t-slibgcc-elf-ver (SHLIB_NAME): Likewise. |
| * config/t-slibgcc-sld (SHLIB_NAME): Likewise. |
| (SHLIB_LINK): Don't use shlib_dir when creating symlink. |
| |
| 2004-12-03 Roger Sayle <roger@eyesopen.com> |
| |
| * doc/tm.texi (TARGET_DELEGITIMIZE_ADDRESS): Document target hook. |
| |
| 2004-12-03 Richard Henderson <rth@redhat.com> |
| |
| * alias.c (component_uses_parent_alias_set): Rename from |
| can_address_p. Return bool. Reverse the sense of the result. |
| Reinstate the check for alias set zero. |
| (get_alias_set): Update to match. |
| * alias.h (component_uses_parent_alias_set): Likewise. |
| * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. |
| * expr.c (expand_assignment): Likewise. |
| * expr.h: Remove commented out prototypes that were moved to alias.h. |
| |
| 2004-12-03 Richard Henderson <rth@redhat.com> |
| |
| * doc/tm.texi (TARGET_BUILD_BUILTIN_VA_LIST): New. |
| (TARGET_CANNOT_FORCE_CONST_MEM): New. |
| |
| 2004-12-04 Alan Modra <amodra@bigpond.net.au> |
| |
| PR middle end/18718 |
| * sched-rgn.c (schedule_region): Don't assume REG_SAVE_NOTEs are |
| in pairs. |
| * sched-ebb.c (schedule_ebb): Likewise. |
| |
| 2004-12-03 Andreas Schwab <schwab@suse.de> |
| |
| * Makefile.in (HOSTHOOKS_DEF_H): Define. |
| (ggc-common.o): Depend on $(HOSTHOOKS_DEF_H). |
| (host-default.o): Likewise. |
| |
| 2004-12-03 Eric Christopher <echristo@redhat.com> |
| |
| * config/stormy16/stormy16.md (pushqi, popqi, pushhi, |
| pophi): Add number of arguments to name so that the |
| pattern is recognized as a named pattern. |
| |
| 2004-12-03 Janis Johnson <janis187@us.ibm.com> |
| |
| * doc/extend.texi (AltiVec Builtins): Fix info about signedness. |
| |
| 2004-12-03 Andreas Tobler <a.tobler@schweiz.ch> |
| |
| * config/rs6000/rs6000.c (rs6000_override_options): Protect |
| darwin_one_byte_bool with #if. |
| |
| 2004-12-03 Paolo Bonzini <bonzini@gnu.org> |
| |
| * doc/tm.texi (Misc): Document TARGET_FOLD_BUILTIN. |
| |
| 2004-12-03 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * mklibgcc.in: Put back the default set of EXTRA_MULTILIB_PART. |
| |
| 2004-12-03 Richard Sandiford <rsandifo@redhat.com> |
| |
| * configure.ac: Move TL_AC_GCC_VERSION into initialization section. |
| Set libstdcxx_incdir directly. |
| * configure: Regenerate. |
| |
| 2004-12-03 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-ssa-dom.c (record_equivalences_from_phis): Remove an |
| "if" whose condition is always true. |
| |
| * cfgrtl.c (rtl_verify_flow_info_1): Use JUMP_P instead of |
| INSN_P. |
| |
| 2004-12-02 Stan Shebs <shebs@apple.com> |
| |
| * config/rs6000/rs6000.c (rs6000_override_options): Make 64-bit |
| Darwin default to one-byte bools. |
| |
| 2004-12-02 Richard Henderson <rth@redhat.com> |
| |
| PR 18774 |
| * simplify-rtx.c (simplify_immed_subreg): Fail complex modes. |
| |
| 2004-12-03 Ben Elliston <bje@au.ibm.com> |
| |
| * doc/cfg.texi (Edges): Update. Document the edge_iterator data |
| type and its methods. |
| |
| 2004-12-02 Richard Henderson <rth@redhat.com> |
| |
| * expr.c (write_complex_part): Use simplify_gen_subreg when the |
| submode is at least as large as a word. |
| (read_complex_part): Likewise. |
| |
| 2004-12-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR bootstrap/18532 |
| * mklibgcc.in: Build one set of EXTRA_MULTILIB_PARTS for |
| multilib at a time. Don't build the default set. Don't add |
| EXTRA_MULTILIB_PARTS to shared libunwind nor libgcc. Remove |
| filter for shared libunwind and libgcc. |
| |
| 2004-12-02 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/18759 |
| * config/i386/i386.c (override_options): If -fomit-frame-pointer has |
| already been specified, ignore the -momit-leaf-frame-pointer option. |
| |
| 2004-12-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * varasm.c (make_decl_rtl): Add the missing `;'. |
| |
| 2004-12-02 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * tree.c (is_attribute_p): Split out to .. |
| (is_attribute_with_length_p): Here. Use IDENTIFIER_LENGTH instead |
| of strlen and compare the string lengths before calling strcmp. |
| (lookup_attribute): Call is_attribute_with_length_p instead of |
| is_attribute_p. |
| |
| 2004-12-02 Devang Patel <dpatel@apple.com> |
| |
| * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -gfull and -gused. |
| * config/rs6000/darwin.h (CC1_SPEC): Do not handle -gfull and -gused. |
| * config/i386/darwin.h (CC1_SPEC): Same. |
| |
| 2004-12-02 Richard Henderson <rth@redhat.com> |
| |
| * optabs.c (lowpart_subreg_maybe_copy): New. |
| (expand_unop, expand_abs_nojump): Use it. |
| |
| 2004-12-02 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * sh.md (extv, extzv): Add pattern predicate. |
| |
| 2004-12-02 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF |
| is not null. |
| |
| * tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF |
| is not null. |
| |
| * tree-cfg.c (thread_jumps): Reduce the size of WORKLIST. |
| |
| 2004-12-02 Jeff Law <law@redhat.com> |
| |
| * tree-eh.c: Revert yesterday's change. |
| |
| 2004-12-02 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * varasm.c (decode_reg_name): Revert change to check for zero |
| length strings. |
| (make_decl_rtl): Make sure that we call decode_reg_name only |
| when needed. |
| |
| 2004-12-02 Dorit Naishlos <dorit@il.ibm.com> |
| |
| PR tree-opt/18716 |
| * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Properly set |
| then and else labels. |
| |
| 2004-12-02 Andreas Schwab <schwab@suse.de> |
| |
| * Makefile.in (WERROR_FLAGS): Renamed from WERROR. |
| (STRICT2_WARN): Use $(WERROR_FLAGS) instead of $(WERROR). |
| (STAGE2_FLAGS_TO_PASS): Likewise. |
| |
| * config/i386/x-mingw32: Set WERROR_FLAGS instead of WERROR. |
| |
| 2004-12-02 Richard Sandiford <rsandifo@redhat.com> |
| |
| * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version. Remove |
| now-redundant AC_SUBSTs. |
| * aclocal.m4: Include ../config/gcc-version.m4. |
| * configure: Regenerate. |
| |
| 2004-12-02 Alan Modra <amodra@bigpond.net.au> |
| |
| * config/rs6000/rs6000.c (rs6000_assemble_integer): Put back the |
| #ifdef RELOCATABLE_NEEDS_FIXUP. |
| |
| 2004-12-01 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/9908 |
| * config/i386/i386.md (*call_value_1, *sibcall_value_1): Correct |
| Intel assembler syntax by using %A1 instead of %*%1. |
| |
| 2004-12-01 Richard Henderson <rth@redhat.com> |
| |
| * expr.c (expand_assignment): Handle CONCAT both as a final |
| destination and as a middle point. |
| |
| 2004-12-01 Jeff Law <law@redhat.com> |
| |
| * tree-eh.c (save_eptr, save_filt): Now file scoped statics. |
| (honor_protect_cleanup_actions): Only create save_eptr and |
| save_filt if they do not already exist. |
| (lower_eh_constructs): Wipe all knowledge of save_eptr and |
| save_filt before returning. |
| |
| 2004-12-02 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-phinodes.c (remove_phi_arg_num): Fix a comment. |
| |
| 2004-12-02 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/16952 |
| * config/rs6000/rs6000.c (rs6000_assemble_integer): Replace |
| #ifdef RELOCATABLE_NEEDS_FIXUP with if. |
| * config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Define in terms |
| of target_flags_explicit. |
| * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Ditto for biarch |
| case. Define as 0 for non-biarch. |
| |
| 2004-12-01 Zack Weinberg <zack@codesourcery.com> |
| |
| * config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK): |
| Change temporary file tag from a prefix to an infix. |
| |
| 2004-12-02 Andreas Schwab <schwab@suse.de> |
| |
| * gcc.c (struct option_map): Add entry for "--pass-exit-codes". |
| |
| 2004-12-01 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/18763 |
| PR tree-opt/18746 |
| * tree-ssa-alias.c (init_alias_info): Get statement operands for all |
| the statements if aliases_computed_p is true. |
| |
| 2004-12-01 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (WERROR): New variable. |
| (STRICT2_WARN): Use it. |
| (STAGE2_FLAGS_TO_PASS): Likewise. |
| * config/i386/x-mingw32 (WERROR): Add -Wno-format. |
| |
| 2004-12-01 Richard Henderson <rth@redhat.com> |
| |
| * expr.c (get_inner_reference): Fix thinko in REAL/IMAGPART_EXPR |
| offsetting. |
| |
| 2004-12-01 Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/18291 |
| * tree-ssa-copy.c (merge_alias_info): Fix merging of |
| flow-sensitive alias information. If the new pointer has no |
| name tag, copy it from the original pointer. Otherwise, make |
| sure that the pointed-to sets have a common intersection. |
| |
| 2004-12-01 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/15289 |
| * emit-rtl.c (gen_complex_constant_part): Remove. |
| (gen_realpart, gen_imagpart): Remove. |
| * rtl.h (gen_realpart, gen_imagpart): Remove. |
| * expmed.c (extract_bit_field): Remove CONCAT hack catering to |
| gen_realpart/gen_imagpart. |
| * expr.c (write_complex_part, read_complex_part): New. |
| (emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push, |
| emit_move_complex_push, emit_move_complex, emit_move_ccmode, |
| emit_move_multi_word): Split out from ... |
| (emit_move_insn_1): ... here. |
| (expand_expr_real_1) <COMPLEX_EXPR>: Use write_complex_part. |
| <REALPART_EXPR, IMAGPART_EXPR>: Use read_complex_part. |
| * function.c (assign_parm_setup_reg): Hard-code transformations |
| instead of using gen_realpart/gen_imagpart. |
| |
| * expr.c (optimize_bitfield_assignment_op): Split out from ... |
| (expand_assignment): ... here. Use handled_component_p to gate |
| get_inner_reference code. Simplify MEM handling. Special case |
| CONCAT destinations. |
| |
| * expmed.c (store_bit_field): Use simplify_gen_subreg instead |
| of gen_rtx_SUBREG directly. |
| |
| 2004-12-01 David Edelsohn <edelsohn@gnu.org> |
| Nathan Sidwell <nathan@codesourcery.com> |
| |
| PR target/17107 |
| * config/rs6000/rs6000.md (sge): Enable for non-TARGET_POWER. |
| (sgt): Same. |
| (sle): Same. |
| (slt): Same. |
| |
| 2004-12-01 Nathan Sidwell <nathan@codesourcery.com> |
| |
| PR middle-end/18667 |
| * params.c (set_param_value): Add range check. |
| * params.def: Add min and max values. Reformat long strings. |
| * params.h (struct param_info): Add min and max fields. |
| (enum compiler_param): Adjust DEFPARAM. |
| * toplev.c (lang_independent_params): Likewise. |
| |
| 2004-12-01 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/12817 |
| * config/rs6000/rs6000.c (rs6000_emit_prologue): Use r0 for vrsave. |
| |
| 2004-12-01 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * doc/standards.texi: Update for C99 TC2. |
| |
| 2004-11-30 Jeff Law <law@redhat.com> |
| |
| * sbitmap.c (sbitmap_any_common_bits): New function. |
| * sbitmap.h (sbitmap_any_common_bits): Prototype. |
| * modulo-sched.c (sms_schedule_by_order): Use sbitmap_any_common_bits |
| No longer allocate/free "psp", "pss" sbitmaps. |
| * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Similarly for |
| the "res" sbitmap. |
| (group_aliases): Similarly. |
| |
| 2004-11-30 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * tree-vectorizer.c (vect_analyze_data_refs): Reformat and avoid |
| uninitialized variable. |
| |
| 2004-11-30 Eric Christopher <echristo@redhat.com> |
| |
| * fold-const.c (fold_widened_comparison): Make sure that we're |
| passing an INTEGER_TYPE to int_fits_type_p. |
| (fold): Clean up comment. |
| |
| 2004-11-30 Zack Weinberg <zack@codesourcery.com> |
| |
| * mklibgcc.in: Correct calculation of libgcc_s_soname and |
| libunwind_soname. Use $out, not $outS, in commands for |
| no-shared-library case. Move EXTRA_MULTILIB_PARTS rules above |
| library build rules, make $libunwind_so and $libgcc_s_so |
| depend on them in the normal fashion, and filter those objects |
| out of @shlib_objs@. |
| |
| 2004-11-30 Janis Johnson <janis187@us.ibm.com> |
| |
| * config/rs6000/altivec.h (vec_step_help): Support const vector types. |
| |
| 2004-11-30 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/18298 |
| * tree-optimize.c (init_tree_optimization_passes): Add a may_alias |
| pass right after fold builtins. |
| |
| 2004-11-30 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390-modes.def: Added cc modes documentation. |
| * config/s390/s390.c: (s390_tm_ccmode, s390_select_ccmode, |
| s390_expand_addcc): Added cc mode comments. |
| * config/s390/s390.md: Removed old cc mode documentation. |
| |
| 2004-11-30 Mark Dettinger <dettinge@de.ibm.com> |
| |
| * config/s390/s390.c (struct processor_costs): New data type. |
| (s390_cost, z900_cost, z990_cost): New global variables. |
| (override_options): Initialize s390_cost. |
| (s390_rtx_costs): Reimplement. |
| |
| 2004-11-29 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/18673 |
| |
| * tree-ssa-pre.c: Remove splay-tree.h include. |
| (bitmap_value_replace_in_set): Fix to add if it does not exist. |
| (find_or_generate_expression): Remove now-wrong condition. |
| (create_expression_by_pieces): Fix condition and comment reason |
| for it. |
| (insert_aux): Fix condition and comment reasons for it. |
| Factor insertion code from here. |
| (insert_into_preds_of_block): To here. Fix conditions in factored |
| function and comment reasons for them. |
| |
| 2004-11-30 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-opt/18607 |
| * tree-vectorizer.c (vect_analyze_data_refs): Use temporary |
| variable for data_reference when looking for memtag. |
| |
| 2004-11-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * c-opts.c (check_deps_environment_vars): If spec != NULL, set |
| deps_seen. |
| |
| 2004-11-30 Dorit Naishlos <dorit@il.ibm.com> |
| |
| * tree-vectorizer.c (vect_gen_niters_for_prolog_loop): Use |
| tree_low_cst instead of TREE_INT_CST_LOW. |
| |
| 2004-11-30 Dorit Naishlos <dorit@il.ibm.com> |
| |
| PR target/18173 |
| * tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for |
| decls that are assembled before vectorization takes place. |
| (vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1. |
| |
| 2004-11-30 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * passes.c (rest_of_handle_old_regalloc): Delete unreachable blocks |
| if local_alloc modified jumps. |
| |
| 2004-11-30 Alan Modra <amodra@bigpond.net.au> |
| |
| * varasm.c (default_encode_section_info): Don't set SYMBOL_FLAG_SMALL |
| on TLS symbols. |
| * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Remove TLS |
| check. |
| |
| 2004-11-30 Zack Weinberg <zack@codesourcery.com> |
| |
| * gthr-gnat.c, gthr-gnat.h, gthr.h, libgcc2.h, unwind-dw2-fde.h |
| * unwind.h: Surround all visibility pragmas with #ifndef HIDE_EXPORTS. |
| |
| * mklibgcc.in: Drastic restructure for comprehensibility. |
| Remove the old hidden-directive hack. |
| Eliminate support for .txt files in LIB2ADD etc (never used). |
| Eliminate support for assembly source files in LIB2ADDEH* and |
| LIBUNWIND (also never used). |
| Build up dependency lists for libraries incrementally. |
| If we have SHLIB_LINK, compile each file twice, once for the |
| static and once for the shared library; also probe for |
| -fvisibility=hidden in the generated libgcc.mk. If found, |
| pass that and -DHIDE_EXPORTS to the compilation of every C |
| source file going into the static library. If found, generate |
| hidden-directive lists for every assembly source file going |
| into the static library, but incorporate them with -include |
| instead of ld -r. |
| Write comments into generated libgcc.mk to facilitate debugging. |
| * Makefile.in: Pass ASM_HIDDEN_OP to mklibgcc. |
| * config/t-slibgcc-darwin: Define ASM_HIDDEN_OP. |
| |
| * config/darwin.h (REAL_LIBGCC_SPEC): Put -lgcc back in |
| -Zdynamiclib case. |
| |
| 2004-11-29 Richard Henderson <rth@redhat.com> |
| |
| * expr.c (get_inner_reference): Handle REAL/IMAGPART_EXPR. |
| (handled_component_p): Likewise. |
| * alias.c (can_address_p): Reformat and simplify. Handle |
| REAL/IMAGPART_EXPR. Do not disable addressability based on |
| alias set zero. |
| * fold-const.c (build_fold_addr_expr_with_type): Remove duplicate |
| check for REAL/IMAGPART_EXPR. |
| * gimplify.c (gimplify_compound_lval): Likewise. |
| * tree-cfg.c (verify_expr): Likewise. |
| * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise. |
| * tree-nested.c (build_addr, convert_nonlocal_reference): Likewise. |
| (convert_local_reference): Likewise. |
| * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Likewise. |
| |
| 2004-11-30 Alan Modra <amodra@bigpond.net.au> |
| |
| * expr.c (emit_group_load_1): Don't die on const_int orig_src. |
| |
| 2004-11-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR pch/14940 |
| * config/pa/pa-host.c, config/pa/x-hpux, config/pa/x-linux: New files. |
| * config.host (hppa*-*-hpux*, hppa*-*-linux): Define out_host_hook_obj |
| and host_xmake_file using new host configuration files. |
| |
| 2004-11-29 Roger Sayle <roger@eyesopen.com> |
| |
| * reg-stack.c (change_stack): Improve algorithm used to pop regs |
| off the stack to maximize ffreep usage and reduce fxch count. |
| |
| 2004-11-30 James A. Morrison <phython@gcc.gnu.org> |
| |
| PR middle-end/18596 |
| * c-decl.c (grokdeclarator): Reset DECL_INTIAL to error_mark_node |
| on errors. |
| |
| 2004-11-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (expand_expr_real_1, case NOP_EXPR): Properly handle |
| REDUCE_BIT_FIELD by applying it to result, not input, of conversion. |
| |
| 2004-11-30 Ben Elliston <bje@au.ibm.com> |
| |
| * Makefile.in (REGS_H): Depend on $(BASIC_BLOCK_H). |
| |
| 2004-11-29 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR c/18479 |
| * c-common.c (handle_visibility_attribute): When the type decl |
| is really a identifier node, warn about being ignored and return. |
| |
| 2004-11-29 Richard Henderson <rth@redhat.com> |
| |
| * tree-cfg.c (tree_node_can_be_shared): Fix typo'd error_mark_node. |
| |
| 2004-11-29 Steven Bosscher <stevenb@suse.de> |
| |
| * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): |
| Remove CASE_DROPS_THROUGH checks, it is never defined. |
| * cfglyout.c (fixup_reorder_chain): Likewise. |
| * cfgrtl.c (rtl_verify_flow_info): Likewise. |
| * stmt.c (expand_case): Likewise. |
| * cfgbuild.c (make_edges): Likewise. Also remove force_fallthru, |
| it is now always 0. |
| * system.h (CASE_DROPS_THROUGH): Poison. |
| * doc/md.texi (casesi): Remove documentation of CASE_DROPS_THROUGH. |
| * doc/tm.texi (casesi): Remove documentation of CASE_DROPS_THROUGH. |
| |
| * config/v850/v850.h: Remove commented out CASE_DROPS_THROUGH. |
| |
| 2004-11-29 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/18725 |
| * tree-cfg.c (tree_node_can_be_shared): Error_mark_node can be |
| shared always. |
| |
| 2004-11-29 Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/18712 |
| * tree-into-ssa.c (insert_phi_nodes_for): Pass argument |
| WORK_STACK by reference. |
| Call VEC_safe_push instead of VEC_quick_push. |
| Update all users. |
| |
| 2004-11-29 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| PR c/7544 |
| * Makefile.in (c-lang.o): Update dependencies. |
| * c-lang.c: Include "c-pragma.h". |
| (finish_file): Call maybe_apply_pending_pragma_weaks. |
| * c-pragma.c (maybe_apply_pending_pragma_weaks): New function. |
| * c-pragma.h (maybe_apply_pending_pragma_weaks): New prototype. |
| |
| 2004-11-29 Richard Henderson <rth@redhat.com> |
| |
| PR target/17224 |
| * config/ia64/predicates.md (sdata_symbolic_operand): Deny offsets |
| outside the referenced object. |
| |
| 2004-11-29 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-if-conv.c (replace_phi_with_cond_modify_expr): Use |
| EDGE_PRED instead of PHI_ARG_EDGE. |
| * tree-ssa-live.c: Likewise. |
| * tree-ssa-loop-manip.c: Likewise. |
| * tree-ssa.c: Likewise. |
| |
| * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Speed up by |
| simplifying edge manipulation. |
| |
| * cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using |
| EDGE_COUNT. |
| |
| * tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge |
| only when needed. |
| |
| * cfg.c (flow_obstack): Remove. |
| (flow_firstobj): Likewise. |
| (init_flow): Remove all uses of flow_obstack. |
| |
| 2004-11-29 Alan Modra <amodra@bigpond.net.au> |
| |
| * varasm.c (default_elf_select_section_1): Only pass DECL_P decl |
| to named_section. |
| |
| 2004-11-29 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * opts.c (decode_options): Do not set max-inline-insns-rtl. |
| (common_handle_option): Likewise. |
| * params.def (PARAM_MAX_INLINE_INSNS_RTL): Remove. |
| * params.h (MAX_INLINE_INSNS_RTL): Remove. |
| * doc/invoke.texi (max-inline-insns-rtl): Remove. |
| |
| 2004-11-29 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/9571 |
| * varasm.c (default_elf_select_section_1): Pass decl to named_section. |
| |
| 2004-11-28 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/18164 |
| * gimplify.c (gimplify_asm_expr): If the length of an output operand |
| is zero, do not process it, just let it go through. |
| |
| 2004-11-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| Diego Novillo <dnovillo@redhat.com> |
| |
| PR/18662, also backported from tree-cleanup-branch. |
| * tree-ssa-ccp.c (substitute_and_fold): If replaced anything, |
| always call maybe_clean_eh_stmt and modify_stmt. |
| |
| 2004-11-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| PR/18664 |
| * tree-ssa-operands.c (build_ssa_operands, case MODIFY_EXPR): |
| Ignore a VIEW_CONVERT_EXPR on LHS when deciding if must or may def. |
| * tree-ssa-ccp.c (visit_assignment): If LHS is a VIEW_CONVERT_EXPR, |
| add an inverse VIEW_CONVERT_EXPR to const_val. |
| |
| PR/18657 |
| * tree-nested.c (check_for_nested_with_variably_modified): New. |
| (create_nesting_tree): Call it. |
| |
| * tree-ssa-alias.c (compute_points_to_and_addr_escapes): Remove |
| special code for assigning to non-pointer. |
| (is_escape_site): If RHS is a conversion between pointer and integer |
| types, this is an escape site. |
| |
| * gcse.c (insert_store): Error if try to insert store on abnormal edge. |
| (store_motion): Don't move store if any edge we'd want to move it |
| to is abnormal. |
| |
| * expr.c (expand_expr_real_1, case ARRAY_REF): Properly fold with |
| non-zero lower bound. |
| |
| * expr.c (categorize_ctor_elements_1, case STRING_CST): New case. |
| |
| 2004-11-28 Matt Kraai <kraai@alumni.cmu.edu> |
| |
| PR diagnostic/17594 |
| * opts.c (find_opt): Require that the input match a switch exactly |
| or that the switch take a joined option to be interpreted as a |
| match for another language. |
| |
| 2004-11-28 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * timevar.def (TV_TREE_REDPHI): New timevar. |
| * tree-ssa.c (pass_redundant_phi): Use TV_TREE_REDPHI for the tv id. |
| |
| 2004-11-28 Nathanael Nerode <neroden@gcc.gnu.org> |
| |
| PR preprocessor/17651 |
| * c-opts.c (sanitize_cpp_opts): Make flag_no_output imply |
| flag_no_line_commands. |
| * c-ppoutput.c (pp_file_change): Remove now-redundant check of |
| flag_no_output. |
| |
| 2004-11-28 Theodore A. Roth <troth@openavr.org> |
| |
| * config/avr/avr.c (avr_handle_fndecl_attribute): Generate a |
| warning if the function name does not begin with "__vector" and the |
| function has either the 'signal' or 'interrupt' attribute. |
| |
| 2004-11-28 Theodore A. Roth <troth@openavr.org> |
| |
| * config/avr/avr.c (avr_mcu_types): Add entries for atmega48, |
| atmega88, atmega168, attiny13, attiny2313, at90can128, atmega165, |
| atmega325, atmega3250, atmega645 and atmega6450. |
| * config/avr/avr.h (LINK_SPEC): Ditto. |
| (LIB_SPEC): Ditto. |
| (LIBGCC_SPEC): Ditto. |
| (CRT_BINUTILS_SPECS): Ditto. |
| * config/avr/t-avr (MULTILIB_MATCHES): Ditto. |
| |
| 2004-11-28 Nathanael Nerode <neroden@gcc.gnu.org> |
| |
| PR preprocessor/17610 |
| * testsuite/gcc.dg/cpp/empty-include.c: New testcase. |
| |
| 2004-11-28 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-alias.c (count_calls_and_maybe_create_global_var): New. |
| (pass_maybe_create_global_var): New. |
| * tree-pass.h (pass_maybe_create_global_var): Declare. |
| * tree-optimize.c (init_tree_optimization_passes): Link in |
| pass_maybe_create_global_var. |
| |
| 2004-11-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree-inline.c (inline_forbidden_p_1, case RECORD_TYPE): Add comment. |
| |
| 2004-11-28 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| PR rtl-optimization/18420 |
| * simplify-rtx.c (simplify_gen_subreg): Revert 2004-10-28 change. |
| |
| 2004-11-28 Steven Bosscher <stevenb@suse.de> |
| John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * config/vax/vax.h (CASE_DROPS_THROUGH): Don't define. |
| * config/vax/vax.md (casesi): Emit a test-and-branch to make sure |
| that the case is in range, to make sure the casesi insn is always |
| in range and never falls through. |
| (casesi1): Add comment to explain why casesi never falls through. |
| Remove the unnamed special case casesi pattern. |
| |
| 2004-11-28 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| PR target/18331 |
| * config/mmix/mmix.md ("*movdicc_real_reversible"): Rename from |
| "*movdicc_real". Only match reversible comparisons. |
| ("*movdicc_real_nonreversible"): New pattern, split from |
| "*movdicc_real". Match only nonreversible comparisons. Exclude |
| reversed alternatives. |
| ("*movdfcc_real_reversible", "*movdfcc_real_nonreversible"): |
| Similar. |
| |
| 2004-11-27 Richard Henderson <rth@redhat.com> |
| |
| * config/ia64/ia64.md: Move all define_predicate's ... |
| * config/ia64/predicates.md: ... here. New file. |
| |
| 2004-11-27 Per Bothner <per@bothner.com> |
| |
| PR bootstrap/18142 |
| Re-applied following, with two modifications: add a URL for the |
| fixed cctools; only exit if $build = $target. |
| |
| 2004-10-18 Kelley Cook <kcook@gcc.gnu.org> |
| * configure.ac (powerpc-*-darwin*): Require assembler to support |
| .machine directive. |
| * configure: Regenerate. |
| |
| 2004-11-28 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/16800 |
| * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve accuracy of |
| EQ, GTU, and LTU costs. Add costs for GT, LT, and UNORDERED. |
| Distinguish between SImode and DImode CONST_INT. |
| |
| 2004-11-28 Andreas Fischer <a_fisch@gmx.de> |
| Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/16343 |
| * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Disallow |
| functions, strings and thread-local vars. |
| |
| 2004-11-28 Alan Modra <amodra@bigpond.net.au> |
| |
| * config/rs6000/rs6000.h (WORLD_SAVE_P): Define. |
| * config/rs6000/darwin.h (WORLD_SAVE_P): Define. |
| * config/rs6000/rs6000.c (compute_save_world_info): Use WORLD_SAVE_P |
| to allow non-darwin ABIs to optimize away code. |
| (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise. |
| |
| 2004-11-27 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree.c (operand_equal_for_phi_arg_p): New. |
| * tree.h: Add a prototype for operand_equal_for_phi_arg_p. |
| * tree-cfg.c, tree-ssa-dom.c, tree-ssa-phiopt.c, tree-ssa.c: |
| Replace operand_equal_p with operand_for_phi_arg_p |
| appropriately. |
| |
| * bb-reorder.c (find_traces_1_round): Speed up by using |
| EDGE_COUNT instead of FOR_EACH_EDGE. |
| |
| * fold-const.c, config/i386/linux64.h: Fix comment typos. |
| |
| 2004-11-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR pch/14940 |
| * config/host-linux.c (TRY_EMPTY_VM_SPACE): Revert 2004-11-22 change. |
| |
| 2004-11-27 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * config/i386/linux.h: Fix a comment typo. |
| * doc/extend.texi: Fix a typo. |
| |
| 2004-11-27 Jeff Law <law@redhat.com> |
| |
| * tree-cfg.c (cleanup_tree_cfg): Also return true if blocks |
| are merged. |
| |
| 2004-11-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/linux64.h (REG_NAME): Define. |
| |
| 2004-11-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * fold-const.c (extract_muldiv_1) <case ABS_EXPR>: If ctype is |
| unsigned and type signed, build ABS_EXPR with signed_type (ctype) |
| and only afterwards convert to ctype. |
| |
| 2004-11-27 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/mips/mips-protos.h (function_arg_boundary): Declare. |
| * config/mips/mips.h (PARM_BOUNDARY): Simplify definition. |
| (STACK_BOUNDARY, MIPS_STACK_ALIGN): Likewise. |
| (FUNCTION_ARG_BOUNDARY): Use new function_arg_boundary function. |
| * config/mips/mips.c (function_arg_boundary): New function. |
| Impose a maximum alignment of STACK_BOUNDARY. |
| |
| 2004-11-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/17825 |
| * combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new) |
| or not. |
| |
| 2004-11-27 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/12769 |
| * config/rs6000/rs6000.c (init_cumulative_args): Set call_cookie |
| from rs6000_default_long_calls for libcalls. |
| |
| 2004-11-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expmed.c (extract_bit_field): When extracting from non-integer mode, |
| force a SUBREG into a register because we may be taking a further |
| SUBREG of it. |
| |
| 2004-11-27 Di-an Jan <dianj@freeshell.org> |
| |
| * doc/contrib.texi (Tim Josling): Remove nesting quotation marks. |
| |
| 2004-11-26 Robert Millan <robertmh@gnu.org> |
| |
| Changes for k*bsd-gnu support. |
| * config/i386/linux.h: Define REG_NAME to allow overriding of |
| register names in sc structure. |
| * config/i386/linux-unwind.h: Refer to sc->REG_NAME(reg) instead |
| of sc->reg. |
| * config.gcc: Detect x86_64-k*bsd-gnu systems. |
| |
| 2004-11-26 Jeff Law <law@redhat.com> |
| |
| * tree-ssa.c (verify_flow_sensitive_alias_info): Don't |
| retrieve annotations or pointer info before it's necessary. |
| Reorder tests for early continue of the loop. Manually CSE |
| SSA_NAME_VAR. |
| |
| 2004-11-26 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * target.h (struct gcc_target): New field 'dwarf_handle_frame_unspec'. |
| * target_def.h (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to 0. |
| (TARGET_INITIALIZER): Add TARGET_DWARF_HANDLE_FRAME_UNSPEC. |
| * dwarf2out.c (dwarf2out_frame_debug_expr): Allow REG->REG move |
| to a fixed reg if the source is the Return Address register. |
| Implement new Rule 15. |
| * doc/tm.texi (Frame Layout): Document TARGET_DWARF_HANDLE_FRAME_UNSPEC. |
| * config/sparc/sparc.c (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to |
| sparc_dwarf_handle_frame_unspec. |
| (gen_save_register_window): New function. |
| (emit_stack_pointer_increment): Rename into gen_stack_pointer_inc. |
| (emit_stack_pointer_decrement): Rename into gen_stack_pointer_dec. |
| (expand_prologue): Adjust calls to emit_stack_pointer_{in,de}crement. |
| Set RTX_FRAME_RELATED_P on the appropriate insns and members of insns. |
| (sparc_asm_function_prologue): Do not emit call frame debugging info. |
| (emit_and_preserve): Adjust calls to emit_stack_pointer_{in,de}crement. |
| (sparc_expand_epilogue): Likewise. |
| (sparc_dwarf_handle_frame_unspec): New function. |
| * config/sparc/sparc.md (save_register_window): Remove. |
| (save_register_windowdi): Rewrite modelled on the callframe debug info. |
| (save_register_windowsi): Likewise. |
| |
| 2004-11-26 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/frv/frv-protos.h: Guard ifcvt functions declarations with |
| BB_HEAD, not BLOCK_HEAD. |
| |
| 2004-11-26 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone |
| scratch insns that set a register live at the join point. |
| |
| 2004-11-26 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c, tree-ssa-operands.c: Fix comment typos. |
| |
| * tree-cfg.c (tree_split_edge): Speed up by using find_edge. |
| |
| 2004-11-26 James A. Morrison <phython@gcc.gnu.org> |
| |
| PR target/18510 |
| * doc/extend.texi (SPARC VIS Built-in Functions): New section. |
| |
| 2004-11-26 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cfgrtl.c (try_redirect_by_replacing_jump): Speed up the |
| check that tests if all edges go to the same destination. |
| |
| * bitmap.c (bitmap_find_bit): Speed up by traversing from |
| head->first if that seems profitable. |
| |
| 2004-11-25 Jeff Law <law@redhat.com> |
| |
| * timevar.def (TV_TREE_LOOP_INIT, TV_TREE_LOOP_FINI): New timevars. |
| * tree-ssa-loop.c (pass_loop_init): Use TV_TREE_LOOP_INIT. |
| (pass_loop_done): Use TV_TREE_LOOP_FINI. |
| |
| 2004-11-26 Alan Modra <amodra@bigpond.net.au> |
| |
| PR rtl-optimization/16356 |
| * config/rs6000/rs6000.md (floatdisf2_internal2): Rewrite with |
| separate output register and one less jump. Enable for powerpc64. |
| (floatdisf2): Adjust for above. |
| |
| 2004-11-25 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa.h (STARTFILE_SPEC): Add crt0. |
| (GCC_DRIVER_HOST_INITIALIZATION): Define. |
| |
| 2004-11-25 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/17957 |
| * tree-complex.c (vector_inner_type): New variable moved from |
| build_word_mode_vector_type. |
| (vector_last_type): Likewise. |
| (vector_last_nunits): Likewise. |
| (build_word_mode_vector_type): Use the new variables. |
| * Makefile.in (tree-complex.o): Add gt-tree-complex.h $(GGC_H). |
| (GTFILES): Add tree-complex.c. |
| (gt-tree-complex.h): New rule, add it to the rest of the gt-* rules. |
| |
| 2004-11-25 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define |
| __XTENSA_WINDOWED_ABI__. |
| |
| 2004-11-25 Richard Henderson <rth@redhat.com> |
| |
| * dwarf2out.c (dwarf2out_stack_adjust): Add after_p argument. Save |
| args_size adjustments for calls even with cfa as stack pointer. |
| Search calls for stack adjustments after the insn is issued. |
| (dwarf2out_frame_debug): Add after_p argument; pass it on. |
| * dwarf2out.h (dwarf2out_frame_debug): Update to match. |
| * final.c (final_start_function, final_scan_insn): Likewise. |
| |
| 2004-11-25 Richard Henderson <rth@redhat.com> |
| |
| PR c++/6764 |
| * reload1.c (set_initial_eh_label_offset): New. |
| (set_initial_label_offsets): Use it. |
| |
| 2004-11-25 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.c (sh_output_mi_thunk): Initialize bitmap obstacks |
| before calling life_analysis and release them after. |
| |
| 2004-11-25 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-ssa-forwprop.c (substitute_single_use_vars): Remove |
| duplicate code. |
| |
| 2004-11-25 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * bitmap.h (BITMAP_XMALLOC): Use BITMAP_ALLOC and not |
| BITMAP_OBSTACK_ALLOC. |
| (BITMAP_XFREE): Use BITMAP_FREE and not BITMAP_OBSTACK_FREE. |
| |
| 2004-11-25 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| parts of PR rtl-opt/18463, rtl-opt/17647 |
| * cse.c (canon_for_address): New function. |
| (find_best_addr): Call canon_for_address before getting the |
| address's cost when checking if we should take that address. |
| |
| 2004-11-25 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-phinodes.c (add_phi_arg): Take "tree" instead of |
| "tree *" as the first argument. |
| * tree-flow.h: Update the prototype of add_phi_arg. |
| * lambda-code.c, tree-cfg.c, tree-into-ssa.c, |
| tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-pre.c, |
| tree-ssa-threadupdate.c, tree-ssa.c, tree-tailcall.c, |
| tree-vectorizer.c: Update all call sites of add_phi_arg. |
| |
| 2004-11-25 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * bitmap.c (bitmap_malloc_alloc, bitmap_malloc_free): Remove. |
| * bitmap.h (bitmap_malloc_alloc, bitmap_malloc_free): Remove. |
| (BITMAP_XMALLOC): Forward to BITMAP_OBSTACK_ALLOC. |
| (BITMAP_XFREE): Forward to BITMAP_OBSTACK_FREE. |
| |
| 2004-11-25 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR tree-optimization/18587 |
| * tree-flow-inline.h (mark_call_clobbered, mark_non_addressable): Flag |
| call clobbered caches as invalid. |
| * tree-ssa-operands.c (ssa_call_clobbered_cache_valid): New. Flag |
| indicating whether the call clobbered operand cache is valid. |
| (ssa_ro_call_cache_valid): New. Flag indicating whether the |
| pure/const call operand cache is valid. |
| (clobbered_v_may_defs, clobbered_vuses, ro_call_vuses): New. Cached |
| list of operands for cached call virtual operands. |
| (clobbered_aliased_loads, clobbered_aliased_stores, |
| ro_call_aliased_load): New. flags caching whether alias bits are |
| to be set in call stmt's. |
| (fini_ssa_operands): Remove call operand caches if present. |
| (get_expr_operands, get_asm_expr_operands, |
| get_indirect_ref_operands): Pass stmt annotation to add_stmt_operand. |
| (get_call_expr_operands): Add call clobbered variables first. |
| (add_stmt_operand): Take stmt annotation rather than stmt as a param. |
| (add_call_clobber_ops, add_call_read_ops): Use the call operand cache |
| if it is valid, otherise fill the cache. |
| * tree-ssa-operands.h (ssa_clobbered_cache_valid): Declare extern. |
| * tree-flow.h (struct var_ann_d): Add in_vuse_list and |
| in_v_may_def_list bits. |
| * tree-ssa-operands.c (cleanup_v_may_defs): New. Clear the |
| in_list bits for the v_may_def elements and empty the operand |
| build array |
| (finalize_ssa_vuses): Use cleanup_v_may_defs and remove redundant |
| VUSES by checking the in_v_may_def_list bit. |
| (append_v_may_def, append_vuse): Use the in_list bit rather than |
| scanning the array for duplicates. |
| |
| 2004-11-25 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.c (s390_short_displacement): UNSPEC_GOTNTPOFF |
| displacements are not short. |
| |
| 2004-11-25 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.c (legitimize_pic_address): Use s390_load_address |
| to load addresses. |
| |
| 2004-11-25 Mark Mitchell <mark@codesourcery.com> |
| |
| PR c++/18001 |
| * c-common.h (lvalue_use): Move here from c-ctypeck.c. |
| (lvalue_or_else): Declare. |
| * c-common.c (lvalue_or_else): Move here from c-typeck.c. |
| * c-typeck.c (lvalue_use): Remove. |
| (lvalue_or_else): Remove. |
| |
| PR c++/18556 |
| * toplev.c (check_global_declarations): Set DECL_IGNORED_P on |
| unemitted variables with static storage duration. |
| |
| 2004-11-25 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * tree-cfg.c (tree_verify_flow_info): Do not terminate error() |
| message with \n. |
| |
| 2004-11-25 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * config/rs6000/altivec.md (VIshort): New mode macro. |
| (altivec_vaddubs, altivec_vadduhs, altivec_vadduws): Replace |
| with ... |
| (altivec_vaddu<VI_char>s): ... this. |
| (altivec_vaddsbs, altivec_vaddshs, altivec_vaddsws): Replace |
| with ... |
| (altivec_vadds<VI_char>s): ... this. |
| (altivec_vsububs, altivec_vsubuhs, altivec_vsubuws): Replace |
| with ... |
| (altivec_vsubu<VI_char>s): ... this. |
| (altivec_vsubsbs, altivec_vsubshs, altivec_vsubsws): Replace |
| with ... |
| (altivec_vsubs<VI_char>s): ... this. |
| (altivec_vavgub, altivec_vavguh, altivec_vavguw): Replace |
| with ... |
| (altivec_vavgu<VI_char>): ... this. |
| (altivec_vavgsb, altivec_vavgsh, altivec_vavgsw): Replace |
| with ... |
| (altivec_vavgs<VI_char>): ... this. |
| (altivec_vmsumubm, altivec_vmsumuhm): Replace with ... |
| (altivec_vmsumu<VI_char>m): ... this. |
| (altivec_vmsummbm, altivec_vmsummhm): Replace |
| with ... |
| (altivec_vmsumm<VI_char>m): ... this. |
| (altivec_vandc): Remove. |
| (*andc<mode>3): Renamed to ... |
| (andc<mode>3): ... here. Swap operand 1 and 2 numbering. |
| (altivec_vrlb, altivec_vrlh, altivec_vrlw): Replace |
| with ... |
| (altivec_vrl<VI_char>): ... this. |
| (altivec_vslb, altivec_vslh, altivec_vslw): Replace |
| with ... |
| (altivec_vsl<VI_char>): ... this. |
| (altivec_vsrb, altivec_vsrh, altivec_vsrw): Replace |
| with ... |
| (altivec_vsr<VI_char>): ... this. |
| (altivec_vsrab, altivec_vsrah, altivec_vsraw): Replace |
| with ... |
| (altivec_vsra<VI_char>): ... this. |
| (altivec_vsum4sbs, altivec_vsum4shs): Replace with ... |
| (altivec_vsum4s<VI_char>s): ... this. |
| (altivec_vperm_4si, altivec_vperm_8hi, altivec_vperm_16qi): Replace |
| with ... |
| (altivec_vperm_<mode>): ... this. |
| (altivec_vsel_4sf): Rename to ... |
| (altivec_vsel_v4sf): ... here. |
| (altivec_vsel_4si, altivec_vsel_8hi, altivec_vsel_16qi): Replace |
| with ... |
| (altivec_vsel_<mode>): ... this. |
| (altivec_vsldoi_4si, altivec_vsldoi_8hi, |
| altivec_vsldoi_16qi): Rename to ... |
| (altivec_vsldoi_v4si, altivec_vsldoi_v8hi, |
| altivec_vsldoi_v16qi): ... here. |
| (altivec_vsldoi_4sf): Rename to ... |
| (altivec_vsldoi_v4sf): ... here. |
| (altivec_predicate_v4si, altivec_predicate_v8hi, |
| altivec_predicate_v16qi): Replace with ... |
| (altivec_predicate_<mode>): ... this. |
| (altivec_lvebx, altivec_lvehx, altivec_lvewx): Replace |
| with ... |
| (altivec_lve<VI_char>x): ... this. |
| (altivec_stvebx, altivec_stvehx, altivec_stvewx): Replace |
| with ... |
| (altivec_stve<VI_char>x): ... this. |
| (absv16qi2, absv8hi2, absv4si2): Replace |
| with ... |
| (abs<mode>2): ... this. |
| (altivec_abss_v16qi, altivec_abss_v8hi, altivec_abss_v4si): Replace |
| with ... |
| (altivec_abss_<mode>): ... this. |
| (vec_realign_load_v16qi, vec_realign_load_v8hi, |
| vec_realign_load_v4si): Replace with ... |
| (vec_realign_load_<mode>): ... this. |
| * config/rs6000/rs6000.c (bdesc_3arg, bdesc_2arg): Update tweaked |
| insn names. |
| (rs6000_expand_ternop_builtin): Likewise. |
| |
| 2004-11-25 Andrew Haley <aph@redhat.com> |
| |
| * gcc.c (process_command): Don't supply -v to linker. |
| |
| 2004-11-25 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use %qs |
| instead of `%s' in diagnostic. |
| |
| 2004-11-25 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * basic-block.h (OBSTACK_ALLOC_REG_SET): Adjust. |
| (FREE_REG_SET): Adjust. |
| * bitmap.c (bitmap_obstack_free): Cope with NULL bitmap. |
| * bitmap.h (BITMAP_OBSTACK_ALLOC): Rename to ... |
| (BITMAP_ALLOC): ... here. |
| (BITMAP_OBSTACK_FREE): Rename to ... |
| (BITMAP_FREE): Don't check for NULL bitmap here. |
| * tree-ssa-pre.c (value_insert_into_set_bitmap, |
| bitmap_set_new): Use new names. |
| |
| * bt-load.c (migrate_btr_defs): Remove unneeded NULL check. |
| * df.c (df_free): Likewise. |
| * ra-build.c (ra_build_free, ra_build_free_all): Likewise. |
| * tree-ssa-loop-ivopts.c (set_use_iv_cost): Likewise. |
| |
| * basic-block.h (OBSTACK_ALLOC_REG_SET): Rename to ... |
| (ALLOC_REG_SET): ... here. |
| (FREE_REG_SET): Adjust. |
| (XMALLOC_REG_SET, XFREE_REG_SET): Remove. |
| * bb-reorder.c (fix_crossing_conditional_branches): Adjust. |
| * cfglayout.c (cfg_layout_duplicate_bb): Adjust. |
| * cfgrtl.c (rtl_split_block, rtl_split_edge, |
| safe_insert_insn_on_edge, cfg_layout_split_edge): Adjust. |
| * flow.c (update_life_info, calculate_global_regs_live, |
| allocate_bb_life_data, init_propagate_block_info): Adjust. |
| * global.c (build_insn_chain): Adjust. |
| * ifcvt.c (dead_or_predicable): Adjust. |
| * loop-iv.c (simplify_using_initial_values): Adjust. |
| * recog.c (peephole2_optimize): Adjust. |
| * sched-deps.c (init_deps_global): Adjust. |
| |
| 2004-11-25 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config.gcc (avr-*-rtems*): Fix typo. |
| |
| 2004-11-25 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * sh.c (sh_output_mi_thunk): Do not call regset_release_memory. |
| |
| 2004-11-24 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Reduce |
| the number of queries to random elements in the ai->written_vars |
| bitmap. |
| |
| 2004-11-24 Roger Sayle <roger@eyesopen.com> |
| |
| * config/i386/i386.c (override_options): Disable x87 fancy math |
| intrinsics if -mfpmath= doesn't include 387 (default on x86_64). |
| |
| 2004-11-24 Roger Sayle <roger@eyesopen.com> |
| |
| * configure.ac: Tweak test for HAVE_DECL_LDGETNAME to avoid a |
| system header conflict on AIX 5.2. |
| * configure: Regenerate. |
| |
| 2004-11-24 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-outof-ssa.c (coalesce_abnormal_edges): Use e->dest_idx |
| instead of calling phi_arg_from_edge. |
| |
| * tree-phinodes.c (remove_phi_args): Replace phi_arg_from_edge |
| with e->dest_idx. |
| |
| 2004-11-24 Ben Elliston <bje@au.ibm.com> |
| |
| * config/i386/i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): Remove. |
| * config/i386/i386.c (i386_dwarf_output_addr_const): Likewise. |
| * config/i386/i386-protos.h (i386_dwarf_output_addr_const): |
| Likewise. |
| |
| 2004-11-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree-sra.c (sra_walk_modify_expr): Handle RHS first, then LHS. |
| |
| * tree-inline.c (copy_body_r): Explicitly copy a constant if the |
| type will be remapped. |
| |
| 2004-11-24 Steven Bosscher <stevenb@suse.de> |
| |
| * c-opts.c (c_common_post_options): Don't clear |
| flag_inline_functions. |
| * dojump.c (clear_pending_stack_adjust): Remove check on |
| flag_inline_functions, it's always true. |
| * config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter |
| that can never trigger. |
| * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at |
| flag_inline_trees, now that flag_inline_functions is never |
| cleared. |
| * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set |
| flag_inline_functions at optimization levels greater than |
| or equal to 3. This is already done by default. |
| |
| 2004-11-24 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-outof-ssa.c (eliminate_build): Use g->e->dest_idx |
| instead to find the PHI argument. Do not take I as an |
| argument. |
| (eliminate_phi): Adjust the call to eliminate_build. Do not |
| take I as an argument. |
| (rewrite_trees): Adjust the call to eliminate_phi. |
| |
| 2004-11-24 Richard Sandiford <rsandifo@redhat.com> |
| |
| * optabs.h (force_expand_binop): Declare. |
| * optabs.c (force_expand_binop): Export. |
| * stmt.c (shift_return_value): Delete. |
| (expand_return): Don't call it. |
| * expr.h (shift_return_value): Declare. |
| * calls.c (shift_returned_value): Delete in favor of... |
| (shift_return_value): ...this new function. Leave the caller to check |
| for non-BLKmode values passed in the msb of a register. Take said mode |
| and a shift direction as argument. Operate on the hard function value, |
| not a pseudo. |
| (expand_call): Adjust accordingly. |
| * function.c (expand_function_start): If a non-BLKmode return value |
| is padded at the last significant end of the return register, use the |
| return value's natural mode for the DECL_RESULT, not the mode of the |
| padded register. |
| (expand_function_end): Shift the same sort of return values left by |
| the appropriate amount. |
| |
| 2004-11-24 Matt Austern <austern@apple.com> |
| |
| * recog.c (recog_memoized_1): Remove. |
| * recog.h (recog_memoized_1): Remove declaration. |
| (recog_memoized): Change from macro to inline function. |
| |
| 2004-11-24 Devang Patel <dpatel@apple.com> |
| |
| PR/18555 |
| * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add isysroot. |
| * config/darwin-c.c (darwin_register_frameworks): Use sysroot. |
| |
| 2004-11-24 Devang Patel <dpatel@apple.com> |
| |
| * gcc.c (process_command): Supply -v to linker. |
| |
| 2004-11-24 David Edelsohn <edelsohn@gnu.org> |
| Paolo Bonzini <bonzini@gnu.org> |
| |
| * config/rs6000/rs6000.c (rs6000_return_in_memory): Allow Altivec |
| vector modes without ALTIVEC_ABI. Use GCC vector instead of |
| synthetic vector. |
| (rs6000_pass_by_reference): Split conditional into pieces. Use |
| GCC vector instead of synthetic vector. |
| |
| 2004-11-24 Aldy Hernandez <aldyh@redhat.com> |
| |
| * tree.c (recompute_tree_invarant_for_addr_expr): The address of a |
| thread-local variable is invariant. |
| |
| 2004-11-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree-pretty-print.c (dump_generic_node, case POINTER_TYPE): |
| Handle TYPE_REF_CAN_ALIAS_ALL. |
| (print_declaration): Print array dimensions like dump_generic_node. |
| |
| * fold-const.c (operand_equal_p): Remove kludge allowing ARG0 and |
| ARG1 to be null; instead define OP_SAME and OP_SAME_NULL and use them. |
| |
| 2004-11-24 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * bitmap.c (INLINE): Do not define. |
| (bitmap_elem_to_freelist, bitmap_element_free, |
| bitmap_element_allocate, bitmap_clear, bitmap_element_zerop, |
| bitmap_element_link, bitmap_find_bit): Use inline keyword/macro. |
| |
| 2004-11-24 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-ssa-dom.c (cprop_into_successor_phis): Remove code to |
| find the index of a PHI argument. Use e->dest_idx instead. |
| Replace hint with index. |
| |
| * tree-ssa-dom.c (cprop_into_successor_phis): Replace index |
| with indx. |
| |
| 2004-11-24 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-ssa-alias.c (merge_pointed_to_info): Fix comment |
| regarding PT_MALLOC. |
| |
| 2004-11-24 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/i386/i386.c (optimization_options): Use |
| SUBTARGET_OPTIMIZATION_OPTIONS. |
| * config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define. |
| (TARGET_SUBTARGET_DEFAULT): Don't include |
| MASK_OMIT_LEAF_FRAME_POINTER. |
| |
| 2004-11-24 Mark Mitchell <mark@codesourcery.com> |
| |
| * config/i386/sol2.h (X86_FILE_START_VERSION_DIRECTIVE): |
| Define to false. |
| |
| 2004-11-24 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/i386/t-sol2-10 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): |
| Use amd64 instead of 64. |
| |
| 2004-11-24 Mark Mitchell <mark@codesourcery.com> |
| Joseph Myers <joseph@codesourcery.com> |
| |
| * crtstuff.c (IN_LIBGCC2): Define it. |
| (EH_FRAME_SECTION_CONST): Check EH_TABLES_CAN_BE_READ_ONLY |
| instead of HAVE_LD_RO_RW_SECTION_MIXING. |
| * defaults.h (EH_TABLES_CAN_BE_READ_ONLY): New macro. |
| * dwarf2out.c (named_section_eh_frame_section): Check |
| EH_TABLES_CAN_BE_READ_ONLY. |
| * except.c (default_exception_section): Likewise. |
| * config/i386/sol2.h (EH_TABLES_CAN_BE_READ_ONLY): Define. |
| * doc/tm.texi (EH_TABLES_CAN_BE_READ_ONLY): Document. |
| |
| 2004-11-24 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-ssa-pre.c (phi_translate): Use find_edge to find the |
| index of a PHI argument. |
| |
| * tree-ssa-loop-manip.c (lv_adjust_loop_header_phi): Use |
| find_edge to find the index of a PHI argument. |
| |
| 2004-11-24 Steven Bosscher <stevenb@suse.de> |
| |
| * expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR |
| and LABELED_BLOCK_EXPR. |
| * gimplify.c (gimplify_labeled_block_expr): Remove. |
| (gimplify_exit_block_expr): Remove. |
| (gimplify_expr): Don't call them. |
| * tree-inline.c (copy_body_r): Don't handle EXIT_BLOCK_EXPR |
| and LABELED_BLOCK_EXPR. |
| (estimate_num_insns_1): Likewise. |
| (walk_tree): Likewise. |
| * tree-pretty-print.c (dump_generic_node): Don't handle |
| EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR. |
| * tree.def (EXIT_BLOCK_EXPR): Moved to java-tree.def. |
| (LABELED_BLOCK_EXPR): Likewise. |
| * tree.h (LABELED_BLOCK_LABEL): Moved to java-tree.h. |
| (LABELED_BLOCK_BODY): Likewise. |
| (EXIT_BLOCK_LABELED_BLOCK): Likewise. |
| (EXIT_BLOCK_RETURN): Removed. |
| |
| 2004-11-24 Steven Bosscher <stevenb@suse.de> |
| |
| * cfgrtl.c (rtl_delete_block): Fix comment. |
| * emit-rtl.c (remove_unnecessary_notes): Die if we see BLOCK_BEG |
| or BLOCK_END insn notes. |
| * jump.c (squeeze_notes): Likewise. |
| * haifa-sched.c (reemit_notes): Don't "re-emit" EH_REGION_BEG and |
| EH_REGION_END notes, we never have them to begin with. |
| * sched-deps.c (sched_analyze_insn): When updating loop notes, |
| verify that we have indeed only recorded loop notes. |
| (sched_analyze): Die if we see EH_REGION_BEG or EH_REGION_END notes. |
| Only record loop notes. |
| |
| * cfgexpand.c (tree_expand_cfg): Fix comment. |
| |
| * passes.c (rest_of_compilation): Don't do a second call to |
| convert_from_eh_region_ranges from here, it's already called |
| from cfgexpand.c. |
| * except.c (resolve_fixup_regions): Remove. |
| (remove_fixup_regions): Remove. |
| (convert_from_eh_region_ranges_1): Remove. |
| (convert_from_eh_region_ranges): Remove the case where EH is |
| not already lowered at the tree level. We always lower there. |
| |
| 2004-11-24 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR c++/16882 |
| * tree.c (make_vector_type): Move qualifiers to the vector type, |
| use the inner type's main variant and build a main variant for |
| the vector type if necessary. |
| (type_hash_eq): Check a vector type's TYPE_VECTOR_SUBPARTS. |
| |
| 2004-11-24 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * target.h (late_rtl_prologue_epilogue): Remove. |
| * target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove. |
| * system.h: Poison TARGET_LATE_RTL_PROLOGUE_EPILOGUE. |
| * passes.c (rest_of_handle_prologue_epilogue): Remove and move |
| remaining bits to... |
| (rest_of_handle_flow2): ...here. |
| (rest_of_compilation): Remove call to rest_of_handle_prologue_epilogue. |
| * doc/tm.texi (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove. |
| |
| 2004-11-23 Mark Mitchell <mark@codesourcery.com> |
| |
| * hwint.h (HOST_LONG_LONG_FORMAT): New macro. Use it throughout. |
| * config/i386/xm-mingw32.h (HOST_LONG_LONG_FORMAT): Define. |
| * doc/hostconfig.texi (HOST_LONG_LONG_FORMAT): Document. |
| |
| 2004-11-24 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * config/i386/i386.c (override_options): Move |
| SUBTARGET_OVERRIDE_OPTIONS before defaulting |
| flag_omit_frame_pointer. |
| |
| 2004-11-23 Richard Henderson <rth@redhat.com> |
| |
| * rtl.h (validate_subreg): Declare. |
| * emit-rtl.c (validate_subreg): New. |
| (gen_rtx_SUBREG): Use it. |
| * simplify-rtx.c (simplify_subreg): Likewise. |
| (simplify_gen_subreg): Likewise. Remove duplicate asserts. |
| * expr.c (emit_move_insn_1): Tidy complex move code. Use memory |
| fallback whenever gen_realpart/gen_imagpart would not be able to |
| create SUBREGs. |
| |
| 2004-11-23 Richard Henderson <rth@redhat.com> |
| |
| * expmed.c (extract_bit_field): Use simplify_gen_subreg instead of |
| hard-coding avoiding calls to gen_rtx_SUBREG. Split complex return |
| modes to CONCAT. |
| |
| 2004-11-23 Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/18618 |
| * tree-into-ssa.c (DEF_VEC_MALLOC_P(basic_block)): Declare. |
| (insert_phi_nodes_for): Change third argument to VEC(basic_block). |
| * tree-ssa-dom.c (avail_exprs_stack): Change type to VEC(tree_on_heap). |
| Update all users. |
| (stmts_to_rescan): Likewise. |
| (const_and_copies_stack): Likewise. |
| (nonzero_vars_stack): Likewise. |
| (vrp_variables_stack): Likewise. |
| |
| 2004-11-23 Richard Henderson <rth@redhat.com> |
| |
| * cse.c (record_jump_cond_subreg): New. |
| (record_jump_cond): Use it instead of gen_lowpart. |
| |
| 2004-11-23 Daniel Jacobowitz <dan@codesourcery.com> |
| Joseph Myers <joseph@codesourcery.com> |
| |
| * config/sol2-c.c (solaris_register_pragmas): Use |
| c_register_pragma_with_expansion. |
| * config/sol2.h (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Define. |
| * c-pragma.c (c_register_pragma): Update call to |
| cpp_register_pragma. |
| (c_register_pragma_with_expansion): New function. |
| (init_pragma): Honor HANDLE_PRAGMA_PACK_WITH_EXPANSION. |
| * c-pragma.h (c_register_pragma_with_expansion): New prototype. |
| * doc/extend.texi (Solaris Pragmas): Mention macro expansion for |
| #pragma align. |
| * doc/tm.texi (c_register_pragma_with_expansion, |
| HANDLE_PRAGMA_PACK_WITH_EXPANSION): Document. |
| |
| 2004-11-23 Richard Henderson <rth@redhat.com> |
| |
| * combine.c (gen_lowpart_for_combine): Factor out mode of x as well |
| as mode sizes into local temporaries. Unify failure path. |
| |
| 2004-11-23 Richard Henderson <rth@redhat.com> |
| |
| * emit-rtl.c, rtl.h (subreg_hard_regno): Remove. |
| * caller-save.c (mark_set_regs): Use subreg_regno instead. |
| * final.c (alter_subreg): Likewise. |
| * local-alloc.c (reg_is_born): Likewise. |
| |
| 2004-11-23 Richard Henderson <rth@redhat.com> |
| |
| * simplify-rtx.c (simplify_subreg): Use subreg_regno_offset directly |
| instead of using a SUBREG temporary. |
| |
| 2004-11-23 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-cfg.c (tree_forwarder_block_p): Speed up by reordering |
| two checks. |
| |
| 2004-11-23 Zack Weinberg <zack@codesourcery.com> |
| |
| * function.h (struct function): Remove calls_longjmp. |
| (current_function_calls_longjmp): Delete. |
| * tree.h (ECF_LONGJMP): Delete. |
| (ECF_SIBCALL, ECF_PURE, ECF_SP_DEPRESSED, ECF_ALWAYS_RETURN) |
| (ECF_LIBCALL_BLOCK): Everybody slide down one. |
| (ECF_CONST, ECF_NORETURN, ECF_SIBCALL): Clarify comments. |
| * builtins.c (expand_builtin_longjmp): Don't set |
| current_function_calls_longjmp. |
| * calls.c (special_function_p): Mark longjmp and siglongjmp |
| with ECF_NORETURN, not ECF_LONGJMP. |
| (emit_call_1, expand_call, emit_library_call_value_1): |
| Don't check for ECF_LONGJMP. |
| * tree-cfg.c (make_exit_edges, is_ctrl_altering_stmt) |
| (need_fake_edge_p): Likewise. |
| |
| * config/avr/avr.h, config/ip2k/ip2k.h: Don't define NON_SAVING_SETJMP. |
| * system.h: Poison NON_SAVING_SETJMP. |
| * function.c (use_register_for_decl) |
| * gcse.c (compute_hash_table_work, compute_store_table) |
| * postreload-gcse.c (record_opr_changes) |
| * reload.c (find_equiv_reg) |
| * reload1.c (reload) |
| * config/i386/i386.c (ix86_can_use_return_insn_p): |
| Remove code conditional on NON_SAVING_SETJMP. |
| * doc/tm.texi: Delete documentation of NON_SAVING_SETJMP. |
| |
| * config/i386/sysv3.h: Delete file. |
| * config/i386/i386.c (ix86_svr3_asm_out_constructor): Delete. |
| |
| 2004-11-23 Dorit Naishlos <dorit@il.ibm.com> |
| |
| * tree-vectorizer.c (vect_analyze_operations): Don't vectorize if |
| the vectorization factor is greater than the iteration count. |
| (vect_gen_niters_for_prolog_loop): No need to calculate min if the |
| iteration count is known. |
| |
| (vect_build_symbol_bound): Removed. Its functionality moved to |
| vect_generate_tmps_on_preheader. |
| (vect_generate_tmps_on_preheader): Moved content of |
| vect_build_symbol_bound here instead of calling it. Changed some |
| variables names. |
| |
| (vect_build_loop_niters): We don't expect a new_bb to be generated - |
| use gcc_assert. |
| (vect_gen_niters_for_prolog_loop): Likewise. |
| (vect_gen_niters_for_prolog_loo): Likewise. |
| |
| (slpeel_make_loop_iterate_ntimes): Use buildN instead of build. |
| (slpeel_add_loop_guard): Likewise. |
| (slpeel_tree_peel_loop_to_edge): Likewise. |
| (vect_do_peeling_for_alignment): Likewise. |
| |
| (vect_get_first_index): Missing space. |
| |
| 2004-11-23 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.md ("*iordi3"): Mark commutative. |
| ("*iorsi3_zarch", "*iorsi3_esa"): Likewise. |
| |
| 2004-11-23 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-phinode.c (resize_phi_node): Abort when LEN is strictly |
| greater than PHI_ARG_CAPACITY. |
| (reserve_phi_args_for_new_edge): Initialize the new PHI |
| argument to NULL_TREE. Increment PHI_NUM_ARGS. |
| (add_phi_arg): Add a PHI argument to the slot given by |
| E->dest_idx. |
| (remove_phi_arg_num): Do not write to PHI_ARG_EDGE. |
| * tree-flow-inline (phi_arg_from_edge): Return E->dest_idx. |
| * tree-ssa.c (ssa_redirect_edge): Check for a missing PHI |
| argument by looking at PHI_ARG_DEF. |
| (verify_phi_args): Check for a missing PHI argument. Remove |
| the check for duplicate PHI arguments. |
| * tree.h (PHI_ARG_EDGE): Redefine in terms of EDGE_PRED. |
| (phi_arg_d): Remove e. |
| |
| * tree-cfg.c (tree_try_redirect_by_replacing_jump): Speed up |
| by restricting to the case with two outgoing edges. |
| |
| 2004-11-23 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.c (s390_backchain_string): Removed. |
| (s390_return_addr_rtx, s390_back_chain_rtx, s390_frame_info) |
| (s390_emit_prologue, s390_va_start, s390_gimplify_va_arg): |
| Changed users of TARGET_BACKCHAIN, TARGET_NO_BACKCHAIN and |
| TARGET_KERNEL_BACKCHAIN to reflect the new options. |
| * config/s390/s390.h (MASK_BACKCHAIN, MASK_PACKED_STACK): New macros. |
| (TARGET_KERNEL_BACKCHAIN): Removed. |
| (TARGET_BACKCHAIN): Former triple state option change to a target flag. |
| (TARGET_PACKED_STACK): New macro. |
| (TARGET_SWITCHES): New switches added. |
| (TARGET_OPTIONS): "backchain", "no-backchain" and "kernel-backchain" |
| removed. |
| (DYNAMIC_CHAIN_ADDRESS): Use TARGET_PACKED_STACK. |
| * config/s390/s390.md ("allocate_stack", "restore_stack_block") |
| ("save_stack_nonlocal", "restore_stack_nonlocal"): Modified to reflect |
| the change in target switch semantics. |
| * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Removed. |
| (TARGET_DEFAULT): MASK_BACKCHAIN added. |
| * doc/invoke.texi: Added documentation for the new/changed options. |
| |
| 2004-11-23 Uros Bizjak <uros@kss-loka.si> |
| |
| PR rtl-optimization/18614 |
| * simplify-rtx.c (simplify_binary_operation): Do not |
| simplify inner elements of constant arguments of |
| VEC_CONCAT insn. |
| |
| 2004-11-23 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * gthr-solaris.h (__gthread_recursive_mutex_init_function): Use |
| 0 instead of NULL. |
| |
| 2004-11-23 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-phinode.c (make_phi_node): Use a new variable, |
| capacity, to receive the return value of ideal_phi_node_len. |
| |
| 2004-11-23 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * gthr-solaris.h (__gthread_recursive_mutex_t): New type. |
| (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to |
| __gthread_recursive_mutex_init_function. |
| (__gthread_key_create): Properly cast -1. |
| (__gthread_recursive_mutex_init_function): New function. |
| (__gthread_recursive_mutex_lock): Rewrite. |
| (__gthread_recursive_mutex_trylock): Likewise. |
| (__gthread_recursive_mutex_unlock): Likewise. |
| |
| 2004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/c4x/t-rtems: New. |
| * config.gcc: Reflect having added c4x/t-rtems. |
| |
| 2004-11-23 Dorit Naishlos <dorit@il.ibm.com> |
| |
| PR tree-opt/18403 |
| PR tree-opt/18505 |
| * tree-vectorizer.c (vect_create_data_ref_ptr): Use |
| lang_hooks.types.type_for_size instead of integer_type_node for the |
| type of ptr_update. |
| |
| 2004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config.gcc (h8300-*-rtems*): Use h8300/t-rtems. |
| |
| 2004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/arm/t-rtems: New. |
| * config.gcc: Reflect having added arm/t-rtems. |
| |
| 2004-11-23 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-cfg.c (tree_execute_on_growing_pred): New. |
| (tree_cfg_hooks): Add tree_execute_on_growing_pred. |
| * tree-flow.h: Add a prototype for |
| reserve_phi_args_for_new_edge. |
| * tree-phinodes.c (reserve_phi_args_for_new_edge): New. |
| (add_phi_arg): Don't resize a PHI array. |
| |
| 2004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config.gcc: Add avr-*-rtems*. |
| * config/avr/t-rtems: New. |
| * config/avr/rtems.h: New. |
| |
| 2004-11-22 Daniel Berlin <dberlin@dberlin.org> |
| |
| * df.c (dataflow_set_a_op_b): Remove reslt parameter, since it's |
| always the same as op1. Use bitmap_ior_into and bitmap_and_into. |
| Add comment to function. |
| |
| 2004-11-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR pch/14940 |
| * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __hppa__. |
| |
| PR rtl-optimization/14838 |
| * emit-rtl.c (get_first_nonnote_insn): Don't assume first insn is a |
| note. |
| (get_last_nonnote_insn): Don't assume last insn is a note. |
| |
| 2004-11-22 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (nondestructive_fold_binary_to_constant): Rename |
| to fold_binary_to_constant. |
| (nondestructive_fold_unary_to_constant): Likewise, rename to |
| fold_unary_to_constant. |
| (fold_relational_hi_lo): Update call to fold_binary_to_constant. |
| * tree.h (nondestructive_fold_binary_to_constant): Update prototype. |
| (nondestructive_fold_unary_to_constant): Likewise. |
| * tree-ssa-ccp.c (ccp_fold): Update calls to fold_unary_to_constant |
| and fold_binary_to_constant. |
| * tree-ssa-loop-niter.c (EXEC_BINARY, EXEC_UNARY): Delete macros. |
| (inverse, number_of_iterations_cond): Replace uses of EXEC_BINARY |
| and EXEC_UNARY with calls to fold_*nary_to_constant. |
| * tree-ssa-loop-ivopts.c (EXEC_BINARY, EXEC_UNARY): Delete macros. |
| (idx_find_step): Replace uses of EXEC_BINARY with calls to |
| fold_binary_to_constant. |
| |
| 2004-11-22 Nick Clifton <nickc@redhat.com> |
| |
| * sbitmap.c (sbitmap_union_of_preds): Remove redundant |
| initialisation of 'e'. |
| |
| 2004-11-22 Roger Sayle <roger@eyesopen.com> |
| |
| * config/i386/i386.h (TARGET_USE_FANCY_MATH_387): New macro. |
| * config/i386/i386.c (override_options): Set MASK_NO_FANCY_MATH_387 |
| automatically for targets without TARGET_80387. |
| * config/i386/i386.md (sqrtsf2, sqrtsf2_1, sqrtsf2_i387, sqrtdf2, |
| sqrtdf2_1, sqrtdf2_i387, *sqrtextendsfdf2, sqrtxf2, |
| *sqrtextenddfxf2, *sqrtextendsfxf2, fpremxf4, fmodsf3, fmoddf3, |
| fmodxf3, fprem1xf4, dremsf3, dremdf3, dremxf3, *sindf2, *sinsf2, |
| *sinextendsfdf2, *sinxf2, *cosdf2, *cossf2, *cosextendsfdf2, |
| *cosxf2, sincosdf3, sincossf3, *sincosextendsfdf3, sincosxf3, |
| *tandf3_1, tandf2, *tansf3_1, tansf2, *tanxf3_1, tanxf2, |
| atan2df3_1, atan2df3, atandf2, atan2sf3_1, atan2sf3, atansf2, |
| atan2xf3_1, atan2xf3, atanxf2, asindf2, asinsf2, asinxf2, |
| acosdf2, acossf2, acosxf2, fyl2x_xf3, logsf2, logdf2, logxf2, |
| log10sf2, log10df2, log10xf2, log2sf2, log2df2, log2xf2, |
| fyl2xp1_xf3, log1psf2, log1pdf2, log1pxf2, *fxtractxf3, logbsf2, |
| logbdf2, logbxf2, ilogbsi2, *f2xm1xf2, *fscalexf4, expsf2, |
| expdf2, expxf2, exp10sf2, exp10df2, exp10xf2, exp2sf2, exp2df2, |
| exp2xf2, expm1df2, expm1sf2, expm1xf2, frndintxf2, rintdf2, |
| rintsf2, rintxf2, frndintxf2_floor, floordf2, floorsf2, |
| floorxf2, frndintxf2_ceil, ceildf2, ceilsf2, ceilxf2, |
| frndintxf2_trunc, btruncdf2, btruncsf2, btruncxf2, |
| frndintxf2_mask_pm, nearbyintdf2, nearbyintsf2, nearbyintxf2): |
| Simplify conditionals using TARGET_USE_FANCY_MATH_387. |
| |
| 2004-11-22 Dale Johannesen <dalej@apple.com> |
| |
| * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Conditionalize |
| properly and comment. |
| |
| 2004-11-22 James A. Morrison <phython@gcc.gnu.org |
| |
| * config/sparc/sparc.c: Include insn-codes.h and langhooks.h. |
| (sparc_init_builtins): New function. |
| (sparc_init_vis_builtins): Create builtin functions for VIS |
| instructions. |
| (sparc_expand_builtin): Expand builtin functions for VIS instructions. |
| (TARGET_INIT_BUILTINS): Define to sparc_init_builtins. |
| (TARGET_EXPAND_BUILTIN): Define to sparc_expand_builtin. |
| (def_builtin): New macro for creating builtin functions. |
| * config/sparc/sparc.md (P): New mode macro for pointer types. |
| (UNSPEC_FPACK16, UNSPEC_FPACK32, UNSPEC_FPACKFIX, UNSPEC_FEXPAND, |
| UNSPEC_FPMERGE, UNSPEC_MUL16AL, UNSPEC_MUL8UL, UNSPEC_MULDUL, |
| UNSPEC_ALIGNDATA, UNSPEC_ALIGNADDR, UNSPEC_PDIST): New constants. |
| (fpack16_vis, fpackfix_vis, fpack32_vis, fexpand_vis, fpmerge_vis, |
| fmul8x16_vis, fmul8x16au_vis, fmul8x16al_vis, fmul8sux16_vis, |
| fmul8ulx16_vis, fmuld8sux16_vis, fmuld8ulx16_vis, pdist_vis, |
| faligndata<V64:mode>_vis, alignaddr<P:mode>_vis): New patterns. |
| |
| 2004-11-22 Devang Patel <dpatel@apple.com> |
| |
| * tree-if-conv.c (clean_predicate_lists): Clean all basic blocks. |
| |
| 2004-11-22 Devang Patel <dpatel@apple.com> |
| |
| * tree-if-conv.c (if_convertable_phi_p): Rename to ... |
| (if_convertible_phi_p): ... new name. |
| (if_convertable_modify_expr_p): Rename to ... |
| (if_convertible_modify_expr_p): ... new name. |
| (if_convertable_stmt_p): Rename to ... |
| (if_convertible_stmt_p): ... new name. |
| (if_convertable_bb_p): Rename to ... |
| (if_convertible_bb_p): ... new name. |
| (if_convertable_loop_p): Rename to ... |
| (if_convertible_loop_p): ... new name. |
| |
| 2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR target/18444 |
| * configure.ac (threading): Accept 'posix95'. |
| * configure: Regenerate. |
| * config.gcc (i[34567]86-*-solaris2*): On Solaris up to 2.6, |
| include sol26.h and default to posix95 threads if have_pthread_h. |
| (sparc-*-solaris2*): Likewise. |
| * gthr.h: Include gthr-posix95.h if _PTHREADS95 is defined. |
| * gthr-posix95.h: New file. |
| * config/sol26.h: New file. |
| * doc/install.texi (--enable-threads): Document 'posix95'. |
| |
| 2004-11-23 Ben Elliston <bje@au.ibm.com> |
| |
| * pointer-set.h (pointer_set_contains): Remove. |
| * pointer-set.c (pointer_set_contains): Likewise. |
| |
| 2004-11-22 Dale Johannesen <dalej@apple.com> |
| |
| * calls.c (expand_call): Do not call preserve_temp_slots. |
| |
| 2004-11-22 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-flow.h: Remove the prototype for remove_phi_arg. |
| Add a prototype for remove_phi_args. |
| * tree-phinodes.c (remove_phi_arg): Remove. |
| (remove_phi_args): New. |
| * tree-ssa.c (ssa_remove_edge): Call remove_phi_args instead |
| of remove_phi_arg. |
| |
| * cfg.c (unchecked_make_edge): Call execute_on_growing_pred |
| after making an edge. |
| (remove_edge): Call execute_on_shrinking_pred before removing |
| an edge. |
| (redirect_edge_succ): Call execute_on_growing_pred and |
| execute_on_shrinking_pred. |
| * cfghooks.c (execute_on_growing_pred): New. |
| (execute_on_shrinking_pred): Likewise. |
| * cfghooks.h (cfg_hooks): Add execute_on_growing_pred and |
| execute_on_shrinking_pred. |
| Add prototypes for execute_on_growing_pred and |
| execute_on_shrinking_pred. |
| * cfgrtl.c (rtl_cfg_hooks): Add NULL hooks to |
| execute_on_growing_pred and execute_on_shrinking_pred. |
| (cfg_layout_rtl_cfg_hook): Likewise. |
| * tree-cfg.c (tree_cfg_hooks): Likewise. |
| |
| * tree-cfg.c (tree_execute_on_shrinking_pred): New. |
| (tree_cfg_hooks): Use it. |
| * tree-ssa.c (ssa_remove_edge): Don't call remove_phi_args. |
| (ssa_redirect_edge): Don't call remove_phi_arg_num. |
| |
| * tree-phinodes.c (remove_phi_arg_num): Make it static. |
| * tree-flow.h: Remove the corresponding prototype. |
| |
| * tree-ssa.c (ssa_remove_edge): Remove. |
| * tree-flow.h: Remove the corresponding prototype. |
| * tree-cfg.c: Replace ssa_remove_edge with remove_edge. |
| * basic-block.h: Likewise. |
| * tree-if-conv.c: Likewise. |
| * tree-ssa-threadupdate.c: Likewise. |
| |
| 2004-11-23 Ben Elliston <bje@au.ibm.com> |
| |
| * doc/cfg.texi (Maintaining the CFG): Use @ftable instead of |
| @table to list the BSI methods. Use individual @findex directives |
| instead of one with a comma-separated list of index entries. |
| |
| 2004-11-22 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/18529 |
| * fold-const.c (fold_to_nonsharp_ineq_using_bound): New function. |
| (simple_operand_p): Use STRIP_NOPS. Consider SSA names simple. |
| (fold): Call fold_to_nonsharp_ineq_using_bound. |
| * tree-ssa-loop-niter.c (simplify_replace_tree): New function. |
| (number_of_iterations_cond): Fold the expressions before futher |
| processing. |
| (tree_simplify_using_condition): Handle case when cond or expr is |
| an EQ_EXPR specially. |
| |
| 2004-11-22 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-ssa.c (verify_ssa): SSA_OP_ALL_USES should be |
| SSA_OP_ALL_USES | SSA_OP_ALL_KILLS for verification purposes. |
| |
| 2004-11-22 David Edelsohn <edelsohn@gnu.org> |
| Fariborz Jahanian <fjahanian@apple.com> |
| |
| * config/rs6000/rs6000.c (rs6000_return_in_memory): Test |
| TARGET_ALTIVEC_ABI. |
| (function_arg_boundary): Align 8 to 16 byte vectors like SPE. |
| Align 16 byte and larger vectors like Altivec. |
| (function_arg_advance): Pass any 16 byte vector like Altivec vector. |
| (function_arg): Same. |
| (rs6000_pass_by_references): Test TARGET_ALTIVEC_ABI. |
| |
| 2004-11-22 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/18572 |
| * tree-sra.c (scalarize_init): Unshare the rhs before gimplifying |
| it. |
| |
| 2004-11-22 Richard Henderson <rth@redhat.com> |
| |
| * function.c (assign_parm_setup_block): Revert 11-13 change to |
| forcably re-mode a (possibly BLKmode) hard register. |
| |
| 2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sparc.c (mem_min_alignment): Check MEM_ALIGN. |
| |
| 2004-11-22 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/power4.md: Remove delay between dispatch and issue |
| associated with dispatch group slots 3 and 4. |
| * config/rs6000/power5.md: Same. |
| |
| 2004-11-21 Jeff Law <law@redhat.com> |
| |
| * cfg.c (cached_make_edge): Use find_edge rather than an inlined |
| variant. |
| * cfgbuild.c (make_edges): Likewise. |
| * cfghooks.c (can_duplicate_block_p): Likewise. |
| * cfgloop.c (loop_latch_edge): Likewise. |
| * cfgloopmanip.c (force_single_succ_latches): Likewise. |
| * cfgrtl.c (rtl_flow_call_edges_add): Likewise. |
| * predict.c (predict_loops, propagate_freq): Likewise. |
| * tracer.c (tail_duplicate): Likewise. |
| * tree-cfg.c (disband_implicit_edges): Likewise. |
| (tree_forwarder_block_p, tree_flow_call_edges_add): Likewise. |
| |
| 2004-11-22 Nick Clifton <nickc@redhat.com> |
| |
| * sbitmap.c (sbitmap_union_of_preds): Remove redundant |
| initialisation of 'e'. |
| |
| 2004-11-22 Kazu Hirata <kazu@cs.umass.edu> |
| |
| PR rtl-optimization/18599 |
| * regrename.c (copyprop_hardreg_forward): Speed up by putting |
| BB_VISITED flags on basic blocks as we process them. |
| |
| 2004-11-22 Nathan Sidwell <nathan@codesourcery.com> |
| |
| PR target/18531 |
| * config/rs6000/altivec.md (VI_char): New mode attribute. |
| (addv16qi3, addv8hi3, addv4ai3): Replace with ... |
| (add<mode>3): ... this. |
| (subv16qi3, subv8hi3, subv4ai3): Replace with ... |
| (sub<mode>3): ... this. |
| (smaxv16qi3, smaxv8hi3, smaxv4ai3): Replace with ... |
| (smax<mode>3): ... this. |
| (sminv16qi3, sminv8hi3, sminv4ai3): Replace with ... |
| (smin<mode>3): ... this. |
| (umaxv16qi3, umaxv8hi3, umaxv4ai3): Replace with ... |
| (umax<mode>3): ... this. |
| (uminv16qi3, uminv8hi3, uminv4ai3): Replace with ... |
| (umin<mode>3): ... this. |
| (andv16qi3, andv8hi3, andv4ai3): Replace with ... |
| (and<mode>3): ... this. |
| (iorv16qi3, iorv8hi3, iorv4ai3): Replace with ... |
| (ior<mode>3): ... this. |
| (xorv16qi3, xorv8hi3, xorv4ai3): Replace with ... |
| (xor<mode>3): ... this. |
| (andv16qi3, andv8hi3, andv4ai3): Replace with ... |
| (and<mode>3): ... this. |
| (iorv16qi3, iorv8hi3, iorv4ai3): Replace with ... |
| (ior<mode>3): ... this. |
| (altivec_vnor): Replace with ... |
| (altivec_nor<mode>): ... this. |
| (one_cmplv16qi2, one_cmplv8hi2, one_complv4ai2): Replace with ... |
| (one_cmpl<mode>2): ... this. |
| (altivec_vandc): New expander. |
| (*andc<mode>3): New insn. |
| * config/rs6000/rs6000.c (bdesc_2arg): Adjust for new insn names. |
| |
| 2004-11-22 Dorit Naishlos <dorit@il.ibm.com> |
| |
| PR tree-opt/18536 |
| * tree-vectorizer.c (make_loop_iterate_ntimes): Use type of niters when |
| creating iv instead of integer_type. |
| (vect_build_loop_niters): Remove redundant code. |
| (vect_transform_loop_bound): Removed (duplicates functionality of |
| make_loop_iterate_ntimes. |
| (vect_gen_niters_for_prolog_loop): Add documentation. Call |
| lang_hooks.types.type_for_size to create a type of the required size. |
| Use that type instead of integer_type. Remove redundant code. |
| (vect_update_niters_after_peeling): Use type of niters instead of |
| integer_type. |
| (vect_transform_loop): Unify handling of known and unknown loop bound |
| cases. Call make_loop_iterate_ntimes instead of |
| vect_transform_loop_bound. |
| |
| 2004-11-22 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/18217 |
| * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Move darwin-fallback.c to |
| (LIB2ADDEH): Here. |
| |
| 2004-11-22 Dorit Naishlos <dorit@il.ibm.com> |
| |
| PR tree-opt/18544 |
| * tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found. |
| |
| 2004-11-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
| |
| * config.gcc: Use t-slibgcc-elf to build libgcc_s.so on |
| m32r*linux. |
| * config/m32r/t-linux (SHLIB_MAPFILES): Override to use |
| m32r/libgcc-glibc.ver. |
| * config/m32r/libgcc-glibc.ver: Add New file. |
| |
| 2004-11-22 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * bitmap.h (struct bitmap_obstack): New obstack type. |
| (struct bitmap_head_def): Replace using_obstack with obstack |
| pointer. |
| (bitmap_default_obstack): New. |
| (bitmap_initialize): Make inline, does not do allocation. |
| (bitmap_release_memory): Remove. |
| (bitmap_obstack_initialize, bitmap_obstack_release): Declare. |
| (bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc, |
| bitmap_obstack_free, bitmap_malloc_free): Declare. |
| (BITMAP_OBSTACK_ALLOC, BITMAP_GGC_ALLOC, BITMAP_XMALLOC): Adjust. |
| (BITMAP_FREE): Replace with ... |
| (BITMAP_OBSTACK_FREE): ... this. |
| (BITMAP_XFREE): Adjust. |
| (BITMAP_INIT_ONCE): Remove. |
| * bitmap.c (bitmap_obstack, bitmap_obstack_init, bitmap_free: Remove. |
| (bitmap_default_obstack): New. |
| (bitmap_elem_to_freelist): Adjust. |
| (bitmap_element_allocate): Adjust. Break initialization into ... |
| (bitmap_obstack_initialize): ... here. |
| (bitmap_release_memory): Replace with ... |
| (bitmap_obstack_release): ... this. |
| (bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc, |
| bitmap_obstack_free, bitmap_malloc_free): New. |
| (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Use |
| bitmap_initialize. |
| (bitmap_initialize): Move to bitmap.h. |
| * gengtype.c (open_base_files): Add obstack.h to ifiles. |
| * Makefile.in (BASIC_BLOCK_H, REGS_H): Add obstack.h. |
| * basic-block.h (INIT_REG_SET): Allocate from reg_obstack. |
| (INITIALIZE_REG_SET): Remove. |
| (FREE_REG_SET): Use BITMAP_OBSTACK_FREE. |
| (INIT_ONCE_REG_SET, MAX_REGNO_REG_SET): Remove. |
| (flow_obstack): Do not declare. |
| (reg_obstack): Declare. |
| * regs.h: Include obstack.h. |
| * tree-optimize.c (tree_rest_of_compilation): Initialize and |
| release bitmap obstack here. |
| * bb-reorder.c: #include regs, not basic-block. |
| (fix_crossing_conditional_branches): Allocate regsets from |
| reg_obstack. |
| * bt-load.c: Do not inlude bitmap.h, sbitmap.h, basic-block.h or |
| obstack.h. |
| * caller-save.c: Include regs.h earlier. |
| * cfg.c: Do not include basic-block.h or obstack.h. |
| (reg_obstack): Define. |
| * cfganal.c: Include obstack.h |
| * cfgcleanyp.c: Do not include basic-block.h. Include regs.h |
| earlier. |
| * cfglayout.c: Do not include obstack.h. |
| (flow_obstack): Remove declaration. |
| (cfg_layout_duplicate_bb): Use reg_obstack. |
| * cfgloop.c, cfgloopanal.c, cfgloopmanip.c: Include obstack.h. |
| * cfgrtl.c (rtl_split_block): Use reg_obstack. |
| (force_nonfallthru_and_redirect, rtl_split_edge): Likewise. |
| (safe_insert_insn_on_edge): Use OBSTACK_ALLOC_REG_SET, adjust. |
| (cfg_layout_split_edge): Use reg_obstack. |
| * cse.c: Include regs.h earlier. |
| * ddg.c: Do not include basic-block.h. |
| * dominance.c: Inlude obstack.h. |
| * flow.c (update_life_info): Use OBSTACK_ALLOC_REG_SET, adjust. |
| (calculate_global_regs_live): Likewise. |
| (allocate_bb_life_data): Use reg_obstack. |
| (init_propagate_block_info): Use OBSTACK_ALLOC_REGSET. |
| * global.c: Do not include basic-block.h. |
| (build_insn_chain): Use OBSTACK_ALLOC_REG_SET, adjust. |
| * graph.c: Include obstack.h. |
| * haifa-sched.c: Do not include basic-block.h. |
| * ifcvt.c: Use OBSTACK_ALLOC_REG_SET, adjust. |
| * local-alloc.c: Do not include basic-block.h. |
| * loop-init.c, loop-invariant.c: Include obstack.h. |
| * loop-iv.c: Likewise. |
| (simplify_using_initial_values): Use OBSTACK_ALLOC_REG_SET, |
| adjust. |
| * loop-unroll.c, loop-unswitch.c: Inlude obstack.h. |
| * modulo-sched.c: Do not include basic-block.h. |
| * passes.c (rest_of_handle_final): Do not call |
| regset_release_memory. |
| * ra-debug.c: Include regs.h earlier. Do not include |
| basic-block.h. |
| * recog.c (peephole2_optimize): Use OBSTACK_ALLOC_REG_SET, adjust. |
| * regclass.c (init_reg_sets): Do not call INIT_ONCE_REG_SET. |
| (allocate_reg_info): Do not call MAX_REGNO_REG_SET. |
| (regset_release_memory): Remove. |
| * resource.c: Do not include basic-block.h. |
| * rtlanal.c: Do not include basic-block.h. |
| * sbitmap.c: Include obstack.h. |
| * sched-deps.c: Do not include basic-block.h. |
| (reg_pending_sets_head, reg_pending_clobbers_head, |
| reg_pending_uses_head): Remove. |
| (init_deps_global): Use OBSTACK_ALLOC_REG_SET. |
| * sched-ebb.c: Do not include basic-block.h. |
| * sched-rgn.c: Likewise. |
| * tree-if-conv.c (get_loop_body_in_if_conv_order): Use |
| BITMAP_XFREE. |
| * tree-outof-ssa.c (perform_edge_inserts): Use BITMAP_XFREE. |
| * tree-sra.c (decide_instantiations): Adjust bitmap |
| initialization. |
| * tree-ssa-dce.c: Include obstack.h. |
| * tree-ssa-pre.c (grand_bitmap_obstack): Make a bitmap_obstack. |
| (value_insert_into_set_bitmap): Remove useless bitmap_clear. |
| (bitmap_set_new): Likewise. |
| (init_pre): Initialize bitmap obstack. |
| (fini_pre): Release bitmap obstack.
|