OSDN Git Service

* config/rs6000/rs6000.c (rs6000_stack_info): Allocate space for the
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 563aff0..1dd19c0 100644 (file)
@@ -1,3 +1,184 @@
+2007-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space for the
+       GOT pointer only if there is a constant pool.  Use the allocated space
+       for SPE also.
+
+2007-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct
+       typo for AltiVec.
+
+2007-09-04  Revital Eres  <eres@il.ibm.com>
+           Richard Guenther  <rguenther@suse.de>
+           R. Clint Whaley  <whaley@cs.utsa.edu>
+
+       * doc/invoke.texi (-fassociative-math, -freciprocal-math):
+       Document new flags.
+       * tree-tailcall.c (process_assignment): Use -fassociative-math
+       when reodering operands of floating-point type.
+       * fold-const.c (fold_comparison, fold_binary): Use
+       -fassociative-math and -freciprocal-math instead of
+       -funsafe-math-optimization flag.
+       * toplev.h (set_unsafe_math_optimizations_flags): Declare function.
+       * tree-ssa-math-opts.c (gate_cse_reciprocals): Use
+       -freciprocal-math instead of -funsafe-math-optimizations.
+       * opts.c (set_fast_math_flags): Set -freciprocal-math and
+       -fassociative-math when -ffast-math is set.
+       (set_unsafe_math_optimizations_flags): New Function
+       to set -freciprocal-math and -fassociative-math when
+       -funsafe-math-optimizations is set.
+       (common_handle_option): Call it.
+       * tree-vectorizer.c (vect_is_simple_reduction): Use
+       -fassociative-math when doing reduction on floats.
+       * loop-unroll.c (analyze_insn_to_expand_var): Use
+       -fassociative-math when expanding an accumulator of type float.
+       * simplify-rtx.c (simplify_binary_operation_1): Use
+       -fassociative-math and -freciprocal-math when reordeing operands
+       of floating-point type.
+       * combine.c (combine_simplify_rtx): Likewise.
+       * tree-ssa-reassoc.c (break_up_subtract_bb, reassociate_bb):
+       Likewise.
+       * common.opt (-fassociative-math, -freciprocal-math): New flags.
+
+2007-09-04  Paolo Carlini  <pcarlini@suse.de>
+
+       PR c++/18608
+       * doc/install.texi (--enable-__cxa_atexit): Fix typo.
+
+2007-09-04  Jan Hubicka  <jh@suse.cz>
+
+       * regrename.c(copyprop_hardreg_forward_1): Unshare when doing copyprop.
+
+2007-09-04  Jan Hubicka  <jh@suse.cz>
+
+       * regrename.c (build_def_use): Don't share RTL between MATCH_OPERATOR
+       and corresponding MATCH_DUP.
+
+2007-09-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR middle-end/33187
+       * combine.c (subst): Do not try to simplify X if it represents load
+       of FP constant from the constant pool via float extension.
+
+2007-09-04  Ben Elliston  <bje@au.ibm.com>
+
+       * c-opts.c: Include "tm_p.h".
+       * Makefile.in (c-opts.o): Add $(TM_P_H) as a dependency.
+
+2007-09-04  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/33291
+       * tree-pretty-print.c (dump_generic_node): Dump all
+       qualifiers for pointer types, not only first.  Dump
+       qualifiers for aggregate types as well.
+       * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Always
+       use the canonical type for building ARRAY_REFs.
+       * gimplify.c (canonicalize_addr_expr): Clean up.  The
+       correct validness check is compatibility of the pointer
+       types.  Always use the canonical type for building
+       ARRAY_REFs and ADDR_EXPRs.
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr): Revert
+       change that disabled propagation of ADDR_EXPRs into statements
+       with volatile ops.
+
+2007-09-03  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/arm/arm.md (mulsidi3, umulsidi3, mulsi3_highpart)
+       (umulsi3_highpart): Make into expanders; existing insns are
+       now named *[insn]_nov6.  Add stars to existing [insn]_v6
+       counterparts' names.
+
+2007-09-03  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * Makefile.in (DRIVER_DEFINES, gcc.o, gccspec.o, protoize.o)
+       (unprotoize.o): Remove SHLIB_MULTILIB.
+
+2007-09-03  Eric Weddington  <eweddington@cso.atmel.com>
+
+       * doc/extend.texi: Document progmem attribute for AVR.
+
+2007-09-03  Anatoly Sokolov <aesok@post.ru>
+
+       PR target/28902
+       * config/avr/avr.h (TARGET_VTABLE_ENTRY_ALIGN): Define.
+
+2007-09-03  Zack Weinberg  <zack@codesourcery.com>
+
+       * optabs.c (expand_ffs): Initialize val and defined_at_zero
+       to avoid warnings.
+
+       * optabs.c: Remove unnecessary forward declarations.
+       (expand_unop_direct): New, broken out of expand_unop.
+       (expand_doubleword_clz): New.
+       (expand_ctz): Move above expand_ffs.  Use
+       start_sequence, end_sequence, add_equal_note, and
+       expand_unop_direct.  Add more commentary.
+       (expand_ffs): Try both ctz optab and expand_ctz.
+       Generate a test and branch if the hardware doesn't give us
+       a useful value for input zero.  Style improvements similar to
+       expand_ctz.
+
+       * config/arm/arm.md (ffssi2, ctzsi2): Delete.
+
+2007-09-03  Zack Weinberg  <zack@codesourcery.com>
+
+       * config.gcc: Delete stanza for arm-semi-aof and
+       armel-semi-aof targets.
+       * config/arm/arm-protos.h
+       * config/arm/arm.c
+       * config/arm/arm.h: Delete all #ifdef AOF_ASSEMBLER blocks;
+       make all #ifndef AOF_ASSEMBLER blocks unconditional.  Also
+       delete aof_pic_label and remove mention of AOF in comments.
+       * config/arm/arm.md: Delete patterns used only for AOF assembly.
+       * config/arm/aof.h
+       * config/arm/semiaof.h
+       * config/arm/t-semi: Delete file.
+
+2007-09-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * system.h (CONST_CAST2, CONST_CAST_TREE, CONST_CAST_RTX,
+       CONST_CAST_BB): New macros for type-specific casts.
+       (CONST_CAST): Add a TYPE parameter and define it in terms of
+       CONST_CAST2.
+
+       * c-decl.c (c_make_fname_decl): Supply a TYPE for CONST_CAST.
+       * c-lex.c (cb_ident, lex_string): Likewise,
+       * c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise,
+       * config/i386/i386.c (ix86_function_regparm,
+       ix86_function_sseregparm): Use CONST_CAST_TREE.
+       * config/mmix/mmix.c (mmix_encode_section_info): Supply a TYPE for
+       CONST_CAST.
+       * gcc.c (set_spec, read_specs, for_each_path, execute, do_spec_1,
+       give_switch, set_multilib_dir): Likewise,
+       * gengtype-parse.c (string_seq, typedef_name): Likewise,
+       * gimple-low.c (block_may_fallthru): Use CONST_CAST_TREE.
+       * jump.c (reversed_comparison_code_parts): Use CONST_CAST_RTX.
+       * passes.c (execute_one_pass): Supply a TYPE for CONST_CAST.
+       * prefix.c (update_path): Likewise,
+       * pretty-print.c (pp_base_destroy_prefix): Likewise,
+       * rtlanal.c (keep_with_call_p): Use CONST_CAST_RTX.
+       * tree-cfg.c (tree_can_merge_blocks_p,
+       tree_block_ends_with_condjump_p): Use CONST_CAST_BB.
+       * tree-eh.c (lookup_stmt_eh_region_fn): USe CONST_CAST_TREE.
+       * tree.c (build_string): Supply a TYPE for CONST_CAST.
+       (attribute_list_contained): Use CONST_CAST_TREE.
+
+2007-09-03  Krister Walfridsson  <cato@df.lth.se>
+
+       * config/netbsd-elf.h (USE_LD_AS_NEEDED): Define.
+
+2007-09-03  Richard Sandiford  <richard@codesourcery.com>
+
+       PR middle-end/33290
+       * optabs.c (avoid_expensive_constant): Canonicalize CONST_INTs
+       before forcing them into a register.
+
+2007-09-03  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.md (fetchop_bit): Use define_code_iterator
+       rather than define_code_macro.
+
 2007-09-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        * gcc.c (xputenv): New function.