OSDN Git Service

2006-12-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 6f579c7..b17a039 100644 (file)
@@ -1,3 +1,134 @@
+2006-12-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR middle-end/7651
+       * c.opt (Wempty-body): New.
+       * doc/invoke.texi (Wempty-body): Document it.
+       (Wextra): Enabled by -Wextra.
+       * c-opts.c (c_common_post_options): Enabled by -Wextra.
+       * c-common.c (empty_body_warning): Replace Wextra with Wempty-body.
+       * c-parser.c (c_parser_c99_block_statement): Likewise.
+       
+2006-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/30185
+       * config/rs6000/rs6000.md (div<mode>3): Use correct mode in
+       force_reg call.
+
+2006-12-15  Andrew Pinski  <pinski@gmail.com>
+
+       PR tree-opt/30140
+       * tree-inline.c (setup_one_parameter): Gimplify the statement if
+       the variable is not a gimple register variable.
+
+2006-12-15  Uros Bizjak  <ubizjak@gmail.com>
+
+       * invoke.texi (mstringop-strategy): Add missing "byte_loop" value.
+
+2006-12-14  Jan Hubicka  <jh@suse.cz>
+
+       * tree-flow.h (struct stmt_ann_d): Move bitfield references_memory
+       to proper place.
+
+2006-12-14  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/30197
+       * builtins.c (fold_builtin_cexp): New function to fold cexp
+       to cexpi and exp parts.
+       * tree-ssa-pre.c (try_combine_conversion): Also handle
+       REALPART_EXPR and IMAGPART_EXPR.
+
+2006-12-14  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/30172
+       * fold-const.c (fold_binary): Fold __complex__ ( x, 0 )
+       + __complex__ ( 0, y ) to __complex__ ( x, y ).
+       Fold __complex__ (x, y) * +-I to __complex__ (-+y, +-x).
+
+2006-12-14  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/30198
+       * fold-const.c (fold_unary): Fold REALPART_EXPR of cexpi to cos.
+       Fold IMAGPART_EXPR of cexpi to sin.
+
+2006-12-14  Dorit Nuzman  <dorit@il.ibm.com>
+           Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
+
+       * spu.c (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Defined.
+       (spu_init_builtins): Mark the SPU_MASK_FOR_LOAD builtin decl as read 
+       only.   
+       (spu_expand_builtin_1): Handle the SPU_MASK_FOR_LOAD builtin.
+       (spu_builtin_mask_for_load): New.
+       * spu-builtins.def (SPU_MASK_FOR_LOAD): Define new builtin.
+       * spu.md (UNSPEC_SPU_REALIGN_LOAD, UNSPEC_SPU_MASK_FOR_LOAD):New.
+       (vec_realign_load_<mode>, spu_lvsr): New.
+
+2006-12-13  Ian Lance Taylor  <iant@google.com>
+
+       PR c++/19564
+       PR c++/19756
+       * c-typeck.c (parser_build_binary_op): Move parentheses warnings
+       to warn_about_parentheses in c-common.c.
+       * c-common.c (warn_about_parentheses): New function.
+       * c-common.h (warn_about_parentheses): Declare.
+       * doc/invoke.texi (Warning Options): Update -Wparentheses
+       description.
+
+2006-12-13  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * tree-ssa-loop-ivopts.c: Include tree-affine.h.
+       (divide): Removed.
+       (constant_multiple_of): Fix order of operators for division.
+       (aff_combination_const, aff_combination_elt, aff_combination_scale,
+       aff_combination_add_elt, aff_combination_add, aff_combination_convert,
+       tree_to_aff_combination, add_elt_to_tree, unshare_aff_combination,
+       aff_combination_to_tree): Moved to tree-affine.c and made to work with
+       double_int coefficients.
+       (get_computation_aff, get_computation_at): Work with double_int
+       coefficients.
+       (get_computation_cost_at): Do not use divide.
+       (rewrite_use_nonlinear_expr, rewrite_use_address, rewrite_use_compare):
+       Assert that expressing the computation did not fail.
+       * tree-ssa-address.c: Include tree-affine.h.
+       (add_to_parts, most_expensive_mult_to_index, addr_to_parts,
+       create_mem_ref): Work with double_int coefficients.
+       * tree-affine.c: New file.
+       * tree-affine.h: New file.
+       * tree-flow.h (struct affine_tree_combination): Removed.
+       * Makefile.in (tree-affine.o): Add.
+       (tree-ssa-address.o, tree-ssa-loop-ivopts.o): Add tree-affine.h
+       dependency.
+
+2006-12-13  Peter Bergner  <bergner@vnet.ibm.com>
+
+       PR middle-end/30191
+       Revert:
+       * reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and
+       the offset == 0 "then" clauses.
+       * config/rs6000/predicates.md (gpc_reg_operand): Check for
+       reload_in_progress.
+
+2006-12-13  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 53.
+       (FIXED_REGISTERS, CALL_USED_REGISTERS): Remove dir register.
+       (REG_ALLOC_ORDER): Remove one element due to removal of dir register.
+       (FRAME_POINTER_REGNUM): Update register number to 20.
+       (REG_CLASS_CONTENTS): Update contents due to removed dir register.
+       (HI_REGISTER_NAMES): Remove "dirflag".
+
+       * config/i386/i386.c (regclass_map): Remove dirflag entry.
+       (dbx_register_map, dbx64_register_map, svr4_dbx_register_map):
+       Remove "dir" entry.
+       (ix86_md_asm_clobbers): Remove "dirflag" default asm clobber.
+
+       * config/i386/i386.md (R10_REG, R11_REG): Renumber.
+       (sse_prologue_save, *sse_prologue_save_insn): Renumber
+       hardcoded SSE register numbers.
+
+       * config/i386/mmx.md (mmx_emms, mmx_femms): Renumber
+       hardcoded MMX register numbers.
+
+
 2006-12-13  Mark Shinwell  <shinwell@codesourcery.com>
 
        * config/arm/arm.c (arm_output_fldmx): Output FLDMD instead of