re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1...
[gcc.git] / gcc / ChangeLog
index 1cb0b5c87c1f25e52407c1891aed3b25e1289588..6178f335b689743b04dfd479e914db157db68907 100644 (file)
@@ -1,3 +1,285 @@
+2012-10-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR rtl-optimization/54739
+       * config/pa/pa.md: Remove DImode and, not and, ior and xor patterns
+       for 32-bit targets.  Adjust expanders.
+
+       * config/pa/pa.md: Adjust unamed HImode add insn pattern.
+
+2012-10-05  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       * config/sh/sh.c (builtin_description): Add is_enabled member.
+       (shmedia_builtin_p): New function.
+       (bdesc): Use shmedia_builtin_p for existing built-ins.
+       (sh_media_init_builtins, sh_init_builtins): Merge into single function
+       sh_init_builtins.  Add is_enabled checking.  Move variable declarations
+       to where they are actually used.
+       (sh_media_builtin_decl, sh_builtin_decl): Merge into single function
+       sh_builtin_decl.  Add is_enabled checking.
+       (sh_expand_builtin): Move variable declarations to where they are
+       actually used.
+
+2012-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-inline.c (expand_call_inline): Move VAR_DECLs with
+       PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS
+       into id->block's BLOCK_VARS.
+
+       PR debug/54519
+       * ipa-split.c (split_function): Add debug args and
+       debug source and normal stmts for args_to_skip which are
+       gimple regs.
+       * tree-inline.c (copy_debug_stmt): When inlining, adjust
+       source debug bind stmts to debug binds of corresponding
+       DEBUG_EXPR_DECL.
+
+2012-10-05  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.md: Fix indentations of insn C snippets.
+
+2012-10-05  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/54811
+       * tree-ssa-live.c (clear_unused_block_pointer_1): Look at
+       DECL_DEBUG_EXPR again.
+
+2012-10-05  Jan Hubicka  <jh@suse.cz>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/33763
+       * tree-inline.c (expand_call_inline): Silently ignore always_inline
+       attribute for redefined extern inline functions.
+
+2012-10-04  Jan Hubicka  <jh@suse.cz>
+
+       * tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
+       * tree-vect-loop.c (vect_estimate_min_profitable_iters): Declare here.
+       (vect_analyze_loop_operations): Use loop count estimate to rule out
+       unprofitable vectorization.
+       (vect_estimate_min_profitable_iters): Return ret_min_profitable_estimate.
+
+2012-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/54810
+       * tree-vrp.c (register_edge_assert_for_2): Handle
+       NAME = (unsigned) NAME2; if (NAME cmp CST) for
+       narrowing casts to unsigned integral type like
+       NAME = NAME2 & CST2; if (NAME cmp CST) where CST2
+       is the max value of the unsigned integral type.
+
+2012-10-04  Jeff Law  <law@redhat.com>
+
+       * PR target/50356
+       * config/h8300/h8300.c (h8300_rtx_costs): Fix typo in CONST_INT case.
+
+2012-10-04  Jason Merrill  <jason@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
+       ASM_WEAKEN_DECL with #if RS6000_WEAK.
+
+2012-10-04  Basile Starynkevitch  <basile@starynkevitch.net>
+
+        * gengtype.c (walk_type): Emit mark_hook when inside a
+          struct of a union member.
+
+2012-10-04  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/predicates.md (flash_operand): New predicate.
+       * config/avr/avr.md (reload_in<mode>): Use it in operand 1 instead
+       of memory_operand.
+
+2012-10-04  Tobias Burnus  <burnus@net-b.de>
+
+       * gcc.c (record_temp_file, add_sysrooted_prefix, process_command,
+       do_self_spec, compare_debug_dump_opt_spec_function): Plug memleaks.
+       (do_spec_1): Ditto, fix out-of-bound access.
+       * opts.c (common_handle_option): Plug memleak.
+
+2012-10-04  Jason Merrill  <jason@redhat.com>
+
+       * config/darwin.c (darwin_assemble_visibility): Treat
+       VISIBILITY_INTERNAL as hidden.
+
+       * config/darwin-c.c (find_subframework_file): Add missing const.
+       (framework_construct_pathname): Likewise.
+
+2012-10-04  Florian Weimer  <fweimer@redhat.com>
+
+       * doc/cpp.texi (Pragmas): Document #pragma GCC warning, #pragma
+       GCC error.
+
+2012-10-04  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/54735
+       * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
+       cleaning up the CFG.
+
+2012-10-04  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/47799
+       * tree-streamer-out.c (write_ts_block_tree_pointers): For
+       inlined functions outer scopes write the ultimate origin
+       as BLOCK_ABSTRACT_ORIGIN and BLOCK_SOURCE_LOCATION.
+       Do not stream the fragment chains.
+       * tree-streamer-in.c (lto_input_ts_block_tree_pointers): Likewise.
+       * dwarf2out.c (gen_subprogram_die): Handle NULL DECL_INITIAL.
+       (dwarf2out_decl): Always output DECL_ABSTRACT function decls.
+
+2012-10-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * dumpfile.h, dumpfile.c: Remove TDI_ada.
+
+2012-10-04  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+       * config/i386/i386.c (ix86_dep_by_shift_count_body) : Add
+       check on reload_completed since it can be invoked before
+       register allocation phase in pre-reload schedule.
+       (ia32_multipass_dfa_lookahead) : Do not use dfa_lookahead for pre-reload
+       schedule to save compile time.
+       (ix86_sched_reorder) : Do not perform ready list reordering for pre-reload
+       schedule to save compile time.
+       (insn_is_function_arg) : New function. Returns true if lhs of insn is
+       HW function argument register.
+       (add_parameter_dependencies) : New function. Add output dependencies
+       for chain of function adjacent arguments if only there is a move to
+       likely spilled HW registers. Return first argument if at least one
+       dependence was added or NULL otherwise.
+       (avoid_func_arg_motion) : New function. Add output or anti dependency
+       from insn to first_arg to restrict code motion.
+       (add_dependee_for_func_arg) : New function. Avoid cross block motion of
+       function argument through adding dependency from the first non-jump
+       insn in bb.
+       (ix86_dependencies_evaluation_hook) : New function. Hook for pre-reload schedule:
+       avoid motion of function arguments passed in passed in likely spilled
+       HW registers.
+       (ix86_adjust_priority) : New function. Hook for pre-reload schedule: set priority
+       of moves from likely spilled HW registers to maximum to schedule them
+       as soon as possible.
+       (ix86_sched_init_global): Do not perform multipass scheduling for pre-reload
+       schedule to save compile time.
+
+2012-10-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       * configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
+       * configure: Regenerate.
+
+2012-10-04  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_can_use_simple_return_p): Return false for
+       SHmedia and SHcompact using call cookie.
+       * config/sh/sh.md (epilogue): Emit non-inlined return insns for
+       SHmedia and SHcompact using call cookie.
+
+2012-10-03  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/51244
+       * config/sh/sh.md (*mov_t_msb_neg): New insn and two accompanying
+       unnamed split patterns.
+
+2012-10-03  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/50457
+       * config/sh/sh.c (parse_validate_atomic_model_option): Handle name
+       strings in sh_atomic_model.
+       * config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation
+       to ...
+       * config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function.
+       Add __SH1__ and __SH2__ defines.  Add __SH_ATOMIC_MODEL_*__ define.
+       * config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name
+       variables.
+       (sh_cpu_cpp_builtins): Declare new function.
+
+2012-10-03  Dehao Chen  <dehao@google.com>
+
+       PR middle-end/54782
+       * tree-cfg.c (move_block_to_fn): Update lexical block for phi_args.
+
+2012-10-03  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * reginfo.c (max_regno_since_last_resize): New.
+       (reg_preferred_class, reg_alternate_class): Add assert.
+       (allocate_reg_info): Initialize allocated reg info.
+       (resize_reg_info): Make bigger reg_info and initialize new memory.
+       (reginfo_init): Initialize max_regno_since_last_resize.
+       (setup_reg_classes): Change assert.
+
+2012-10-03  Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
+
+       * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
+       in SSE and YMM state support check for -march=native.
+
+2012-10-03  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.c (struct decl_chain): New local structure.
+       (warned_decls): New local variable.  Contains a stack of decls for
+       which warnings have been issued.
+       (add_warned_decl): Adds a decl to the stack.
+       (already_warned): Returns true if a given decl is on the stack.
+       (rx_set_current_function): Issue a warning if multiple fast
+       interrupt handlers are defined.
+       * config/rx/rx.opt (mwarn-multiple-fast-interrupts): New option.
+       * doc/invoke.texi: Document the option.
+
+2012-09-03  Mark Kettenis  <kettenis@openbsd.org>
+
+       * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
+       default_use_cxa_atexit to yes.
+
+2012-10-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/54792
+       * sched-deps.c (find_modifiable_mems): Scan also TAIL insn.
+
+2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/54785
+       * doc/invoke.texi: Document -mprefer-avx128.
+
+2012-10-02  Andrew Pinski  <apinski@cavium.com>
+
+       * simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
+       Don't optimize a truncate of a mem if it is a vector mode.
+
+2012-10-02  Alexandre Oliva <aoliva@redhat.com>
+
+       PR debug/54551
+       * Makefile.in (VALTRACK_H): Add hash-table.h.
+       * valtrack.h: Include hash-table.h.
+       (struct dead_debug_global_entry): New.
+       (struct dead_debug_hash_descr): New.
+       (struct dead_debug_global): New.
+       (struct dead_debug): Rename to...
+       (struct dead_debug_local): ... this.  Adjust all uses.
+       (dead_debug_global_init, dead_debug_global_finish): New.
+       (dead_debug_init): Rename to...
+       (dead_debug_local_init): ... this.  Adjust all callers.
+       (dead_debug_finish): Rename to...
+       (dead_debug_local_finish): ... this.  Adjust all callers.
+       * valtrack.c (dead_debug_global_init): New.
+       (dead_debug_init): Rename to...
+       (dead_debug_local_init): ... this.  Take global parameter.
+       Save it and initialize used bitmap from it.
+       (dead_debug_global_find, dead_debug_global_insert): New.
+       (dead_debug_global_replace_temp): New.
+       (dead_debug_promote_uses): New.
+       (dead_debug_finish): Rename to...
+       (dead_debug_local_finish): ... this.  Promote remaining uses.
+       (dead_debug_global_finish): New.
+       (dead_debug_add): Try to replace global temps first.
+       (dead_debug_insert_temp): Support global replacements.
+       * dce.c (word_dce_process_block, dce_process_block): Add
+       global_debug parameter.  Pass it on.
+       (fast_dce): Initialize, pass on and finalize global_debug.
+       * df-problems.c (df_set_unused_notes_for_mw): Adjusted.
+       (df_create_unused_notes, df_note_bb_compute): Likewise.
+       (df_note_compute): Justify local-only dead debug analysis.
+
+2012-10-02  Alexandre Oliva <aoliva@redhat.com>
+
+       PR debug/53135
+       * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
+       when needed.
+
 2012-10-02  Alexandre Oliva <aoliva@redhat.com>
 
        PR debug/54177
