+2005-05-17 Mike Stump <mrs@apple.com>
+
+ Yet more Objective-C++...
+
+ * c-common.h (objc_finish_try_stmt): Add.
+ (objc_build_synchronized): Add.
+ (objc_generate_write_barrier): Add.
+ * stub-objc.c (objc_build_synchronized): Add return value.
+ (objc_finish_try_stmt): Likewise.
+ (objc_generate_write_barrier): Add.
+
+ * c-common.h (objc_rewrite_function_call): Add.
+ * c-typeck.c (build_function_call): Allow objc to rewrite
+ FUNCTION_DECLs.
+ (build_modify_expr): Allow objc to generate write barriers.
+ * c.opt (Wassign-intercept): Add.
+ (Wstrict-selector-match): Add.
+ (fobjc-call-cxx-cdtors): Add.
+ (fobjc-direct-dispatch): Add.
+ (fobjc-gc): Add.
+ * dbxout.c (get_lang_number): Add Objective-C++ support.
+ * doc/invoke.texi (-fobjc-call-cxx-cdtors): Likewise.
+ (-Wstrict-selector-match): Likewise.
+ (-fobjc-direct-dispatch): Likewise.
+ (-Wassign-intercept): Likewise.
+ (Overall Options): Likewise.
+ * gengtype.c (get_output_file_with_visibility): Likewise.
+ * stub-objc.c (objc_rewrite_function_call): Add.
+ * config/darwin.h (ASM_OUTPUT_LABELREF): Improved quoting support.
+
+ * c-common.c (flag_objc_exceptions): Remove.
+ (flag_objc_sjlj_exceptions): Remove.
+ * c-decl.c (objc_mark_locals_volatile): Don't change decls
+ that are already ok.
+ * c-opts.c (c_common_handle_option, case
+ OPT_fobjc_exceptions): Remove.
+ (case OPT_fobjc_sjlj_exceptions): Remove
+ * c.opt (fobjc-call-cxx-cdtors): Have opt create the flag.
+ (fobjc-exceptions): Likewise.
+ (fobjc-sjlj-exceptions): Likewise.
+ * config/rs6000/darwin.h (OFFS_MSGSEND_FAST): Add.
+ (OFFS_ASSIGNIVAR_FAST): Add.
+
+2005-05-17 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.md (movhi): Do not test constness
+ of operand #1 twice.
+ (movsi): Likewise.
+ (movdi): Unconditionally accept zero as second operand
+ when the first is memory.
+ (movdi_insn_sp32): Handle above case.
+ (DImode splitter): Use predicates.
+ (DImode splitter): Use const_zero_operand predicate.
+ (movsf_insn): Swap 2 alternatives.
+
+2005-05-17 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-ivopts.c (find_bivs, find_givs_in_stmt_scev): Apply
+ expand_simple_operations to bases of the ivs.
+ (tree_int_cst_sign_bit): Export.
+ * tree-flow.h (expand_simple_operations): Declare.
+ * tree-ssa-loop-niter.c (number_of_iterations_cond): Use
+ tree_int_cst_sign_bit.
+ (expand_simple_operations): Export.
+ * tree.h (tree_int_cst_sign_bit): Declare.
+
+2005-05-17 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-cfg.c (tree_can_merge_blocks_p): Allow phi nodes in the
+ merged block.
+ (replace_uses_by): New function.
+ (tree_merge_blocks): Eliminate the phi nodes in the merged block.
+ * tree-flow.h (fold_stmt_inplace): Declare.
+ * tree-ssa-ccp.c (fold_stmt_inplace): New function.
+ * tree-ssa-dom.c (tree_ssa_dominator_optimize): Update dominance
+ info after cfg cleanup.
+
+2005-05-17 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * cfgloop.h (just_once_each_iteration_p): Declaration changed.
+ * cfgloopanal.c (just_once_each_iteration_p): Make the loop argument
+ const.
+
+2005-05-17 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * ggc-page.c (ggc_alloc_stat): Record amount of memory allocated.
+ * ggc-zone.c (ggc_alloc_zone_1): Ditto.
+ * timevar.c (timevar_ggc_mem_total): New variable.
+ (GGC_MEM_BOUND): New constant.
+ (get_time): Record ggc memory status.
+ (timevar_accumulate): Accumulate amount of ggc memory.
+ (timevar_print): Print consumption of ggc memory.
+ * timevar.def (TV_FIND_REFERENCED_VARS, TV_TREE_REDPHI,
+ TV_TREE_LOOP_BOUNDS, TV_TREE_LOOP_IVCANON, TV_TREE_VECTORIZATION,
+ TV_TREE_LINEAR_TRANSFORM): Shorten strings to fit in 22 characters.
+ * timevar.h (struct timevar_time_def): Add ggc_mem field.
+ (timevar_ggc_mem_total): Declare.
+
+2005-05-17 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-into-ssa.c (update_ssa): Clean up by shortening the
+ live range of DFS.
+
+2005-05-17 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.md (ncond, ocode, rcond): Remove separate
+ define_code_attr.
+ ("b<ncond:code>", "b<ocond:code>", "b<rcond:code>")
+ ("*b<ncond:code>_reversed", "*b<ocond:code>_reversed")
+ ("*b<rcond:code>_reversed", "s<ncond:code>", "s<rcond:code>")
+ ("s<ocond:code>"): Rename from respectively "b<ncond>",
+ "b<ocond>", "b<rcond>", ("*b<ncond>_reversed",
+ "*b<ocond>_reversed", "*b<rcond>_reversed", "s<ncond>",
+ "s<rcond>" and "s<ocond>".
+ ("b<ocond:code>", "*b<ocond:code>_reversed")
+ ("*b<rcond:code>_reversed"): Remove extraneous backslashes in
+ output statement section.
+
+2005-05-17 Roger Sayle <roger@eyesopen.com>
+
+ * c-typeck.c (common_type): Also handle BOOLEAN_TYPEs.
+
+2005-05-17 Steven Bosscher <stevenb@suse.de>
+ Stuart Hastings <stuart@apple.com>
+ Jan Hubicka <jh@suse.cz>
+ Dale Johannesen <dalej@apple.com>
+
+ * cgraph.h (cgraph_node): Add 'lowered' state.
+ (cgraph_lower_function): Declare.
+ * cgraphunit.c (cgraph_finalize_function): Initialize lowered flag.
+ (cgraph_lower_function): New function.
+ (cgraph_create_edges): Deal with lowered function bodies.
+ (verify_cgraph_node): Likewise.
+ (cgraph_analyze_function): Do lowering job.
+ (cgraph_build_static_cdtor): Likewise.
+ * function.h (struct function): Add saved_eh and saved_cfg.
+ * integrate.c (copy_decl_for_inlining): Kill LABEL_DECL_UID field.
+ * tree-cfg.c (fold_cond_expr_cond): Export.
+ * tree-flow.h (fold_cond_expr_cond): Declare.
+ * tree-inline.c: Include basic-block, ggc, tree-flow, except.h and
+ pointer-set.
+ (struct_inline_data): Kill fnd, first_inlined_fn, ret_label,
+ in_target_cleanup_p, tree_pruner, tsi; add callee, caller and
+ callee_cfun, block, eh_region, eh_region_offset.
+ (inlining_p): New predicate.
+ (remap_decl): Update for new inline_data; declare newly created inline
+ vars in low gimple way.
+ (copy_body_r): Update for new datastructure, simplify some of handling
+ when we are in gimple; remap LABEL_DECLs for EH; copy TREE_BLOCK;
+ deal with RESX_EXPRs.
+ (copy_bb): New.
+ (copy_edges_for_bb): Likewise.
+ (remap_decl_1): New.
+ (copy_cfg_body): New.
+ (copy_generic_body): Rewrite to work on low gimple.
+ (copy_body): Turn into simple wrapper around copy_cfg_body.
+ (setup_one_parameter): Insert new statements into given basic block.
+ (initialize_initialized_parameters): Likewise, reorganize way things are
+ gimplified.
+ (declare_return_variable): Update for new inline data datastructure.
+ (inline_forbidden_p): Work on low gimple.
+ (estimate_num_insns): Likewise.
+ (expand_call_inline): Work on CFG.
+ (push_cfun, pop_cfun): New functions.
+ (cfun_stack): New stack.
+ (add_lexical_block): New function.
+ (gimple_expand_calls_inline): Work on basic block.
+ (optimize_inline_calls): Likewise.
+ (clone_body, save_body, unsave_ewpr_now): Update for new
+ datastructures.
+ (declare_inline_vars): Work on block instead of bind_expr.
+ (inlining_p): New predicate.
+ * tree-inline.h (push_cfun, pop_cfun): Declare.
+ * tree-optimize.c: Include except.h
+ (all_lowering_passes): New variable.
+ (execute_fixup_cfg, pass_fixup_cfg): New pass.
+ (init_tree_optimization_passes): Move some to all_lowering_passes.
+ (tree_lowering_passes): New function.
+ (tree_rest_of_compilation): Register cfg hooks; save/unsave eh.
+
+2005-05-17 Nathan Sidwell <nathan@codesourcery.com>
+
+ * unwind-dw2-fde-darwin.c: Include tsystem.h.
+
+2005-05-17 Jeff Law <law@redhat.com>
+
+ * Makefile.in (tree-ssa-forwprop.o): Depend on langhooks.h.
+ * tree-ssa-forwprop.c: Include langhooks.h.
+ (forward_propagate_addr_expr_into_variable_array_index): New.
+ (forward_propagate_addr_expr): New.
+ (tree_ssa_forward_propagate_single_use_vars): Loop over all
+ the statements in the block instead of just the last statement.
+ Call forward_propagate_addr_expr as needed.
+ (pass_forwprop): Update the SSA graph after forward propagation is
+ complete.
+
+2005-05-17 Nathan Sidwell <nathan@codesourcery.com>
+
+ * unwind-dw2-fde-glibc.c (base_from_cb_data,
+ _Unwind_IteratePhdrCallback): Use gcc_assert and gcc_unreachable as
+ appropriate.
+ * unwind-dw2-fde.c (__deregister_frame_info_bases,
+ base_from_object, fde_split, end_fde_sort): Likewise.
+ * unwind-dw2.c (_Unwind_GetGR, _Unwind_SetGR, execute_stack_op,
+ execute_cfa_program, _Unwind_SetSpColumn, uw_update_context_1,
+ uw_init_context_1): Likewise.
+ * unwind.inc (_Unwind_RaiseException_Phase2, _Unwind_Resume,
+ _Unwind_Resume_or_Rethrow): Likewise.
+ * unwind-pe.h (__gxx_abort): Do not define.
+ (size_of_encoded_value, base_of_encoded_value,
+ read_encoded_value_with_base): Use gcc_unreachable.
+ * unwind.h (_Unwind_GetTextRelBase): Likewise.
+
+2005-05-17 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * config/arm/lib1funcs.asm (cfi_pop, cfi_push, cfi_start)
+ (cfi_end): New macros.
+ (RETLDM): Use cfi_pop. Expect an eight byte stack frame.
+ (ARM_LDIV0, THUMB_LDIV0, DIV_FUNC_END): Use CFI macros. Create
+ an eight byte stack frame.
+ (__NR_tkill): Define.
+ (__div0): Use gettid tkill on GNU/Linux.
+ (_arm_return): Add CFI.
+ (Lchange_\register, .Lchange_lr): Create an eight byte stack frame.
+
+2005-05-17 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * configure.ac: Remove spaces around assignment to
+ gcc_cv_ld_sysroot.
+ * configure: Regenerated.
+
+2005-05-17 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/aix.h (TARGET_ALTIVEC_VRSAVE): Delete.
+ * config/rs6000/rs6000.c (rs6000_explicit_options): Add
+ aix_struct_ret.
+ (rs6000_override_options): Do not protect TARGET_ALTIVEC_VRSAVE.
+ Modify aix_struct_return variable, not target_flags.
+ (rs6000_handle_option): Do not protect TARGET_ALTIVEC_VRSAVE.
+ (rs6000_return_in_memory): Test aix_struct_return.
+ * config/rs6000/rs6000.opt (maix-struct-return): Convert to
+ independent variable. Report mxl-compat.
+
+2005-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.md (eh_return): Add missing DONE.
+
+2005-05-17 Ian Lance Taylor <ian@airs.com>
+
+ * read-rtl.c (struct macro_traverse_data): Add unknown_mode_attr
+ field.
+ (mode_attr_index): Remove check for defined attribute. Remove
+ infile parameter. Change all callers.
+ (apply_mode_maps): Add unknown parameter. Change caller. Always
+ return after finding attribute.
+ (apply_macro_to_rtx): Add unknown_mode_attr parameter. Change
+ callers.
+ (apply_macro_traverse): Set mtd->unknown_mode_attr.
+ (read_rtx): Use mtd.unknown_mode_attr to check for an undefined
+ attribute used for a mode.
+
+2005-05-17 Paolo Bonzini <bonzini@gnu.org>
+
+ * tree-ssa-math-opts.c: New file.
+
+2005-05-17 Paolo Bonzini <bonzini@gnu.org>
+
+ * Makefile.in: Add tree-ssa-math-opts.c.
+ * expr.c (expand_expr_real_1) <case RDIV_EXPR>: Never emit as a*(1/b).
+ * fold-const.c (distribute_real_division): New.
+ (fold_binary) <case PLUS_EXPR, case MINUS_EXPR>: Use it.
+ * tree-pass.h (pass_cse_reciprocals): New.
+ * tree-optimize.c (init_tree_optimization_passes): Run it.
+ * doc/passes.texi: Document the new pass.
+
+2005-05-17 Richard Guenther <rguenth@gcc.gnu.org>
+
+ PR middle-end/21595
+ * builtins.c (fold_builtin_constant_p): Handle
+ &"string cst"[0] as constant.
+
+2005-05-17 Richard Henderson <rth@redhat.com>
+
+ * config/i386/sse.md (mulv16qi3, mulv2di3): New.
+
+2005-05-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/21492
+ * cfgcleanup.c (try_crossjump_to_edge): update_forwarder_flag for
+ src2 if src2 has been split.
+
+ PR tree-optimization/21610
+ * c-typeck.c (decl_constant_value_for_broken_optimization): If not
+ returning DECL, call unshare_expr.
+
+2005-05-17 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.md: Unquote preparation and output statements.
+ (BWD, WD, BW): New, mode-macros.
+ (S, s, m, mm, nbitsm1): New, mode-attrs.
+ (szext, shift, shiftrt, ncond, ocond, rcond): New, code-macros.
+ (u, su, shlr, slr, ncond, ocond, rcond, rCC, oCC, roCC): New,
+ code-attrs.
+ ("tst<mode>"): Replace "tstqi", "tsthi" and "tstsi".
+ ("*cmp_ext<mode>"): Replace "*cmp_extsi" and "*cmp_exthi".
+ ("*cmp_swapext<mode>"): Replace "*cmp_swapextqi" and
+ "*cmp_swapexthi".
+ ("cmp<mode>"): Replace "cmphi" and "cmpqi".
+ ("movdi"): Move misplaced head comment regarding necessity of
+ movdi from movsi to here.
+ ("*mov_side<mode>_biap"): Replace "*mov_sideqi_biap" and
+ "*mov_sidehi_biap".
+ ("*mov_side<mode>"): Replace "*mov_sideqi" and "*mov_sidehi".
+ ("*mov_side<mode>_biap_mem", "*mov_sidehi_biap_mem"): Replace
+ "*mov_sideqi_biap_mem".
+ ("*mov_side<mode>_mem"): Replace "*mov_sideqi_mem" and
+ "*mov_sidehi_mem".
+ ("*clear_side<mode>_biap"): Replace "*clear_sidesi_biap",
+ "*clear_sidehi_biap" and "*clear_sideqi_biap".
+ ("*clear_side<mode>"): Replace "*clear_sidesi", "*clear_sidehi"
+ and "*clear_sideqi".
+ ("*ext_side<mode>si_biap"): Replace "*ext_sideqisi_biap" and
+ "*ext_sidehisi_biap".
+ ("*ext_side<mode>si"): Replace "*ext_sideqisi" and
+ "*ext_sidehisi".
+ ("reload_in<mode>"): Replace "reload_inhi" and "reload_inqi".
+ ("reload_out<mode>"): Replace "reload_outhi" and "reload_outqi".
+ ("extend<mode>di2"): Replace "extendhidi2" and "extendqidi2".
+ ("extend<mode>si2"): Replace "extendhisi2" and "extendqisi2".
+ ("zero_extend<mode>si2"): Replace "zero_extendhisi2" and
+ "zero_extendqisi2".
+ ("*op_side<mode>_biap"): Replace "*op_sideqi_biap",
+ "*op_sidehi_biap" and "*op_sidesi_biap".
+ ("*op_side<mode>"): Replace "*op_sideqi", "*op_sidehi" and
+ "*op_sidesi".
+ ("*op_swap_side<mode>_biap"): Replace "*op_swap_sideqi_biap",
+ "*op_swap_sidehi_biap" and "*op_swap_sidesi_biap".
+ ("*op_swap_side<mode>"): Replace "*op_swap_sideqi",
+ "*op_swap_sidehi" and "*op_swap_sidesi".
+ ("sub<mode>3"): Replace "subhi3" and "subqi3", correcting a typo
+ in the N alternative of "subqi3".
+ ("*extop<mode>si_side_biap"): Replace "*extopqisi_side_biap" and
+ "*extophisi_side_biap".
+ ("*extop<mode>si_side"): Replace "*extopqisi_side" and
+ "*extophisi_side".
+ ("*extop<mode>si_swap_side_biap"): Replace
+ "*extopqisi_swap_side_biap" and "*extophisi_swap_side_biap".
+ ("*extop<mode>si_swap_side"): Replace "*extopqisi_swap_side" and
+ "*extophisi_swap_side".
+ ("*extop<mode>si"): Replace "*extopqisi" and "*extophisi".
+ ("*extop<mode>si_swap"): Replace "*extopqisi_swap" and
+ "*extophisi_swap".
+ ("<u>mul<s><mode>3"): Replace "umulhisi3", "umulqihi3",
+ "mulqihi3", "mulhisi3" and "mulhisi3".
+ ("<u>mulsidi3"): Replace "mulsidi3" and "umulsidi3".
+ ("<su>mulsi3_highpart"): Replace "smulsi3_highpart" and
+ "umulsi3_highpart".
+ ("xor<mode>3"): Replace "xorhi3" and "xorqi3".
+ ("neg<mode>2"): Replace "negsi2", "neghi2" and "negqi2".
+ ("one_cmpl<mode>2"): Replace "one_cmplhi2" and "one_cmplqi2".
+ ("<shlr>si3"): Replace "ashrsi3", "lshrsi3" and "ashlsi3".
+ ("ashr<mode>3"): Replace "ashrhi3" and "ashrqi3".
+ ("*expanded_<shlr><mode>"): Replace "*expanded_ashrhi",
+ "*expanded_ashrqi", "*expanded_lshrhi" and "*expanded_lshrqi".
+ ("*<shlr><mode>_lowpart"): Replace "*ashrhi_lowpart",
+ "*ashrqi_lowpart", "*lshrhi_lowpart" and "*lshrqi_lowpart".
+ ("lshr<mode>3"): Replace "lshrhi3" and "lshrqi3".
+ ("ashl<mode>3"): Replace "ashlhi3" and "ashlqi3".
+ ("*ashl<mode>_lowpart"): Replace "*ashlqi_lowpart" and
+ "*ashlhi_lowpart".
+ ("abs<mode>2"): Replace "abshi2" and "absqi2".
+ ("b<ncond>"): Replace "beq", "bne", "bgtu", "bltu", "bgeu" and
+ "bleu".
+ ("b<ocond>"): Replace "bgt" and "ble".
+ ("b<rcond>"): Replace "blt" and "bge".
+ ("*b<ncond>_reversed"): Replace "*beq_reversed", "*bne_reversed",
+ "*bgtu_reversed", "*bltu_reversed", "*bgeu_reversed" and
+ "*bleu_reversed".
+ ("*b<ocond>_reversed"): Replace "*bgt_reversed" and
+ "*ble_reversed".
+ ("*b<rcond>_reversed"): Replace "*blt_reversed" and
+ "*blt_reversed".
+ ("s<ncond>"): Replace "sgeu", "sltu", "seq", "sgtu", "sleu" and
+ "sne".
+ ("s<rcond>"): Replace "sge" and "slt".
+ ("s<ocond>"): Replace "sgt" and "sle".
+ ("clear.[bwd] [rx=rx+rz.S2]"): Replace split clear.d
+ [rx=rx+rz.S2], clear.w [rx=rx+rz.S2] and clear.b [rx=rx+rz.S2].
+ ("clear.[bwd] [rx=rx+i]"): Replace splits clear.d [rx=rx+i],
+ clear.w [rx=rx+i] and clear.b [rx=rx+i].
+
+2005-05-17 Jakub Jelinek <jakub@redhat.com>
+
+ * varasm.c (struct constant_descriptor_tree): Add hash field.
+ (const_desc_hash): Just return hash field.
+ (const_desc_eq): If hash values are different, return 0 immediately.
+ (output_constant_def): Compute hash field of temporary key, use
+ htab_find_slot_with_hash instead of htab_find_slot. Set hash in
+ newly built constant descriptor.
+ (lookup_constant_def): Compute hash field of temporary key, use
+ htab_find_with_hash instead of htab_find.
+
+2005-05-16 Richard Henderson <rth@redhat.com>
+
+ * config/i386/sse.md (mulv4si3): New.
+
+2005-05-17 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.h (EXTRA_CONSTRAINT_T): Remove FIXME and
+ tests for noncanonical versions of reg+constant and
+ reg+reg*{1,2,4}.
+
+2005-05-16 Richard Henderson <rth@redhat.com>
+ Steven Bosscher <stevenb@suse.de>
+
+ PR tree-opt/21399
+ * tree-eh.c (maybe_clean_or_replace_eh_stmt): Rename from
+ maybe_clean_eh_stmt; take old stmt parameter. Update EH
+ region data structure to match replacement.
+ * tree-flow.h: Update to match.
+ * tree-ssa-ccp.c (execute_fold_all_builtins): Likewise.
+ * tree-ssa-dom.c (optimize_stmt): Likewise.
+ * tree-ssa-pre.c (eliminate): Likewise.
+ * tree-ssa-propagate.c (substitute_and_fold): Likewise.
+
+2005-05-16 Caroline Tice <ctice@apple.com>
+
+ * bb-reorder.c (verify_hot_cold_block_grouping): Replace
+ internal_error with gcc_assert.
+ * dwarf2out.c (dwarf2out_switch_text_section): Likewise.
+ * function.h (struct function): Remove space between "*" and
+ struct field names.
+ * varasm.c (initialize_cold_section_name): Add gcc_assert;
+ modify to use alloca.
+ (unlikely_text_section): Add check for flag_function_sections.
+ (assemble_start_function): Move call to resolve_section, so it
+ comes before first call to unlikely_text_section.
+ (assemble_end_function): Add test and call to function_section
+ if appropriate.
+
+2005-05-16 Roger Sayle <roger@eyesopen.com>
+
+ * c-common.c (c_common_truthvalue_conversion): Use fold_build2
+ instead of build_binary_op when performing code transformations
+ to avoid error messages about constructs not it the user's code.
+
+2005-05-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-pre.c: Fix a comment typo.
+
+2005-05-16 Richard Henderson <rth@redhat.com>
+
+ PR target/21556
+ * config/ia64/ia64.md (load_dtpmod, load_ltoff_dtpmod, load_dtprel,
+ load_dtprel64, load_dtprel22, load_dtprel_gd, load_ltoff_dtprel,
+ add_dtprel, add_dtprel14, add_dtprel22, load_tprel, load_tprel64,
+ load_tprel22, load_tprel_ie, load_ltoff_tprel, add_tprel, add_tprel14,
+ add_tprel22): Remove mode from symbolic operand.
+
+2005-05-16 Richard Sandiford <rsandifo@redhat.com>
+
+ * optc-gen.awk: Include intl.h after the externally-provided files.
+
+2005-05-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-copy.c (copy_prop_visit_assignment): Clean up by
+ folding a COND_EXPR_COND in a nondestructive manner.
+
+2005-05-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ * config/rs6000/altivec.md (altivec_vmrghb, altivec_vmrghh,
+ altivec_vmrghw, altivec_vmrglb, altivec_vmrglh, altivec_vmrglw):
+ New values for vec_select definitions and bitmask for element
+ selection.
+
+2005-05-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * dwarf2out.c (used_rtx_varray): Rename to used_rtx_array.
+ Change the type to VEC(rtx,gc)*.
+ (mem_loc_descriptor, add_const_value_attributes,
+ dwarf2out_init): Adjust uses of used_rtx_varray.
+
+ * tree-data-ref.c (compute_all_dependences): Change the type
+ of dependence_relations to VEC(ddr_p,heap)**.
+ (compute_data_dependences_for_loop): Change the type of
+ allrelations to VEC(ddr_p,heap)*.
+
+2005-05-16 Richard Sandiford <rsandifo@redhat.com>
+
+ * Makefile.in (options.c): Tell optc-gen.awk to include config.h,
+ system.h, coretypes.h and tm.h.
+ (options.o): Update dependencies accordingly.
+ * optc-gen.awk: Allow header_name to be a list of filenames.
+ Handle the "Condition" flag.
+ * opts.h (CL_DISABLED): New flag.
+ * opts.c (handle_option): Print an error for CL_DISABLED options.
+ * doc/options.texi: Document the "Condition" option flag.
+
+2005-05-16 Paolo Bonzini <bonzini@gnu.org>
+
+ * tree-inline.c (estimate_num_insns_1): Handle VEC_COND_EXPR.
+
+2005-05-15 Roger Sayle <roger@eyesopen.com>
+
+ * tree-scalar-evolution.c (set_nb_iterations_in_loop): Only
+ check for TREE_OVERFLOW on INTEGER_CST trees.
+ * tree-chrec.c (chrec_convert): Only clear TREE_OVERFLOW on
+ CONSTANT_CLASS_P tree nodes.
+
+2005-05-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/21551
+ * config/ia64/ia64.c (ia64_expand_move): Don't add addend twice.
+
+2005-05-15 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/21576
+
+ * tree-ssa-pre.c (expression_node_pool): New pool.
+ (comparison_node_pool): Ditto.
+ (list_node_pool): Ditto.
+ (pool_copy_list): New function.
+ (phi_translate): Handle CALL_EXPR.
+ (valid_in_set): Ditto.
+ (create_expression_by_pieces): Ditto.
+ (insert_into_preds_of_block): Ditto.
+ (insert_aux): Ditto.
+ (compute_avail): Ditto.
+ (create_value_expr_from): Handle TREE_LIST and CALL_EXPR.
+ (can_value_number_call): New function.
+ (find_leader): Update comment.
+ (init_pre): Create new pools.
+ (fini_pre): Free new pools.
+ (pass_pre): Add TODO_update_ssa for the future when we are going
+ to need vops.
+ * tree-vn.c (expressions_equal_p): Handle TREE_LIST.
+ (set_value_handle): Ditto.
+ (get_value_handle): Ditto.
+
+2005-05-15 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.c (thumb_unexpanded_epilogue): Delete unused variable 'mode'.
+
+2005-05-15 Andreas Jaeger <aj@suse.de>
+
+ * gcc.c (pfatal_pexecute): Remove unused local function.
+
+2005-05-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * optc-gen.awk: Remove excess indentation.
+ * opth-gen.awk: Likewise.
+
+2005-05-14 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_output_mi_thunk): Check cfun->cfg instead
+ of basic_block_info. Call init_flow and find_basic_blocks
+ before dbr_schedule if needed.
+
+2005-05-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-optimize.c (init_tree_optimization_passes): Move
+ pass_cd_dce in place of the last pass_dce.
+
+ PR tree-optimization/21563
+ * tree-vrp.c (compare_value): Return boolean_false_node when
+ SSA_NAME in "if (SSA_NAME == CST)" is strictly smaller than or
+ strictly larger than CST.
+
+2005-05-14 Nathan Sidwell <nathan@codesourcery.com>
+ Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * config/vax/vax.c: (print_operand_address) Use gcc_unreachable() and
+ gcc_assert().
+ (rev_cond_name) Likewise.
+ (vax_float_literal) Likewise.
+ * config/vax/vax.md: Likewise.
+
+2005-05-14 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * config/vax/vax.md: define_constant VAXens AP, FP, SP and PC
+ registers and use them (specifically the stack pointer).
+ * config/vax/vax.h: Use above defines right here.
+
+ * config/vax/vax.c: (override_options) Remove 'register' keyword.
+ (split_quadword_operands) Likewise. (rev_cond_name) Likewise.
+ (vax_float_literal) Likewise. (vax_rtx_costs) Remove trailing
+ whitespace.
+ * config/vax/vax.h: Remove 'register' keyword. Misc. whitespace fixes,
+ mostly removal of trailing spaces...
+ * config/vax/vax-modes.def: Remove trailing whitespace.
+
+ * config/vax/elf.h: Update whitespace.
+
+2005-05-14 Richard Guenther <rguenth@gcc.gnu.org>
+
+ Revert
+ 2005-05-11 Richard Guenther <rguenth@gcc.gnu.org>
+ * fold-const.c (fold_indirect_ref_1): Avoid removing
+ NOP_EXPRs with type qualifiers like const.
+
+2005-05-14 Jan Hubicka <jh@suse.cz>
+
+ Patch by Richard Henderson:
+ * tree-eh.c (tree_can_throw_internal, tree_can_throw_external):
+ Handle RESX expressions properly.
+
+ * tree-eh.c (record_stmt_eh_region): Use add_stmt_to_eh_region.
+ (add_stmt_to_eh_region_fn): Nest into CALL_EXPR.
+ (remove_stmt_from_eh_region_fn): Likewise.
+
+ * tree-cfg.c (execute_warn_function_return): Break out noreturn
+ warning too..
+ (execute_warn_function_noreturn): ... here.
+ (pass_warn_function_noreturn): New pass.
+ * tree-pass.h (pass_warn_function_noreturn): Declare
+ * tree-optimize.c (init_tree_optimization_passes): Move return
+ warnings early and add noreturn warnings at place of previous
+ return warnings.
+
+2005-05-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-live.c (tpa_init, tpa_delete, tpa_compact,
+ root_var_init, type_var_init): Use VEC instead of VARRAY.
+ * tree-ssa-live.h (tree_partition_associator_d): Change the
+ type of trees to VEC(tree,heap)*.
+ (tpa_tree): Use VEC instead of VARRAY.
+
+2005-05-14 Richard Guenther <rguenth@gcc.gnu.org>
+
+ * fold-const.c (div_if_zero_remainder): New function.
+ (try_move_mult_to_index): Use it.
+
+2005-05-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-eh.c (leh_tf_state): Change the type of dest_array to
+ VEC(tree,heap)*.
+ (maybe_record_in_goto_queue, lower_try_finally_onedest,
+ lower_try_finally_copy, lower_try_finally_switch,
+ lower_try_finally): Use VEC instead of VARRAY.
+
+2005-05-14 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.h (Node: Register Classes): Remove obsoleted
+ comment regarding defined register classes.
+ (LEGITIMIZE_RELOAD_ADDRESS): Do not define.
+
+2005-05-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-optimize.c (init_tree_optimization_passes): Move
+ pass_merge_phi before the first pass_dominator.
+
+2005-05-13 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.h (INITIALIZE_TRAMPOLINE): Make the call to __clear_cache
+ unconditional.
+
+2005-05-13 Josh Conner <jconner@apple.com>
+
+ * config/arm/arm.c (arm_size_return_regs): New.
+ (thumb_unexpanded_epilogue): replace in-line calculation
+ of return registers with call to arm_size_return_regs.
+ (use_return_insn): Include test of which registers are
+ being used to hold return values, to accommodate
+ vector return values.
+
+2005-05-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/sysv4.opt (mlittle): Handle.
+
+ * config/rs6000/rs6000.c (rs6000_handle_option): Set
+ target_flags_explicit when appropriate.
+
+2005-05-13 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR middle-end/20714:
+ * optabs.c (no_conflict_data): New struct.
+ (no_conflict_move_test): New function.
+ (emit_no_conflict_block): Use it.
+
+2005-05-13 Adam Nemet <anemet@lnxw.com>
+
+ * doc/invoke.texi (Debugging Options): Option
+ -fdump-translation-unit only works with C++ now.
+
+2005-05-13 Hans-Peter Nilsson <hp@axis.com>
+
+ Replace calls to abort in CRIS port.
+ * config/cris/cris.h (CRIS_ASSERT): New macro.
+ * config/cris/cris.md ("*movsi_internal"): Use CRIS_ASSERT and
+ internal_error instead of abort.
+ ("movsi"): Ditto. Unquote preparation statement section.
+ ("call", "call_value"): Ditto, but use gcc_assert where
+ appropriate. Tweak comments.
+ * config/cris/cris.c (ASSERT_PLT_UNSPEC): Define in terms of
+ CRIS_ASSERT.
+ (cris_op_str): Call internal_error, not abort.
+ (cris_print_operand): Tweak "abort" reference to "die" in comment.
+ (cris_initial_elimination_offset): Call gcc_unreachable, not abort.
+ (cris_notice_update_cc): Call internal_error, not abort.
+ (cris_expand_return, cris_expand_prologue, cris_gen_movem_load)
+ (cris_emit_movem_store, cris_asm_output_symbol_ref)
+ (cris_output_addr_const_extra): Use CRIS_ASSERT, don't call abort.
+ (cris_symbol, cris_got_symbol): Use CRIS_ASSERT instead of
+ ENABLE_CHECKING-guarded abort call.
+ (cris_split_movdx): Use CRIS_ASSERT instead of abort with test.
+ Use internal_error at end of test-chain.
+
+2005-05-13 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR rtl-optimization/20769:
+ * bt-load.c (compute_defs_uses_and_gen): Check for the blockage
+ pattern emitted by expand_nl_goto_receiver.
+
+ PR middle-end/20793:
+ * integrate.c (allocate_initial_values): Update register liveness
+ information.
+
+2005-05-13 Josh Conner <jconner@apple.com>
+
+ * arm.c (arm_return_in_memory): Add handling for vector return types.
+
+2005-05-13 David Ung <davidu@mips.com>
+
+ * config/mips/mips.h (processor_type): Add new PROCESSOR_4KP
+ name.
+ * config/mips/mips.c: Add 4km alias.
+ * config/mips/mips.md: Add 4kp to cpu attrib and include 4k.md.
+ * config/mips/4k.md: New file, add 4Kc/4Kp DFA pipeline
+ description.
+
+2005-05-13 Jan Hubicka <jh@suse.cz>
+
+ * c-decl.c (finish_function): Suppress "control reaches end of
+ non-void function" when "no return statement in function
+ returning non-void" is issued.
+
+ * tree-inline.c (copy_body_r): Simplify substituted ADDR_EXPRs.
+ * tree-optimize.c (pass_gimple): Kill.
+ (init_tree_optimization_passes): Kill pass_gimple.
+ * tree-cfg.c (build_tree_cfg): Do verify_stmts to check that we are gimple.
+ * tree-dump.c (dump_files): Rename .generic to .gimple.*
+
+2005-05-13 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR rtl-optimization/20756:
+ * basic-block.h (PROP_DEAD_INSN): Define.
+ * flow.c (propagate_one_insn): Set during mark_set_regs call
+ for a dead insn.
+ (mark_set_1): Emit a clobber when we are about to delete a dead insn
+ that kills a live register.
+
+2005-05-13 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("DBL"): New mode attribute.
+ ("*movmem_long_64", "*movmem_long_31"): Merge to "*movmem_long".
+ ("*clrmem_long_64", "*clrmem_long_31"): Merge to "*clrmem_long".
+ ("*cmpmem_long_64", "*cmpmem_long_31"): Merge to "*cmpmem_long".
+
+2005-05-13 Richard Guenther <rguenth@gcc.gnu.org>
+
+ * c-format.c (check_format_arg): Handle string literals of
+ the form &"string"[offset].
+
+ * g++.dg/warn/format4.C: New testcase.
+
+2005-05-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/mips/3000.md, config/mips/4000.md,
+ config/mips/4100.md, config/mips/4300.md, config/mips/4600.md,
+ config/mips/5000.md, config/mips/7000.md, config/mips/9000.md,
+ config/mips/generic.md, config/pdp11/pdp11.md,
+ config/sh/crt1.asm, config/sh/lib1funcs.asm,
+ config/sh/sh-modes.def, config/sh/sh-protos.h,
+ config/sh/shmedia.md, config/sh/ushmedia.h: Update copyright.
+
+2005-05-13 Richard Henderson <rth@redhat.com>
+
+ * function.c (instantiate_virtual_regs_in_insn): Do not simplify
+ addition to move unless dest is a register. Do not skip
+ instantiation in dest on addition simplification.
+
+2005-05-13 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.c (cris_print_operand) <case 'H'; case
+ CONST_INT>: Use operand_subword and HOST_WIDE_INT_PRINT_DEC for
+ output; don't have special case for HOST_BITS_PER_WIDE_INT == 32.
+
+2005-05-13 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (FOR_ALL_BB_FN): New macro.
+ (init_flow): Initialize cfg structure.
+ * function.c (allocate_struct_function): Do not initialize cfg structure.
+ * tree-cfg.c (init_empty_tree_cfg): Break out from ...
+ (build_tree_cfg): ... here.
+ * tree-flow.h (init_empty_tree_cfg): Declare.
+
+2005-05-12 Steven Bosscher <stevenb@suse.de>
+
+ Fix PR tree-optimization/21520
+ * tree-ssa-pre.c (phi_translate): Use fully_constant_expression
+ to attempt to fold constants.
+
+2005-05-12 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c: Declare the prototype of sh_adjust_unroll_max
+ only when TARGET_ADJUST_UNROLL_MAX is defined.
+ (general_movsrc_operand): Use the C style comment.
+ (ua_offset): Use prototype.
+
+2005-05-12 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-im.c (struct mem_ref): Add field "next".
+ (struct hmr_data, hoist_memory_reference, memref_del,
+ struct fmrv_data): Removed.
+ (hoist_memory_references, free_mem_ref, free_mem_refs): New functions.
+ (gather_mem_refs, gather_mem_refs_stmt): Add new references to the
+ list.
+ (find_more_ref_vops): Traverse the list of memory references.
+ (determine_lsm_loop): Work with the list of memory references instead
+ of traversing the hashtable.
+
+2005-05-12 Steven Bosscher <stevenb@suse.de>
+ Stuart Hastings <stuart@apple.com>
+ Jan Hubicka <jh@suse.cz>
+
+ * except.c (duplicate_eh_region_1, duplicate_eh_region_2,
+ duplicate_eh_regions): New functions, based on old
+ implementation removed with RTL inliner.
+ (reachable_next_level): Modify behaviour pre-inline.
+ * except.h (duplicate_eh_regions_map, duplicate_eh_regions):
+ Declare.
+ * function.h (struct function): Add after_inlining flag.
+ * tree-optimize.c (tree_rest_of_compilation): Set it.
+ * tree-eh.c (add_stmt_to_eh_region_fn): Initialize hashtable
+ when needed.
+ * tree-cfg.c (label_to_block_fn): Deal with cases where
+ label was never insterted into code.
+
+2005-05-12 Zack Weinberg <zack@codesourcery.com>
+
+ * doc/cpp.texi: Document that #sccs is a synonym for #ident.
+
+2005-05-12 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/21532
+ * tree-ssa-pre.c (create_expression_by_pieces): stmt
+ needs to go onto the inserted_exprs list.
+
+2005-05-12 Ian Lance Taylor <ian@airs.com>
+
+ * c-common.h (statement_code_p): Don't declare.
+ (STATEMENT_CODE_P): Don't define.
+ (INIT_STATEMENT_CODES): Don't define.
+ * c-common.c (statement_code_p): Don't define.
+
+2005-05-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.h: Remove dead code.
+ * config/sparc/sparc.c (sparc_compute_frame_size): Use
+ FIRST_PARM_OFFSET for the size of the register window area.
+ (emit_save_regs): Rename into emit_save_or_restore_regs.
+ Add 'action' parameter. Use 4095 as upper bound for the offset.
+ Pass 'action' to save_or_restore_regs.
+ (emit_restore_regs): Delete.
+ (sparc_expand_prologue): Call emit_save_or_restore_regs.
+ (sparc_expand_epilogue): Likewise.
+ * config/sparc/sparc.md (mode macro P): Move.
+ (movdi_insn_sp32_v9, movdi_insn_sp32): Swap.
+ (mov<V32:mode> expander): Move to the top of the V32 section.
+ (movdf_insn_sp32_v9_no_fpu, movdf_insn_sp32_v9): Swap.
+ (movtf_insn_sp64_hq, movtf_insn_sp64): Swap.
+ (sibcall_epilogue): Move.
+
+2005-05-12 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ PR target/21501
+ * arm.c (arm_gen_constant): Sign-extend intermediate values when
+ synthesizing a constant of the difference of two immediates.
+
+2005-05-12 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm/vfp.md (negsf2_vfp): Add alternative using integer registers.
+ (negdf2_vfp): Likewise. Convert to define_insn_and_split and split
+ the alternatives using integer registers into the appropriate
+ primitives.
+
2005-05-11 Kenneth Zadeck <zadeck@naturalbridge.com>
* bitmap.c (bitmap_elmt_to_freelist, bitmap_element_allocate,
(ia64_cannot_force_const_mem): New.
(tls_symbolic_operand_type): New.
(ia64_legitimate_constant_p): New.
- (ia64_expand_load_address): Return true on success. Improve
+ (ia64_expand_load_address): Return true on success. Improve
checks for when we should not split.
(ia64_expand_tls_address): New addend operand. Distribute it
as appropriate to the tls_kind. Delay referencing gp.
ia64_expand_load_address and FAIL or DONE as appropriate.
(load_fptr): Only accept after reload.
(load_fptr_internal1, gprel64_offset, load_gprel64, load_symptr_high,
- load_symptr_low, load_ltoff_dtpmod,
+ load_symptr_low, load_ltoff_dtpmod,
(load_dtpmod): New.
(load_dtprel): Only accept tls symbols.
(load_dtprel64, load_dtprel22): Likewise.
* Makefile.in (gtype-desc.o, build/genautomata.o)
(build/varray.o): Depend on $(VARRAY_H).
-
+
2005-05-10 Diego Novillo <dnovillo@redhat.com>
* tree-optimize.c (init_tree_optimization_passes): Re-organize
* config/s390/s390.md: Add comment lines for 'f' and 't' constraint
letters.
-
+
2005-05-10 Adrian Straetling <straetling@de.ibm.com>
* config/s390/s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge.
no return value pattern.
2005-05-10 Grigory Zagorodnev <grigory.zagorodnev@intel.com>
- H.J. Lu <hongjiu.lu@intel.com>
+ H.J. Lu <hongjiu.lu@intel.com>
* libgcov.c (create_file_directory): New function. Create
directory for the given file name.
(movdf_insn_v9only_vis): Rename into movdf_insn_sp32_v9.
(movdf_insn_sp64_novis): Delete.
(movdf_insn_sp64_vis): Rename into movdf_insn_sp64.
- (movdf_no_e_insn_sp64): Use register_or_zero_operand.
+ (movdf_no_e_insn_sp64): Use register_or_zero_operand.
Rename into movdf_insn_sp64_no_fpu.
(movtf expander): Use register_or_zero_operand.
(movtf_insn_sp32): Delete.
2005-05-09 David Edelsohn <edelsohn@gnu.org>
- PR target/21477
- * config/rs6000/rs6000.md (add_op2): New.
- (add<mode>3): Use it.
+ PR target/21477
+ * config/rs6000/rs6000.md (add_op2): New.
+ (add<mode>3): Use it.
2005-05-09 Richard Earnshaw <richard.earnshaw@arm.com>
s390_short_displacement, addr_generation_dependency_p,
legitimate_reload_constant_p, legitimate_address_p): Change return type
into 'bool'.
- (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
+ (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
* config/s390/s390.c: (s390_match_ccmode,
symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
legitimate_reload_constant_p): Change return type into 'bool'.
(preferred_la_operand_p,legitimate_la_operand_p, legitimate_address_p):
- Likewise. Additionally adapted comment.
+ Likewise. Additionally adapted comment.
(s390_extra_constraint_p): Change Comment to reflect 'int' return type.
- (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
+ (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
(s390_decompose_address): Change the type of the internal flags
"pointer", "base_ptr", "indx_ptr", and the return value into 'bool'.
(struct s390_address): Change type of "pointer" into bool.
s390_add_pool_insn, s390_find_pool, s390_add_constant,
s390_find_constant, s390_add_execute, s390_find_execute,
s390_execute_label, s390_execute_target, s390_dump_pool,
- s390_dump_execute, s390_alloc_pool, s390_free_pool): Remove prototypes.
+ s390_dump_execute, s390_alloc_pool, s390_free_pool): Remove prototypes.
Move target macro definitions to the end of the file. Move several
functions within the file to assure correct compiling.
2005-05-09 Adrian Straetling <straetling@de.ibm.com>
- * config/s390/s390.c: (s390_adjust_priority): Adapt to changed
+ * config/s390/s390.c: (s390_adjust_priority): Adapt to changed
attribute names.
* config/s390/2084.md: ("x_fsimpd", "x_fsimps", "x_fdivd", "x_fdivs",
"x_floadd", "x_floads", "x_fstored", "x_fstores"): Rename to
2005-05-09 Adrian Straetling <straetling@de.ibm.com>
- * config/s390/s390.md: ("DSI", "SCOND"): New mode
+ * config/s390/s390.md: ("DSI", "SCOND"): New mode
macros.
("E", "g"): New mode attributes.
("*adddi3_alc_cc", "*addsi3_alc_cc"): Merge.
("*tsthi", "*tstqi"): Merge.
("*tsthi_cconly", "tstqi_cconly"): Merge.
("*sethighhisi", "*sethighqisi"): Merge.
-
+
2005-05-09 Kazu Hirata <kazu@cs.umass.edu>
* crtstuff.c, integrate.h, tree-scalar-evolution.h,
2005-05-09 David Ung <davidu@mips.com>
- * config/mips/mips.h (processor_type): Add names for the 24K.
+ * config/mips/mips.h (processor_type): Add names for the 24K.
* config/mips/mips.c (mips_cpu_info_table): Add names for the 24K
processor family.
* config/mips/mips.md (cnv_mode): New attribute for recording the
(fix_truncsfsi2_insn, fix_truncsfsi2_macro): Changed mode to SF and
setup cnv_mode.
* config/mips/24k.md: New file, contains 24k DFA pipeline
- description.
+ description.
2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
* libgcov.c: Remove unneeded comment about config.h.
* unwind-dw2-fde-glibc.c: Do not inlude auto-host.h.
* config.in, configure: Regenerated.
-
+
2005-05-08 Nathan Sidwell <nathan@codesourcery.com>
Falk Hueffner <falk@debian.org>
* config/m32r/m32r.h (INITIAL_ELIMINATION_OFFSET): Likewise.
* config/m32r/m32r.md ( *movsi_insn, *zero_branch_insn,
*rev_zero_branch_insn): Likewise.
-
+
2005-05-06 Jakub Jelinek <jakub@redhat.com>
PR c++/20961
* configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
* configure, config.in: Regenerate.
-
+
2005-05-04 Jakub Jelinek <jakub@redhat.com>
PR middle-end/21265
2005-05-03 Andrew MacLeod <amacleod@redhat.com>
- * lambda-code.c (gcc_loop_to_lambda_loop,
+ * lambda-code.c (gcc_loop_to_lambda_loop,
lambda_loopnest_to_gcc_loopnest, phi_loop_edge_uses_def,
stmt_is_bumper_for_loop, perfect_nest_p, replace_uses_of_x_with_y): Use
generic operand interface.
* tree-data-ref.c (find_data_references_in_loop): Use generic interface.
* tree-dfa.c (collect_dfa_stats_r, mark_new_vars_to_rename): Use
generic operand interface.
- * tree-flow-inline.h (delink_imm_use, link_imm_use_to_list,
+ * tree-flow-inline.h (delink_imm_use, link_imm_use_to_list,
link_imm_use, link_imm_use_stmt, relink_imm_use, relink_imm_use_stmt,
next_safe_imm_use, has_zero_uses, has_single_use, single_imm_use,
num_imm_uses): Use ssa_use_operand_t.
(op_iter_next_use, op_iter_next_def, op_iter_next_tree, op_iter_init,
op_iter_next_tree): Use new operand implementation.
(clear_and_done_ssa_iter): New. Initialize a blank operand iterator.
- (op_iter_init_use, op_iter_init_def, op_iter_init_tree): Add iterator
+ (op_iter_init_use, op_iter_init_def, op_iter_init_tree): Add iterator
type check.
- (op_iter_next_mustdef, op_iter_next_maydef,
+ (op_iter_next_mustdef, op_iter_next_maydef,
op_iter_next_must_and_may_def): Delete. Replace with...
(op_iter_next_maymustdef): New. Combine must and may next operations.
- (op_iter_init_maydef, op_iter_init_mustdef,
+ (op_iter_init_maydef, op_iter_init_mustdef,
op_iter_init_must_and_may_def): Use new interface.
(single_ssa_tree_operand ): New. Process single operands only as trees.
(single_ssa_use_operand): New. Process single operands only as uses.
(struct stmt_ann_d): Operands field no longer require GTY().
(vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Change prototype.
* tree-into-ssa.c (mark_def_sites): Use SSA_OP_VMUSTKILL.
- * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
+ * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
dump_replaceable_exprs, rewrite_trees): Use generic interface.
- * tree-phinodes.c (make_phi_node, release_phi_node, resize_phi_node):
+ * tree-phinodes.c (make_phi_node, release_phi_node, resize_phi_node):
Use use_operand_p instead of ssa_imm_use_t *.
* tree-pretty-print.c (dump_vops): check if operands are active before
dumping virtual operands.
* tree-ssa-ccp.c (likely_value): Use ZERO_SSA_OPERANDS.
(ccp_fold): Use new interface.
(ccp_visit_stmt): Remove unused variables and code.
- (convert_to_gimple_builtin): Insert statements before calling
+ (convert_to_gimple_builtin): Insert statements before calling
mark_new_vars_to_rename.
* tree-ssa-copy.c (stmt_may_generate_copy): Use ZERO_SSA_OPERANDS.
(copy_prop_visit_cond_stmt): Use generic interface.
- * tree-ssa-dom.c (struct expr_hash_elt): Use stmt pointer, not the
+ * tree-ssa-dom.c (struct expr_hash_elt): Use stmt pointer, not the
annotation in table.
(thread_across_edge): Use generic interface.
(initialize_hash_element): Initialzie with stmt, not annotation.
(avail_expr_hash, real_avail_expr_hash, avail_expr_eq): Use generic
interface.
* tree-ssa-dse.c (dse_optimize_stmt): Use ZERO_SSA_OPERANDS.
- * tree-ssa-loop-ivopts.c (find_invariants_stmt,
- find_interesting_uses_stmt, protect_loop_closed_ssa_form_use): Use
+ * tree-ssa-loop-ivopts.c (find_invariants_stmt,
+ find_interesting_uses_stmt, protect_loop_closed_ssa_form_use): Use
generic operand interface.
* tree-ssa-loop-niter.c (chain_of_csts_start, get_val_for): Use generic
interface.
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Use Generic operand
Interface.
* tree-ssa-operands.c (struct opbuild_list_d): New. Operand build type.
- (build_defs, build_uses, build_v_may_defs, build_vuses,
+ (build_defs, build_uses, build_v_may_defs, build_vuses,
build_v_must_defs): Change type to struct opbuild_list_d.
(ops_active): New. Operands active boolean.
(operand_memory, operand_memory_index): New. Operand memory managers.
(allocate_def_optype, allocate_use_optype, allocate_v_may_def_optype,
allocate_vuse_optype, allocate_v_must_def_optype): Delete.
- (free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs):
+ (free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs):
Change from functions to static variable list heads.
(opbuild_initialize_virtual): New. Initialize a virtual build list.
(opbuild_initialize_real): New. Initialize a virtual build list.
(ssa_operand_alloc): New. Allocate memory from an operand chunk.
(correct_use_link): Use use_operand_p.
(finalize_ssa_uses, finalize_ssa_v_may_defs, finalize_ssa_defs,
- finalize_ssa_vuses, finalize_ssa_v_must_defs): New implmentation.
+ finalize_ssa_vuses, finalize_ssa_v_must_defs): New implmentation.
(cleanup_v_may_defs): Use new implmentation.
- (finalize_ssa_stmt_operands, start_ssa_stmt_operands): New
+ (finalize_ssa_stmt_operands, start_ssa_stmt_operands): New
implementation.
- (append_def, append_use, append_v_may_def, append_vuse,
+ (append_def, append_use, append_v_may_def, append_vuse,
append_v_must_def): Call opbuild_append routine instead of using varray.
- (build_ssa_operands): Simplify to simply use stmt, don't maintain a
+ (build_ssa_operands): Simplify to simply use stmt, don't maintain a
global parse_old_ops variable.
(free_ssa_operands): New implementation.
(update_stmt_operands): Move. Change argument to build_ssa_operands.
(add_call_clobber_ops, add_call_read_ops): Initialize opbuild list
rather than a varray.
(verify_imm_links): Use use_operand_p.
- (dump_immediate_uses_for): If the immediate use variable is a virtual
+ (dump_immediate_uses_for): If the immediate use variable is a virtual
variable, show the virtual ops in the stmt.
* tree-ssa-operands.h (def_operand_p): No longer a structure.
(NULL_DEF_OPERAND_P): Now a #define.
(STMT_USE_OPS, NUM_USES, SET_USE_OP, STMT_DEF_OPS, NUM_DEFS, SET_DEF_OP,
STMT_V_MAY_DEF_OPS, NUM_V_MAY_DEFS, SET_V_MAY_DEF_RESULT,
SET_V_MAY_DEF_OP, STMT_VUSE_OPS, NUM_VUSES, SET_VUSE_OP,
- STMT_V_MUST_DEF_OPS, NUM_V_MUST_DEFS, SET_V_MUST_DEF_RESULT,
+ STMT_V_MUST_DEF_OPS, NUM_V_MUST_DEFS, SET_V_MUST_DEF_RESULT,
SET_V_MUST_DEF_KILL): Delete.
- (V_MAY_DEF_OPS, V_MAY_DEF_RESULT_PTR, V_MAY_DEF_RESULT,
+ (V_MAY_DEF_OPS, V_MAY_DEF_RESULT_PTR, V_MAY_DEF_RESULT,
V_MAY_DEF_OP_PTR, V_MAY_DEF_OP): Rename to MAYDEF_*.
- (V_MUST_DEF_OPS, V_MUST_DEF_RESULT_PTR, V_MUST_DEF_RESULT,
+ (V_MUST_DEF_OPS, V_MUST_DEF_RESULT_PTR, V_MUST_DEF_RESULT,
V_MUST_DEF_KILL_PTR, V_MUST_DEF_KILL): Rename to MUSTDEF_*.
(enum ssa_op_iter_type): Operand iterator typechecking values.
(struct ssa_operand_iterator_d): Use linked lists of operands.
(FOR_EACH_PHI_ARG): New. Iterate over PHI arguments.
(FOR_EACH_PHI_OR_STMT_USE): New. Iterate over PHI or stmt uses.
(FOR_EACH_PHI_OR_STMT_DEF): New. Iterate over PHI or stmt defs.
- (SINGLE_SSA_TREE_OPERAND, SINGLE_SSA_USE_OPERAND,
+ (SINGLE_SSA_TREE_OPERAND, SINGLE_SSA_USE_OPERAND,
SINGLE_SSA_DEF_OPERAND, ZERO_SSA_OPERANDS, NUM_SSA_OPERANDS): New.
* tree-ssa-opfinalize.h: New. Function templates for expansion.
(FINALIZE_ALLOC): Expands into alloc_def, alloc_use, alloc_maydef,
alloc_vuse, and alloc_mustdef.
- (FINALIZE_FUNC): Expands into finalize_ssa_def_ops,
+ (FINALIZE_FUNC): Expands into finalize_ssa_def_ops,
finalize_ssa_use_ops, finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
and finalize_ssa_v_must_def_ops.
* tree-ssa-pre.c (add_to_sets): Pass tree to vn_add.
stmt around.
(compute_avail): Use generic iterator interface.
* tree-ssa-propagate.c (first_vdef): Use generic operand interface.
- (stmt_makes_single_load, stmt_makes_single_store): Use
+ (stmt_makes_single_load, stmt_makes_single_store): Use
ZERO_SSA_OPERANDS.
* tree-ssa-sink.c (is_hidden_global_store): Use ZERO_SSA_OPERANDS.
(statement_sink_location): Use generic interface.
* tree-tailcall.c (find_tail_calls): Use ZERO_SSA_OPERANDS.
(eliminate_tail_call): Use generic operand interface.
* tree-vect-analyze.c (vect_analyze_data_refs): Use ZERO_SSA_OPERANDS.
- (vect_mark_relevant, vect_mark_stmts_to_be_vectorized): Use generic
+ (vect_mark_relevant, vect_mark_stmts_to_be_vectorized): Use generic
interface.
- * tree-vect-transform.c (update_vuses_to_preheader): Use generic
+ * tree-vect-transform.c (update_vuses_to_preheader): Use generic
interface.
* tree-vectorizer.c (rename_variables_in_bb): Use generic interface.
* tree-vn.c (struct val_expr_pair_d): Cache statment pointer instead of
vuse_optype.
- (vn_compute, val_expr_pair_hash, vn_add, vn_lookup, vn_lookup_or_add):
+ (vn_compute, val_expr_pair_hash, vn_add, vn_lookup, vn_lookup_or_add):
Use statement pointer instead of vuse_optype. Use generic interface.
* tree-vrp.c (maybe_add_assert_expr): Use generic interface.
(stmt_interesting_for_vrp, vrp_visit_stmt): Use ZERO_SSA_OPERANDS.
* config/mmix/mmix.opt: New file.
* config/mmix/mmix.h: Move options-related comments to mmix.opt.
- (mmix_cc1_ignored_option): Don't declare.
+ (mmix_cc1_ignored_option): Don't declare.
(TARGET_OPTIONS, TARGET_MASK_LIBFUNCS, TARGET_MASK_ABI_GNU)
(TARGET_MASK_FCMP_EPSILON, TARGET_MASK_ZERO_EXTEND)
(TARGET_MASK_KNUTH_DIVISION, TARGET_MASK_TOPLEVEL_SYMBOLS)
2005-05-02 Paolo Bonzini <bonzini@gnu.org>
- * c-common.c (resolve_overloaded_builtin): Forward to target
- hook for BUILT_IN_MD built-ins.
- * c-typeck.c (finish_call_expr): Call resolve_overloaded_builtin
- for all types of built-in.
- * target-def.h (TARGET_RESOLVE_OVERLOADED_BUILTIN): New. Use it
- in the definition of the target hooks struct.
- * target.h (struct gcc_target): Add resolve_overloaded_builtin.
- * config/rs6000/altivec.h: Rewritten.
- * config/rs6000/rs6000-c.c (struct altivec_builtin_types,
- altivec_resolve_overloaded_builtin, altivec_build_resolved_builtin,
- rs6000_builtin_type, rs6000_builtin_type_compatible,
- altivec_overloaded_builtins, rs6000_builtin_type,
- rs6000_builtin_type_compatible): New.
- * config/rs6000/rs6000.c (rs6000_builtin_types, rs6000_builtin_decls):
- New.
- (def_builtin): Turn into a function. Check for duplicates and store
- the builtin into rs6000_builtin_decls.
- (bdesc_3arg, bdesc_dst, bdesc_altivec_preds, bdesc_2arg,
- bdesc_1arg): Add overloaded builtins.
- (altivec_expand_builtin): Check for unresolved overloaded builtins,
- do not support ALTIVEC_COMPILETIME_ERROR.
- (rs6000_init_builtins): Add opaque 128-bit vector, and internal
- nodes to represent front-end types.
- (altivec_init_builtins, rs6000_common_init_builtins): Create builtins
- with opaque arguments and/or return values.
- * config/rs6000/rs6000.h (enum rs6000_builtins): Remove
- ALTIVEC_COMPILETIME_ERROR and add Altivec overloaded builtins.
- (rs6000_builtin_type_index): New.
- (is_ev64_opaque_type): Rename to...
- (rs6000_is_opaque_type): ... this.
- (rs6000_cpu_cpp_builtins): Install the resolve_overloaded_builtin
- target hook.
+ * c-common.c (resolve_overloaded_builtin): Forward to target
+ hook for BUILT_IN_MD built-ins.
+ * c-typeck.c (finish_call_expr): Call resolve_overloaded_builtin
+ for all types of built-in.
+ * target-def.h (TARGET_RESOLVE_OVERLOADED_BUILTIN): New. Use it
+ in the definition of the target hooks struct.
+ * target.h (struct gcc_target): Add resolve_overloaded_builtin.
+ * config/rs6000/altivec.h: Rewritten.
+ * config/rs6000/rs6000-c.c (struct altivec_builtin_types,
+ altivec_resolve_overloaded_builtin, altivec_build_resolved_builtin,
+ rs6000_builtin_type, rs6000_builtin_type_compatible,
+ altivec_overloaded_builtins, rs6000_builtin_type,
+ rs6000_builtin_type_compatible): New.
+ * config/rs6000/rs6000.c (rs6000_builtin_types, rs6000_builtin_decls):
+ New.
+ (def_builtin): Turn into a function. Check for duplicates and store
+ the builtin into rs6000_builtin_decls.
+ (bdesc_3arg, bdesc_dst, bdesc_altivec_preds, bdesc_2arg,
+ bdesc_1arg): Add overloaded builtins.
+ (altivec_expand_builtin): Check for unresolved overloaded builtins,
+ do not support ALTIVEC_COMPILETIME_ERROR.
+ (rs6000_init_builtins): Add opaque 128-bit vector, and internal
+ nodes to represent front-end types.
+ (altivec_init_builtins, rs6000_common_init_builtins): Create builtins
+ with opaque arguments and/or return values.
+ * config/rs6000/rs6000.h (enum rs6000_builtins): Remove
+ ALTIVEC_COMPILETIME_ERROR and add Altivec overloaded builtins.
+ (rs6000_builtin_type_index): New.
+ (is_ev64_opaque_type): Rename to...
+ (rs6000_is_opaque_type): ... this.
+ (rs6000_cpu_cpp_builtins): Install the resolve_overloaded_builtin
+ target hook.
2005-05-02 Kazu Hirata <kazu@cs.umass.edu>
PR tree-optimization/21272
PR tree-optimization/21266
* tree-if-conv.c (find_phi_replacement_condition): Fix think-o.
-
+
2005-04-29 Kazu Hirata <kazu@cs.umass.edu>
* tree-flow-inline.h: Fix a comment typo.
* config/arm/elf.h (TARGET_ASM_CONSTRUCTOR): Define.
(SUPPORTS_INIT_PRIORITY): Evaluate to false for EABI based targets.
* doc/tm.texi (INIT_ARRAY_SECTION_ASM_OP): Document.
- (FINI_ARRAY_SECTION_ASM_OP): Likewise.
+ (FINI_ARRAY_SECTION_ASM_OP): Likewise.
2005-04-29 Nathan Sidwell <nathan@codesourcery.com>
* dbxout.c (have_used_extensions): Remove.
(dbxout_type_fileds, dbxout_type, dbxout_symbol): Remove use of
have_used_extensions.
-
+
2005-04-28 James E Wilson <wilson@specifixinc.com>
* doc/install.texi: Update -enable-languages info. Correct path to
2005-04-27 Caroline Tice <ctice@apple.com>
- * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+ * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
Remove targetm.have_named_sections test.
(fix_edges_for_rarely_executed_code): Likewise.
(insert_section_boundary_note): Likewise.
(default_section_type_flags_1): Get cold text section name from
function struct if there is one; Set flags correctly for
cold text section if there is not a current function struct.
-
+
2005-04-27 Richard Guenther <rguenth@gcc.gnu.org>
* tree-ssa-propagate.c (set_rhs): Revert last change.
* rtl.h (optimize_save_area_alloca): Likewise...
* passes.c (rest_of_compilation): and don't call it any more.
* reg-notes.def (SAVE_AREA): Delete.
-
+
2005-04-27 Nathan Sidwell <nathan@codesourcery.com>
* config/fp-bit.c (abort): Add noreturn attribute.
* dbxout.c (dbxout_type): Check use_gnu_debug_info_extensions.
2005-04-27 Matt Thomas <matt@3am-software.com>
- Jan-Benedict Glaw <jbglaw@microdata-pos.de>
+ Jan-Benedict Glaw <jbglaw@microdata-pos.de>
* config/vax/vax.c (vax_rtx_costs): Whitespace cleanup.
(vax_output_mi_thunk): Ditto.
* config/vax/vax.c (legitimate_constant_address_p): New. Formerly
CONSTANT_ADDRESS_P in config/vax/vax.h
- (legitimate_constant_p): Added. Formerly CONSTANT_P in vax.h.
+ (legitimate_constant_p): Added. Formerly CONSTANT_P in vax.h.
(INDEX_REGISTER_P): New.
(BASE_REGISTER_P): New.
(indirectable_constant_address_p): New. Adapted from
2005-04-25 Devang Patel <dpatel@apple.com>
* dbxout.c (dbxout_type): Emit attribute vector.
-
+
2005-04-05 Paul Brook <paul@codesourcery.com>
* target-def.h (TARGET_CXX_USE_AEABI_ATEXIT): Define.
2005-04-24 Devang Patel <dpatel@apple.com>
* config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
-
+
2005-04-24 Ian Lance Taylor <ian@airs.com>
* c-semantics.c (build_stmt): Remove test of specific tree codes
config/stormy16/stormy16.c, config/v850/v850-c.c,
config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning()
callers.
-
+
2005-04-23 Richard Henderson <rth@redhat.com>
PR rtl-opt/21102
* builtins.c (gimplify_va_arg_expr): Reword comments to avoid
'abort'. Use gcc_assert and gcc_unreachable as appropriate.
- * c-format.c (get_constant, decode_format_attr, get_flag_spec,
+ * c-format.c (get_constant, decode_format_attr, get_flag_spec,
find_char_info_specifier_index,
find_length_info_modifier_index): Likewise.
* c-typeck.c (composite_type, pop_init_level): Likewise.
final.c (this_is_asm_operands, shorten_branches, final_scan_insn,
output_operand): Likewise
flow.c (recompute_reg_usage): Likewise
- * function.c (assign_stack_temp_for_type, assign_temp,
+ * function.c (assign_stack_temp_for_type, assign_temp,
handle_epilogue_set): Likewise
* genextract.c (main): Likewise
* gimplify.c (mostly_copy_tree_r, gimplify_return_expr,
vectors.
(gcc_loop_to_lambda_loop, gcc_loopnest_to_lambda_loopnest,
lbv_to_gcc_expression, lle_to_gcc_expression,
- lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
+ lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
perfect_nestify): Likewise.
lambda.h (gcc_loopnest_to_lambda_loopnest,
lambda_loopnest_to_gcc_loopnest): Likewise.
cgraph_mark_inline_edge, cgraph_default_inline_p): Declare.
* cgraphunit.c (cgraph_default_inline_p,
cgraph_decide_inlining_incrementally, ncalls_inlined,
- nfunctions_inlined, initial_insns, overall_insns,
+ nfunctions_inlined, initial_insns, overall_insns,
cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
cgraph_mark_inline, cgraph_check_inline_limits,
* tree.h: Likewise.
* vec.h: Likewise.
* tree-flow-inline.h (relink_imm_use): Use gcc_assert.
-
+
* optabs.c (prepare_cmp_insn, emit_cmp_and_jump_insns): Reword
comments to avoid 'abort'. Use gcc_assert as necessary.
* opts.c (common_handle_option): Likewise.
* regmove.c (try_auto_increment): Likewise.
* reload.c (find_valid_class, find_reloads_toplev,
find_equiv_reg): Likewise.
- * reload1.c (reload, forget_old_reloads_1, function_invariant_p,
+ * reload1.c (reload, forget_old_reloads_1, function_invariant_p,
merge_assigned_reloads): Likewise.
* tree-inline.c (inline_forbidden_p_1,
estimate_num_insns_1): Likewise.
get_indirect_ref_operands, create_ssa_artficial_load_stmt): Likewise.
* tree-ssa-pre.c (find_or_generate_expression): Likewise.
* tree-ssanames.c (release_ssa_name): Likewise.
- * tree.c (int_bit_position, int_byte_position, tree_low_cst,
+ * tree.c (int_bit_position, int_byte_position, tree_low_cst,
walk_tree): Likewise.
* tree-ssa-operands.c (verify_abort): Fold into ..
* tree-if-conv.c (find_phi_replacement_condition): Avoid generating
x = !(a == b) : p , q;.
(pass_if_conversion): Verify stmts and flow.
-
+
2005-04-21 Nathan Sidwell <nathan@codesourcery.com>
* optabs.c (gen_conditional_trap): Restore #define.
(push_macro_expansion): Chain on new macro. Process multiple
args, create follow on expansion. Return follow on argument.
(macro_input): Deal with multiple arguments.
-
+
* tree.h: Define VEC(tree,heap) and VEC(tree,gc).
(struct tree_binfo): Adjust.
* basic-block.h: Define VEC(edge,gc).
lookup_avail_expr, record_range): Likewise.
* tree-ssa-pre.c: Define VEC(basic_block,heap).
(compute_antic_aux): Adjust.
- (inserted_exprs, create_expression_by_pieces,
- insert_into_preds_of_block, eliminate, mark_operand_necessary,
+ (inserted_exprs, create_expression_by_pieces,
+ insert_into_preds_of_block, eliminate, mark_operand_necessary,
remove_dead_inserted_code, fini_pre): Likewise.
* tree-ssa-propagate.c (interesting_ssa_edges): Adjust.
- (varying_ssa_edges, add_ssa_edge, process_ssa_edge_worklist.
+ (varying_ssa_edges, add_ssa_edge, process_ssa_edge_worklist.
ssa_prop_init): Likewise.
* tree-ssa.c: Define VEC(bitmap,heap).
(verify_name_tags): Adjust.
* varasm.c: Remove alias_pair pointer typedef, define
VEC(alias_pair,gc).
(finish_aliases_1, finish_aliases_2, assemble_alias): Adjust.
-
+
* config/pa/pa.c (typedef extern_symbol): Typedef the structure,
not a pointer to it. Create an object vector.
(extern_symbols): Turn into an object vector.
2005-04-19 Paul Brook <paul@codesourcery.com>
- * config/arm/arm.c (arm_init_libfuncs): Clear mod optabs.
+ * config/arm/arm.c (arm_init_libfuncs): Clear mod optabs.
2005-04-19 Andrew Haley <aph@redhat.com>
2005-04-18 Devang Patel <dpatel@apple.com>
* config/rs6000/atlivec.md (mulv4si3): New pattern.
-
+
2005-04-18 James A. Morrison <phython@gcc.gnu.org>
PR tree-optimization/20922
2005-04-13 Matt Thomas <matt@3am-software.com>
- * config/rs6000/sysv4.h (NO_IMPLICIT_EXTERN_C): undefine before
- defining.
+ * config/rs6000/sysv4.h (NO_IMPLICIT_EXTERN_C): undefine before
+ defining.
2005-04-13 Kazu Hirata <kazu@cs.umass.edu>
* modulo-sched.c (undo_replace_buff_elem): New structure.
(kernel_number_of_cycles, ps_unschedule_node,
undo_generate_reg_moves,free_undo_replace_buff,
- undo_permute_partial_schedule, loop_single_full_bb_p,
+ undo_permute_partial_schedule, loop_single_full_bb_p,
SIMPLE_SMS_LOOP_P, loop_canon_p, canon_loop,
build_loops_structure, get_sched_window): New.
(generate_reg_moves): Return undo_replace_buff_elem and other