OSDN Git Service

2012-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index ff81abd..ac76ef8 100644 (file)
@@ -1,3 +1,263 @@
+2012-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR tree-optimization/53207
+       * doc/invoke.texi: Document as experimental and relying on graphite.
+
+2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
+       of initializer to changes from r184614.
+       
+2012-02-28  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52395
+       * tree-sra.c (build_ref_for_offset): Also look at the base
+       TYPE_ALIGN when figuring out the alignment of the replacement.
+
+2012-02-28  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52402
+       * ipa-prop.c (ipa_modify_call_arguments): Properly use
+       mis-aligned types when creating the accesses at the call site.
+
+2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/builtins.def: New file.
+       * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
+       * config/avr/avr.c (enum avr_builtin_id): Use it.
+       (avr_init_builtins): Use it. And use avr_bdesc.
+       (bdesc_1arg): Remove.
+       (bdesc_2arg): Remove.
+       (bdesc_3arg): Remove.
+       (struct avr_builtin_description): Add field n_args.
+       (avr_bdesc): New static variable using builtins.def.
+       (avr_expand_builtin): Use it.
+       Don't call avr_expand_delay_cycles if op0 is not CONST_INT.
+       (avr_fold_builtin): Fold AVR_BUILTIN_SWAP.
+       Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST.
+
+2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/52148
+       * config/avr/avr.md (movmem_<mode>): Replace match_operand that
+       match only one single hard register with respective hard reg rtx.
+       (movmemx_<mode>): Ditto.
+       * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
+       insn anatomy of movmem[x]_<mode>.
+       (avr_out_movmem): Same for printing assembler and operand usage.
+
+2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/49868
+       PR target/52261
+       * doc/extend.texi (AVR Named Address Spaces): No more try to fix
+       address spaces located outside of device flash.
+
+       * config/avr/avr.h (base_arch_s): Remove field n_segments.
+       (mcu_type_s): Add field n_flash.
+       * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
+       Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5.
+       (AVR_MCU): Add N_FLASH argument.
+       * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
+       * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
+       macro __FLASH<n> if that address space makes sense for the device.
+       * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
+       outside of target flash.
+       (avr_asm_named_section): Ditto.
+       (avr_asm_select_section): Ditto.
+       (avr_addr_space_convert): Ditto.
+       (avr_emit_movmemhi): Ditto.
+       (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if
+       address space is outside of device flash.
+       (avr_insert_attributes): Ditto.
+       (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of
+       avr_current_arch->n_segments.
+
+2012-02-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/52352
+       * config/i386/i386.md (*movabs<mode>_1): Enable only for
+       TARGET_LP64.
+       (*movabs<mode>_2): Likewise.
+
+2012-02-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/52375
+       * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
+       s_register_operand in the test instead of REG_P.  Don't call
+       gen_reg_rtx if it won't be used.
+
+       PR tree-optimization/52376
+       * ipa-split.c (split_function): Ignore CLOBBER stmts.
+
+2012-02-27  Stuart Henderson  <shenders@gcc.gnu.org>
+
+       * ifcvt.c (noce_get_condition): Check condition variable is not
+       small_register_classes_for_mode_p before accepting.
+
+2012-02-27  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
+
+2012-02-27  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
+
+       Revert:
+       2012-01-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
+       * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
+       tuning parameters.
+       * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
+
+2012-02-27  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
+
+2012-02-26  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       * config/sh/predicates.md: Remove blank lines.
+       * config/sh/sh.c: Fix typos in comments.
+       * config/sh/constraints.md: Likewise.
+       * config/sh/sh.md: Remove blank lines.
+       Fix typos in comments.  Use ;; as comment characters.
+
+2012-02-26  Walter Lee  <walt@tilera.com>
+
+       * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
+       (replace_mov_pcrel_step2): Ditto.
+
+2012-02-25  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/52001
+       * alias.c (refs_newer_value_cb, refs_newer_value_p): New.
+       (get_addr): Walk canonical value's locs.  Avoid returning VALUEs
+       and locs that reference values newer than the non-canonical value
+       at hand.  Return the canonical value as a worst case.
+       (memrefs_conflict_p): Walk canonical value's locs.
+
+       PR debug/52001
+       * cselib.c (preserve_only_constants): Rename to...
+       (preserve_constants_and_equivs): ... this.  Split out...
+       (invariant_or_equiv_p): ... this.  Preserve plus expressions
+       of other preserved expressions too.
+       (cselib_reset_table): Adjust.
+       * var-tracking.c (reverse_op): Use canonical value to build
+       reverse operation.
+
+2012-02-23  Kai Tietz  <ktietz@redhat.com>
+
+       * config/i386/i386.c (ix86_delegitimize_address): Handle
+       UNSPEC_PCREL plus displacement.
+
+2012-02-24  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/52261
+       * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
+       to test for unusedness in st X addressing.
+
+2012-02-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52361
+       * gimple.c (walk_gimple_op): Use predicates with less redundant tests.
+       (is_gimple_reg_type): Move inline ...
+       * gimple.h (is_gimple_reg_type): ... here.
+
+2012-02-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52361
+       * passes.c (execute_function_todo): When verifying SSA form
+       verify gimple form first.
+       * tree-ssa.c (verify_ssa): Do not verify gimple form here.
+
+2012-02-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52355
+       * fold-const.c (fold_addr_of_array_ref_difference): New function.
+       (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding.
+
+2012-02-13  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * tree-if-conv (predicate_scalar_phi): Commentary typo fix.
+
+2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * tree-phinodes.c (make_phi_node): Mark static.
+       * tree-flow.h (make_phi_node): Remove extern decl.
+       * doc/gimple.texi (make_phi_node): Remove documentation.
+
+2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file.
+       * tree-ssa-sccvn.c (print_scc): Ditto.
+
+2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * doc/passes.texi (Full redundancy elimination): Fix typo.
+
+2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries.
+
+2012-02-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR bootstrap/52287
+       * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns.
+
+2012-02-23  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR c/52290
+       * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
+
+2012-02-23  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.md (code_stdname): Add ior, xor.
+       (xior): New code iterator.
+       (*<code_stdname><mode>qi.byte0): Use xior instead of ior.
+       (*<code_stdname><mode>qi.byte1-3): Ditto.
+
+2012-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/52019
+       * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
+       CLOBBER stmts.
+
+2012-02-23  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
+       HAVE_INITFINI_ARRAY to work around namespace pollution in
+       certain versions of newlib system headers.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
+       instead of HAVE_INITFINI_ARRAY.
+
+2012-02-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/52330
+       * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
+       is not offsettable memory reference.
+
+2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/18145
+       * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
+       setting avr_need_clear_bss_p for __gnu_lto* symbols.
+
+2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
+       * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
+
+2012-02-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread
+       library on Solaris 8 even without TLS support.
+       * configure: Regenerate.
+
+2012-02-22  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52329
+       * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs
+       for GIMPLE_DEBUG stmts.
+
 2012-02-22  Martin Jambor  <mjambor@suse.cz>
 
        PR middle-end/51782
 2012-02-14  Bernd Schmidt  <bernds@codesourcery.com>
 
        * haifa-sched.c (prune_ready_list): Ensure that if there is a
-       sched-group insn, it either remains alone or the entire list is
-       pruned.
+       sched-group insn, it either remains alone or the entire list is pruned.
 
 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
 
        * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
        (GTM_SELF_SPECS): Define if not already defined.
        (driver_self_specs): Add GTM_SELF_SPECS.
-        * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
-        (GTM_SELF_SPECS): Define.
+       * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
+       (GTM_SELF_SPECS): Define.
        * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
        * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
 
        * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
        away if seen.
 
-       * cselib.c (dump_cselib_val): Don't assume l->setting_insn is
-       non-NULL.
+       * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
 
        PR middle-end/52230
-       * omp-low.c (expand_omp_for): If a static schedule without
-       chunk size has NULL region->cont, force fd.chunk_size to be
-       integer_zero_node.
+       * omp-low.c (expand_omp_for): If a static schedule without chunk size
+       has NULL region->cont, force fd.chunk_size to be integer_zero_node.
 
 2012-02-13  Andrew MacLeod  <amacleod@redhat.com>
 
        disallow changes from SFmode to mode with different size in FP regs.
 
 2012-02-12  Robert Millan  <rmh@gnu.org>
-            Gerald Pfeifer <gerald@pfeifer.com>
+           Gerald Pfeifer <gerald@pfeifer.com>
 
        * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
        Tweak comment.
 2012-02-11  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/52132
-       * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use
-       get_true_reg.
+       * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg.
 
 2012-02-11  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
        than operand 2.
 
-2012-02-02 Jan Hubicka  <jh@suse.cz>
-          Tom de Vries  <tom@codesourcery.com>
+2012-02-02  Jan Hubicka  <jh@suse.cz>
+           Tom de Vries  <tom@codesourcery.com>
 
        PR middle-end/51998
        * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases.