+2004-11-15 Nick Clifton <nickc@redhat.com>
+
+ * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Add
+ builtin assert of cpu=xstormy16.
+
+2004-11-15 Nathan Sidwell <nathan@codesourcery.com>
+
+ * tree-ssa-pre.c (bitmap_print_value_set): Fix uninitialized
+ variable.
+
+2004-11-14 Richard Henderson <rth@redhat.com>
+
+ PR 18480
+ * calls.c (struct arg_data): Add parallel_value.
+ (precompute_register_parameters): Set it.
+ (load_register_parameters): Use it.
+ (store_one_arg): Also set it here.
+
+2004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/18431
+ * fold-const.c (associate_trees): Do not produce x + 0.
+ (fold_widened_comparison, fold_sign_changed_comparison): New functions.
+ (fold): Use them.
+ * tree-ssa-loop-niter.c (upper_bound_in_type, lower_bound_in_type):
+ Moved ...
+ * tree.c (upper_bound_in_type, lower_bound_in_type): Here.
+ * tree.h (upper_bound_in_type, lower_bound_in_type): Declare.
+
+2004-11-14 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/rtl.texi (SUBREG): Adjust BYTENUM value in example.
+
+2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cfgrtl.c, global.c, tree-ssa-copy.c, tree-ssa-loop-ivopts.c,
+ value-prof.c: Fix comment typos.
+
+2004-11-14 Stan Shebs <shebs@apple.com>
+
+ Basic ABI changes for passing structs by value in 64-bit Darwin.
+ * config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag.
+ (rs6000_override_options): Set it for 64-bit Darwin.
+ (rs6000_parse_abi_options): Add testing options to change it.
+ (rs6000_return_in_memory): Test whether the type is one
+ that can be passed in registers.
+ (darwin64_function_arg_advance): New.
+ (function_arg_advance): Call it, plus add recursion depth
+ argument and test when counting off arguments.
+ (rs6000_darwin64_function_arg): New.
+ (function_arg): Call it.
+ (setup_incoming_varargs): Add argument to function_arg_advance.
+ (rs6000_darwin64_function_value): New.
+ (rs6000_function_value): Call it.
+ * config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg.
+ * config/rs6000/rs6000-protos.h: Update decl of
+ function_arg_advance.
+
+2004-11-14 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c/17279
+ * c-common.c (c_common_nodes_and_builtins): Ask the back-end if we
+ support TImode before adding __int128_t and __uint128_t types.
+
+2004-11-14 Dorit Naishlos <dorit@il.ibm.com>
+
+ PR tree-opt/18400
+ * tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations.
+ (vect_transform_loop_bound): Set loop->nb_iterations.
+
+2004-11-14 Dorit Naishlos <dorit@il.ibm.com>
+ Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/18425
+ * tree-vectorize.c (vect_build_loop_niters): Do not insert
+ NULL into the instruction stream. Initialize new_bb to NULL.
+ (vect_update_ivs_after_vectorizer): Likewise.
+ (vect_gen_niters_for_prolog_loop): Likewise.
+
+2004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/18431
+ * tree-flow.h (stmt_references_memory_p): Declare.
+ * tree-ssa-loop-im.c (stmt_cost): Use stmt_references_memory_p.
+ * tree-ssa.c (stmt_references_memory_p): New function.
+
+2004-11-14 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in (lambda-code.o, tree-loop-linear.o): Depend on
+ $(EXPR_H).
+
+2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-common.c (walk_stmt_tree): Remove.
+ * c-common.h: Remove the corresponding prototype.
+
+ * emit-rtl.c (push_to_full_sequence): Remove.
+ * rtl.h: Remove the corresponding prototype.
+
+ * cselib.c, expr.c: Fix comment typos.
+
+2004-11-13 Richard Henderson <rth@redhat.com>
+
+ * calls.c (precompute_register_parameters): Force all PARALLELs
+ into pseudo registers.
+ (load_register_parameters): Copy PARALLELs into hard registers.
+ * function.c (assign_parm_setup_block): Copy PARALLELS into
+ pseudo registers. Do emit_group_store in conversion_insns.
+ * expr.c (emit_group_load_1): Rename from emit_group_load, take
+ tmps as an argument. Move final copy loop ...
+ (emit_group_load): ... here. New function.
+ (emit_group_load_into_temps, emit_group_move_into_temps): New.
+ * expr.h: Declare them.
+
+2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c, tree-if-conv.c, tree-ssa-loop-ivopts.c,
+ tree-ssa-loop-manip.c, tree-vectorizer.c: Replace TREE_CHAIN
+ with PHI_CHAIN where appropriate.
+
+2004-11-13 Dale Johannesen <dalej@apple.com>
+
+ * tree-flow.h (bsi_commit_one_edge_insert): Remove name from prototype.
+ (tree_block_label): Ditto.
+ (flush_pending_stmts): Ditto.
+ (insert_edge_copies): Ditto.
+ (expr_invariant_in_loop_p): Ditto.
+ (TDF_USE_OPS): Parenthesize definition.
+ (TDF_USE_VOPS): Ditto.
+
+2004-11-13 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/aix51.h (ASM_CPU_SPEC): Add 970 and G5.
+ * config/rs6000/aix52.h (ASM_CPU_SPEC): Same.
+ * config/rs6000/t-aix52 (BOOT_LDFLAGS): Define.
+
+2004-11-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/i386.c (override_options): Move loop to set default
+ tuning to correct place.
+
+2004-11-13 Zak Kipling <zak@transversal.com>
+
+ PR target/18300
+ * config/i386/i386.c (classify_argument): Fix infinite loop when
+ passing object with 3 or more base classes by value.
+
+2004-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/md.texi (constraints) <% modifier>: Mention that it is
+ useless when the two alternatives are strictly identical.
+
+2004-11-13 Richard Henderson <rth@redhat.com>
+
+ * expmed.c (extract_split_bit_field): Temporarily disable call to
+ extract_force_align_mem_bit_field.
+
+2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ * bitmap.c, bitmap.h, expmed.c, tree-cfg.c: Fix comment
+ formatting.
+
+ * c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c,
+ lambda-code.c, postreload.c, predict.c, tree-sra.c,
+ tree-ssa-loop-manip.c, tree.c: Fix comment typos.
+
+2004-11-13 Kelley Cook <kcook@gcc.gnu.org>
+
+ * doc/install.texi (automake): Correctly document that everything now
+ will use automake 1.9.3.
+
+2004-11-13 Hans-Peter Nilsson <hp@bitrange.com>
+
+ PR target/18347
+ * config/mmix/mmix.c (mmix_function_outgoing_value): Handle
+ TImode. Sorry for other non-complex larger-than-64-bit modes.
+ * config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
+
+2004-11-13 Kelley Cook <kcook@gcc.gnu.org>
+
+ * doc/install.texi (automake): Document that everything now uses 1.9.
+
+2004-11-13 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * cse.c (cse_insn): Stores in a libcall sequence can invalidate
+ previous loads.
+
+2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree.h: Fix comment typos.
+
+2004-11-13 Steven Bosscher <stevenb@suse.de>
+
+ * cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
+ HARD_REGISTER_NUM_P.
+
+ * cselib.c (new_cselib_val): Make comment correct and more detailed.
+ * flow.c (mark_set_1): Likewise.
+
+ * except.c (duplicate_eh_region_1, duplicate_eh_region_2,
+ duplicate_eh_regions): Remove.
+ * except.h (duplicate_eh_regions): Remove prototype.
+ * integrate.c (get_label_from_map, copy_rtx_and_substitute,
+ global_const_equiv_varray): Remove.
+ * integrate.h (get_label_from_map, copy_rtx_and_substitute,
+ global_const_equiv_varray, set_label_in_map): Remove prototypes,
+ extern declaration, and #define.
+ (MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
+ (struct inline_remap): Remove.
+ * varray.c (struct element): Remove entry for const_equiv_data.
+ * varray.h (struct const_equiv_data): Remove.
+ (enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
+ (union varray_data_tag) <const_equiv>: Remove.
+ (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
+ VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
+
+ * regstack.c (record_label_references): Remove unused function.
+
+ * rtl.def (VALUE): Update comment.
+ (LABEL_REF): Remove unused operand 2.
+ * rtl.h (struct rtx_def): Update for removed accessor macros.
+ (XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
+ REG_LOOP_TEST_P): Remove.
+ (ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
+ * web.c (entry_register): Don't copy REG_LOOP_TEST_P.
+ * doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
+
+2004-11-13 James A. Morrison <phython@gcc.gnu.org>
+ Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/18230
+ * config/sparc/sparc.c (sparc_rtx_costs): Handle the NAND vector
+ patterns.
+ * config/sparc/sparc.md (V64I): New macro for 64-bit modes.
+ (V32I): New macro for 32-bit modes.
+ (anddi3, anddi_sp32, anddi_sp64, and_not_di_sp32, and_not_di_sp64,
+ iordi3, iordi3_sp32, iordi_sp64, or_not_di_sp32, or_not_di_sp64,
+ xordi3, xordi3_sp32, xordi3_sp64, {AND, IOR, XOR} DI splitter,
+ xor_not_di_sp32, xordi_not_di_sp64, one_cmpldi2, one_cmpldi_sp32,
+ one_cmpldi_sp64): Use V64I instead of DI.
+ (andsi3, andsi_sp32, andsi_sp64, and_not_si, iorsi3, or_not_si,
+ xorsi3, xor_not_si, one_cmplsi2): Use V32I instead of SI.
+ (addv2si3, addv4hi3, addv2hi3): Remove % modifier.
+ (nandv64i_vis, nandv32i_vis): New patterns.
+
+2004-11-12 Mike Stump <mrs@apple.com>
+
+ * Makefile.in: Add html support.
+ * java/Make-lang.in: Likewise.
+ * fortran/Make-lang.in: Likewise.
+ * treelang/Make-lang.in: Likewise.
+ * doc/install.texi: Likewise.
+ * doc/makefile.texi: Likewise.
+ * doc/sourcebuild.texi: Likewise.
+
+2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-loop-manip.c: Fix a comment typo.
+
+2004-11-12 Mike Stump <mrs@apple.com>
+
+ * doc/cppinternals.texi (Index): Fix html generation with makeinfo by
+ renaming this node to Concept Index.
+ * doc/gccint.texi (Index): Likewise. Also minor formatting tweaks
+ to more closely match gcc.texi.
+
+2004-11-12 Jeff Law <law@redhat.com>
+
+ * tree-cfg.c (hashtab.h): Include.
+ (struct edge_to_case_leader_elt): New structure.
+ (edge_to_case_leader): New.
+ (edge_to_case_leader_hash): New hashtable hasing function.
+ (edge_to_case_leader_eq): New hashtable equality function.
+ (record_switch_edge): New function.
+ (get_case_leader_for_edge, get_case_leader_for_edge): New functions.
+ (make_switch_expr_edges): Build the edge-to-case-leader
+ hash table. Tear down the hash table when we're done.
+ (cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of
+ CASE_LABEL.
+ (tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes.
+ (tree_redirect_edge_and_branch, case SWITCH_EXPR): Update
+ to use new concept of case leaders to reduce overhead of
+ redirecting outgoing edges from switch statements.
+ * tree.c (get_case_label): New function.
+ * tree.h (CASE_LABEL): Define in terms of get_case_label.
+ (CASE_LEADER_OR_LABEL): Define.
+
+2004-11-12 Ziemowit Laski <zlaski@apple.com>
+
+ * varasm.c (output_addressed_constants): For CONST_DECLs,
+ output the initializer if present.
+
+2004-11-12 Ziemowit Laski <zlaski@apple.com>
+
+ * config/rs6000/darwin.h: Fix confusing typo in comment.
+
+2004-11-12 Devang Patel <dpatel@apple.com>
+
+ * optabs.c (vector_compare_rtx): Use COMPARISON_CLASS_P.
+
+2004-11-12 Devang Patel <dpatel@apple.com>
+
+ * tree-if-conv.c (clean_predicate_lists): Use loop header
+ and latch directly.
+
+2004-11-12 Richard Henderson <rth@redhat.com>
+
+ PR 17778
+ * config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
+ * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
+ (TARGET_96_ROUND_53_LONG_DOUBLE): New.
+ * config/i386/i386-modes.def (XF): Use it.
+
+2004-11-11 Geoffrey Keating <geoffk@apple.com>
+
+ * Makefile.in (macro_list): Use move-if-change to avoid spurious
+ rebuilds.
+
+2004-11-12 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/18416
+ * passes.c (rest_of_decl_compilation): Do not look at DECL_RTL
+ when deciding whether to pass a variable to
+ cgraph_varpool_finalize_decl or assemble_variable.
+ * toplev.c (check_global_declarations): Do not clear DECL_RTL.
+
+2004-11-12 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-vectorizer.c: Fix a comment typo.
+
+2004-11-12 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * genconfig.c (walk_insn_part): Look at match_dups inside a label_ref.
+
+2004-11-12 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-scalar-evolution.c (analyzable_condition): Remove
+ superfluous TREE_THIS_VOLATILE checks on SSA_NAMEs.
+
+2004-11-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
+ Remove m505/roe multilib variant.
+
+2004-11-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * expr.c (emit_group_load) <CONCAT>: Use extract_bit_field
+ to load from the stack.
+
+2004-11-12 Richard Henderson <rth@redhat.com>
+
+ * toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI.
+ (exact_log2): Rename from exact_log2_wide, use CTZ_HWI.
+ * toplev.h (FL2T__): Remove.
+ (CLZ_HWI): Rename from FL2T_CLZ__.
+ (CTZ_HWI): New.
+ (floor_log2): Simplify.
+ (exact_log2): New.
+
+2004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * tree-data-ref.c (analyze_subscript_affine_affine): Correctly
+ compute the first overlapping iterations.
+
+2004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
+
+ PR middle-end/18005
+ * tree-data-ref.c (estimate_niter_from_size_of_data): Ensure
+ that arguments of EXACT_DIV_EXPR are INTEGER_CST.
+
+2004-11-12 Steven Bosscher <stevenb@suse.de>
+
+ PR tree-optimization/18419
+ * tree-ssa.c (walk_use_def_chains_1): Make the visited map a
+ pointer set instead of a bitmap.
+ (walk_use_def_chains): Create, pass and clean up that pointer_set.
+
+ * tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
+ field an sbitmap.
+ (init_alias_info): Allocate and zero it here.
+ (delete_alias_info): Delete it here.
+ (collect_points_to_info_for): Use it.
+
+2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * alias.c (record_alias_subset, addr_side_effect_eval):
+ Make them static.
+ * alias.h: Remove the prototype for record_alias_subset.
+ * expr.h: Remove the commented-out prototype for
+ record_alias_subset.
+ * rtl.h: Remove the prototype for addr_side_effect_eval.
+
+ * cfglayout.c (choose_inner_scope): Make it static.
+ * rtl.h: Remove the corresponding prototype.
+
+ * cfgloopmanip.c (update_single_exits_after_duplication,
+ unloop): Make them static.
+ * cfgloop.h: Remove the corresponding prototypes.
+
+ * c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
+ Make them static.
+ * c-tree.h: Remove the corresponding prototypes.
+
+ * explow.c (round_push): Make it static.
+ * expr.h: Remove the corresponding prototype.
+
+ * varasm.c (get_named_section_flags, decl_tls_model): Make
+ them static.
+ * output.h: Remove the prototype for get_named_section_flags.
+ * tree.h: Remove the prototype for decl_tls_model.
+
+2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * function.c (expand_function_end): Remove an "if" statement
+ that always triggers.
+ * stmt.c (expand_null_return_1): Likewise.
+
+2004-11-11 James E. Wilson <wilson@specifixinc.com>
+
+ * config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
+ (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
+ CLASS_MAX_NREGS): Likewise.
+
+2004-11-11 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/17742
+ * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
+ MINUS_EXPR correctly.
+
+2004-11-11 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
+ Give up as soon as the evolution is known not computable.
+
+2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR target/16457
+ * config/rs6000/rs6000.c (mask64_2_operand): Stub to call
+ mask64_1or2_operand.
+ (mask64_1or2_operand): Broken out of mask64_2_operand, add flag
+ to spot rlwinm opportunities.
+ (and64_2_operand): Use mask_1or2_operand.
+ * config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
+
+2004-11-11 Dorit Naishlos <dorit@il.ibm.com>
+
+ * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
+ (vect_update_ivs_after_vectorizer): Update function documentation.
+ Avoid quadratic behavior and direct write to PHI_ARG_DEF.
+
+2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/arm/arm.c: Fix a comment typo.
+
+2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ * bitmap.h (nBITMAP_WORD_BITS): Remove.
+ (BITMAP_WORD_BITS): Force unsigned by use of 1u.
+ (BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
+ unnecessary casts.
+ (bitmap_first_set_bit): Return unsigned, use ctzl.
+ (bitmap_last_set_bit): Remove.
+ * bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
+ unsigned.
+ (bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
+ remove special case code for two word elements.
+ (bitmap_last_set_bit): Remove.
+ * ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
+ bitmap_first_set_bit with bitmap_empty_p.
+ * tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
+ * tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
+ bitmap_last_bit_set.
+
+2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR target/16796
+ * config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
+
+ PR target/16458
+ * config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
+ unsigned equality compare when we know the operands are unsigned.
+
+2004-11-10 Peter S. Mazinger <ps.m@gmx.net>
+
+ * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
+ __PIC__ and __pic__ only if TARGET_ABICALLS.
+ (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
+ (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
+ -KPIC only if not -mno-abicalls.
+
+ * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
+ * config/sparc/linux.h, config/sparc/linux64.h
+ (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
+
+ * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
+ * config/pa/pa/linux.h (CPP_SPEC): Likewise.
+ * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
+ * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
+
+2004-11-11 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
+ register if current_function_uses_pic_offset_table is set.
+
+2004-11-10 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (define_attr "type"): Add two and three.
+ Change multi-instruction sequences to new attribute.
+ * config/rs6000/{40x.md,440.md,603.md,6xx.md,
+ 7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
+ rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
+
+2004-11-10 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-data-ref.c (build_classic_dist_vector): If either loop
+ is outside of the nest we asked about, the dependence can't
+ matter.
+ (build_classic_dir_vector): Ditto.
+
+2004-11-10 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
+ right order.
+ (force_var_cost): Determine cost of addition and multiplication more
+ precisely.
+ (get_computation_cost_at): Add cost for computing address elements to
+ the final cost.
+
+ * fold-const.c (fold): Attempt to use ptr_difference_const whenever
+ one of the arguments of MINUS_EXPR is an address.
+ (split_address_to_core_and_offset): New function.
+ (ptr_difference_const): Handle case when one of the operands is a
+ pointer.
+ * tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
+ (ptr_difference_cost): Pass addresses instead of objects to
+ ptr_difference_const.
+
+2004-11-10 Nathan Sidwell <nathan@codesourcery.com>
+
+ * tree.c (tree_check_failed): Emit general error if the list of
+ node types is empty.
+
+2004-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
+ argument. When the union is passed in the 6th slot, build a
+ PARALLEL with only one element.
+ (function_arg): Adjust call to function_arg_union_value.
+ (function_value): Likewise.
+
+2004-11-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ PR tree-optimization/17892
+ * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
+ MINUS_EXPR operator.
+
2004-11-10 James A. Morrison <phython@gcc.gnu.org>
PR target/18230
- (addsi3, subsi3): Set "fptype" attribute.
+ config/sparc/sparc.md (addsi3, subsi3): Set "fptype" attribute.
(addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
2004-11-10 Steven Bosscher <stevenb@suse.de>
* reload.h: Remove the corresponding prototypes.
2004-11-09 James A. Morrison <phython@gcc.gnu.org>
- Eric Botcazou <ebotcazou@libertysurf.fr>
+ Eric Botcazou <ebotcazou@libertysurf.fr>
PR target/18230
* doc/md.texi (SPARC constraints): Document 'Y' constraint.
when eliminating an UNSPEC_CMPINT.
(s390_secondary_input_reload_class): Fix test for CC register reload.
(s390_secondary_output_reload_class): Likewise.
- (s390_expand_cmpmem): Swap operands. Use gen_cmpint.
+ (s390_expand_cmpmem): Swap operands. Use gen_cmpint.
* config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
insn patterns with splitters.
("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
"*negdi2_31"):
Do not set type attribute to "other" where already default.
- ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
+ ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
"*strlendi", "*strlensi",
"*movmem_long_64", "*movmem_long_31",
"*clrmem_long_64", "*clrmem_long_31",
"*cmpmem_long_64", "*cmpmem_long_31",
- "*cmpint_si", "*cmpint_di",
- "addti3", "*adddi3_31z", "*adddi3_31",
+ "*cmpint_si", "*cmpint_di",
+ "addti3", "*adddi3_31z", "*adddi3_31",
"subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
"*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
"fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
"*pool_entry", "pool_align", "pool_section_start",
"pool_section_end", "main_pool", "reload_base_31", "pool"):
Do not set op_type attribute to "NN" where already default.
- ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
+ ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
"*zero_extendqisi2_31", "*zero_extendqihi2_31",
- "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
+ "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
Do not set atype attribute to "agen" where already default.
("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
("floatsisf2", "floatsisf2_ieee"): Likewise.
("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
("truncdfsf2_ibm"): Only allow "nonimmediate_operand". Use LER
- instead of LRER.
+ instead of LRER.
("extendsfdf2_ibm"): Do not set atype. Set type to "floads".
("sqrtdf2"): Set type to "fsqrtd".
("sqrtsf2"): Set type to "fsqrts".
* config/arm/arm.c (arm_handle_notshared_attribute): New function.
* doc/extend.texi: Document "notshared" attribute.
-
+
2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
* tree-phinodes.c (make_phi_node): Make it static.
2004-11-04 Andrew Pinski <pinskia@physics.uc.edu>
- * flow.c (init_propagate_block_info): Change the type of i to
+ * flow.c (init_propagate_block_info): Change the type of i to
unsigned.
2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
Also update DR_MISALIGNMENT due to peeling; this functionality used to
be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
(vect_analyze_data_refs_alignment): Decision on whether and by how much
- to peel moved to vect_enhance_data_refs_alignment. Call
+ to peel moved to vect_enhance_data_refs_alignment. Call
vect_supportable_dr_alignment.
(vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
(vect_compute_data_refs_alignment): Return bool. Consider return value
of vect_compute_data_ref_alignment and return true/false accordingly.
- (vect_enhance_data_refs_alignment): Consider return value of
+ (vect_enhance_data_refs_alignment): Consider return value of
vect_compute_data_refs_alignment and return true/false accordingly.
(vect_supportable_dr_alignment): New function.
* rtlanal.c (canonicalize_condition, get_condition): ...here.
* sched-deps.c (get_condition): Rename to sched_get_condition.
(add_dependence): Update this caller.
-
+
2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/16808
2004-11-02 Ben Elliston <bje@au.ibm.com>
- * timevar.h (timevar_get): Remove.
+ * timevar.h (timevar_get): Remove.
* timevar.c (timevar_get): Remove unused function.
2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
2004-11-01 Andrew MacLeod <amacleod@redhat.com>
PR tree-optimization/16447
- * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
+ * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
bsi_commit_edge_inserts_1, and make funtion external. Return new block.
(bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
* tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
(same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
(identical_copies_p): New. Return true is two copies are the same.
(identical_stmt_lists_p): New. Return true if stmt lists are the same.
- (analyze_edges_for_bb): New. Determine how best to insert edge stmts
+ (analyze_edges_for_bb): New. Determine how best to insert edge stmts
for a basic block.
(perform_edge_inserts): New. Determine what to do with all stmts that
have been inserted on edges.
Fix PR tree-optimization/17672
Fix PR tree-optimization/18168
-
+
* lambda-code.c (lambda_lattice_compute_base): Fix reversed
assert test.
(gcc_tree_to_linear_expression): Add extra to existing constant.
and induction variable creation.
(lle_to_gcc_expression): Ditto.
(lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
- oldiv. Pass type argument to lle_to_gcc_expression and
+ oldiv. Pass type argument to lle_to_gcc_expression and
lbv_to_gcc_expression.
Reset number of iterations after transformation.
(perfect_nestify): Remove useless pre-allocation, and cleanup
(build_classic_dir_vector): Ditto.
(compute_data_dependences_for_loop): Only add dependence relations
inside the loop we asked about.
-
+
* tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
Compute immediate uses.
-
+
* tree-optimize.c: Move linear_transform_loops to before ivcanon.
-
+
2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
* tree-cfg.c (thread_jumps): Fix a comment typo.
config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
adding the PIC register to the fixed_regs array, also add it
- to the call_used_regs array.
+ to the call_used_regs array.
2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
function to call.
(rewrite_def_def_chains): Call rewrite_blocks with true here.
(rewrite_into_ssa): and call it with false here.
-
+
2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
* tree-phinodes.c (add_phi_arg): Turn an "if" that always