@@ -7,7 +289,7 @@
 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/54741
-       *  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
+       * config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
        (XSTATE_FP): Likewise.
        (XSTATE_SSE): Likewise.
        (XSTATE_YMM): Likewise.
        * tree-ssa-sccvn.c (vn_reference_lookup_3): For VECTOR_TYPE
        CONSTRUCTORs, don't do anything if element type is VECTOR_TYPE,
        and don't check index.
-       * tree-vect-slp.c (vect_get_constant_vectors): VIEW_CONVERT_EXPR
-       ctor elements first if their type isn't compatible with vector
-       element type.
+       * tree-vect-slp.c (vect_get_constant_vectors): VIEW_CONVERT_EXPR ctor
+       elements first if their type isn't compatible with vector element type.
 
 2012-10-02  Eric Botcazou  <ebotcazou@adacore.com>
 
 
 2012-08-17  Nick Clifton  <nickc@redhat.com>
 
-       * config/fr30/fr30.md  (cbranchsi4): Remove mode from comparison.
+       * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
        (branch_true): Likewise.
        (branch_false): Likewise.
 
        * config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define.
        (GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define.
        (GLIBC_DYNAMIC_LINKER_DEFAULT): Define.
-       (GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path.
+       (GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path.
 
 2012-04-25  Sriraman Tallam  <tmsriram@google.com>