| 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69403 |
| * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to |
| define_insn_and_split. Ensure operands[1] and operands[0] do not |
| get assigned the same register. |
| |
| 2015-10-28 Yvan Roux <yvan.roux@linaro.org> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| Backport from trunk r221007, r221675, r222011. |
| 2015-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65735 |
| * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths): |
| Remove visited_phis argument, add visited_bbs, avoid recursing into the |
| same bb rather than just into the same phi node. |
| (thread_through_normal_block): Adjust caller. |
| |
| 2015-03-25 Sebastian Pop <s.pop@samsung.com> |
| |
| PR tree-optimization/65177 |
| * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread. |
| (bb_in_bbs): New. |
| (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all |
| edges not adjacent on the path to the original code. |
| |
| 2015-02-26 Sebastian Pop <s.pop@samsung.com> |
| |
| PR tree-optimization/65048 |
| * tree-ssa-threadupdate.c (valid_jump_thread_path): New. |
| (thread_through_all_blocks): Call valid_jump_thread_path. |
| Remove invalid FSM jump-thread paths. |
| |
| 2015-03-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport of r214242, r214254, and bug fix patches from mainline |
| * config/rs6000/rs6000.c (context.h): New #include. |
| (tree-pass.h): Likewise. |
| (make_pass_analyze_swaps): New declaration. |
| (rs6000_option_override): Register swap-optimization pass. |
| (swap_web_entry): New class. |
| (special_handling_values): New enum. |
| (union_defs): New function. |
| (union_uses): Likewise. |
| (insn_is_load_p): Likewise. |
| (insn_is_store_p): Likewise. |
| (insn_is_swap_p): Likewise. |
| (rtx_is_swappable_p): Likewise. |
| (insn_is_swappable_p): Likewise. |
| (chain_purpose): New enum. |
| (chain_contains_only_swaps): New function. |
| (mark_swaps_for_removal): Likewise. |
| (swap_const_vector_halves): Likewise. |
| (adjust_subreg_index): Likewise. |
| (permute_load): Likewise. |
| (permute_store): Likewise. |
| (adjust_extract): Likewise. |
| (adjust_splat): Likewise. |
| (handle_special_swappables): Likewise. |
| (replace_swap_with_copy): Likewise. |
| (dump_swap_insn_table): Likewise. |
| (rs6000_analyze_swaps): Likewise. |
| (pass_data_analyze_swaps): New pass_data. |
| (pass_analyze_swaps): New class. |
| (pass_analyze_swaps::gate): New method. |
| (pass_analyze_swaps::execute): New method. |
| (make_pass_analyze_swaps): New function. |
| * config/rs6000/rs6000.opt (moptimize-swaps): New option. |
| * df.h (web_entry_base): New class, replacing struct web_entry. |
| (web_entry_base::pred): New method. |
| (web_entry_base::set_pred): Likewise. |
| (web_entry_base::unionfind_root): Likewise. |
| (web_entry_base::unionfind_union): Likewise. |
| (unionfind_root): Delete external reference. |
| (unionfind_union): Likewise. |
| (union_defs): Likewise. |
| * web.c (web_entry_base::unionfind_root): Convert to method. |
| (web_entry_base::unionfind_union): Likewise. |
| (web_entry): New class. |
| (union_match_dups): Convert to use class structure. |
| (union_defs): Likewise. |
| (entry_register): Likewise. |
| (web_main): Likewise. |
| |
| 2015-03-05 Yvan Roux <yvan.roux@linaro.org> |
| |
| Backport from trunk r212011, r214942, r214957, r215012, r215016, r218115 |
| r218733, r218746, r220491. |
| 2015-02-06 Sebastian Pop <s.pop@samsung.com> |
| Brian Rzycki <b.rzycki@samsung.com> |
| |
| PR tree-optimization/64878 |
| * tree-ssa-threadedge.c: Include tree-ssa-loop.h. |
| (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi. |
| Stop recursion at loop phi nodes after having visited a loop phi node. |
| |
| 2014-12-15 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/64246 |
| * cfgloop.c (mark_loop_for_removal): Make safe against multiple |
| invocations on the same loop. |
| |
| 2014-12-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64284 |
| * tree-ssa-threadupdate.c (duplicate_seme_region): Mark |
| the loop for removal if we copied the loop header. |
| |
| 2014-11-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64083 |
| * tree-ssa-threadupdate.c (thread_through_all_blocks): Do not |
| forcibly mark loop for removal the wrong way. |
| |
| 2014-09-08 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/63196 |
| * tree-inline.c (copy_loops): The source loop header should |
| always be non-NULL. |
| (tree_function_versioning): If loops need fixup after removing |
| unreachable blocks fix them. |
| * omp-low.c (simd_clone_adjust): Do not add incr block to |
| loop under construction. |
| |
| 2014-09-08 Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/63204 |
| * cfgloop.c (mark_loop_for_removal): Track former header |
| unconditionally. |
| * cfgloop.h (struct loop): Add former_header member unconditionally. |
| * loop-init.c (fix_loop_structure): Enable bogus loop removal |
| diagnostic unconditionally. |
| |
| 2014-09-05 Richard Biener <rguenther@suse.de> |
| |
| * cfgloop.c (mark_loop_for_removal): Record former header |
| when ENABLE_CHECKING. |
| * cfgloop.h (strut loop): Add former_header member when |
| ENABLE_CHECKING. |
| * loop-init.c (fix_loop_structure): Sanity check loops |
| marked for removal if they re-appeared. |
| |
| 2014-09-05 Richard Biener <rguenther@suse.de> |
| |
| * cfgloop.c (mark_loop_for_removal): New function. |
| * cfgloop.h (mark_loop_for_removal): Declare. |
| * cfghooks.c (delete_basic_block): Use mark_loop_for_removal. |
| (merge_blocks): Likewise. |
| (duplicate_block): Likewise. |
| * except.c (sjlj_emit_dispatch_table): Likewise. |
| * tree-eh.c (cleanup_empty_eh_merge_phis): Likewise. |
| * tree-ssa-threadupdate.c (ssa_redirect_edges): Likewise. |
| (thread_through_loop_header): Likewise. |
| |
| 2014-06-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/61607 |
| * tree-ssa-threadupdate.c (ssa_redirect_edges): Cancel the |
| loop if we redirected its latch edge. |
| (thread_block_1): Do not cancel loops prematurely. |
| |
| 2015-01-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/64734 |
| * omp-low.c (scan_sharing_clauses): Don't ignore |
| OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses |
| on target data/update constructs. |
| |
| 2015-01-23 Wei Mi <wmi@google.com> |
| |
| Backported from trunk. |
| 2015-01-22 Wei Mi <wmi@google.com> |
| |
| PR rtl-optimization/64557 |
| * dse.c (record_store): Call get_addr for mem_addr. |
| (check_mem_read_rtx): Likewise. |
| |
| 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> |
| "or". |
| |
| 2015-01-21 Wei Mi <wmi@google.com> |
| |
| Backported from trunk. |
| 2014-11-22 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/63970 |
| * ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones |
| as having abstract origin used. |
| * ipa-inline-transform.c (can_remove_node_now_p_1): Drop abstract origin check. |
| (clone_inlined_nodes): Copy abstract originflag. |
| * lto-cgraph.c (compute_ltrans_boundary): Use get_create to get abstract origin node. |
| |
| 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| Backport from mainline |
| * config/nios2/nios2.c (nios2_asm_file_end): Implement |
| TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when |
| needed. |
| (TARGET_ASM_FILE_END): Define. |
| |
| 2015-01-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2014-11-27 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/63704 |
| * alias.c (mems_in_disjoint_alias_sets_p): Remove assert |
| and instead return false when !fstrict-aliasing. |
| |
| 2015-01-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to |
| set the memory attributes in all cases but clear MEM_EXPR if need be. |
| |
| 2015-01-14 Yvan Roux <yvan.roux@linaro.org> |
| |
| Backport from trunk r218451. |
| 2014-12-06 James Greenhalgh <james.greenhalgh@arm.com> |
| Sebastian Pop <s.pop@samsung.com> |
| Brian Rzycki <b.rzycki@samsung.com> |
| |
| PR tree-optimization/54742 |
| * params.def (max-fsm-thread-path-insns, max-fsm-thread-length) |
| (max-fsm-thread-paths): New. |
| |
| * doc/invoke.texi (max-fsm-thread-path-insns, max-fsm-thread-length) |
| (max-fsm-thread-paths): Documented. |
| |
| * tree-cfg.c (split_edge_bb_loc): Export. |
| * tree-cfg.h (split_edge_bb_loc): Declared extern. |
| |
| * tree-ssa-threadedge.c (simplify_control_stmt_condition): Restore the |
| original value of cond when simplification fails. |
| (fsm_find_thread_path): New. |
| (fsm_find_control_statement_thread_paths): New. |
| (thread_through_normal_block):Call find_control_statement_thread_paths. |
| |
| * tree-ssa-threadupdate.c (dump_jump_thread_path): Pretty print |
| EDGE_FSM_THREAD. |
| (verify_seme): New. |
| (duplicate_seme_region): New. |
| (thread_through_all_blocks): Generate code for EDGE_FSM_THREAD edges |
| calling duplicate_seme_region. |
| |
| * tree-ssa-threadupdate.h (jump_thread_edge_type): Add EDGE_FSM_THREAD. |
| |
| 2015-01-14 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2015-01-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/64513 |
| * config/i386/i386.c (ix86_expand_prologue): Add |
| REG_FRAME_RELATED_EXPR to %rax and %r10 pushes. |
| |
| 2015-01-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/64286 |
| * ree.c (combine_reaching_defs): Move part of comment earlier, |
| remove !SCALAR_INT_MODE_P check. |
| (add_removable_extension): Don't add vector mode |
| extensions if all uses of the source register aren't the same |
| vector extensions. |
| |
| 2015-01-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/64563 |
| * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE |
| instead of != VR_VARYING. |
| |
| 2015-01-14 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2015-01-13 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/64391 |
| * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE. |
| |
| 2015-01-13 Marc Glisse <marc.glisse@inria.fr> |
| |
| PR c++/54442 |
| * tree.c (build_qualified_type): Use a canonical type for |
| TYPE_CANONICAL. |
| |
| 2015-01-13 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline |
| 2014-12-20 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/64358 |
| * config/rs6000/rs6000.c (rs6000_split_logical_inner): Swap the |
| input operands if only the second is inverted. |
| * config/rs6000/rs6000.md (*boolc<mode>3_internal1 for BOOL_128): |
| Swap BOOL_REGS_OP1 and BOOL_REGS_OP2. Correct arguments to |
| rs6000_split_logical. |
| (*boolc<mode>3_internal2 for TI2): Swap operands[1] and operands[2]. |
| |
| 2015-01-13 Renlin Li <renlin.li@arm.com> |
| |
| Backport from mainline: |
| 2014-11-19 Renlin Li <renlin.li@arm.com> |
| |
| PR target/63424 |
| * config/aarch64/aarch64-simd.md (<su><maxmin>v2di3): New. |
| |
| 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport form mainline |
| 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/64479 |
| * rtlanal.c (set_reg_p): Handle SEQUENCE constructs. |
| |
| 2015-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/64536 |
| * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate |
| tablejumps. |
| |
| 2015-01-09 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline: |
| 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/64505 |
| * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the |
| correct reload handler if -m32 -mpowerpc64 is used. |
| |
| 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline: |
| 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__ |
| for -mcpu=e6500. |
| * config/rs6000/t-rtems: Add e6500 multilibs. |
| |
| 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline: |
| 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for |
| MPC8540. |
| |
| 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline: |
| 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of |
| MULTILIB_EXCEPTIONS. |
| |
| 2015-01-09 Renlin Li <renlin.li@arm.com> |
| |
| Backport from mainline: |
| 2014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR target/61413 |
| * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix definition |
| of __ARM_SIZEOF_WCHAR_T. |
| |
| 2015-01-08 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/64507 |
| * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length. |
| |
| 2015-01-03 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint |
| instead of `m' constraint. Likewise for unnamed movb comparison |
| patterns using reg_before_reload_operand predicate. |
| * config/pa/predicates.md (reg_before_reload_operand): Tighten |
| predicate to reject register index and LO_SUM DLT memory forms |
| after reload. |
| |
| 2014-12-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline: |
| 2014-12-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/64409 |
| * config/i386/i386.c (ix86_function_type_abi): Issue an error |
| when ms_abi attribute is used with x32. |
| |
| 2014-12-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/mmx.md (*vec_extractv2sf_1): Do not emit unpckhps. |
| Emit movshdup for SSE3 and shufps otherwise. |
| (*vec_extractv2si_1): Do not emit punpckhdq and unpckhps. |
| Emit pshufd for SSE2 and shufps otherwise. |
| |
| 2014-12-24 Nick Clifton <nickc@redhat.com> |
| |
| Backport from mainline: |
| 2014-06-13 Nick Clifton <nickc@redhat.com> |
| |
| * config/rx/rx.h (JUMP_ALIGN): Return the log value if user |
| requested alignment is active. |
| (LABEL_ALIGN): Likewise. |
| (LOOP_ALIGN): Likewise. |
| |
| 2014-03-25 Nick Clifton <nickc@redhat.com> |
| |
| * config/rx/rx.c (rx_print_operand): Allow R operator to accept |
| SImode values. |
| |
| 2014-12-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| Backport from mainline |
| 2014-12-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| PR rtl-optimization/64010 |
| * reload.c (push_reload): Before reusing a register contained |
| in an operand as input reload register, ensure that it is not |
| used in CALL_INSN_FUNCTION_USAGE. |
| |
| 2014-12-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/64265 |
| * tsan.c (instrument_func_entry): Insert __tsan_func_entry |
| call on edge from entry block to single succ instead |
| of after labels of single succ of entry block. |
| |
| 2014-12-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backported from mainline |
| 2014-12-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR rtl-optimization/64037 |
| * combine.c (setup_incoming_promotions): Pass the argument |
| before any promotions happen to promote_function_mode. |
| |
| 2014-12-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backported from mainline |
| 2014-12-06 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/64200 |
| * config/i386/i386.c (decide_alg): Don't assert "alg != libcall" |
| for TARGET_INLINE_STRINGOPS_DYNAMICALLY. |
| |
| 2014-12-13 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2014-12-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/64269 |
| * tree-ssa-forwprop.c (simplify_builtin_call): Bail out if |
| len2 or diff are too large. |
| |
| 2014-12-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/md.texi (Insn Lengths): Fix description of (pc). |
| |
| 2014-12-11 Renlin Li <renlin.li@arm.com> |
| |
| Backport from mainline |
| 2014-12-11 Renlin Li <renlin.li@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_parse_cpu): Don't define |
| selected_tune. |
| (aarch64_override_options): Use selected_cpu's tuning. |
| |
| 2014-12-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2014-09-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-builtin.def (XVCVSXDDP_SCALE): New |
| built-in definition. |
| (XVCVUXDDP_SCALE): Likewise. |
| (XVCVDPSXDS_SCALE): Likewise. |
| (XVCVDPUXDS_SCALE): Likewise. |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add |
| entries for VSX_BUILTIN_XVCVSXDDP_SCALE, |
| VSX_BUILTIN_XVCVUXDDP_SCALE, VSX_BUILTIN_XVCVDPSXDS_SCALE, and |
| VSX_BUILTIN_XVCVDPUXDS_SCALE. |
| * config/rs6000/rs6000-protos.h (rs6000_scale_v2df): New |
| prototype. |
| * config/rs6000/rs6000.c (real.h): New include. |
| (rs6000_scale_v2df): New function. |
| * config/rs6000/vsx.md (UNSPEC_VSX_XVCVSXDDP): New unspec. |
| (UNSPEC_VSX_XVCVUXDDP): Likewise. |
| (UNSPEC_VSX_XVCVDPSXDS): Likewise. |
| (UNSPEC_VSX_XVCVDPUXDS): Likewise. |
| (vsx_xvcvsxddp_scale): New define_expand. |
| (vsx_xvcvsxddp): New define_insn. |
| (vsx_xvcvuxddp_scale): New define_expand. |
| (vsx_xvcvuxddp): New define_insn. |
| (vsx_xvcvdpsxds_scale): New define_expand. |
| (vsx_xvcvdpsxds): New define_insn. |
| (vsx_xvcvdpuxds_scale): New define_expand. |
| (vsx_xvcvdpuxds): New define_insn. |
| * doc/extend.texi (vec_ctf): Add new prototypes. |
| (vec_cts): Likewise. |
| (vec_ctu): Likewise. |
| (vec_splat): Likewise. |
| (vec_div): Likewise. |
| (vec_mul): Likewise. |
| |
| Backport from mainline |
| 2014-08-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.h (vec_xl): New #define. |
| (vec_xst): Likewise. |
| * config/rs6000/rs6000-builtin.def (XXSPLTD_V2DF): New built-in. |
| (XXSPLTD_V2DI): Likewise. |
| (DIV_V2DI): Likewise. |
| (UDIV_V2DI): Likewise. |
| (MUL_V2DI): Likewise. |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add |
| entries for VSX_BUILTIN_XVRDPI, VSX_BUILTIN_DIV_V2DI, |
| VSX_BUILTIN_UDIV_V2DI, VSX_BUILTIN_MUL_V2DI, |
| VSX_BUILTIN_XXSPLTD_V2DF, and VSX_BUILTIN_XXSPLTD_V2DI). |
| * config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTD): New unspec. |
| (UNSPEC_VSX_DIVSD): Likewise. |
| (UNSPEC_VSX_DIVUD): Likewise. |
| (UNSPEC_VSX_MULSD): Likewise. |
| (vsx_mul_v2di): New insn-and-split. |
| (vsx_div_v2di): Likewise. |
| (vsx_udiv_v2di): Likewise. |
| (vsx_xxspltd_<mode>): New insn. |
| |
| Backport from mainline |
| 2014-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.h (vec_cpsgn): New #define. |
| (vec_mergee): Likewise. |
| (vec_mergeo): Likewise. |
| (vec_cntlz): Likewise. |
| * config/rs600/rs6000-c.c (altivec_overloaded_builtins): Add new |
| entries for VEC_AND, VEC_ANDC, VEC_MERGEH, VEC_MERGEL, VEC_NOR, |
| VEC_OR, VEC_PACKSU, VEC_XOR, VEC_PERM, VEC_SEL, VEC_VCMPGT_P, |
| VMRGEW, and VMRGOW. |
| * doc/extend.texi: Document various forms of vec_cpsgn, |
| vec_splats, vec_and, vec_andc, vec_mergeh, vec_mergel, vec_nor, |
| vec_or, vec_perm, vec_sel, vec_sub, vec_xor, vec_all_eq, |
| vec_all_ge, vec_all_gt, vec_all_le, vec_all_lt, vec_all_ne, |
| vec_any_eq, vec_any_ge, vec_any_gt, vec_any_le, vec_any_lt, |
| vec_any_ne, vec_mergee, vec_mergeo, vec_packsu, and vec_cntlz. |
| |
| Backport from mainline |
| 2014-07-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (unspec enum): Fix typo in UNSPEC_VSLDOI. |
| (altivec_vsldoi_<mode>): Likewise. |
| |
| |
| 2014-12-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/62021 |
| * omp-low.c (simd_clone_adjust_return_type): Use |
| vector of pointer_sized_int_node types instead vector of pointer |
| types. |
| (simd_clone_adjust_argument_types): Likewise. |
| |
| 2014-12-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline: |
| 2014-12-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR middle-end/64225 |
| * tree-ssa-reassoc.c (acceptable_pow_call): Disable transformation |
| for BUILT_IN_POW when flag_errno_math is present. |
| |
| 2014-12-10 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2014-12-10 Marek Polacek <polacek@redhat.com> |
| |
| PR tree-optimization/61686 |
| * tree-ssa-reassoc.c (range_entry_cmp): Use q->high instead of |
| p->high. |
| |
| 2014-12-09 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backport from mainline |
| 2014-12-05 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_LOCAL): Append |
| alignment to section name. Increase default alignment to |
| word. |
| |
| 2014-12-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR bootstrap/64213 |
| Revert: |
| 2014-11-28 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR rtl-optimization/64037 |
| * combine.c (setup_incoming_promotions): Pass the argument |
| before any promotions happen to promote_function_mode. |
| |
| 2014-12-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64191 |
| * tree-vect-stmts.c (vect_stmt_relevant_p): Clobbers are |
| not relevant (nor are their uses). |
| |
| 2014-12-07 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2014-12-07 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/50751 |
| * config/sh/sh.md (extendqihi2): Allow only for TARGET_SH1. |
| |
| 2014-12-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2014-12-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/64108 |
| * config/i386/i386.c (decide_alg): Stop only if there aren't |
| any usable algorithms. |
| |
| 2014-12-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2014-11-28 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR rtl-optimization/64037 |
| * combine.c (setup_incoming_promotions): Pass the argument |
| before any promotions happen to promote_function_mode. |
| |
| 2014-12-04 Tobias Burnus <burnus@net-b.de> |
| |
| * configure.ac |
| (ac_has_isl_schedule_constraints_compute_schedule): |
| New check. |
| * graphite-clast-to-gimple.c: For ISL 0.14, include deprecate headers. |
| * graphite-interchange.c: Ditto. |
| * graphite-poly.c: Ditto. |
| * graphite-sese-to-poly.c: Ditto. |
| * graphite-optimize-isl.c (getScheduleForBandList): Ditto. |
| Conditionally use ISL 0.13+ functions. |
| * config.in: Regenerate. |
| * configure: Regenerate. |
| |
| 2014-12-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/56493 |
| * convert.c (convert_to_real, convert_to_expr, convert_to_complex): |
| Handle COMPOUND_EXPR. |
| |
| 2014-12-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/59708 |
| * expmed.c (expand_widening_mult): Return const0_rtx if |
| coeff is 0. |
| |
| 2014-12-03 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/64153 |
| * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Check |
| type sizes before view_converting. |
| |
| 2014-12-03 Shanyao Chen <chenshanyao@huawei.com> |
| |
| Backport from mainline |
| 2014-11-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR target/59593 |
| * config/arm/arm.md (*movhi_insn): Use right formatting |
| for immediate. |
| |
| 2014-11-19 Felix Yang <felix.yang@huawei.com> |
| Shanyao Chen <chenshanyao@huawei.com> |
| |
| PR target/59593 |
| * config/arm/arm.md (define_attr "arch"): Add v6t2. |
| (define_attr "arch_enabled"): Add test for the above. |
| (*movhi_insn_arch4): Add new alternative. |
| |
| 2014-12-03 Renlin Li <Renlin.Li@arm.com> |
| |
| Backported from mainline |
| 2014-12-03 Renlin Li <Renlin.Li@arm.com> |
| |
| PR middle-end/63762 |
| PR target/63661 |
| * ira.c (ira): Update preferred class. |
| |
| 2014-12-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/64113 |
| * config/alpha/alpha.md (call_value_osf_tlsgd): Do not split insn |
| using post-reload splitter. Use peephole2 pass instead. |
| (call_value_osf_tlsldm): Ditto. |
| (TLS_CALL): New int iterator. |
| (tls): New int attribute. |
| (call_value_osf_<tls>): Merge insn pattern from call_value_osf_tlsgd |
| and call_value_tlsldm using TLS_CALL int iterator. |
| |
| 2014-12-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| PR target/64115 |
| * config/rs6000/rs6000.c (rs6000_delegitimize_address): Remove |
| invalid UNSPEC_TOCREL sanity check under ENABLE_CHECKING. |
| |
| 2014-12-01 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/64111 |
| * tree.c (int_cst_hash_hash): Use TYPE_UID instead of |
| htab_hash_pointer to not break PCH. |
| |
| 2014-12-01 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/63551 |
| * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Convert |
| value of the argument to the type of the value in the condition. |
| |
| 2014-11-28 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2014-11-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/64067 |
| * expr.c (expand_expr_addr_expr_1) <case COMPOUND_LITERAL_EXPR>: |
| Handle it by returning address of COMPOUND_LITERAL_EXPR_DECL |
| not only if modifier is EXPAND_INITIALIZER, but whenever |
| COMPOUND_LITERAL_EXPR_DECL is non-NULL and TREE_STATIC. |
| |
| 2014-11-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/63915 |
| * tree-vect-stmts.c (vectorizable_simd_clone_call): Pass |
| true instead of false as last argument to gsi_replace. |
| |
| PR sanitizer/63913 |
| * ubsan.c: Include tree-eh.h. |
| (instrument_bool_enum_load): Handle loads that can throw. |
| |
| 2014-10-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/63659 |
| * ree.c (update_reg_equal_equiv_notes): New function. |
| (combine_set_extension, transform_ifelse): Use it. |
| |
| 2014-11-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| Backport from mainline. |
| 2014-11-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| * config/arm/t-aprofile (MULTILIB_MATCHES): New entry for |
| -march=armv8-a+crc. |
| |
| 2014-11-26 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/63738 |
| * tree-data-ref.c (split_constant_offset_1): Do not follow |
| SSA edges for SSA names with SSA_NAME_OCCURS_IN_ABNORMAL_PHI. |
| |
| 2014-11-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2014-11-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/62238 |
| * tree-predcom.c (ref_at_iteration): Unshare the expression |
| before gimplifying it. |
| |
| 2014-11-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/61927 |
| * tree-vect-loop.c (vect_analyze_loop_2): Revert ordering |
| of group and pattern analysis to the one in GCC 4.8. |
| |
| 2014-11-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/63605 |
| * fold-const.c (fold_binary_loc): Properly use element_precision |
| for types that may not be scalar. |
| |
| 2014-10-28 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/63665 |
| * fold-const.c (fold_comparison): Properly guard simplifying |
| against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS. |
| |
| 2014-11-25 Rohit <rohitarulraj@freescale.com> |
| |
| PR bootstrap/63703 |
| * config/rs6000/darwin.h (REGISTER_NAMES): Update based on 32 newly |
| added GCC hard register numbers for SPE high registers. |
| |
| 2014-11-23 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2014-11-23 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/53976 |
| * config/sh/sh_optimize_sett_clrt.cc |
| (sh_optimize_sett_clrt::find_last_ccreg_values): Return bool instead |
| of void. Abort at complex edges. |
| (sh_optimize_sett_clrt::execute): Do nothing if find_last_ccreg_values |
| returned false. |
| |
| 2014-11-22 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2014-11-22 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/63783 |
| PR target/51244 |
| * config/sh/sh_treg_combine.cc (sh_treg_combine::make_not_reg_insn): |
| Do not emit bitwise not insn. Emit logical not insn sequence instead. |
| Adjust related comments throughout the file. |
| |
| 2014-11-22 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2014-11-20 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/60111 |
| * config/sh/sh.c: Use signed char for signed field. |
| |
| 2014-11-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| * params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200. |
| * config/i386/i386.c (ix86_option_override_internal): Do not increase |
| PARAM_MAX_COMPLETELY_PEELED_INSNS. |
| |
| 2014-11-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/63673 |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Allow |
| the base pointer of vec_vsx_ld and vec_vsx_st to take a pointer to |
| double. |
| |
| 2014-11-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/61750 |
| * tree-ssa-forwprop.c (simplify_vce): Verify type sizes |
| match for the resulting VIEW_CONVERT_EXPR. |
| |
| 2014-11-19 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| PR target/61915 |
| * config/aarch64/aarch64.c (generic_regmove_cost): Increase FP move |
| cost. |
| |
| 2014-11-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/63947 |
| * config/i386/i386.c (put_condition_code) <case LTU, case GEU>: |
| Output "b" and "nb" suffix for FP mode. |
| |
| 2014-11-19 Tom de Vries <tom@codesourcery.com> |
| |
| Backport from mainline |
| PR tree-optimization/62167 |
| * tree-ssa-tail-merge.c (stmt_local_def): Handle statements with vuse |
| conservatively. |
| (gimple_equal_p): Don't use vn_valueize to compare for lhs equality of |
| assigns. |
| |
| 2014-11-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Move around. |
| * doc/tm.texi: Regenerate. |
| |
| 2014-11-14 Felix Yang <felix.yang@huawei.com> |
| |
| Backport from mainline |
| 2014-11-14 Felix Yang <felix.yang@huawei.com> |
| Jiji Jiang <jiangjiji@huawei.com> |
| |
| * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): Use |
| VALL mode iterator instead of VALLDI. |
| |
| 2014-11-13 Teresa Johnson <tejohnson@google.com> |
| |
| PR tree-optimization/63841 |
| * tree-ssa-strlen.c (strlen_optimize_stmt): Ignore clobbers. |
| |
| 2014-11-13 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| Backport from mainline |
| 2014-11-02 Michael Collison <michael.collison@linaro.org> |
| |
| * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update |
| to support vector modes. |
| (CTZ_DEFINED_VALUE_AT_ZERO): Ditto. |
| |
| 2014-11-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/tm.texi.in (SELECT_CC_MODE): Update example. |
| (REVERSIBLE_CC_MODE): Fix example. |
| (REVERSE_CONDITION): Fix typo. |
| * doc/tm.texi: Regenerate. |
| |
| 2014-11-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/63838 |
| * ipa-pure-const.c (propagate_nothrow): Walk w->indirect_calls |
| chain instead of node->indirect_calls. |
| |
| 2014-11-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/61535 |
| * config/sparc/sparc.c (function_arg_vector_value): Deal with vectors |
| smaller than 8 bytes. |
| (sparc_function_arg_1): Tweak. |
| (sparc_function_value_1): Tweak. |
| |
| 2014-11-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/arm/arm.c (arm_set_return_address): Mark the store as frame |
| related, if any. |
| (thumb_set_return_address): Likewise. |
| |
| 2014-11-07 Daniel Hellstrom <daniel@gaisler.com> |
| |
| * config.gcc (sparc-*-rtems*): Clean away unused t-elf. |
| * config/sparc/t-rtems: Add leon3v7 and muser-mode multilibs. |
| |
| 2014-11-07 Marek Polacek <polacek@redhat.com> |
| |
| Backported from mainline |
| 2014-10-23 Marek Polacek <polacek@redhat.com> |
| |
| * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR |
| in unsigned type. |
| |
| 2014-11-06 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (trap): New insn. Add "trap" to attribute type. |
| Don't allow trap insn in in_branch_delay, in_nullified_branch_delay |
| or in_call_delay. |
| |
| 2014-11-06 Daniel Hellstrom <daniel@gaisler.com> |
| |
| * config.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor. |
| * doc/invoke.texi (SPARC options): Add mcpu=leon3v7 comment. |
| * config/sparc/leon.md (leon3_load, leon_store, leon_fp_*): Handle |
| leon3v7 as leon3. |
| * config/sparc/sparc-opts.h (enum processor_type): Add LEON3V7. |
| * config/sparc/sparc.c (sparc_option_override): Add leon3v7 support. |
| * config/sparc/sparc.h (TARGET_CPU_leon3v7): New define. |
| * config/sparc/sparc.md (cpu): Add leon3v7. |
| * config/sparc/sparc.opt (enum processor_type): Add leon3v7. |
| |
| 2014-11-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/63538 |
| * config/i386/i386.c (in_large_data_p): Reject automatic variables. |
| (ix86_encode_section_info): Do not check for non-automatic varibles |
| when setting SYMBOL_FLAG_FAR_ADDR flag. |
| (x86_64_elf_select_section): Do not check ix86_cmodel here. |
| (x86_64_elf_unique_section): Ditto. |
| (x86_elf_aligned_common): Emit tab before .largecomm. |
| |
| 2014-11-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2014-10-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| * varasm.c (const_alias_set): Remove. |
| (init_varasm_once): Remove initialization of const_alias_set. |
| (build_constant_desc): Do not set alias set to const_alias_set. |
| |
| Backport from mainline: |
| 2014-10-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/63475 |
| * alias.c (true_dependence_1): Always use get_addr to extract |
| true address operands from x_addr and mem_addr. Use extracted |
| address operands to check for references with alignment ANDs. |
| Use extracted address operands with find_base_term and |
| base_alias_check. For noncanonicalized operands call canon_rtx with |
| extracted address operand. |
| (write_dependence_1): Ditto. |
| (may_alias_p): Ditto. Remove unused calls to canon_rtx. |
| |
| Backport from mainline: |
| 2014-10-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/63483 |
| * alias.c (true_dependence_1): Do not exit early for MEM_READONLY_P |
| references when alignment ANDs are involved. |
| (write_dependence_p): Ditto. |
| (may_alias_p): Ditto. |
| |
| 2014-11-04 Jiong Wang <jiong.wang@arm.com> |
| 2014-11-04 Wilco Dijkstra <wilco.dijkstra@arm.com> |
| |
| PR target/63293 |
| * config/aarch64/aarch64.c (aarch64_expand_epiloue): Add barriers before |
| stack adjustment. |
| |
| 2014-10-31 DJ Delorie <dj@redhat.com> |
| |
| * expmed.c (strict_volatile_bitfield_p): Fix off-by-one error. |
| |
| 2014-10-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64-elf-raw.h (CA53_ERR_835769_SPEC): Define. |
| (LINK_SPEC): Include CA53_ERR_835769_SPEC. |
| * config/aarch64/aarch64-linux.h (CA53_ERR_835769_SPEC): Define. |
| (LINK_SPEC): Include CA53_ERR_835769_SPEC. |
| |
| 2014-10-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/63697 |
| * tree-vrp.c (simplify_internal_call_using_ranges): For subcode == |
| MINUS_EXPR, check overflow on vr0.min - vr1.max and vr0.max - vr1.min |
| instead of vr0.min - vr1.min and vr0.max - vr1.max. |
| |
| 2014-10-30 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR63633 |
| * config/avr/avr-protos.h (regmask): New inline function. |
| (avr_fix_inputs, avr_emit3_fix_outputs): New protos. |
| * config/avr/avr.c (avr_fix_operands, avr_move_fixed_operands) |
| (avr_fix_inputs, avr_emit3_fix_outputs): New functions. |
| * config/avr/avr-fixed.md (mulqq3_nomul, muluqq3_nomul) |
| (mul<ALL2QA>3, mul<ALL4A>3, <usdiv><ALL1Q>3, <usdiv><ALL2QA>3) |
| (<usdiv><ALL4A>3, round<ALL124QA>3): Fix input operands. |
| * config/avr/avr-dimode.md (add<ALL8>3, sub<ALL8>3) |
| (<ss_addsub><ALL8S>3, <us_addsub><ALL8U>3, cbranch<ALL8>4) |
| (<di_shifts><ALL8>3, <any_extend>mulsidi3): Fix input operands. |
| * config/avr/avr.md (mulqi3_call, mulhi3_call, mulsi3, mulpsi3) |
| (mulu<QIHI>si3, muls<QIHI>si3, mulohisi3, <any_extend>mulhisi3) |
| (usmulhisi3, <any_extend>mulhi3_highpart, mulsqipsi3) |
| (fmul, fmuls, fmulsu): Fix operands. Turn insn into expander as |
| needed. |
| |
| 2014-10-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 4.9.3. |
| * DEV-PHASE: Set to prerelease. |
| |
| 2014-10-30 Release Manager |
| |
| * GCC 4.9.2 released. |
| |
| 2014-10-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Restore |
| recog state after aarch64_prev_real_insn call. |
| |
| 2014-10-27 Guozhi Wei <carrot@google.com> |
| |
| PR tree-optimization/63530 |
| tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Set |
| pointer alignment according to DR_MISALIGNMENT. |
| |
| 2014-10-25 Yury Gribov <y.gribov@samsung.com> |
| |
| PR sanitizer/63638 |
| * asan.c (enum asan_check_flags): Fixed ASAN_CHECK_LAST. |
| |
| 2014-10-24 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| PR bootstrap/63632 |
| * collect2.c (main): Filter out -fno-lto. |
| |
| 2014-10-22 Richard Biener <rguenther@suse.de> |
| Tobias Burnus <burnus@net-b.de> |
| |
| PR lto/63603 |
| * gcc.c (LINK_COMMAND_SPEC): Add %{fno-lto}. |
| |
| 2014-10-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/63563 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Bail out |
| if either dra or drb stmts are not normal loads/stores. |
| |
| 2014-10-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * asan.c (instrument_derefs): Allow instrumentation of odd-sized |
| accesses even for -fsanitize=address. |
| (execute_sanopt): Only allow use_calls for -fsanitize=kernel-address. |
| |
| PR tree-optimization/63302 |
| * tree-ssa-reassoc.c (optimize_range_tests_xor, |
| optimize_range_tests_diff): Use !integer_pow2p () instead of |
| tree_log2 () < 0. |
| |
| 2014-10-16 Yury Gribov <y.gribov@samsung.com> |
| |
| * asan.c (instrument_derefs): Enable unaligned path for KASan. |
| |
| 2014-10-16 Yury Gribov <y.gribov@samsung.com> |
| |
| Backport from mainline |
| 2014-10-03 Yury Gribov <y.gribov@samsung.com> |
| |
| * asan.c (asan_finish_file): Disable __asan_init calls for KASan; |
| don't emit empty ctors. |
| |
| 2014-10-16 Yury Gribov <y.gribov@samsung.com> |
| |
| Backport from mainline |
| 2014-09-01 Yury Gribov <y.gribov@samsung.com> |
| |
| PR sanitizer/61897 |
| PR sanitizer/62140 |
| |
| * asan.c (asan_mem_ref_get_end): Handle non-ptroff_t lengths. |
| (build_check_stmt): Likewise. |
| (instrument_strlen_call): Likewise. |
| (asan_expand_check_ifn): Likewise and fix types. |
| (maybe_cast_to_ptrmode): New function. |
| |
| 2014-10-16 Yury Gribov <y.gribov@samsung.com> |
| |
| Backport from mainline |
| 2014-08-18 Yury Gribov <y.gribov@samsung.com> |
| |
| PR sanitizer/62089 |
| |
| * asan.c (instrument_derefs): Fix bitfield check. |
| |
| 2014-10-16 Yury Gribov <y.gribov@samsung.com> |
| |
| Backport from mainline |
| 2014-08-11 Yury Gribov <y.gribov@samsung.com> |
| |
| * asan.c (asan_check_flags): New enum. |
| (build_check_stmt_with_calls): Removed function. |
| (build_check_stmt): Split inlining logic to |
| asan_expand_check_ifn. |
| (instrument_derefs): Rename parameter. |
| (instrument_mem_region_access): Rename parameter. |
| (instrument_strlen_call): Likewise. |
| (asan_expand_check_ifn): New function. |
| (asan_instrument): Remove old code. |
| (pass_sanopt::execute): Change handling of |
| asan-instrumentation-with-call-threshold. |
| (asan_clear_shadow): Fix formatting. |
| (asan_function_start): Likewise. |
| (asan_emit_stack_protection): Likewise. |
| * doc/invoke.texi (asan-instrumentation-with-call-threshold): |
| Update description. |
| * internal-fn.c (expand_ASAN_CHECK): New function. |
| * internal-fn.def (ASAN_CHECK): New internal function. |
| * params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD): |
| Update description. |
| (PARAM_ASAN_USE_AFTER_RETURN): Likewise. |
| * tree.c: Small comment fix. |
| |
| 2014-10-16 Yury Gribov <y.gribov@samsung.com> |
| |
| Backport from mainline |
| 2014-08-11 Yury Gribov <y.gribov@samsung.com> |
| |
| * gimple.c (gimple_call_fnspec): Support internal functions. |
| (gimple_call_return_flags): Use const. |
| * Makefile.in (GTFILES): Add internal-fn.h to list of GC files. |
| * internal-fn.def: Add fnspec information. |
| * internal-fn.h (internal_fn_fnspec): New function. |
| (init_internal_fns): Declare new function. |
| * internal-fn.c (internal_fn_fnspec_array): New global variable. |
| (init_internal_fns): New function. |
| * tree-core.h: Update macro call. |
| * tree.c (build_common_builtin_nodes): Initialize internal fns. |
| |
| Backport from mainline |
| 2014-08-12 Yury Gribov <y.gribov@samsung.com> |
| |
| * internal-fn.c (init_internal_fns): Fix off-by-one. |
| |
| 2014-10-16 Yury Gribov <y.gribov@samsung.com> |
| |
| Backport from mainline |
| 2014-07-31 Yury Gribov <y.gribov@samsung.com> |
| |
| * doc/cpp.texi (__SANITIZE_ADDRESS__): Updated description. |
| * doc/invoke.texi (-fsanitize=kernel-address): Describe new option. |
| * flag-types.h (SANITIZE_USER_ADDRESS, SANITIZE_KERNEL_ADDRESS): |
| New enums. |
| * gcc.c (sanitize_spec_function): Support new option. |
| (SANITIZER_SPEC): Remove now redundant check. |
| * opts.c (common_handle_option): Support new option. |
| (finish_options): Check for incompatibilities. |
| * toplev.c (process_options): Split userspace-specific checks. |
| |
| 2014-10-16 Yury Gribov <y.gribov@samsung.com> |
| |
| Backport from mainline |
| 2014-06-24 Max Ostapenko <m.ostapenko@partner.samsung.com> |
| |
| * asan.c (instrument_strlen_call): Do not instrument first byte in |
| strlen if already instrumented. |
| |
| 2014-10-16 Yury Gribov <y.gribov@samsung.com> |
| |
| Backport from mainline |
| 2014-06-16 Yury Gribov <y.gribov@samsung.com> |
| |
| * asan.c (check_func): New function. |
| (maybe_create_ssa_name): Likewise. |
| (build_check_stmt_with_calls): Likewise. |
| (use_calls_p): Likewise. |
| (report_error_func): Change interface. |
| (build_check_stmt): Allow non-integer lengths; add support |
| for new parameter. |
| (asan_instrument): Likewise. |
| (instrument_mem_region_access): Moved code to |
| build_check_stmt. |
| (instrument_derefs): Likewise. |
| (instrument_strlen_call): Likewise. |
| * cfgcleanup.c (old_insns_match_p): Add support for new |
| functions. |
| * doc/invoke.texi: Describe new parameter. |
| * params.def: Define new parameter. |
| * params.h: Likewise. |
| * sanitizer.def: Describe new builtins. |
| |
| Backport from mainline |
| 2014-06-16 Yury Gribov <y.gribov@samsung.com> |
| |
| * asan.c (build_check_stmt): Fix maybe-uninitialized warning. |
| |
| Backport from mainline |
| 2014-06-18 Yury Gribov <y.gribov@samsung.com> |
| |
| PR sanitizer/61530 |
| |
| * asan.c (build_check_stmt): Add condition. |
| |
| Backport from mainline |
| 2014-06-18 Yury Gribov <y.gribov@samsung.com> |
| |
| PR sanitizer/61547 |
| |
| * asan.c (instrument_strlen_call): Fixed instrumentation of |
| trailing byte. |
| |
| 2014-10-16 Yury Gribov <y.gribov@samsung.com> |
| |
| Backport from mainline |
| 2014-05-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * asan.c (report_error_func): Add SLOW_P argument, use |
| BUILT_IN_ASAN_*_N if set. |
| (build_check_stmt): Likewise. |
| (instrument_derefs): If T has insufficient alignment, |
| force same handling as for odd sizes. |
| |
| 2014-10-16 Yury Gribov <y.gribov@samsung.com> |
| |
| Backport from mainline |
| 2014-05-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N, |
| BUILT_IN_ASAN_REPORT_STORE_N): New. |
| * asan.c (struct asan_mem_ref): Change access_size type to |
| HOST_WIDE_INT. |
| (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call, |
| update_mem_ref_hash_table): Likewise. |
| (asan_mem_ref_hasher::hash): Hash in a HWI. |
| (report_error_func): Change size_in_bytes argument to HWI. |
| Use *_N builtins if size_in_bytes is larger than 16 or not power of |
| two. |
| (build_shadow_mem_access): New function. |
| (build_check_stmt): Use it. Change size_in_bytes argument to HWI. |
| Handle size_in_bytes not power of two or larger than 16. |
| (instrument_derefs): Don't give up if size_in_bytes is not |
| power of two or is larger than 16. |
| |
| 2014-10-15 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/63448 |
| * lra-int.h (LRA_MAX_CONSTRAINT_ITERATION_NUMBER): Remove. |
| (LRA_MAX_ASSIGNMENT_ITERATION_NUMBER): New. |
| (LRA_MAX_INHERITANCE_PASSES): Use it. |
| (lra_constraint_iter_after_spill): Remove. |
| (lra_assignment_iter): New. |
| (lra_assignment_iter_after_spill): New. |
| * lra-assigns.c (lra_assignment_iter): New. |
| (lra_assignment_iter_after_spill): New. |
| (former_reload_pseudo_spill_p): New. |
| (spill_for): Set up former_reload_pseudo_spill_p. |
| (setup_live_pseudos_and_spill_after_risky): Ditto. |
| (assign_by_spills): Ditto. |
| (lra_assign): Increment lra_assignment_iter. Print the iteration |
| number. Reset former_reload_pseudo_spill_p. Check |
| lra_assignment_iter_after_spill. |
| * lra.c (lra): Remove lra_constraint_iter_after_spill. Initialize |
| lra_assignment_iter and lra_assignment_iter_after_spill. |
| * lra-constraints.c (lra_constraint_iter_after_spill): Remove. |
| (lra_constraints): Remove code with |
| lra_assignment_iter_after_spill. |
| |
| 2014-10-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * stor-layout.c (self_referential_size): Do not promote arguments. |
| |
| 2014-10-15 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2014-08-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/62031 |
| * tree-data-ref.c (dr_analyze_indices): Do not set |
| DR_UNCONSTRAINED_BASE. |
| (dr_may_alias_p): All indirect accesses have to go the |
| formerly DR_UNCONSTRAINED_BASE path. |
| * tree-data-ref.h (struct indices): Remove |
| unconstrained_base member. |
| (DR_UNCONSTRAINED_BASE): Remove. |
| |
| 2014-10-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline r215880 |
| 2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): |
| Issue a warning message when vec_lvsl or vec_lvsr is used with a |
| little endian target. |
| |
| Backport from mainline r215882 |
| 2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * altivec.md (altivec_lvsl): New define_expand. |
| (altivec_lvsl_direct): Rename define_insn from altivec_lvsl. |
| (altivec_lvsr): New define_expand. |
| (altivec_lvsr_direct): Rename define_insn from altivec_lvsr. |
| * rs6000.c (rs6000_expand_builtin): Change to use |
| altivec_lvs[lr]_direct; remove commented-out code. |
| |
| 2014-10-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/63379 |
| * tree-vect-slp.c (vect_get_constant_vectors): Do not compute |
| a neutral operand for min/max when it is not a reduction chain. |
| |
| 2014-10-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2014-10-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * configure.ac: Add --enable-fix-cortex-a53-835769 option. |
| * configure: Regenerate. |
| * config/aarch64/aarch64.c (aarch64_override_options): Handle |
| TARGET_FIX_ERR_A53_835769_DEFAULT. |
| * config/aarch64/aarch64.opt (mfix-cortex-a53-835769): Set Init |
| value to 2. |
| * doc/install.texi (aarch64*-*-*): Document new |
| --enable-fix-cortex-a53-835769 option. |
| |
| 2014-10-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2014-10-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/aarch64/aarch64.h (FINAL_PRESCAN_INSN): Define. |
| (ADJUST_INSN_LENGTH): Define. |
| * config/aarch64/aarch64.opt (mfix-cortex-a53-835769): New option. |
| * config/aarch64/aarch64.c (is_mem_p): New function. |
| (is_memory_op): Likewise. |
| (aarch64_prev_real_insn): Likewise. |
| (is_madd_op): Likewise. |
| (dep_between_memop_and_curr): Likewise. |
| (aarch64_madd_needs_nop): Likewise. |
| (aarch64_final_prescan_insn): Likewise. |
| * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-835769 |
| and -mno-fix-cortex-a53-835769 options. |
| |
| 2014-10-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/63380 |
| * tree-ssa-tail-merge.c (stmt_local_def): Exclude stmts that |
| may trap. |
| |
| 2014-10-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/61969 |
| * tree-nrv.c (pass_nrv::execute): Properly test for automatic |
| variables. |
| |
| 2014-10-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-10-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/57003 |
| * regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg, |
| also check CALL_INSN_FUNCTION_USAGE for clobbers again after |
| killing regs_invalidated_by_call. |
| |
| 2014-10-08 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2014-10-08 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/52941 |
| * config/sh/sync.md (atomic_exchangesi_hard, atomic_exchange<mode>_hard, |
| atomic_fetch_<fetchop_name>si_hard, |
| atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nandsi_hard, |
| atomic_fetch_nand<mode>_hard, atomic_<fetchop_name>_fetchsi_hard, |
| atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetchsi_hard, |
| atomic_nand_fetch<mode>_hard): Add missing set of T_REG. |
| |
| 2014-10-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/61144 |
| * varpool.c (ctor_for_folding): Do not fold WEAK symbols. |
| |
| 2014-10-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/62121 |
| * ipa-devirt.c (restrict_to_inner_class): Do not ICE when type is |
| unknown. |
| |
| 2014-10-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/62026 |
| * lto-streamer-out.c (lto_output): Handle thunks correctly. |
| * cgraphclones.c (duplicate_thunk_for_node): Get thunk's arguments. |
| |
| 2014-10-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libgomp/61200 |
| * omp-low.c (taskreg_contexts): New variable. |
| (scan_omp_parallel): Push newly created context into taskreg_contexts |
| vector and move record layout code to finish_taskreg_scan. |
| (scan_omp_task): Likewise. |
| (finish_taskreg_scan): New function. |
| (execute_lower_omp): Call finish_taskreg_scan on all taskreg_contexts |
| vector elements and release it. |
| |
| 2014-10-02 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/63375 |
| * tree-sra.c (build_access_from_expr_1): Disqualify volatile |
| references. |
| |
| 2014-10-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/63342 |
| * dwarf2out.c (loc_list_from_tree): Handle TARGET_MEM_REF and |
| SSA_NAME. |
| |
| PR target/63428 |
| * config/i386/i386.c (expand_vec_perm_pshufb): Fix up rperm[0] |
| argument to avx2_permv2ti. |
| |
| PR c++/63306 |
| Backported from mainline |
| 2014-08-01 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR regression/61510 |
| * cgraphunit.c (analyze_functions): Use get_create rather than get |
| for decls which are clones of abstract functions. |
| |
| 2014-10-01 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2014-09-18 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR debug/63285 |
| * haifa-sched.c (schedule_block): Advance cycle at the end of BB |
| if advance != 0. |
| |
| 2014-09-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR tree-optimization/63186 |
| * ipa-split.c (test_nonssa_use): Skip nonforced labels. |
| (mark_nonssa_use): Likewise. |
| (verify_non_ssa_vars): Verify all header blocks for label |
| definitions. |
| |
| 2014-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2014-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.md (*store_minmaxsi): Disable for arm_restrict_it. |
| |
| 2014-10-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-09-30 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (fmodxf3): Enable for flag_finite_math_only only. |
| (fmod<mode>3): Ditto. |
| (fpremxf4_i387): Ditto. |
| (reminderxf3): Ditto. |
| (reminder<mode>3): Ditto. |
| (fprem1xf4_i387): Ditto. |
| |
| 2014-09-30 David Malcolm <dmalcolm@redhat.com> |
| |
| PR plugins/63410 |
| * Makefile.in (PLUGIN_HEADERS): Add pass-instances.def. |
| |
| 2014-09-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR inline-asm/63282 |
| * ifcvt.c (dead_or_predicable): Don't call redirect_jump_1 |
| or invert_jump_1 if jump isn't any_condjump_p. |
| |
| 2014-09-29 James Clarke <jrtc27@jrtc27.com> |
| Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR target/61407 |
| * config/darwin-c.c (version_as_macro): Added extra 0 for OS X 10.10 |
| and above. |
| * config/darwin-driver.c (darwin_find_version_from_kernel): Removed |
| kernel version check to avoid incrementing it after every major OS X |
| release. |
| (darwin_default_min_version): Avoid static memory buffer. |
| |
| 2014-09-29 Charles Baylis <charles.baylis@linaro.org> |
| |
| Backport from mainline r212303 |
| PR target/49423 |
| * config/arm/arm-protos.h (arm_legitimate_address_p, |
| arm_is_constant_pool_ref): Add prototypes. |
| * config/arm/arm.c (arm_legitimate_address_p): Remove static. |
| (arm_is_constant_pool_ref) New function. |
| * config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6, |
| arm_zero_extendqisi2_v6): Use Uh constraint for memory operand. |
| (arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory |
| operand and remove pool_range and neg_pool_range attributes. |
| (arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove |
| pool_range and neg_pool_range attributes. |
| * config/arm/constraints.md (Uh): New constraint. (Uq): Don't allow |
| constant pool references. |
| |
| 2014-09-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/63247 |
| * omp-low.c (lower_omp_target): For OMP_CLAUSE_MAP_POINTER |
| of ARRAY_TYPE, if not OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION |
| use the alignment of avar rather than ovar. |
| |
| 2014-09-28 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_output_function_epilogue): Only update |
| last_address when a nonnote insn is found. |
| |
| 2014-09-25 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2014-09-25 Nick Clifton <nickc@redhat.com> |
| 2014-09-25 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/62218 |
| * config/sh/sync.md (atomic_fetch_nand<mode>_soft_imask, |
| atomic_test_and_set_soft_imask): Fix typo in instruction sequence. |
| |
| 2014-09-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline r215559 |
| 2014-09-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/63335 |
| * config/rs6000/rs6000-c.c (altivec_build_resolved_builtin): |
| Exclude VSX_BUILTIN_XVCMPGEDP_P from special handling. |
| |
| 2014-09-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/63341 |
| * tree-vectorizer.h (vect_create_data_ref_ptr, |
| vect_create_addr_base_for_vector_ref): Add another tree argument |
| defaulting to NULL_TREE. |
| * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add byte_offset |
| argument, pass it down to vect_create_addr_base_for_vector_ref. |
| (vect_create_addr_base_for_vector_ref): Add byte_offset argument, |
| add that to base_offset too if non-NULL. |
| * tree-vect-stmts.c (vectorizable_load): Add byte_offset variable, |
| for dr_explicit_realign_optimized set it to vector byte size |
| - 1 instead of setting offset, pass byte_offset down to |
| vect_create_data_ref_ptr. |
| |
| 2014-09-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2014-09-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.md (f32_vsx): New mode attributes to |
| refine the constraints used on 32/64-bit floating point moves. |
| (f32_av): Likewise. |
| (f64_vsx): Likewise. |
| (f64_dm): Likewise. |
| (f64_av): Likewise. |
| (BOOL_REGS_OUTPUT): Use wt constraint for TImode instead of wa. |
| (BOOL_REGS_OP1): Likewise. |
| (BOOL_REGS_OP2): Likewise. |
| (BOOL_REGS_UNARY): Likewise. |
| (mov<mode>_hardfloat, SFmode/SDmode): Tighten down constraints for |
| 32/64-bit floating point moves. Do not use wa, instead use ww/ws |
| for moves involving VSX registers. Do not use constraints that |
| target VSX registers for decimal types. |
| (mov<mode>_hardfloat32, DFmode/DDmode): Likewise. |
| (mov<mode>_hardfloat64, DFmode/DDmode): Likewise. |
| |
| 2014-09-22 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2014-05-21 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/61272 |
| * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition. |
| |
| 2014-09-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/63328 |
| * omp-low.c (ipa_simd_modify_stmt_ops): For debug stmts |
| insert a debug source bind stmt setting DEBUG_EXPR_DECL |
| instead of a normal gimple assignment stmt. |
| |
| 2014-09-19 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk: |
| 2014-09-19 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/predicates.md (fusion_gpr_mem_load): Move testing |
| for base_reg_operand to be common between LO_SUM and PLUS. |
| (fusion_gpr_mem_combo): New predicate to match a fused address |
| that combines the addis and memory offset address. |
| |
| * config/rs6000/rs6000-protos.h (fusion_gpr_load_p): Change |
| calling signature. |
| (emit_fusion_gpr_load): Likewise. |
| |
| * config/rs6000/rs6000.c (fusion_gpr_load_p): Change calling |
| signature to pass each argument separately, rather than |
| using an operands array. Rewrite the insns found by peephole2 to |
| be a single insn, rather than hoping the insns will still be |
| together when the peephole pass is done. Drop being called via a |
| normal peephole. |
| (emit_fusion_gpr_load): Change calling signature to be called from |
| the fusion_gpr_load_<mode> insns with a combined memory address |
| instead of the peephole pass passing the addis and offset |
| separately. |
| |
| * config/rs6000/rs6000.md (UNSPEC_FUSION_GPR): New unspec for GPR |
| fusion. |
| (power8 fusion peephole): Drop support for doing power8 via a |
| normal peephole that was created by the peephole2 pass. |
| (power8 fusion peephole2): Create a new insn with the fused |
| address, so that the fused operation is kept together after |
| register allocation is done. |
| (fusion_gpr_load_<mode>): Likewise. |
| |
| 2014-09-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/62017 |
| * asan.c (transform_statements): Don't instrument clobber statements. |
| |
| 2014-09-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/63284 |
| * tree-cfgcleanup.c (fixup_noreturn_call): Don't split block |
| if there are only debug stmts after the noreturn call, instead |
| remove the debug stmts. |
| |
| 2014-09-17 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config.gcc (*-*-rtems*): Default to 'rtems' thread model. |
| Enable selection of 'posix' or no thread model. |
| |
| 2014-09-16 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/61853 |
| * config/pa/pa.c (pa_function_value): Directly handle aggregates |
| that fit exactly in a word or double word. |
| |
| 2014-09-15 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| * doc/install.texi (Options specification): add |
| --disable-libsanitizer item. |
| |
| 2014-09-12 DJ Delorie <dj@redhat.com> |
| |
| * config/msp430/msp430.md (extendhipsi2): Use 20-bit form of RLAM/RRAM. |
| (extend_and_shift1_hipsi2): Likewise. |
| (extend_and_shift2_hipsi2): Likewise. |
| |
| 2014-09-12 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/61654 |
| * cgraph.h (cgraph_analyze_function): Declare. |
| * cgraphunit.c: (analyze_function): Remove forward declaration, |
| rename to cgraph_analyze_function, made external. |
| * cgraphclones.c (duplicate_thunk_for_node): Copy arguments of the |
| new decl properly. Analyze the new thunk if it is expanded. |
| |
| 2014-09-11 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2014-09-11 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/63228 |
| * config/i386/i386.c (ix86_option_override_internal): Also turn |
| off OPTION_MASK_ABI_X32 for -m16. |
| |
| 2014-09-11 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| Backport from mainline. |
| 2014-09-11 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/arm_neon.h (vmull_high_lane_s16): Fix argument |
| types. |
| (vmull_high_lane_s32): Likewise. |
| (vmull_high_lane_u16): Likewise. |
| (vmull_high_lane_u32): Likewise. |
| |
| 2014-09-11 Alan Lawrence <alan.lawrence@arm.com> |
| |
| Backport r214946 from mainline |
| 2014-09-05 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/aarch64/aarch64.md (adddi3_aarch64): Set type to neon_add. |
| |
| 2014-09-11 Alan Lawrence <alan.lawrence@arm.com> |
| |
| Backport r214953 from mainline |
| 2014-09-05 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/aarch64/arm_neon.h (int32x1_t, int16x1_t, int8x1_t, |
| uint32x1_t, uint16x1_t, uint8x1_t): Remove typedefs. |
| |
| (vqabsb_s8, vqabsh_s16, vqabss_s32, vqaddb_s8, vqaddh_s16, vqadds_s32, |
| vqaddb_u8, vqaddh_u16, vqadds_u32, vqdmlalh_s16, vqdmlalh_lane_s16, |
| vqdmlals_s32, vqdmlslh_s16, vqdmlslh_lane_s16, vqdmlsls_s32, |
| vqdmulhh_s16, vqdmulhh_lane_s16, vqdmulhs_s32, vqdmulhs_lane_s32, |
| vqdmullh_s16, vqdmullh_lane_s16, vqdmulls_s32, vqdmulls_lane_s32, |
| vqmovnh_s16, vqmovns_s32, vqmovnd_s64, vqmovnh_u16, vqmovns_u32, |
| vqmovnd_u64, vqmovunh_s16, vqmovuns_s32, vqmovund_s64, vqnegb_s8, |
| vqnegh_s16, vqnegs_s32, vqrdmulhh_s16, vqrdmulhh_lane_s16, |
| vqrdmulhs_s32, vqrdmulhs_lane_s32, vqrshlb_s8, vqrshlh_s16, |
| vqrshls_s32, vqrshlb_u8, vqrshlh_u16, vqrshls_u32, vqrshrnh_n_s16, |
| vqrshrns_n_s32, vqrshrnd_n_s64, vqrshrnh_n_u16, vqrshrns_n_u32, |
| vqrshrnd_n_u64, vqrshrunh_n_s16, vqrshruns_n_s32, vqrshrund_n_s64, |
| vqshlb_s8, vqshlh_s16, vqshls_s32, vqshlb_u8, vqshlh_u16, vqshls_u32, |
| vqshlb_n_s8, vqshlh_n_s16, vqshls_n_s32, vqshlb_n_u8, vqshlh_n_u16, |
| vqshls_n_u32, vqshlub_n_s8, vqshluh_n_s16, vqshlus_n_s32, |
| vqshrnh_n_s16, vqshrns_n_s32, vqshrnd_n_s64, vqshrnh_n_u16, |
| vqshrns_n_u32, vqshrnd_n_u64, vqshrunh_n_s16, vqshruns_n_s32, |
| vqshrund_n_s64, vqsubb_s8, vqsubh_s16, vqsubs_s32, vqsubb_u8, |
| vqsubh_u16, vqsubs_u32, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, |
| vuqaddb_s8, vuqaddh_s16, vuqadds_s32): Replace all int{32,16,8}x1_t |
| with int{32,16,8}_t. |
| |
| 2014-09-11 Jason Merrill <jason@redhat.com> |
| |
| PR c++/58678 |
| * ipa-devirt.c (ipa_devirt): Don't check DECL_COMDAT. |
| |
| 2014-09-11 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2014-09-11 trunk r215152. |
| |
| PR target/63223 |
| * config/avr/avr.md (*tablejump.3byte-pc): New insn. |
| (*tablejump): Restrict to !AVR_HAVE_EIJMP_EICALL. Add void clobber. |
| (casesi): Expand to *tablejump.3byte-pc if AVR_HAVE_EIJMP_EICALL. |
| |
| 2014-09-10 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2014-09-10 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/vsx.md (vsx_fmav4sf4): Use correct constraints for |
| V2DF, V4SF, DF, and DI modes. |
| (vsx_fmav2df2): Likewise. |
| (vsx_float_fix_<mode>2): Likewise. |
| (vsx_reduc_<VEC_reduc_name>_v2df_scalar): Likewise. |
| |
| 2014-09-10 Xinliang David Li <davidxl@google.com> |
| |
| Backport from mainline |
| PR target/63209 |
| * config/arm/arm.md (movcond_addsi): Handle case where source |
| and target operands are the same. |
| |
| 2014-09-10 Alan Modra <amodra@gmail.com> |
| |
| PR debug/60655 |
| * dwarf2out.c (mem_loc_descriptor <PLUS>): Return NULL if addend |
| can't be output. |
| |
| 2014-09-09 Bill Schmidt <wschmidt@us.ibm.com> |
| |
| Backported from mainline |
| 2014-09-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/vsx.md (*vsx_extract_<mode>_load): Always match |
| selection of 0th memory doubleword, regardless of endianness. |
| |
| 2014-09-09 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| Backport from mainline |
| 2014-09-09 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * doc/invoke.texi (-march): Use GNU/Linux rather than Linux. |
| (-mtune): Likewise. |
| (-mcpu): Likewise. |
| |
| 2014-09-09 Jason Merrill <jason@redhat.com> |
| |
| PR c++/61214 |
| PR c++/62224 |
| * gimple-fold.c (can_refer_decl_in_current_unit_p): Don't allow |
| reference to a DECL_EXTERNAL COMDAT. |
| |
| 2014-09-09 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2014-08-05 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/61672 |
| * emit-rtl.h (mem_attrs_eq_p): Declare. |
| * emit-rtl.c (mem_attrs_eq_p): Export. Handle NULL mem-attrs. |
| * cse.c (exp_equiv_p): Use mem_attrs_eq_p. |
| * cfgcleanup.c (merge_memattrs): Likewise. |
| Include emit-rtl.h. |
| |
| 2014-08-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/62075 |
| * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly |
| handle uses in patterns. |
| |
| 2014-08-14 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/62079 |
| * recog.c (peephole2_optimize): If peep2_do_cleanup_cfg |
| run cleanup_cfg. |
| |
| 2014-08-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/62175 |
| * tree-ssa-loop-niter.c (expand_simple_operations): Do not |
| expand possibly trapping operations. |
| |
| 2014-09-08 DJ Delorie <dj@redhat.com> |
| |
| * doc/invoke.texi (MSP430 Options): Add -minrt. |
| |
| 2014-09-05 Easwaran Raman <eraman@google.com> |
| |
| Backport from mainline |
| PR rtl-optimization/62146 |
| * ifcvt.c (dead_or_predicable): Make removal of REG_EQUAL note of |
| hoisted instruction unconditional. |
| |
| 2014-09-04 Guozhi Wei <carrot@google.com> |
| |
| PR target/62040 |
| * config/aarch64/iterators.md (VQ_NO2E, VQ_2E): New iterators. |
| * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Split |
| it into two patterns. |
| (move_lo_quad_internal_be_<mode>): Likewise. |
| |
| 2014-09-03 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/62015 |
| * ipa-cp.c (intersect_aggregates_with_edge): Handle impermissible |
| pass-trough jump functions correctly. |
| |
| 2014-09-03 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/61986 |
| * ipa-cp.c (find_aggregate_values_for_callers_subset): Chain |
| created replacements in ascending order of offsets. |
| (known_aggs_to_agg_replacement_list): Likewise. |
| |
| 2014-09-02 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline |
| 2014-08-27 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/62261 |
| * config/sh/sh.md (ashlsi3): Handle negative shift count for |
| TARGET_SHMEDIA. |
| (ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise. |
| |
| 2014-09-02 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline |
| 2014-08-25 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/62111 |
| * config/sh/predicates.md (general_extend_operand): Disable |
| TRUNCATE before reload completes. |
| |
| 2014-09-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2014-09-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/62312 |
| * config/sh/sh.md (*cmp_div0s_0): Add missing constraints. |
| |
| 2014-09-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/62025 |
| * sched-deps.c (add_or_update_dep_1): If ask_dependency_caches |
| returned DEP_PRESENT, make sure to set DEP_MULTIPLE on present_dep. |
| (find_inc): Revert 2014-08-12 change. |
| |
| * config/gnu-user.h (LIBLSAN_EARLY_SPEC): Define. |
| * gcc.c (LIBLSAN_SPEC, LIBLSAN_EARLY_SPEC): Follow LIBTSAN*_SPEC. |
| (SANITIZER_EARLY_SPEC): Include LIBLSAN_EARLY_SPEC for -fsanitize=leak. |
| |
| 2014-09-01 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2014-08-21 Marek Polacek <polacek@redhat.com> |
| |
| PR c/61271 |
| * expr.c (is_aligning_offset): Remove logical not. |
| |
| 2014-09-01 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2014-08-19 Marek Polacek <polacek@redhat.com> |
| |
| PR c/61271 |
| * cgraphunit.c (handle_alias_pairs): Fix condition. |
| |
| 2014-08-30 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_assemble_integer): Don't add PLABEL relocation |
| prefix to function labels when generating fast indirect calls. |
| |
| 2014-08-29 Yvan Roux <yvan.roux@linaro.org> |
| |
| Backport from mainline |
| 2014-08-27 Yvan Roux <yvan.roux@linaro.org> |
| |
| PR other/62248 |
| * config.gcc (arm*-*-*): Check --with-fpu against arm-fpus.def. |
| |
| 2014-08-27 Guozhi Wei <carrot@google.com> |
| |
| PR target/62262 |
| * config/aarch64/aarch64.md (*andim_ashift<mode>_bfiz): Check the shift |
| amount before using it. |
| |
| 2014-08-26 Joel Sherrill <joel.sherrill@oarcorp.com> |
| |
| * doc/invoke.texi: -fno-cxa-atexit should be -fno-use-cxa-atexit. |
| |
| 2014-08-26 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2014-08-26 Marek Polacek <polacek@redhat.com> |
| |
| PR c/61271 |
| * tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT, |
| LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Wrap in parens. |
| |
| 2014-08-24 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2014-08-24 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/61996 |
| * config/sh/sh.opt (musermode): Allow negative form. |
| * config/sh/sh.c (sh_option_override): Disable TARGET_USERMODE for |
| targets that don't support it. |
| * doc/invoke.texi (SH Options): Rename sh-*-linux* to sh*-*-linux*. |
| Document -mno-usermode option. |
| |
| 2014-08-23 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/62038 |
| * config/pa/pa.c (pa_output_function_epilogue): Don't set |
| last_address when the current function is a thunk. |
| (pa_asm_output_mi_thunk): When we don't have named sections or they |
| are not being used, check that thunk can reach the stub table with a |
| short branch. |
| |
| 2014-08-22 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2014-08-22 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/62195 |
| * doc/md.texi (Machine Constraints): Update PowerPC wi constraint |
| documentation to state it is only for VSX operations. |
| |
| * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi |
| constraint only active if VSX. |
| |
| * config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of |
| wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions. |
| (lfiwzx): Likewise. |
| |
| 2014-08-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-08-19 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.md (*ctz<mode>2_falsedep_1): Don't clear |
| destination if it is used in source. |
| (*clz<mode>2_lzcnt_falsedep_1): Likewise. |
| (*popcount<mode>2_falsedep_1): Likewise. |
| |
| Backport from mainline |
| 2014-08-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/62011 |
| * config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): |
| New tune flag. |
| * config/i386/i386.h (TARGET_AVOID_FALSE_DEP_FOR_BMI): New define. |
| * config/i386/i386.md (unspec) <UNSPEC_INSN_FALSE_DEP>: New unspec. |
| (ffs<mode>2): Do not expand with tzcnt for |
| TARGET_AVOID_FALSE_DEP_FOR_BMI. |
| (ffssi2_no_cmove): Ditto. |
| (*tzcnt<mode>_1): Disable for TARGET_AVOID_FALSE_DEP_FOR_BMI. |
| (ctz<mode>2): New expander. |
| (*ctz<mode>2_falsedep_1): New insn_and_split pattern. |
| (*ctz<mode>2_falsedep): New insn. |
| (*ctz<mode>2): Rename from ctz<mode>2. |
| (clz<mode>2_lzcnt): New expander. |
| (*clz<mode>2_lzcnt_falsedep_1): New insn_and_split pattern. |
| (*clz<mode>2_lzcnt_falsedep): New insn. |
| (*clz<mode>2): Rename from ctz<mode>2. |
| (popcount<mode>2): New expander. |
| (*popcount<mode>2_falsedep_1): New insn_and_split pattern. |
| (*popcount<mode>2_falsedep): New insn. |
| (*popcount<mode>2): Rename from ctz<mode>2. |
| (*popcount<mode>2_cmp): Remove. |
| (*popcountsi2_cmp_zext): Ditto. |
| |
| 2014-08-20 Martin Jambor <mjambor@suse.cz> |
| Wei Mi <wmi@google.com> |
| |
| PR ipa/60449 |
| PR middle-end/61776 |
| * tree-ssa-operands.c (update_stmt_operands): Remove |
| MODIFIED_NORETURN_CALLS. |
| * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): New func. |
| (cleanup_control_flow_bb): Use cleanup_call_ctrl_altering_flag. |
| (split_bb_on_noreturn_calls): Renamed from split_bbs_on_noreturn_calls. |
| (cleanup_tree_cfg_1): Use split_bb_on_noreturn_calls. |
| * tree-ssanames.h: Remove MODIFIED_NORETURN_CALLS. |
| * gimple.h (enum gf_mask): Add GF_CALL_CTRL_ALTERING. |
| (gimple_call_set_ctrl_altering): New func. |
| (gimple_call_ctrl_altering_p): Ditto. |
| * tree-cfg.c (gimple_call_initialize_ctrl_altering): Ditto. |
| (make_blocks): Use gimple_call_initialize_ctrl_altering. |
| (is_ctrl_altering_stmt): Use gimple_call_ctrl_altering_p. |
| (execute_fixup_cfg): Use gimple_call_ctrl_altering_p and |
| remove MODIFIED_NORETURN_CALLS. |
| |
| 2014-08-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| Backport from mainline. |
| 2014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| PR target/62098 |
| * config/arm/vfp.md (*combine_vcvtf2i): Fix constraint. |
| Remove unnecessary attributes. |
| |
| 2014-08-16 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/61641 |
| * config/pa/pa-protos.h (pa_output_addr_vec, pa_output_addr_diff_vec): |
| Declare. |
| * config/pa/pa.c (pa_reorg): Remove code to insert brtab marker insns. |
| (pa_output_addr_vec, pa_output_addr_diff_vec): New. |
| * config/pa/pa.h (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): |
| Define. |
| * config/pa/pa.md (begin_brtab): Delete insn. |
| (end_brtab): Likewise. |
| |
| 2014-08-15 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline: |
| 2014-08-15 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| * doc/invoke.texi (SH options): Document missing processor variant |
| options. Remove references to Hitachi. Undocument deprecated mspace |
| option. |
| |
| 2014-08-15 Tom de Vries <tom@codesourcery.com> |
| |
| Backport from mainline: |
| 2014-08-14 Tom de Vries <tom@codesourcery.com> |
| |
| PR rtl-optimization/62004 |
| PR rtl-optimization/62030 |
| * ifcvt.c (rtx_interchangeable_p): New function. |
| (noce_try_move, noce_process_if_block): Use rtx_interchangeable_p. |
| |
| 2014-08-05 Richard Biener <rguenther@suse.de> |
| |
| * emit-rtl.h (mem_attrs_eq_p): Declare. |
| * emit-rtl.c (mem_attrs_eq_p): Export. |
| |
| 2014-08-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/62092 |
| * gimplify.c (gimplify_adjust_omp_clauses_1): Don't remove |
| OMP_CLAUSE_SHARED for global vars if the global var is mentioned |
| in OMP_CLAUSE_MAP in some outer target region. |
| |
| 2014-08-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2014-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/61713 |
| * gcc/optabs.c (expand_atomic_test_and_set): Do not try to emit |
| move to subtarget in serial version if result is ignored. |
| |
| 2014-08-14 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2014-08-12 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR middle-end/62103 |
| * gimple-fold.c (fold_ctor_reference): Don't fold in presence of |
| bitfields, that is when size doesn't match the size of type or the |
| size of the constructor. |
| |
| 2014-08-12 Felix Yang <fei.yang0953@gmail.com> |
| |
| PR tree-optimization/62073 |
| * tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has |
| a basic block. |
| |
| 2014-08-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/62025 |
| * sched-deps.c (find_inc): Check if inc_insn doesn't clobber |
| any registers that are used in mem_insn. |
| |
| 2014-08-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport patch from mainline |
| 2014-08-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/constraints.md (wh constraint): New constraint, |
| for FP registers if direct move is available. |
| (wi constraint): New constraint, for VSX/FP registers that can |
| handle 64-bit integers. |
| (wj constraint): New constraint for VSX/FP registers that can |
| handle 64-bit integers for direct moves. |
| (wk constraint): New constraint for VSX/FP registers that can |
| handle 64-bit doubles for direct moves. |
| (wy constraint): Make documentation match implementation. |
| |
| * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add |
| scalar_in_vmx_p field to simplify tests of whether SFmode or |
| DFmode can go in the Altivec registers. |
| (rs6000_hard_regno_mode_ok): Use scalar_in_vmx_p field. |
| (rs6000_setup_reg_addr_masks): Likewise. |
| (rs6000_debug_print_mode): Add debug support for scalar_in_vmx_p |
| field, and wh/wi/wj/wk constraints. |
| (rs6000_init_hard_regno_mode_ok): Setup scalar_in_vmx_p field, and |
| the wh/wi/wj/wk constraints. |
| (rs6000_preferred_reload_class): If SFmode/DFmode can go in the |
| upper registers, prefer VSX registers unless the operation is a |
| memory operation with REG+OFFSET addressing. |
| |
| * config/rs6000/vsx.md (VSr mode attribute): Add support for |
| DImode. Change SFmode to use ww constraint instead of d to allow |
| SF registers in the upper registers. |
| (VSr2): Likewise. |
| (VSr3): Likewise. |
| (VSr5): Fix thinko in comment. |
| (VSa): New mode attribute that is an alternative to wa, that |
| returns the VSX register class that a mode can go in, but may not |
| be the preferred register class. |
| (VS_64dm): New mode attribute for appropriate register classes for |
| referencing 64-bit elements of vectors for direct moves and normal |
| moves. |
| (VS_64reg): Likewise. |
| (vsx_mov<mode>): Change wa constraint to <VSa> to limit the |
| register allocator to only registers the data type can handle. |
| (vsx_le_perm_load_<mode>): Likewise. |
| (vsx_le_perm_store_<mode>): Likewise. |
| (vsx_xxpermdi2_le_<mode>): Likewise. |
| (vsx_xxpermdi4_le_<mode>): Likewise. |
| (vsx_lxvd2x2_le_<mode>): Likewise. |
| (vsx_lxvd2x4_le_<mode>): Likewise. |
| (vsx_stxvd2x2_le_<mode>): Likewise. |
| (vsx_add<mode>3): Likewise. |
| (vsx_sub<mode>3): Likewise. |
| (vsx_mul<mode>3): Likewise. |
| (vsx_div<mode>3): Likewise. |
| (vsx_tdiv<mode>3_internal): Likewise. |
| (vsx_fre<mode>2): Likewise. |
| (vsx_neg<mode>2): Likewise. |
| (vsx_abs<mode>2): Likewise. |
| (vsx_nabs<mode>2): Likewise. |
| (vsx_smax<mode>3): Likewise. |
| (vsx_smin<mode>3): Likewise. |
| (vsx_sqrt<mode>2): Likewise. |
| (vsx_rsqrte<mode>2): Likewise. |
| (vsx_tsqrt<mode>2_internal): Likewise. |
| (vsx_fms<mode>4): Likewise. |
| (vsx_nfma<mode>4): Likewise. |
| (vsx_eq<mode>): Likewise. |
| (vsx_gt<mode>): Likewise. |
| (vsx_ge<mode>): Likewise. |
| (vsx_eq<mode>_p): Likewise. |
| (vsx_gt<mode>_p): Likewise. |
| (vsx_ge<mode>_p): Likewise. |
| (vsx_xxsel<mode>): Likewise. |
| (vsx_xxsel<mode>_uns): Likewise. |
| (vsx_copysign<mode>3): Likewise. |
| (vsx_float<VSi><mode>2): Likewise. |
| (vsx_floatuns<VSi><mode>2): Likewise. |
| (vsx_fix_trunc<mode><VSi>2): Likewise. |
| (vsx_fixuns_trunc<mode><VSi>2): Likewise. |
| (vsx_x<VSv>r<VSs>i): Likewise. |
| (vsx_x<VSv>r<VSs>ic): Likewise. |
| (vsx_btrunc<mode>2): Likewise. |
| (vsx_b2trunc<mode>2): Likewise. |
| (vsx_floor<mode>2): Likewise. |
| (vsx_ceil<mode>2): Likewise. |
| (vsx_<VS_spdp_insn>): Likewise. |
| (vsx_xscvspdp): Likewise. |
| (vsx_xvcvspuxds): Likewise. |
| (vsx_float_fix_<mode>2): Likewise. |
| (vsx_set_<mode>): Likewise. |
| (vsx_extract_<mode>_internal1): Likewise. |
| (vsx_extract_<mode>_internal2): Likewise. |
| (vsx_extract_<mode>_load): Likewise. |
| (vsx_extract_<mode>_store): Likewise. |
| (vsx_splat_<mode>): Likewise. |
| (vsx_xxspltw_<mode>): Likewise. |
| (vsx_xxspltw_<mode>_direct): Likewise. |
| (vsx_xxmrghw_<mode>): Likewise. |
| (vsx_xxmrglw_<mode>): Likewise. |
| (vsx_xxsldwi_<mode>): Likewise. |
| (vsx_xscvdpspn): Tighten constraints to only use register classes |
| the types use. |
| (vsx_xscvspdpn): Likewise. |
| (vsx_xscvdpspn_scalar): Likewise. |
| |
| * config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wh, wi, |
| wj, and wk constraints. |
| (GPR_REG_CLASS_P): New helper macro for register classes targeting |
| general purpose registers. |
| |
| * config/rs6000/rs6000.md (f32_dm): Use wh constraint for SDmode |
| direct moves. |
| (zero_extendsidi2_lfiwz): Use wj constraint for direct move of |
| DImode instead of wm. Use wk constraint for direct move of DFmode |
| instead of wm. |
| (extendsidi2_lfiwax): Likewise. |
| (lfiwax): Likewise. |
| (lfiwzx): Likewise. |
| (movdi_internal64): Likewise. |
| |
| * doc/md.texi (PowerPC and IBM RS6000): Document wh, wi, wj, and |
| wk constraints. Make the wy constraint documentation match them |
| implementation. |
| |
| 2014-08-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com> |
| |
| Backport from mainline |
| 2014-08-04 Ganesh Gopalasubramanian |
| <Ganesh.Gopalasubramanian@amd.com> |
| |
| * config/i386/i386.c (ix86_option_override_internal): Add |
| PTA_RDRND and PTA_MOVBE for bdver4. |
| |
| 2014-08-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com> |
| |
| Backport from mainline |
| 2014-08-04 Ganesh Gopalasubramanian |
| <Ganesh.Gopalasubramanian@amd.com> |
| |
| * config/i386/driver-i386.c (host_detect_local_cpu): Handle AMD's extended |
| family information. Handle BTVER2 cpu with cpuid family value. |
| |
| 2014-08-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com> |
| |
| Backport from mainline |
| 2014-06-16 Ganesh Gopalasubramanian |
| <Ganesh.Gopalasubramanian@amd.com> |
| |
| * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Issue |
| instructions "vpmuludq" and "vpaddq" instead of "vpmacsdql" for |
| handling 32-bit multiplication. |
| |
| 2014-08-08 Guozhi Wei <carrot@google.com> |
| |
| * config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint. |
| |
| 2014-08-07 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Fix |
| constraint. |
| |
| 2014-08-06 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR debug/61923 |
| * haifa-sched.c (advance_one_cycle): Fix dump. |
| (schedule_block): Don't advance cycle if we are already at the |
| beginning of the cycle. |
| |
| 2014-08-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/61320 |
| * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly |
| handle misaligned loads. |
| |
| 2014-08-04 Rohit <rohitarulraj@freescale.com> |
| |
| PR target/60102 |
| * config/rs6000/rs6000.c |
| (rs6000_reg_names): Add SPE high register names. |
| (alt_reg_names): Likewise. |
| (rs6000_dwarf_register_span): For SPE high registers, replace |
| dwarf register numbers with GCC hard register numbers. |
| (rs6000_init_dwarf_reg_sizes_extra): Likewise. |
| (rs6000_dbx_register_number): For SPE high registers, return dwarf |
| register number for the corresponding GCC hard register number. |
| * config/rs6000/rs6000.h |
| (FIRST_PSEUDO_REGISTER): Update based on 32 newly added GCC hard |
| register numbers for SPE high registers. |
| (DWARF_FRAME_REGISTERS): Likewise. |
| (DWARF_REG_TO_UNWIND_COLUMN): Likewise. |
| (DWARF_FRAME_REGNUM): Likewise. |
| (FIXED_REGISTERS): Likewise. |
| (CALL_USED_REGISTERS): Likewise. |
| (CALL_REALLY_USED_REGISTERS): Likewise. |
| (REG_ALLOC_ORDER): Likewise. |
| (enum reg_class): Likewise. |
| (REG_CLASS_NAMES): Likewise. |
| (REG_CLASS_CONTENTS): Likewise. |
| (SPE_HIGH_REGNO_P): New macro to identify SPE high registers. |
| |
| 2014-08-01 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * lra-constraints.c (remove_inheritance_pseudos): Process |
| destination pseudo too. |
| |
| 2014-08-01 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2014-06-13 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/61375 |
| * tree-ssa-math-opts.c (find_bswap_or_nop_1): Cancel optimization if |
| symbolic number cannot be represented in an unsigned HOST_WIDE_INT. |
| (execute_optimize_bswap): Cancel optimization if CHAR_BIT != 8. |
| |
| 2014-08-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/61964 |
| * tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely |
| by structural equality. |
| |
| 2014-07-31 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2014-07-31 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/61844 |
| * config/sh/sh.c (sh_legitimate_address_p, |
| sh_legitimize_reload_address): Handle reg+reg address modes when |
| ALLOW_INDEXED_ADDRESS is false. |
| * config/sh/predicates.md (general_movsrc_operand, |
| general_movdst_operand): Likewise. |
| |
| 2014-07-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-07-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/61656 |
| * config/i386/i386.c (classify_argument): Don't merge classes above |
| number of words. |
| |
| 2014-07-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/alpha/elf.h: Define TARGET_UNWIND_TABLES_DEFAULT. |
| |
| 2014-07-24 Kyle McMartin <kyle@redhat.com> |
| |
| * config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define. |
| |
| 2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align_p): |
| Add prototype. |
| * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): New |
| function. Issue -Wpsabi warning if future GCC releases will use |
| different field alignment rules for this type. |
| * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Call it. |
| * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise. |
| * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise. |
| |
| 2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_function_arg_boundary): Issue |
| -Wpsabi note when encountering a type where future GCC releases |
| will apply different alignment requirements. |
| |
| 2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_function_arg): If a float argument |
| does not fit fully into floating-point registers, and there is still |
| space in the register parameter area, issue -Wpsabi note that the ABI |
| will change in a future GCC release. |
| |
| 2014-07-23 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/arm/t-rtems-eabi: Add |
| mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard, |
| mthumb/march=armv7-m/mfpu=fpv4-sp-d16/mfloat-abi=hard, |
| mbig-endian/mthumb/march=armv7-r, and |
| mbig-endian/mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard |
| multilibs. |
| |
| 2014-07-23 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| Chris Johns <chrisj@rtems.org> |
| Joel Sherrill <joel.sherrill@oarcorp.com> |
| |
| * config.gcc: Add nios2-*-rtems*. |
| * config/nios2/rtems.h: New file. |
| * gcc/config/nios2/t-rtems: New file. |
| |
| 2014-07-21 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config/rs6000/sysv4.h (LIBASAN_EARLY_SPEC): Define. |
| (LIBTSAN_EARLY_SPEC): Likewise. |
| |
| 2014-07-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-07-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/61855 |
| * config/i386/avx512fintrin.h: Move constants for mantissa extraction |
| out of #ifdef __OPTIMIZE__. |
| |
| 2014-07-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (store_field): Handle VOIDmode for calls that return values |
| in multiple locations. |
| |
| 2014-07-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * toplev.c (output_stack_usage): Adjust the location of the warning. |
| |
| 2014-07-19 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/sync.md (*membar_storeload_leon3): New insn. |
| (*membar_storeload): Disable for LEON3. |
| |
| 2014-07-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-07-16 David Wohlferd <dw@LimeGreenSocks.com> |
| |
| PR target/61662 |
| * config/i386/ia32intrin.h: Use __LP64__ to determine size of long. |
| |
| 2014-07-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-07-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/61794 |
| * config/i386/sse.md (avx512f_vextract<shuffletype>32x4_1_maskm): |
| Fix instruction constraint. |
| (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Ditto. |
| |
| 2014-07-17 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2014-07-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/61779 |
| * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Always try |
| simplifying a condition. |
| |
| 2014-07-17 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/61801 |
| * sched-deps.c (sched_analyze_2): For ASM_OPERANDS and ASM_INPUT |
| don't set reg_pending_barrier if it appears in a debug-insn. |
| |
| 2014-07-17 Hans-Peter Nilsson <hp@axis.com> |
| |
| Backport from trunk. |
| PR target/61737. |
| * config/cris/cris.c (TARGET_LEGITIMATE_CONSTANT_P) |
| (TARGET_CANNOT_FORCE_CONST_MEM): Define. |
| (cris_cannot_force_const_mem, cris_legitimate_constant_p): New |
| functions. |
| (cris_print_index, cris_print_operand, cris_constant_index_p) |
| (cris_side_effect_mode_ok): Replace CONSTANT_P with CRIS_CONSTANT_P. |
| (cris_address_cost): Ditto last CONSTANT_P. |
| (cris_symbol_type_of): Rename from cris_pic_symbol_type_of. All |
| callers changed. Yield cris_offsettable_symbol for non-PIC |
| constant symbolic expressions including labels. Yield cris_unspec |
| for all unspecs. |
| (cris_expand_pic_call_address): New parameter MARKERP. Set its |
| target to pic_offset_table_rtx for calls that will likely go |
| through PLT, const0_rtx when they can't. All callers changed. |
| Assert flag_pic. Use CONSTANT_P, not CONSTANT_ADDRESS_P, for |
| symbolic expressions to be PICified. Remove second, redundant, |
| assert on can_create_pseudo_p returning non-zero. Use |
| replace_equiv_address_nv, not replace_equiv_address, for final |
| operand update. |
| * config/cris/cris.md ("movsi"): Move variable t to pattern |
| toplevel. Adjust assert for new cris_symbol_type member. Use |
| CONSTANT_P instead of CONSTANT_ADDRESS_P. |
| ("*movsi_internal") <case 9>: Make check for valid unspec operands |
| for lapc stricter. |
| <case CRIS_UNSPEC_PCREL, CRIS_UNSPEC_PLT_PCREL>: Clear condition codes. |
| ("call", "call_value"): Use second incoming operand as a marker |
| for pic-offset-table-register being used. |
| ("*expanded_call_non_v32", "*expanded_call_v32") |
| ("*expanded_call_value_non_v32", "*expanded_call_value_v32"): For |
| second incoming operand to CALL, match cris_call_type_marker. |
| ("*expanded_call_value_side"): Ditto. Disable before reload_completed. |
| ("*expanded_call_side"): Ditto. Fix typo in comment. |
| (moverside, movemside peepholes): Check for CRIS_CONSTANT_P, not |
| CONSTANT_P. |
| * config/cris/predicates.md ("cris_call_type_marker"): New predicate. |
| * config/cris/cris.h (CRIS_CONSTANT_P): New macro. |
| (enum cris_symbol_type): Rename from cris_pic_symbol_type. All |
| users changed. Add members cris_offsettable_symbol and cris_unspec. |
| (cris_symbol_type): Rename from cris_pic_symbol_type. |
| * config/cris/constraints.md ("T"): Use CRIS_CONSTANT_P, not |
| just CONSTANT_P. |
| * config/cris/cris-protos.h (cris_symbol_type_of, |
| cris_expand_pic_call_address): Adjust prototypes. |
| (cris_legitimate_constant_p): New prototype. |
| |
| * config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override |
| an existing tmake_file. Don't add t-slibgcc and t-linux. |
| |
| 2014-07-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS |
| on the FUNCTION_DECL. |
| |
| * BASE-VER: Set to 4.9.2. |
| * DEV-PHASE: Set to prerelease. |
| |
| 2014-07-16 Release Manager |
| |
| * GCC 4.9.1 released. |
| |
| 2014-07-11 Rong Xu <xur@google.com> |
| |
| Backport r212462 trunk. |
| |
| * gcov-tool.c (gcov_output_files): Fix build error introduced in |
| commit r212448. |
| |
| 2014-07-10 Rong Xu <xur@google.com> |
| |
| Backport r212448 from trunk. |
| |
| Add gcov-tool: an offline gcda profile processing tool |
| Support. |
| * gcov-io.c (gcov_position): Make avaialble to gcov-tool. |
| (gcov_is_error): Ditto. |
| (gcov_read_string): Ditto. |
| (gcov_read_sync): Ditto. |
| * gcov-io.h: Move counter defines to gcov-counter.def. |
| * gcov-dump.c (tag_counters): Use gcov-counter.def. |
| * coverage.c: Ditto. |
| * gcov-tool.c: Offline gcda profile processing tool. |
| (unlink_gcda_file): Remove one gcda file. |
| (unlink_profile_dir): Remove gcda files from the profile path. |
| (gcov_output_files): Output gcda files to an output dir. |
| (profile_merge): Merge two profiles in directory. |
| (print_merge_usage_message): Print merge usage. |
| (merge_usage): Print merge usage and exit. |
| (do_merge): Driver for profile merge sub-command. |
| (profile_rewrite): Rewrite profile. |
| (print_rewrite_usage_message): Print rewrite usage. |
| (rewrite_usage): Print rewrite usage and exit. |
| (do_rewrite): Driver for profile rewrite sub-command. |
| (print_usage): Print gcov-info usage and exit. |
| (print_version): Print gcov-info version. |
| (process_args): Process arguments. |
| (main): Main routine for gcov-tool. |
| * Makefile.in: Build and install gcov-tool. |
| * gcov-counter.def: New file split from gcov-io.h. |
| * doc/gcc.texi: Include gcov-tool.texi. |
| * doc/gcov-tool.texi: Document for gcov-tool. |
| |
| 2014-07-10 Cary Coutant <ccoutant@google.com> |
| |
| Backport from trunk at r212211. |
| |
| * dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table |
| lookup. |
| (resolve_addr_in_expr): When replacing the rtx in a location list |
| entry, get a new address table entry. |
| (dwarf2out_finish): Call index_location_lists even if there are no |
| addr_index_table entries yet. |
| |
| 2014-07-10 Tom G. Christensen <tgc@jupiterrise.com> |
| |
| * doc/install.texi: Remove links to defunct package providers for |
| Solaris. |
| |
| 2014-07-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/53590 |
| * function.c (allocate_struct_function): Revert r188667 change. |
| |
| * gimple-low.c (lower_builtin_setjmp): Use properly-typed constant. |
| |
| 2014-07-09 Alan Lawrence <alan.lawrence@arm.com> |
| |
| Backport r211369 from trunk. |
| 2014-06-09 Alan Lawrence <alan.lawrence@arm.com> |
| |
| PR target/61062 |
| * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8, |
| vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32, |
| vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16, |
| vzip_s8, vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32, |
| vzip_f32, vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32, |
| vzipq_u8, vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16, |
| vuzp_s32, vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16, |
| vuzpq_s8, vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16, |
| vuzpq_u32, vuzpq_p8, vuzpq_p16): Correct mask for bigendian. |
| |
| |
| 2014-07-09 Alan Lawrence <alan.lawrence@arm.com> |
| |
| Backport r210219 from trunk. |
| 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/arm_neon.h: Update comment. |
| * config/arm/neon-docgen.ml: Delete. |
| * config/arm/neon-gen.ml: Delete. |
| * doc/arm-neon-intrinsics.texi: Update comment. |
| |
| 2014-07-09 Zhenqiang Chen <zhenqiang.chen@linaro.org> |
| |
| Backport r211775 from trunk. |
| 2014-06-18 Terry Guo <terry.guo@arm.com> |
| |
| PR target/61544 |
| * config/arm/arm.c (thumb1_reorg): Move to next basic block if we |
| reach the head. |
| |
| 2014-07-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/61673 |
| * combine.c (simplify_comparison): Test just mode's sign bit |
| in tmode rather than the sign bit and any bits above it. |
| |
| 2014-07-08 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| Backport r212298 from trunk. |
| 2014-07-04 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New. |
| (move_lo_quad_internal_be_<mode>): Likewise. |
| (move_lo_quad_<mode>): Convert to define_expand. |
| (aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN. |
| (aarch64_simd_move_hi_quad_be_<mode>): New. |
| (move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN. |
| (aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN. |
| (aarch64_combinez_be<mode>): New. |
| (aarch64_combine<mode>): Convert to define_expand. |
| (aarch64_combine_internal<mode>): New. |
| (aarch64_simd_combine<mode>): Remove bogus RTL description. |
| |
| 2014-07-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/61680 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): |
| Handle properly all read-write dependences with group accesses. |
| |
| PR tree-optimization/61681 |
| * tree-ssa-structalias.c (find_what_var_points_to): Expand |
| NONLOCAL inside ESCAPED. |
| |
| 2014-07-08 Alan Lawrence <alan.lawrence@arm.com> |
| |
| Backport r211502 from mainline. |
| 2014-06-10 Alan Lawrence <alan.lawrence@arm.com> |
| |
| PR target/59843 |
| * config/aarch64/aarch64-modes.def: Add V1DFmode. |
| * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): |
| Support V1DFmode. |
| |
| 2014-07-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/61725 |
| * tree-vrp.c (extract_range_basic): Don't assume vr0 is unsigned |
| range, use range_includes_zerop_p instead of integer_zerop on |
| vr0->min, only use log2 of max if min is not negative. |
| |
| 2014-07-06 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific, aarch64*-*-*): Fix markup. Reword a bit. |
| |
| 2014-07-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/61654 |
| * cgraphunit.c (expand_thunk): Call free_dominance_info. |
| |
| PR tree-optimization/61684 |
| * tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure |
| rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it. |
| |
| 2014-06-30 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2014-06-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/57233 |
| PR tree-optimization/61299 |
| * tree-vect-generic.c (get_compute_type, count_type_subparts): New |
| functions. |
| (expand_vector_operations_1): Use them. If {L,R}ROTATE_EXPR |
| would be lowered to scalar shifts, check if corresponding |
| shifts and vector BIT_IOR_EXPR are supported and don't lower |
| or lower just to narrower vector type in that case. |
| * expmed.c (expand_shift_1): Fix up handling of vector |
| shifts and rotates. |
| |
| 2014-06-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define. |
| (LANG_HOOKS_DECLS): Add it. |
| * gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP |
| has correct type. |
| * tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define. |
| * langhooks.h (struct lang_hooks_for_decls): Add |
| omp_clause_linear_ctor hook. |
| * omp-low.c (lower_rec_input_clauses): Set max_vf even if |
| OMP_CLAUSE_LINEAR_ARRAY is set. Don't fold_convert |
| OMP_CLAUSE_LINEAR_STEP. For OMP_CLAUSE_LINEAR_ARRAY in |
| combined simd loop use omp_clause_linear_ctor hook. |
| |
| 2014-06-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP, |
| OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is non-NULL. |
| <case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT. |
| (gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is non-NULL. |
| (gimplify_adjust_omp_clauses): Likewise. |
| * omp-low.c (lower_rec_simd_input_clauses, |
| lower_rec_input_clauses, expand_omp_simd): Handle non-constant |
| safelen the same as safelen(1). |
| * tree-nested.c (convert_nonlocal_omp_clauses, |
| convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED. For |
| OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree. |
| (convert_nonlocal_reference_stmt, convert_local_reference_stmt): |
| Fixup handling of GIMPLE_OMP_TARGET. |
| (convert_tramp_reference_stmt, convert_gimple_call): Handle |
| GIMPLE_OMP_TARGET. |
| |
| 2014-06-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * gimplify.c (omp_notice_variable): If n is non-NULL and no flags |
| change in ORT_TARGET region, don't jump to do_outer. |
| (struct gimplify_adjust_omp_clauses_data): New type. |
| (gimplify_adjust_omp_clauses_1): Adjust for data being |
| a struct gimplify_adjust_omp_clauses_data pointer instead |
| of tree *. Pass pre_p as a new argument to |
| lang_hooks.decls.omp_finish_clause hook. |
| (gimplify_adjust_omp_clauses): Add pre_p argument, adjust |
| splay_tree_foreach to pass both list_p and pre_p. |
| (gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for, |
| gimplify_omp_workshare, gimplify_omp_target_update): Adjust |
| gimplify_adjust_omp_clauses callers. |
| * langhooks.c (lhd_omp_finish_clause): New function. |
| * langhooks-def.h (lhd_omp_finish_clause): New prototype. |
| (LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause. |
| * langhooks.h (struct lang_hooks_for_decls): Add a new |
| gimple_seq * argument to omp_finish_clause hook. |
| * omp-low.c (scan_sharing_clauses): Call scan_omp_op on |
| non-DECL_P OMP_CLAUSE_DECL if ctx->outer. |
| (scan_omp_parallel, lower_omp_for): When adding _LOOPTEMP_ clause var, |
| add it to outer ctx's decl_map as identity. |
| * tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind. |
| * tree-nested.c (convert_nonlocal_omp_clauses, |
| convert_local_omp_clauses): Handle various OpenMP 4.0 clauses. |
| * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_MAP_TO_PSET. |
| |
| 2014-06-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/60928 |
| * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>: |
| Set lastprivate_firstprivate even if omp_private_outer_ref |
| langhook returns true. |
| <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor |
| langhook, call unshare_expr on new_var and call |
| build_outer_var_ref to get the last argument. |
| |
| 2014-05-11 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree.h (OMP_CLAUSE_LINEAR_STMT): Define. |
| * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR |
| number of operands to 3. |
| (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR. |
| * tree-nested.c (convert_nonlocal_omp_clauses, |
| convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND. |
| * gimplify.c (gimplify_scan_omp_clauses): Handle |
| OMP_CLAUSE_LINEAR_STMT. |
| * omp-low.c (lower_rec_input_clauses): Fix typo. |
| (maybe_add_implicit_barrier_cancel, lower_omp_1): Add |
| cast between Fortran boolean_type_node and C _Bool if needed. |
| |
| 2014-06-30 Jason Merrill <jason@redhat.com> |
| |
| PR c++/51253 |
| PR c++/61382 |
| * gimplify.c (gimplify_arg): Non-static. |
| * gimplify.h: Declare it. |
| |
| 2014-06-30 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| Backport from Mainline |
| 2014-06-30 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| PR target/61633 |
| * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3): |
| Add alternative; make early clobber. Adjust both split patterns |
| to use operand 0 as the working register. |
| |
| 2014-06-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/iterators.md (VCOND): Handle SI and HI modes. |
| Update comments. |
| (VCONQ): Make comment more helpful. |
| (VCON): Delete. |
| * config/aarch64/aarch64-simd.md |
| (aarch64_sqdmulh_lane<mode>): |
| Use VCOND for operands 2. Update lane checking and flipping logic. |
| (aarch64_sqrdmulh_lane<mode>): Likewise. |
| (aarch64_sq<r>dmulh_lane<mode>_internal): Likewise. |
| (aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator. |
| (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode |
| attribute of operand 3 to VCOND. |
| (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise. |
| (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise. |
| (aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise. |
| (aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise. |
| (aarch64_sqdmull2_lane<mode>_internal): Likewise. |
| (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New |
| define_insn. |
| (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise. |
| (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise. |
| (aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise. |
| (aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise. |
| (aarch64_sqdmull2_laneq<mode>_internal): Likewise. |
| (aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate |
| operand to VCOND. Update lane flipping and bounds checking logic. |
| (aarch64_sqdmlal2_lane<mode>): Likewise. |
| (aarch64_sqdmlsl_lane<mode>): Likewise. |
| (aarch64_sqdmull_lane<mode>): Likewise. |
| (aarch64_sqdmull2_lane<mode>): Likewise. |
| (aarch64_sqdmlal_laneq<mode>): Replace VCON usage with VCONQ. |
| Emit aarch64_sqdmlal_laneq<mode>_internal insn. |
| (aarch64_sqdmlal2_laneq<mode>): Emit |
| aarch64_sqdmlal2_laneq<mode>_internal insn. |
| Replace VCON with VCONQ. |
| (aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ. |
| (aarch64_sqdmlsl2_laneq<mode>): Likewise. |
| (aarch64_sqdmull_laneq<mode>): Emit |
| aarch64_sqdmull_laneq<mode>_internal insn. |
| Replace VCON with VCONQ. |
| (aarch64_sqdmull2_laneq<mode>): Emit |
| aarch64_sqdmull2_laneq<mode>_internal insn. |
| (aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ. |
| * config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type |
| of 3rd argument to int16x4_t. |
| (vqdmlalh_lane_s16): Likewise. |
| (vqdmlslh_lane_s16): Likewise. |
| (vqdmull_high_lane_s16): Likewise. |
| (vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t. |
| (vqdmlal_lane_s16): Don't create temporary int16x8_t value. |
| (vqdmlsl_lane_s16): Likewise. |
| (vqdmull_lane_s16): Don't create temporary int16x8_t value. |
| (vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t. |
| (vqdmlals_lane_s32): Likewise. |
| (vqdmlsls_lane_s32): Likewise. |
| (vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t. |
| (vqdmulls_lane_s32): Likewise. |
| (vqdmlal_lane_s32): Don't create temporary int32x4_t value. |
| (vqdmlsl_lane_s32): Likewise. |
| (vqdmull_lane_s32): Don't create temporary int32x4_t value. |
| (vqdmulhh_lane_s16): Change type of second argument to int16x4_t. |
| (vqrdmulhh_lane_s16): Likewise. |
| (vqdmlsl_high_lane_s16): Likewise. |
| (vqdmulhs_lane_s32): Change type of second argument to int32x2_t. |
| (vqdmlsl_high_lane_s32): Likewise. |
| (vqrdmulhs_lane_s32): Likewise. |
| |
| 2014-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from Mainline |
| 2014-06-20 Jakub Jelinek <jakub@redhat.com> |
| 2014-06-11 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/61306 |
| * tree-ssa-math-opts.c (struct symbolic_number): Store type of |
| expression instead of its size. |
| (do_shift_rotate): Adapt to change in struct symbolic_number. Return |
| false to prevent optimization when the result is unpredictable due to |
| arithmetic right shift of signed type with highest byte is set. |
| (verify_symbolic_number_p): Adapt to change in struct symbolic_number. |
| (find_bswap_1): Likewise. Return NULL to prevent optimization when the |
| result is unpredictable due to sign extension. |
| (find_bswap): Adapt to change in struct symbolic_number. |
| |
| 2014-06-27 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/61160 |
| * cgraphclones.c (duplicate_thunk_for_node): Removed parameter |
| args_to_skip, use those from node instead. Copy args_to_skip and |
| combined_args_to_skip from node to the new thunk. |
| (redirect_edge_duplicating_thunks): Removed parameter args_to_skip. |
| (cgraph_create_virtual_clone): Moved computation of |
| combined_args_to_skip... |
| (cgraph_clone_node): ...here, simplify it to bitmap_ior.. |
| |
| 2014-06-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-06-26 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/61586 |
| * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX. |
| |
| 2014-06-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/61542 |
| * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element |
| extraction other than index 3. |
| |
| 2014-06-26 Marc Glisse <marc.glisse@inria.fr> |
| |
| PR target/61503 |
| * config/i386/i386.md (x86_64_shrd, x86_shrd, |
| ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt. |
| |
| 2014-06-26 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| * ipa-prop.c (ipa_impossible_devirt_target): No longer static, |
| renamed to ipa_impossible_devirt_target. Fix typo. |
| * ipa-prop.h (ipa_impossible_devirt_target): Declare. |
| * ipa-cp.c (ipa_get_indirect_edge_target_1): Use |
| ipa_impossible_devirt_target. |
| |
| 2014-06-25 Cong Hou <congh@google.com> |
| |
| * tree-vectorizer.h: Fixing incorrect number of patterns. |
| |
| 2014-06-24 Cong Hou <congh@google.com> |
| |
| * tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD |
| pattern recognition. |
| (type_conversion_p): PROMOTION is true if it's a type promotion |
| conversion, and false otherwise. Return true if the given expression |
| is a type conversion one. |
| * tree-vectorizer.h: Adjust the number of patterns. |
| * tree.def: Add SAD_EXPR. |
| * optabs.def: Add sad_optab. |
| * cfgexpand.c (expand_debug_expr): Add SAD_EXPR case. |
| * expr.c (expand_expr_real_2): Likewise. |
| * gimple-pretty-print.c (dump_ternary_rhs): Likewise. |
| * gimple.c (get_gimple_rhs_num_ops): Likewise. |
| * optabs.c (optab_for_tree_code): Likewise. |
| * tree-cfg.c (estimate_operator_cost): Likewise. |
| * tree-ssa-operands.c (get_expr_operands): Likewise. |
| * tree-vect-loop.c (get_initial_def_for_reduction): Likewise. |
| * config/i386/sse.md: Add SSE2 and AVX2 expand for SAD. |
| * doc/generic.texi: Add document for SAD_EXPR. |
| * doc/md.texi: Add document for ssad and usad. |
| |
| 2014-06-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/61570 |
| * config/i386/driver-i386.c (host_detect_local_cpu): For unknown |
| model family 6 CPU with has_longmode never use a CPU without |
| 64-bit support. |
| |
| * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator |
| not mentioned in clauses use private clause if the iterator is |
| declared in #pragma omp for simd, and when adding lastprivate |
| instead, add it to the outer #pragma omp for too. Diagnose |
| if the variable is private in outer context. For simd collapse > 1 |
| loops, replace all iterators with temporaries. |
| * omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the |
| same even in collapse > 1 loops. |
| |
| 2014-06-23 Alan Modra <amodra@gmail.com> |
| |
| PR bootstrap/61583 |
| * tree-vrp.c (remove_range_assertions): Do not set is_unreachable |
| to zero on debug statements. |
| |
| 2014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>): |
| New expander. |
| (aarch64_sqrdmulh_lane<mode>): Likewise. |
| (aarch64_sq<r>dmulh_lane<mode>): Rename to... |
| (aarch64_sq<r>dmulh_lane<mode>_interna): ...this. |
| (aarch64_sqdmulh_laneq<mode>): New expander. |
| (aarch64_sqrdmulh_laneq<mode>): Likewise. |
| (aarch64_sq<r>dmulh_laneq<mode>): Rename to... |
| (aarch64_sq<r>dmulh_laneq<mode>_internal): ...this. |
| (aarch64_sqdmulh_lane<mode>): New expander. |
| (aarch64_sqrdmulh_lane<mode>): Likewise. |
| (aarch64_sq<r>dmulh_lane<mode>): Rename to... |
| (aarch64_sq<r>dmulh_lane<mode>_internal): ...this. |
| (aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian. |
| (aarch64_sqdmlal_laneq<mode>): Likewise. |
| (aarch64_sqdmlsl_lane<mode>): Likewise. |
| (aarch64_sqdmlsl_laneq<mode>): Likewise. |
| (aarch64_sqdmlal2_lane<mode>): Likewise. |
| (aarch64_sqdmlal2_laneq<mode>): Likewise. |
| (aarch64_sqdmlsl2_lane<mode>): Likewise. |
| (aarch64_sqdmlsl2_laneq<mode>): Likewise. |
| (aarch64_sqdmull_lane<mode>): Likewise. |
| (aarch64_sqdmull_laneq<mode>): Likewise. |
| (aarch64_sqdmull2_lane<mode>): Likewise. |
| (aarch64_sqdmull2_laneq<mode>): Likewise. |
| |
| 2014-06-20 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/61540 |
| * ipa-prop.c (impossible_devirt_target): New function. |
| (try_make_edge_direct_virtual_call): Use it, also instead of |
| asserting. |
| |
| 2014-06-20 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/61211 |
| * cgraph.c (clone_of_p): Allow skipped_branch to deal with |
| expanded clones. |
| |
| 2014-06-20 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| Backport from mainline |
| |
| 2014-06-20 Julian Brown <julian@codesourcery.com> |
| Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * config/arm/arm.c (arm_output_mi_thunk): Fix offset for |
| TARGET_THUMB1_ONLY. Add comments. |
| |
| 2014-06-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-06-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (decide_alg): Correctly handle |
| maximum size of stringop algorithm. |
| |
| 2014-06-18 Richard Henderson <rth@redhat.com> |
| |
| PR target/61545 |
| * config/aarch64/aarch64.md (tlsdesc_small): Clobber CC_REGNUM. |
| |
| 2014-06-17 Yufeng Zhang <yufeng.zhang@arm.com> |
| |
| PR target/61483 |
| * config/aarch64/aarch64.c (aarch64_layout_arg): Add new local |
| variable 'size'; calculate 'size' right in the front; use |
| 'size' to compute 'nregs' (when 'allocate_ncrn != 0') and |
| pcum->aapcs_stack_words. |
| |
| 2014-06-17 Nick Clifton <nickc@redhat.com> |
| |
| * config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT. |
| (umulhi3, mulsidi3, umulsidi3): Likewise. |
| |
| 2014-06-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-06-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/61423 |
| * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New |
| define_insn_and_split pattern, merged from *floatunssi<mode>2_1 |
| and corresponding splitters. Zero extend general register |
| or memory input operand to XMM temporary. Enable for |
| TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only. |
| (floatunssi<mode>2): Update expander predicate. |
| |
| 2014-06-16 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/61325 |
| * lra-constraints.c (valid_address_p): Add forward declaration. |
| (simplify_operand_subreg): Check address validity before and after |
| alter_reg of memory subreg. |
| |
| 2014-06-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR plugins/45078 |
| * config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file. |
| |
| 2014-06-13 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| |
| 2014-06-13 Peter Bergner <bergner@vnet.ibm.com> |
| PR target/61415 |
| * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete. |
| (BU_MISC_2): Rename to ... |
| (BU_LDBL128_2): ... this. |
| * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define. |
| (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128. |
| * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle |
| RS6000_BTM_LDBL128. |
| (rs6000_invalid_builtin): Add long double 128-bit builtin support. |
| (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128. |
| * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand. |
| (unpacktf_1): Likewise. |
| * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation. |
| (__builtin_longdouble_dw1): Likewise. |
| * doc/sourcebuild.texi (longdouble128): Document. |
| |
| 2014-06-13 Jeff Law <law@redhat.com> |
| |
| Backports from mainline: |
| 2014-06-13 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/61094 |
| PR rtl-optimization/61446 |
| * ree.c (combine_reaching_defs): Get the mode for the copy from |
| the extension insn rather than the defining insn. |
| |
| 2014-06-02 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/61094 |
| * ree.c (combine_reaching_defs): Do not reextend an insn if it |
| was marked as do_no_reextend. If a copy is needed to eliminate |
| an extension, then mark it as do_not_reextend. |
| |
| 2014-06-13 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/61186 |
| * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to |
| cache_token if returning early. |
| |
| 2014-06-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/61486 |
| * gimplify.c (struct gimplify_omp_ctx): Add distribute field. |
| (gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE |
| if outer combined construct is distribute. |
| (gimplify_omp_for): For OMP_DISTRIBUTE set |
| gimplify_omp_ctxp->distribute. |
| * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For |
| GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record |
| mapping into decl map. |
| |
| 2014-06-12 Jeff Law <law@redhat.com> |
| |
| Backports from mainline: |
| |
| 2014-06-12 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/61009 |
| * tree-ssa-threadedge.c (thread_through_normal_block): Correct return |
| value when we stop processing a block due to problematic PHIs. |
| |
| 2014-06-05 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/61289 |
| * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and |
| DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES |
| looking for those which match LHS. All callers changed. |
| (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP |
| parameters and code which manipulated them. All callers changed. |
| (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP |
| and DST_MAP parameters. Simplify invalidation code by just calling |
| invalidate_equivalences. All callers changed. |
| (thread_across_edge): Simplify now that we don't need to maintain |
| the map of equivalences to invalidate. |
| |
| 2014-06-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-core.h (DECL_NONALIASED): Use proper spelling in comment. |
| |
| 2014-06-12 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2014-05-14 trunk r210418 |
| * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for |
| shifted values to avoid build warning. |
| |
| 2014-06-12 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2014-05-09 trunk r210272 |
| |
| * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in |
| unsigned int initializers for regno_in, regno_out. |
| |
| Backport from 2014-06-12 trunk r211491 |
| |
| PR target/61443 |
| * config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when |
| loading from address spaces. |
| |
| 2014-06-12 Alan Modra <amodra@gmail.com> |
| |
| PR target/61300 |
| * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document. |
| * doc/tm.texi: Regenerate. |
| * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default. |
| Use throughout in place of REG_PARM_STACK_SPACE. |
| * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add |
| "incoming" param. Pass to rs6000_function_parms_need_stack. |
| (rs6000_function_parms_need_stack): Add "incoming" param, ignore |
| prototype_p when incoming. Use function decl when incoming |
| to handle K&R style functions. |
| * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust. |
| (INCOMING_REG_PARM_STACK_SPACE): Define. |
| |
| 2014-06-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/61452 |
| * tree-ssa-sccvn.c (visit_phi): Remove pointless setting of |
| expr and has_constants in case we found a leader. |
| (simplify_binary_expression): Always valueize operands first. |
| (simplify_unary_expression): Likewise. |
| |
| 2014-06-11 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/61456 |
| * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): |
| Do not use the main variant for the type comparison. |
| |
| 2014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are |
| available. |
| Simplify description of __crc32d and __crc32cd intrinsics. |
| * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32 |
| availability. |
| |
| 2014-06-07 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a |
| call statement, if any. |
| (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call |
| statements, if any. Tidy up. |
| |
| 2014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/61431 |
| * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate |
| iterators, VSX_D that handles 64-bit types, and VSX_LE that |
| handles swapping the two 64-bit double words on little endian |
| systems. Include V1TImode and optionally TImode in VSX_LE so that |
| these types are properly swapped. Change all of the insns and |
| splits that do the 64-bit swaps to use VSX_LE. |
| (vsx_le_perm_load_<mode>): Likewise. |
| (vsx_le_perm_store_<mode>): Likewise. |
| (splitters for little endian memory operations): Likewise. |
| (vsx_xxpermdi2_le_<mode>): Likewise. |
| (vsx_lxvd2x2_le_<mode>): Likewise. |
| (vsx_stxvd2x2_le_<mode>): Likewise. |
| |
| 2014-06-06 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/61325 |
| * lra-constraints.c (process_address_1): Check scale equal to one |
| to prevent transformation: base + scale * index => base + new_reg. |
| |
| 2014-06-05 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/61393 |
| * ipa-cp.c (determine_versionability): Pretend that tm_clones are |
| not versionable. |
| |
| 2014-06-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/61383 |
| * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure |
| stmts can't trap. |
| |
| 2014-06-02 Jason Merrill <jason@redhat.com> |
| |
| PR c++/61020 |
| * varpool.c (ctor_for_folding): Handle uninitialized vtables. |
| |
| 2014-06-03 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/61160 |
| * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to |
| thunks. |
| |
| 2014-06-03 Andrey Belevantsev <abel@ispras.ru> |
| |
| Backport from mainline |
| 2014-05-14 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/60866 |
| * sel-sched-ir (sel_init_new_insn): New parameter old_seqno. |
| Default it to -1. Pass it down to init_simplejump_data. |
| (init_simplejump_data): New parameter old_seqno. Pass it down |
| to get_seqno_for_a_jump. |
| (get_seqno_for_a_jump): New parameter old_seqno. Use it for |
| initializing new jump seqno as a last resort. Add comment. |
| (sel_redirect_edge_and_branch): Save old seqno of the conditional |
| jump and pass it down to sel_init_new_insn. |
| (sel_redirect_edge_and_branch_force): Likewise. |
| |
| 2014-06-03 Andrey Belevantsev <abel@ispras.ru> |
| |
| Backport from mainline |
| 2014-05-14 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/60901 |
| * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that |
| bb predecessor belongs to the same scheduling region. Adjust comment. |
| |
| 2014-06-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-06-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/61239 |
| * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use |
| GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant. |
| |
| 2014-05-29 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/61325 |
| * lra-constraints.c (process_address): Rename to |
| process_address_1. |
| (process_address): New function. |
| |
| 2014-05-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-05-26 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/61271 |
| * config/i386/i386.c (ix86_rtx_costs) |
| <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>: |
| Fix condition. |
| |
| 2014-05-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2014-05-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper |
| predicate to detect a negative quotient. |
| |
| 2014-05-28 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2014-05-28 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/61045 |
| * fold-const.c (fold_comparison): When folding |
| X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure |
| the sign of the remaining constant operand stays the same. |
| |
| 2014-05-05 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/61010 |
| * fold-const.c (fold_binary_loc): Consistently avoid |
| canonicalizing X & CST away from a CST that is the mask |
| of a mode. |
| |
| 2014-04-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60979 |
| * graphite-scop-detection.c (scopdet_basic_block_info): Reject |
| SCOPs that end in a block with a successor with abnormal |
| predecessors. |
| |
| 2014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac ($gcc_cv_ld_clearcap): New test. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| * config/sol2.opt (mclear-hwcap): New option. |
| * config/sol2.h (LINK_CLEARCAP_SPEC): Define. |
| * config/sol2-clearcap.map: Moved here from |
| testsuite/gcc.target/i386/clearcap.map. |
| * config/sol2-clearcapv2.map: Move here from |
| gcc.target/i386/clearcapv2.map. |
| * config/t-sol2 (install): Depend on install-clearcap-map. |
| (install-clearcap-map): New target. |
| * doc/invoke.texi (Option Summary, Solaris 2 Options): Document |
| -mclear-hwcap. |
| |
| 2014-05-28 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR libgcc/61152 |
| * config/dbx.h (License): Add Runtime Library Exception. |
| * config/newlib-stdint.h (License): Same. |
| * config/rtems.h (License): Same |
| * config/initfini-array.h (License): Same |
| * config/v850/v850.h (License): Same. |
| * config/v850/v850-opts.h (License): Same |
| * config/v850/rtems.h (License): Same. |
| |
| 2014-05-28 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/61044 |
| * doc/extend.texi (Local Labels): Note that label differences are |
| not supported for AVR. |
| |
| 2014-05-27 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2014-05-12 mainline r210322. |
| Backport from 2014-05-27 mainline r210959, r210969. |
| |
| PR libgcc/61152 |
| * config/arm/arm.h (License): Add GCC Runtime Library Exception. |
| * config/arm/arm-cores.def (License): Same. |
| * config/arm/arm-opts.h (License): Same. |
| * config/arm/aout.h (License): Same. |
| * config/arm/bpabi.h (License): Same. |
| * config/arm/elf.h (License): Same. |
| * config/arm/linux-elf.h (License): Same. |
| * config/arm/linux-gas.h (License): Same. |
| * config/arm/netbsd-elf.h (License): Same. |
| * config/arm/uclinux-eabi.h (License): Same. |
| * config/arm/uclinux-elf.h (License): Same. |
| * config/arm/vxworks.h (License): Same. |
| |
| 2014-05-26 Michael Tautschnig <mt@debian.org> |
| |
| PR target/61249 |
| * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of |
| __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256. |
| |
| 2014-05-22 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/61215 |
| * lra-elelimination.c (lra_eliminate_regs_1): Don't use |
| simplify_gen_subreg until final substitution. |
| |
| 2014-05-23 Alan Modra <amodra@gmail.com> |
| |
| PR target/61231 |
| * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode. |
| * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell): |
| Use "Y" constraint rather than "m". |
| |
| 2014-05-22 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/60969 |
| * ira-costs.c (record_reg_classes): Process NO_REGS for matching |
| constraints. Set up mem cost for NO_REGS case. |
| |
| 2014-05-22 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config/rs6000/htm.md (ttest): Use correct shift value to get CR0. |
| |
| 2014-05-22 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/61208 |
| * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2. |
| |
| 2014-05-22 Nick Clifton <nickc@redhat.com> |
| |
| * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options. |
| |
| 2014-05-22 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure |
| all padding bits in REAL_VALUE_TYPE are cleared. |
| |
| 2014-05-21 Guozhi Wei <carrot@google.com> |
| |
| PR target/61202 |
| * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's |
| constraint. |
| (vqdmulhq_n_s16): Likewise. |
| |
| 2014-05-21 Martin Jambor <mjambor@suse.cz> |
| |
| * doc/invoke.texi (Optimize Options): Document parameters |
| ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and |
| ipa-cp-array-index-hint-bonus. |
| |
| 2014-05-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/61252 |
| * omp-low.c (handle_simd_reference): New function. |
| (lower_rec_input_clauses): Use it. Defer adding reference |
| initialization even for reduction without placeholder if in simd, |
| handle it properly later on. |
| |
| 2014-05-20 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR bootstrap/60984 |
| * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED |
| parameter. |
| * ipa-inline.c (inline_to_all_callers): If callee was removed; return. |
| (ipa_inline): Loop inline_to_all_callers until no more aliases |
| are removed. |
| |
| 2014-05-20 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/60820 |
| * varpool.c (varpool_remove_node): Do not alter decls when streaming. |
| |
| 2014-05-20 DJ Delorie <dj@redhat.com> |
| |
| * config/msp430/msp430.md (split): Don't allow subregs when |
| splitting SImode adds. |
| (andneghi): Fix subtraction logic. |
| * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New. |
| |
| 2014-05-20 Nick Clifton <nickc@redhat.com> |
| |
| * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define. |
| (msp430_gimplify_va_arg_expr): New function. |
| (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)). |
| |
| * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on |
| operand 0 in order to prevent confusion about the number of |
| registers involved. |
| |
| 2014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.md (arith_shiftsi): Do not predicate for |
| arm_restrict_it. |
| |
| 2014-05-19 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.c (thumb1_reorg): When scanning backwards skip anything |
| that's not a proper insn. |
| |
| 2014-05-17 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa.c (symtab_remove_unreachable_nodes): Remove |
| symbol from comdat group if its body was eliminated. |
| (comdat_can_be_unshared_p_1): Static symbols can always be privatized. |
| * symtab.c (symtab_remove_from_same_comdat_group): Break out from ... |
| (symtab_unregister_node): ... this one. |
| (verify_symtab_base): More strict checking of comdats. |
| * cgraph.h (symtab_remove_from_same_comdat_group): Declare. |
| |
| 2014-05-17 Jan Hubicka <hubicka@ucw.cz> |
| |
| * opts.c (common_handle_option): Disable -fipa-reference coorectly |
| with -fuse-profile. |
| |
| 2014-05-17 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60854 |
| * ipa.c (symtab_remove_unreachable_nodes): Mark targets of |
| external aliases alive, too. |
| |
| 2014-05-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os. |
| |
| 2014-05-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-04-25 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/60969 |
| * config/i386/i386.md (*movsf_internal): Set MODE to SI for |
| alternative 12. |
| |
| 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com> |
| Philipp Tomsich <philipp.tomsich@theobroma-systems.com> |
| |
| * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename |
| to... |
| (aarch64_strip_extend): ...this, don't strip shifts, check RTX is |
| well formed. |
| (aarch64_rtx_mult_cost): New. |
| (aarch64_rtx_costs): Use it, refactor as appropriate. |
| |
| 2014-05-16 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/60969 |
| * ira-costs.c (record_reg_classes): Allow only memory for pseudo. |
| Calculate costs for this case. |
| |
| 2014-05-15 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/61193 |
| * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define. |
| (__TM_simple_begin): Use it. |
| (__TM_begin): Likewise. |
| |
| 2014-05-15 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/61085 |
| * ipa-prop.c (update_indirect_edges_after_inlining): Check |
| type_preserved flag when the indirect edge is polymorphic. |
| |
| 2014-05-15 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/60897 |
| * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC. |
| |
| 2014-05-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/61158 |
| * fold-const.c (fold_binary_loc): If X is zero-extended and |
| shiftc >= prec, make sure zerobits is all ones instead of |
| invoking undefined behavior. |
| |
| 2014-05-14 Cary Coutant <ccoutant@google.com> |
| |
| PR debug/61013 |
| * opts.c (common_handle_option): Don't special-case "-g". |
| (set_debug_level): Default to at least level 2 with "-g". |
| |
| 2014-05-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate): |
| Delete. |
| * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise. |
| * config/sparc/sparc.md (fptype_ut699): New attribute. |
| (in_branch_delay): Return false if -mfix-ut699 is specified and |
| fptype_ut699 is set to single. |
| (truncdfsf2): Add fptype_ut699 attribute. |
| (fix_truncdfsi2): Likewise. |
| (floatsisf2): Change fptype attribute. |
| (fix_truncsfsi2): Likewise. |
| (negtf2_notv9): Delete. |
| (negtf2_v9): Likewise. |
| (negtf2_hq): New instruction. |
| (negtf2): New instruction and splitter. |
| (negdf2_notv9): Rewrite. |
| (abstf2_notv9): Delete. |
| (abstf2_hq_v9): Likewise. |
| (abstf2_v9): Likewise. |
| (abstf2_hq): New instruction. |
| (abstf2): New instruction and splitter. |
| (absdf2_notv9): Rewrite. |
| |
| 2014-05-14 Matthias Klose <doko@ubuntu.com> |
| |
| Revert: |
| 2014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| Matthias Klose <doko@ubuntu.com> |
| |
| PR driver/61106 |
| * optc-gen.awk: Fix option handling for -Wunused-parameter. |
| |
| 2014-05-13 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * doc/sourcebuild.texi: (dfp_hw): Document. |
| (p8vector_hw): Likewise. |
| (powerpc_eabi_ok): Likewise. |
| (powerpc_elfv2): Likewise. |
| (powerpc_htm_ok): Likewise. |
| (ppc_recip_hw): Likewise. |
| (vsx_hw): Likewise. |
| |
| 2014-05-13 Jeff Law <law@redhat.com> |
| |
| Backports fromm mainline: |
| |
| 2014-05-08 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/61009 |
| * tree-ssa-threadedge.c (thread_through_normal_block): Return a |
| tri-state rather than a boolean. When a block is too big to |
| thread through, inform caller via negative return value. |
| (thread_across_edge): If a block was too big for normal threading, |
| then it's too big for a joiner too, so remove temporary equivalences |
| and return immediately. |
| |
| 2014-04-28 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/60902 |
| * tree-ssa-threadedge.c |
| (record_temporary_equivalences_from_stmts_at_dest): Only iterate |
| over real defs when invalidating outputs from statements that do not |
| produce useful outputs for threading. |
| |
| 2014-04-23 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/60902 |
| * tree-ssa-threadedge.c |
| (record_temporary_equivalences_from_stmts_at_dest): Make sure to |
| invalidate outputs from statements that do not produce useful |
| outputs for threading. |
| |
| 2014-05-13 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/60973 |
| * tree-inline.c (remap_gimple_stmt): Clear tail call flag, |
| it needs revisiting whether the call still may be tail-called. |
| |
| 2014-05-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/61060 |
| * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp |
| is const0_rtx, return immediately. Don't test count == 0 when |
| it is always true. |
| |
| 2014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| Backport from mainline |
| 2014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| PR target/60991 |
| * config/avr/avr.c (avr_out_store_psi): Use correct constant |
| to restore Y. |
| |
| 2014-05-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-05-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/61092 |
| * config/alpha/alpha.c: Include gimple-iterator.h. |
| (alpha_gimple_fold_builtin): New function. Move |
| ALPHA_BUILTIN_UMULH folding from ... |
| (alpha_fold_builtin): ... here. |
| (TARGET_GIMPLE_FOLD_BUILTIN): New define. |
| |
| 2014-05-09 Pitchumani Sivanupandi <Pitchumani.S@atmel.com> |
| |
| Backport from 2014-04-16 trunk r209446 |
| 2014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com> |
| |
| * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro. |
| |
| 2014-05-09 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2014-05-09 trunk r210267 |
| |
| PR target/61055 |
| * config/avr/avr.md (cc): Add new attribute set_vzn. |
| (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]: |
| Set cc insn attribute to set_vzn instead of set_zn for alternatives |
| with INC, DEC or NEG. |
| * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN. |
| (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN. |
| INC, DEC and ADD+ADC set cc0 to CC_CLOBBER. |
| |
| 2014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| Matthias Klose <doko@ubuntu.com> |
| |
| PR driver/61106 |
| * optc-gen.awk: Fix option handling for -Wunused-parameter. |
| |
| 2014-05-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/59952 |
| * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM. |
| |
| 2014-05-05 Marek Polacek <polacek@redhat.com> |
| |
| Back port from mainline |
| 2014-05-05 Marek Polacek <polacek@redhat.com> |
| |
| PR driver/61065 |
| * opts.c (common_handle_option): Call error_at instead of warning_at. |
| |
| 2014-05-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60965 |
| * ipa-devirt.c (get_class_context): Allow POD to change to non-POD. |
| |
| 2014-05-04 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define. |
| (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT. |
| (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT. |
| * config/rs6000/rs6000-builtin.def (BU_MISC_1): |
| Use RS6000_BTM_HARD_FLOAT. |
| (BU_MISC_2): Likewise. |
| * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle |
| RS6000_BTM_HARD_FLOAT. |
| (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp |
| is explicitly used. |
| (rs6000_invalid_builtin): Add hard floating builtin support. |
| (rs6000_expand_builtin): Relax the gcc_assert to allow the new |
| hard float builtins. |
| (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT. |
| |
| 2014-05-03 Joey Ye <joey.ye@arm.com> |
| |
| Backport from mainline r209463 |
| 2014-04-17 Joey Ye <joey.ye@arm.com> |
| |
| * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og. |
| |
| 2014-05-03 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Back port from mainline |
| PR target/61026 |
| * config/sh/sh.c: Include stdlib headers before everything else. |
| |
| 2014-05-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/60930 |
| * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject |
| creating a multiply candidate by folding two constant |
| multiplicands when the result overflows. |
| |
| 2014-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * gimplify.c (gimplify_adjust_omp_clauses_1): Handle |
| GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE. |
| (gimplify_adjust_omp_clauses): Simd region is never |
| directly nested in combined parallel. Instead, for linear |
| with copyin/copyout, if in combined for simd loop, make decl |
| firstprivate/lastprivate on OMP_FOR. |
| * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk, |
| expand_omp_for_static_chunk): When setting endvar, also set |
| fd->loop.v to the same value. |
| |
| 2014-05-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Back port from mainline |
| 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check |
| TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY. |
| (TARGET_SIMD): Take AARCH64_ISA_SIMD into account. |
| (TARGET_FLOAT): Take AARCH64_ISA_FP into account. |
| (TARGET_CRYPTO): Take TARGET_SIMD into account. |
| |
| 2014-04-30 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from mainline |
| 2014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * doc/extend.texi (PowerPC Built-in Functions): Document new |
| powerpc extended divide, bcd, pack/unpack 128-bit, builtin |
| functions. |
| (PowerPC AltiVec/VSX Built-in Functions): Likewise. |
| |
| * config/rs6000/predicates.md (const_0_to_3_operand): New |
| predicate to match 0..3 integer constants. |
| |
| * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros |
| to support adding miscellaneous builtin functions. |
| (BU_DFP_MISC_2): Likewise. |
| (BU_P7_MISC_1): Likewise. |
| (BU_P7_MISC_2): Likewise. |
| (BU_P8V_MISC_3): Likewise. |
| (BU_MISC_1): Likewise. |
| (BU_MISC_2): Likewise. |
| (DIVWE): Add extended divide builtin functions. |
| (DIVWEO): Likewise. |
| (DIVWEU): Likewise. |
| (DIVWEUO): Likewise. |
| (DIVDE): Likewise. |
| (DIVDEO): Likewise. |
| (DIVDEU): Likewise. |
| (DIVDEUO): Likewise. |
| (DXEX): Add decimal floating-point builtin functions. |
| (DXEXQ): Likewise. |
| (DDEDPD): Likewise. |
| (DDEDPDQ): Likewise. |
| (DENBCD): Likewise. |
| (DENBCDQ): Likewise. |
| (DIEX): Likewise. |
| (DIEXQ): Likewise. |
| (DSCLI): Likewise. |
| (DSCLIQ): Likewise. |
| (DSCRI): Likewise. |
| (DSCRIQ): Likewise. |
| (CDTBCD): Add new BCD builtin functions. |
| (CBCDTD): Likewise. |
| (ADDG6S): Likewise. |
| (BCDADD): Likewise. |
| (BCDADD_LT): Likewise. |
| (BCDADD_EQ): Likewise. |
| (BCDADD_GT): Likewise. |
| (BCDADD_OV): Likewise. |
| (BCDSUB): Likewise. |
| (BCDSUB_LT): Likewise. |
| (BCDSUB_EQ): Likewise. |
| (BCDSUB_GT): Likewise. |
| (BCDSUB_OV): Likewise. |
| (PACK_TD): Add new pack/unpack 128-bit type builtin functions. |
| (UNPACK_TD): Likewise. |
| (PACK_TF): Likewise. |
| (UNPACK_TF): Likewise. |
| (UNPACK_TF_0): Likewise. |
| (UNPACK_TF_1): Likewise. |
| (PACK_V1TI): Likewise. |
| (UNPACK_V1TI): Likewise. |
| |
| * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add |
| support for decimal floating point builtin functions. |
| (rs6000_expand_ternop_builtin): Add checks for the new builtin |
| functions that take constant arguments. |
| (rs6000_invalid_builtin): Add decimal floating point builtin |
| support. |
| (rs6000_init_builtins): Setup long double, _Decimal64, and |
| _Decimal128 types for new builtin functions. |
| (builtin_function_type): Set the unsigned flags appropriately for |
| the new builtin functions. |
| (rs6000_opt_masks): Add support for decimal floating point builtin |
| functions. |
| |
| * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal |
| floating point builtin functions. |
| (RS6000_BTM_COMMON): Likewise. |
| (RS6000_BTI_long_double): Likewise. |
| (RS6000_BTI_dfloat64): Likewise. |
| (RS6000_BTI_dfloat128): Likewise. |
| (long_double_type_internal_node): Likewise. |
| (dfloat64_type_internal_node): Likewise. |
| (dfloat128_type_internal_node): Likewise. |
| |
| * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA |
| 2.07 bcd arithmetic instructions. |
| (UNSPEC_BCDSUB): Likewise. |
| (UNSPEC_BCD_OVERFLOW): Likewise. |
| (UNSPEC_BCD_ADD_SUB): Likewise. |
| (bcd_add_sub): Likewise. |
| (BCD_TEST): Likewise. |
| (bcd<bcd_add_sub>): Likewise. |
| (bcd<bcd_add_sub>_test): Likewise. |
| (bcd<bcd_add_sub>_test2): Likewise. |
| (bcd<bcd_add_sub>_<code>): Likewise. |
| (peephole2 for combined bcd ops): Likewise. |
| |
| * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new |
| decimal floating point builtin functions. |
| (UNSPEC_DENBCD): Likewise. |
| (UNSPEC_DXEX): Likewise. |
| (UNSPEC_DIEX): Likewise. |
| (UNSPEC_DSCLI): Likewise. |
| (UNSPEC_DSCRI): Likewise. |
| (D64_D128): Likewise. |
| (dfp_suffix): Likewise. |
| (dfp_ddedpd_<mode>): Likewise. |
| (dfp_denbcd_<mode>): Likewise. |
| (dfp_dxex_<mode>): Likewise. |
| (dfp_diex_<mode>): Likewise. |
| (dfp_dscli_<mode>): Likewise. |
| (dfp_dscri_<mode>): Likewise. |
| |
| * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD |
| builtin functions. |
| (UNSPEC_CDTBCD): Likewise. |
| (UNSPEC_CBCDTD): Likewise. |
| (UNSPEC_DIVE): Add support for new extended divide builtin |
| functions. |
| (UNSPEC_DIVEO): Likewise. |
| (UNSPEC_DIVEU): Likewise. |
| (UNSPEC_DIVEUO): Likewise. |
| (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to |
| pack/unpack 128-bit types. |
| (UNSPEC_PACK_128BIT): Likewise. |
| (idiv_ldiv): New mode attribute to set the 32/64-bit divide type. |
| (udiv<mode>3): Use idiv_ldiv mode attribute. |
| (div<mode>3): Likewise. |
| (addg6s): Add new BCD builtin functions. |
| (cdtbcd): Likewise. |
| (cbcdtd): Likewise. |
| (UNSPEC_DIV_EXTEND): Add support for new extended divide |
| instructions. |
| (div_extend): Likewise. |
| (div<div_extend>_<mode>"): Likewise. |
| (FP128_64): Add support for new builtin functions to pack/unpack |
| 128-bit types. |
| (unpack<mode>): Likewise. |
| (unpacktf_0): Likewise. |
| (unpacktf_1): Likewise. |
| (unpack<mode>_dm): Likewise. |
| (unpack<mode>_nodm): Likewise. |
| (pack<mode>): Likewise. |
| (unpackv1ti): Likewise. |
| (packv1ti): Likewise. |
| |
| 2014-04-29 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline |
| 2014-04-17 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/rs6000.md (addti3, subti3): New. |
| |
| 2014-04-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/60971 |
| * tree-tailcall.c (process_assignment): Reject conversions which |
| reduce precision. |
| |
| 2014-04-29 Nick Clifton <nickc@redhat.com> |
| |
| * config/msp430/msp430.md (umulsidi): Fix typo. |
| (mulhisi3): Enable even inside interrupt handlers. |
| * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the |
| bigger return address pushed in large mode. |
| |
| 2014-04-28 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/sync.md (AINT mode_iterator): Move definition. |
| (loadsync_<mode>): Change mode. |
| (load_quadpti, store_quadpti): New. |
| (atomic_load<mode>, atomic_store<mode>): Add support for TI mode. |
| * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ. |
| |
| 2014-04-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * configure.ac: Tweak GAS check for LEON instructions on SPARC. |
| * configure: Regenerate. |
| * config/sparc/sparc.opt (muser-mode): New option. |
| * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable |
| for LEON3. |
| (atomic_compare_and_swap_leon3_1): New instruction for LEON3. |
| * doc/invoke.texi (SPARC options): Document -muser-mode. |
| |
| 2014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| * doc/install.texi (Building with profile feedback): Remove |
| outdated sentence. |
| |
| 2014-04-26 Tom de Vries <tom@codesourcery.com> |
| |
| * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds |
| array accesses. |
| |
| 2014-04-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/60960 |
| * tree-vect-generic.c (expand_vector_operation): Only call |
| expand_vector_divmod if type's mode satisfies VECTOR_MODE_P. |
| |
| 2014-04-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/60941 |
| * config/sparc/sparc.md (ashlsi3_extend): Delete. |
| |
| 2014-04-25 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/60912 |
| * tree-ssa-structalias.c (ipa_pta_execute): Compute direct |
| call stmt use/clobber sets during stmt walk instead of |
| walking the possibly incomplete set of caller edges. |
| |
| 2014-04-25 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/60911 |
| * passes.c (apply_ipa_transforms): Inline into only caller ... |
| (execute_one_pass): ... here. Properly bring in function |
| bodies for nodes we want to apply IPA transforms to. |
| |
| 2014-04-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define. |
| * gimplify.c (omp_is_private): Change last argument's type to int. |
| Only diagnose lastprivate if the simd argument is 1, only diagnose |
| linear if the simd argument is 2. |
| (gimplify_omp_for): Adjust omp_is_private callers. When adding |
| lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass |
| GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1 |
| create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var. |
| If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl |
| increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ. |
| * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle |
| OMP_CLAUSE_LINEAR_GIMPLE_SEQ. |
| * tree-nested.c (convert_nonlocal_omp_clauses, |
| convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR. |
| |
| 2014-04-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2014-04-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/60909 |
| * config/i386/i386.c (ix86_expand_builtin) |
| <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary |
| register for target RTX. |
| <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto. |
| |
| 2014-04-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60903 |
| * tree-ssa-loop-im.c (analyze_memory_references): Remove |
| commented code block. |
| (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP |
| loop flags to newly created BBs and edges. |
| |
| 2014-04-23 Nick Clifton <nickc@redhat.com> |
| |
| * config/msp430/msp430.c (msp430_handle_option): Move function |
| to msp430-common.c |
| (msp430_option_override): Simplify mcu and mcpu option handling. |
| (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add |
| support for -mhwmult command line option. |
| (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for |
| -mhwmult command line option. |
| (msp430_hwmult_enabled): Delete. |
| (msp43o_output_labelref): Add support for -mhwmult command line |
| option. |
| * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3) |
| (umulsidi3): Likewise. |
| * config/msp430/msp430.opt (mmcu): Add Report attribute. |
| (mcpu, mlarge, msmall): Likewise. |
| (mhwmult): New option. |
| * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove |
| prototype. |
| (msp430_is_f5_mcu): Remove prototype. |
| (msp430_use_f5_series_hwmult): Add prototype. |
| * config/msp430/msp430-opts.h: New file. |
| * common/config/msp430: New directory. |
| * common/config/msp430/msp430-common.c: New file. |
| * config.gcc (msp430): Remove target_has_targetm_common. |
| * doc/invoke.texi: Document -mhwmult command line option. |
| |
| 2014-04-23 Nick Clifton <nickc@redhat.com> |
| |
| * config/i386/cygwin.h (ENDFILE_SPEC): Include |
| default-manifest.o if it can be found in the search path. |
| * config/i386/mingw32.h (ENDFILE_SPEC): Likewise. |
| |
| 2014-04-23 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2014-04-14 Richard Biener <rguenther@suse.de> |
| |
| PR lto/60720 |
| * lto-streamer-out.c (wrap_refs): New function. |
| (lto_output): Wrap symbol references in global initializes in |
| type-preserving MEM_REFs. |
| |
| 2014-04-23 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60895 |
| * tree-inline.c (declare_return_variable): Use mark_addressable. |
| |
| 2014-04-23 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60891 |
| * loop-init.c (loop_optimizer_init): Make sure to apply |
| LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops. |
| |
| 2014-04-22 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/60735 |
| * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case): |
| If mode is DDmode and TARGET_E500_DOUBLE allow move. |
| |
| * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some |
| more debug information for E500 if -mdebug=reg. |
| |
| 2014-04-22 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2014-04-22 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/60868 |
| * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode |
| on count_exp to get mode. |
| |
| 2014-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for |
| little-endian. |
| (vsx_xxmrglw_<mode>): Likewise. |
| |
| 2014-04-22 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2014-04-14 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/55022 |
| * fold-const.c (negate_expr_p): Don't negate directional rounding |
| division. |
| (fold_negate_expr): Likewise. |
| |
| 2014-04-22 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2014-04-17 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60849 |
| * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective |
| boolean results for comparisons. |
| |
| 2014-04-22 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2014-04-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60841 |
| * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts. |
| * tree-vect-loop.c (vect_analyze_loop_2): Pass down number |
| of stmts to SLP build. |
| * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise. |
| (vect_analyze_slp): Likewise. |
| (vect_analyze_slp_instance): Likewise. |
| (vect_build_slp_tree): Limit overall SLP tree growth. |
| * tree-vectorizer.h (vect_analyze_data_refs, |
| vect_analyze_slp): Adjust prototypes. |
| |
| 2014-04-22 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2014-04-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60836 |
| * tree-vect-loop.c (vect_create_epilog_for_reduction): Force |
| initial PHI args to be gimple values. |
| |
| 2014-04-22 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2014-04-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59817 |
| PR tree-optimization/60453 |
| * graphite-scop-detection.c (graphite_can_represent_scev): Complete |
| recursion to catch all CHRECs in the scalar evolution and restrict |
| the predicate for the remains appropriately. |
| |
| 2014-04-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/60823 |
| * omp-low.c (ipa_simd_modify_function_body): Go through |
| all SSA_NAMEs and for those refering to vector arguments |
| which are going to be replaced adjust SSA_NAME_VAR and, |
| if it is a default definition, change it into a non-default |
| definition assigned at the beginning of function from new_decl. |
| (ipa_simd_modify_stmt_ops): Rewritten. |
| * tree-dfa.c (set_ssa_default_def): When removing default def, |
| check for NULL loc instead of NULL *loc. |
| |
| 2014-04-22 Lin Zuojian <manjian2006@gmail.com> |
| |
| PR middle-end/60281 |
| * asan.c (asan_emit_stack_protection): Force the base to align to |
| appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to |
| appropriate bits if STRICT_ALIGNMENT. |
| * cfgexpand.c (expand_stack_vars): Set base_align appropriately |
| when asan is on. |
| (expand_used_vars): Leave a space in the stack frame for alignment |
| if STRICT_ALIGNMENT. |
| |
| 2014-04-22 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2014-04-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/60844 |
| * tree-ssa-reassoc.c (reassoc_remove_stmt): New function. |
| (propagate_op_to_single_use, remove_visited_stmt_chain, |
| linearize_expr, repropagate_negates, reassociate_bb): Use it |
| instead of gsi_remove. |
| |
| 2014-04-22 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 4.9.1. |
| * DEV-PHASE: Set to prerelease. |
| |
| 2014-04-22 Release Manager |
| |
| * GCC 4.9.0 released. |
| |
| 2014-04-18 Richard Henderson <rth@redhat.com> |
| |
| * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode |
| to GET_MODE_SIZE, not a reg_class_t. |
| |
| 2014-04-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/60847 |
| Forward port from 4.8 branch |
| 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/bmiintrin.h (_blsi_u32): New. |
| (_blsi_u64): Ditto. |
| (_blsr_u32): Ditto. |
| (_blsr_u64): Ditto. |
| (_blsmsk_u32): Ditto. |
| (_blsmsk_u64): Ditto. |
| (_tzcnt_u32): Ditto. |
| (_tzcnt_u64): Ditto. |
| |
| 2014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/60839 |
| Revert the following patch |
| |
| 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/60735 |
| * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have |
| software floating point or no floating point registers, do not |
| allow any type in the FPRs. Eliminate a test for SPE SIMD types |
| in GPRs that occurs after we tested for GPRs that would never be |
| true. |
| |
| * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64): |
| Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE, |
| since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE, |
| specifically allow DDmode, since that does not use the SPE SIMD |
| instructions. |
| |
| 2014-04-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR plugins/59335 |
| * Makefile.in (PLUGIN_HEADERS): Add various headers that have been |
| added in 4.9. |
| |
| 2014-04-14 Yufeng Zhang <yufeng.zhang@arm.com> |
| |
| * doc/invoke.texi (free): Document AArch64. |
| |
| 2013-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| * DEV-PHASE: Set to prerelease. |
| |
| 2014-04-11 Tobias Burnus <burnus@net-b.de> |
| |
| PR other/59055 |
| * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana. |
| * doc/gcc.texi (Service): Update description in the @menu |
| * doc/invoke.texi (Option Summary): Remove misplaced and |
| duplicated @menu. |
| |
| 2014-04-11 Steve Ellcey <sellcey@mips.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/60556 |
| * expr.c (convert_move): Use emit_store_flag_force instead of |
| emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th |
| argument to it. |
| |
| 2014-04-11 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60797 |
| * varasm.c (assemble_alias): Avoid endless error reporting |
| recursion by setting TREE_ASM_WRITTEN. |
| |
| 2014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.md: Add a splitter for NOT rtx. |
| |
| 2014-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/60663 |
| * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL. |
| |
| 2014-04-10 Jan Hubicka <hubicka@ucw.cz> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/60567 |
| * ipa.c (function_and_variable_visibility): Copy forced_by_abi |
| flag from decl_node to node. |
| |
| 2014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR debug/60655 |
| * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define |
| (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's |
| ameliorating the cases where it can be. |
| |
| 2014-04-09 David Edelsohn <dje.gcc@gmail.com> |
| |
| Revert |
| 2014-04-08 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/sync.md (AINT mode_iterator): Move definition. |
| (loadsync_<mode>): Change mode. |
| (load_quadpti, store_quadpti): New. |
| (atomic_load<mode>, atomic_store<mode>): Add support for TI mode. |
| * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ. |
| * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI. |
| |
| 2014-04-09 Cong Hou <congh@google.com> |
| |
| PR testsuite/60773 |
| * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add |
| documentation. |
| |
| 2014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand |
| instead of vnor to exploit possible fusion opportunity in the |
| future. |
| (altivec_expand_vec_perm_const_le): Likewise. |
| |
| 2014-04-08 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/sync.md (AINT mode_iterator): Move definition. |
| (loadsync_<mode>): Change mode. |
| (load_quadpti, store_quadpti): New. |
| (atomic_load<mode>, atomic_store<mode>): Add support for TI mode. |
| * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ. |
| |
| 2014-04-08 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR target/60763 |
| * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode. |
| * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly. |
| Use gen_rtx_REG rather than simplify_gen_subreg for op0_di. |
| |
| 2014-04-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60706 |
| * tree-pretty-print.c (pp_double_int): For HWI32 hosts with |
| a 64bit widest int print double-int similar to on HWI64 hosts. |
| |
| 2014-04-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60785 |
| * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat |
| default defs properly. |
| |
| 2014-04-08 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * doc/invoke (Wnon-virtual-dtor): Update to match implementation. |
| (Weffc++): Likewise. |
| |
| 2014-04-07 Jan Hubicka <hubcika@ucw.cz> |
| |
| * ipa-devirt.c (maybe_record_node): When node is not recorded, |
| set completep to false rather than true. |
| |
| 2014-04-07 Douglas B Rupp <rupp@adacore.com> |
| |
| PR target/60504 |
| * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from |
| ARM_TARGET2_DWARF_FORMAT. |
| |
| 2014-04-07 Charles Baylis <charles.baylis@linaro.org> |
| |
| PR target/60609 |
| * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove. |
| (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after |
| ADDR_DIFF_VEC. |
| |
| 2014-04-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60766 |
| * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type. |
| (may_eliminate_iv): Convert cand_value_at result to desired type. |
| |
| 2014-04-07 Jason Merrill <jason@redhat.com> |
| |
| PR c++/60731 |
| * common.opt (-fno-gnu-unique): Add. |
| * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it. |
| |
| 2014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * haifa-sched.c: Fix outdated function reference and minor |
| grammar errors in introductory comment. |
| |
| 2014-04-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60750 |
| * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs |
| for noreturn calls. |
| * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs. |
| |
| 2014-04-06 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR debug/55794 |
| * config/pa/pa.c (pa_output_function_epilogue): Skip address and code |
| size accounting for thunks. |
| (pa_asm_output_mi_thunk): Use final_start_function() and |
| final_end_function() to output function start and end directives. |
| |
| 2014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com> |
| |
| * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have |
| device specific ISA/ feature information. Remove short_sp and |
| errata_skip ds. Add avr_device_specific_features enum to have device |
| specific info. |
| * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check |
| errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available. |
| * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for |
| updated device specific info. |
| * config/avr/avr-mcus.def: Merge device specific details to |
| dev_attribute field. |
| * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check |
| errata_skip. |
| * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info. |
| * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to |
| assembler if RMW isa supported by current device. |
| * config/avr/genmultilib.awk: Update as device info structure changed. |
| * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro |
| |
| 2014-04-04 Cong Hou <congh@google.com> |
| |
| PR tree-optimization/60656 |
| * tree-vect-stmts.c (supportable_widening_operation): |
| Fix a bug that elements in a vector with vect_used_by_reduction |
| property are incorrectly reordered when the operation on it is not |
| consistant with the one in reduction operation. |
| |
| 2014-04-04 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR rtl-optimization/60155 |
| * gcse.c (record_set_data): New function. |
| (single_set_gcse): New function. |
| (gcse_emit_move_after): Use single_set_gcse instead of single_set. |
| (hoist_code): Likewise. |
| (get_pressure_class_and_nregs): Likewise. |
| |
| 2014-04-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * explow.c (probe_stack_range): Emit a final optimization blockage. |
| |
| 2014-04-04 Anthony Green <green@moxielogic.com> |
| |
| * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix |
| typos. |
| |
| 2014-04-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59626 |
| * lto-cgraph.c (input_overwrite_node): Check that partitioning |
| flags are set only during streaming. |
| * ipa.c (process_references, walk_polymorphic_call_targets, |
| symtab_remove_unreachable_nodes): Drop bodies of always inline |
| after early inlining. |
| (symtab_remove_unreachable_nodes): Remove always_inline attribute. |
| |
| 2014-04-04 Jakub Jelinek <jakub@redhat.com> |
| Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR debug/60655 |
| * dwarf2out.c (const_ok_for_output_1): Reject expressions |
| containing a NOT. |
| |
| 2014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR bootstrap/60743 |
| * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation |
| duration. |
| (cortex_a53_fdivd): Likewise. |
| |
| 2014-04-04 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/60640 |
| * cgraph.h (cgraph_clone_node): New parameter added to declaration. |
| Adjust all callers. |
| * cgraph.c (clone_of_p): Also return true if thunks match. |
| (verify_edge_corresponds_to_fndecl): Removed extraneous call to |
| cgraph_function_or_thunk_node and an obsolete comment. |
| * cgraphclones.c (build_function_type_skip_args): Moved upwards in the |
| file. |
| (build_function_decl_skip_args): Likewise. |
| (set_new_clone_decl_and_node_flags): New function. |
| (duplicate_thunk_for_node): Likewise. |
| (redirect_edge_duplicating_thunks): Likewise. |
| (cgraph_clone_node): New parameter args_to_skip, pass it to |
| redirect_edge_duplicating_thunks which is called instead of |
| cgraph_redirect_edge_callee. |
| (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node, |
| moved setting of a lot of flags to set_new_clone_decl_and_node_flags. |
| |
| 2014-04-04 Jeff Law <law@redhat.com> |
| |
| PR target/60657 |
| * config/arm/predicates.md (const_int_I_operand): New predicate. |
| (const_int_M_operand): Similarly. |
| * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of |
| const_int_operand. |
| (insv_t2, extv_reg, extzv_t2): Likewise. |
| (load_multiple_with_writeback): Similarly for const_int_I_operand. |
| (pop_multiple_with_writeback_and_return): Likewise. |
| (vfp_pop_multiple_with_writeback): Likewise |
| |
| 2014-04-04 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/60746 |
| * tree-ssanames.c (make_ssa_name_fn): Fix assert. |
| * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for |
| non-GIMPLE_LABELs. |
| * gimplify.h (gimple_add_tmp_var_fn): Declare. |
| * gimplify.c (gimple_add_tmp_var_fn): New function. |
| * gimple-expr.h (create_tmp_reg_fn): Declare. |
| * gimple-expr.c (create_tmp_reg_fn): New function. |
| * gimple-low.c (record_vars_into): Don't change cfun. |
| * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix |
| code generation without cfun. |
| |
| 2014-04-04 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR bootstrap/60719 |
| * Makefile.in (install-driver): Fix shell scripting. |
| |
| 2014-04-03 Cong Hou <congh@google.com> |
| |
| PR tree-optimization/60505 |
| * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the |
| threshold of number of iterations below which no vectorization |
| will be done. |
| * tree-vect-loop.c (new_loop_vec_info): |
| Initialize LOOP_VINFO_COST_MODEL_THRESHOLD. |
| * tree-vect-loop.c (vect_analyze_loop_operations): |
| Set LOOP_VINFO_COST_MODEL_THRESHOLD. |
| * tree-vect-loop.c (vect_transform_loop): |
| Use LOOP_VINFO_COST_MODEL_THRESHOLD. |
| * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number |
| of iterations of the loop and see if we should build the epilogue. |
| |
| 2014-04-03 Richard Biener <rguenther@suse.de> |
| |
| * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member. |
| (streamer_tree_cache_create): Adjust. |
| * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust |
| to allow optional nodes array. |
| (streamer_tree_cache_insert_1): Use next_idx to assign idx. |
| (streamer_tree_cache_append): Likewise. |
| (streamer_tree_cache_create): Create nodes array optionally |
| as specified by parameter. |
| * lto-streamer-out.c (create_output_block): Avoid maintaining |
| the node array in the writer cache. |
| (DFS_write_tree): Remove assertion. |
| (produce_asm_for_decls): Free the out decl state hash table early. |
| * lto-streamer-in.c (lto_data_in_create): Adjust for |
| streamer_tree_cache_create prototype change. |
| |
| 2014-04-03 Richard Biener <rguenther@suse.de> |
| |
| * tree-streamer-out.c (streamer_write_chain): Do not temporarily |
| set TREE_CHAIN to NULL_TREE. |
| |
| 2014-04-03 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60740 |
| * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate |
| over all GIMPLE_COND operands. |
| |
| 2014-04-03 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation. |
| (Weffc++): Remove Scott's numbering, merge lists and reference |
| Wnon-virtual-dtor. |
| |
| 2014-04-03 Nick Clifton <nickc@redhat.com> |
| |
| * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF)) |
| properly. |
| |
| 2014-04-03 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and |
| mention gcc_unreachable before failing. |
| * ipa.c (symtab_remove_unreachable_nodes): Also print order of |
| removed symbols. |
| |
| 2014-04-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60659 |
| * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type |
| inconsistent code and instead mark the context inconsistent. |
| (possible_polymorphic_call_targets): For inconsistent contexts |
| return empty complete list. |
| |
| 2014-04-02 Anthony Green <green@moxielogic.com> |
| |
| * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2) |
| (extendqisi2, extendhisi2): Define. |
| * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0. |
| (WCHAR_TYPE): Change to unsigned int. |
| |
| 2014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/60733 |
| * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required |
| insertion point for PHI candidates to be the end of the feeding |
| block for the PHI argument. |
| |
| 2014-04-02 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/60650 |
| * lra-constraints.c (process_alt_operands): Decrease reject for |
| earlyclobber matching. |
| |
| 2014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE. |
| |
| 2014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.c (pad_bb): Do not crash when the last |
| insn is CODE_FOR_blockage. |
| |
| 2014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize |
| lies outside the target mode. |
| |
| 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/60735 |
| * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have |
| software floating point or no floating point registers, do not |
| allow any type in the FPRs. Eliminate a test for SPE SIMD types |
| in GPRs that occurs after we tested for GPRs that would never be |
| true. |
| |
| * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64): |
| Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE, |
| since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE, |
| specifically allow DDmode, since that does not use the SPE SIMD |
| instructions. |
| |
| 2014-04-02 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60729 |
| * optabs.c (expand_abs_nojump): Honor flag_trapv only for |
| MODE_INTs. Properly use negv_optab. |
| (expand_abs): Likewise. |
| |
| 2014-04-02 Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/60719 |
| * Makefile.in (install-driver): Guard extra installs with special |
| names properly. |
| |
| 2014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): |
| Document vec_vgbbd. |
| |
| 2014-04-01 Richard Henderson <rth@redhat.com> |
| |
| PR target/60704 |
| * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second |
| alternative enabled before register allocation. |
| |
| 2014-04-01 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM. |
| * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand |
| typo. |
| (nios2_large_got_address): Remove unneeded 'sym' parameter. |
| (nios2_got_address): Update nios2_large_got_address call site. |
| (nios2_delegitimize_address): New function. |
| (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address. |
| * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define. |
| (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER. |
| |
| 2014-04-01 Martin Husemann <martin@duskware.de> |
| |
| * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32 |
| for -mabi=32. |
| |
| 2014-04-01 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR rtl-optimization/60604 |
| * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P |
| check from register_operand. |
| (register_operand): Redefine in terms of general_operand. |
| (nonmemory_operand): Use register_operand for the non-constant cases. |
| |
| 2014-04-01 Richard Biener <rguenther@suse.de> |
| |
| * gimple.h (struct gimple_statement_base): Align subcode to 16 bits. |
| |
| 2014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * doc/invoke.texi (mapp-regs): Clarify. |
| |
| 2014-03-31 Ulrich Drepper <drepper@gmail.com> |
| |
| * config/i386/avx512fintrin.h (__v32hi): Define type. |
| (__v64qi): Likewise. |
| (_mm512_set1_epi8): Define. |
| (_mm512_set1_epi16): Define. |
| (_mm512_set4_epi32): Define. |
| (_mm512_set4_epi64): Define. |
| (_mm512_set4_pd): Define. |
| (_mm512_set4_ps): Define. |
| (_mm512_setr4_epi64): Define. |
| (_mm512_setr4_epi32): Define. |
| (_mm512_setr4_pd): Define. |
| (_mm512_setr4_ps): Define. |
| (_mm512_setzero_epi32): Define. |
| |
| 2014-03-31 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/60647 |
| * tree-sra.c (callsite_has_enough_arguments_p): Renamed to |
| callsite_arguments_match_p. Updated all callers. Also check types of |
| corresponding formal parameters and actual arguments. |
| (not_all_callers_have_enough_arguments_p) Renamed to |
| some_callers_have_mismatched_arguments_p. |
| |
| 2014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| * tree-inline.c (copy_loops): Add missed copy of 'safelen'. |
| |
| 2014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| PR target/60034 |
| * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for |
| section anchor. |
| |
| 2014-03-30 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator. |
| (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>): |
| Split out |
| <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>. |
| Use FMAMODE_NOVF512 mode iterator. |
| (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto. |
| (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto. |
| (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto. |
| (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>): |
| Split out |
| <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>. |
| Use VF_128_256 mode iterator. |
| (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>): |
| Ditto. |
| |
| 2014-03-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear |
| static chain if needed. |
| |
| 2014-03-28 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/60697 |
| * lra-constraints.c (index_part_to_reg): New. |
| (process_address): Use it. |
| |
| 2014-03-27 Jeff Law <law@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/60648 |
| * expr.c (do_tablejump): Use simplify_gen_binary rather than |
| gen_rtx_{PLUS,MULT} to build up the address expression. |
| |
| * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid |
| creating non-canonical RTL. |
| |
| 2014-03-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60243 |
| * ipa-inline.c (want_inline_small_function_p): Short circuit large |
| functions; reorganize to make cheap checks first. |
| (inline_small_functions): Do not estimate growth when dumping; |
| it is expensive. |
| * ipa-inline.h (inline_summary): Add min_size. |
| (growth_likely_positive): New function. |
| * ipa-inline-analysis.c (dump_inline_summary): Add min_size. |
| (set_cond_stmt_execution_predicate): Cleanup. |
| (estimate_edge_size_and_time): Compute min_size. |
| (estimate_calls_size_and_time): Likewise. |
| (estimate_node_size_and_time): Likewise. |
| (inline_update_overall_summary): Update min_size. |
| (do_estimate_edge_time): Likewise. |
| (do_estimate_edge_size): Update. |
| (do_estimate_edge_hints): Update. |
| (growth_likely_positive): New function. |
| |
| 2014-03-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/60693 |
| * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg |
| also if addr has VOIDmode. |
| |
| 2014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New. |
| * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue): |
| Declare extern. |
| * config/arm/cortex-a53.md: Add reservations and bypass for crypto |
| instructions as well as AdvancedSIMD loads. |
| |
| 2014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi): |
| Use crypto_aese type. |
| (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type. |
| * config/arm/arm.md (is_neon_type): Replace crypto_aes with |
| crypto_aese, crypto_aesmc. Move to types.md. |
| * config/arm/types.md (crypto_aes): Split into crypto_aese, |
| crypto_aesmc. |
| * config/arm/iterators.md (crypto_type): Likewise. |
| |
| 2014-03-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraph.c: Include expr.h and tree-dfa.h. |
| (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn; |
| remove LHS. |
| |
| 2014-03-28 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/60675 |
| * lra-assigns.c (find_hard_regno_for): Remove unavailable hard |
| regs from checking multi-reg pseudos. |
| |
| 2014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule. |
| |
| 2014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization |
| if it would clobber the stack pointer, even temporarily. |
| |
| 2014-03-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * mode-switching.c: Make small adjustments to the top comment. |
| |
| 2014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/constraints.md (wD constraint): New constraint to |
| match the constant integer to get the top DImode/DFmode out of a |
| vector in a VSX register. |
| |
| * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to |
| match the constant integer to get the top DImode/DFmode out of a |
| vector in a VSX register. |
| |
| * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin |
| for ISA 2.07. |
| |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add |
| vbpermq builtins. |
| |
| * config/rs6000/rs6000.c (rs6000_debug_reg_global): If |
| -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT. |
| |
| * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes): |
| Optimize vec_extract of 64-bit values, where the value being |
| extracted is in the top word, where we can use scalar |
| instructions. Add direct move and store support. Combine the big |
| endian/little endian vector select load support into a single insn. |
| (vsx_extract_<mode>_internal1): Likewise. |
| (vsx_extract_<mode>_internal2): Likewise. |
| (vsx_extract_<mode>_load): Likewise. |
| (vsx_extract_<mode>_store): Likewise. |
| (vsx_extract_<mode>_zero): Delete, big and little endian insns are |
| combined into vsx_extract_<mode>_load. |
| (vsx_extract_<mode>_one_le): Likewise. |
| |
| * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to |
| define the top 64-bit vector element. |
| |
| * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD |
| constraint. |
| |
| * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): |
| Document vec_vbpermq builtin. |
| |
| PR target/60672 |
| * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to |
| enable use of xxsldwi and xxpermdi builtin functions. |
| (vec_xxpermdi): Likewise. |
| |
| * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): |
| Document use of vec_xxsldwi and vec_xxpermdi builtins. |
| |
| 2014-03-27 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/60650 |
| * lra-assign.c (find_hard_regno_for, spill_for): Add parameter |
| first_p. Use it. |
| (find_spills_for): New. |
| (assign_by_spills): Pass the new parameter to find_hard_regno_for. |
| Spill all pseudos on the second iteration. |
| |
| 2014-03-27 Marek Polacek <polacek@redhat.com> |
| |
| PR c/50347 |
| * doc/extend.texi (ffs Builtins): Change unsigned types to signed |
| types. |
| |
| 2014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (s390_can_use_return_insn): Check for |
| call-saved FPRs on 31 bit. |
| |
| 2014-03-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/60682 |
| * omp-low.c (lower_omp_1): For gimple_clobber_p stmts, |
| if they need regimplification, just drop them instead of |
| calling gimple_regimplify_operands on them. |
| |
| 2014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| PR target/60580 |
| * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove. |
| (aarch64_frame_pointer_required): Adjust logic. |
| (aarch64_can_eliminate): Adjust logic. |
| (aarch64_override_options_after_change): Adjust logic. |
| |
| 2014-03-27 Dehao Chen <dehao@google.com> |
| |
| * ipa-inline.c (early_inliner): Update node's inline info. |
| |
| 2014-03-26 Dehao Chen <dehao@google.com> |
| |
| * dojump.c (do_compare_rtx_and_jump): Sets correct probability for |
| compiler inserted conditional jumps for NAN float check. |
| |
| 2014-03-26 Jakub Jelinek <jakub@redhat.com> |
| |
| * ubsan.h (ubsan_create_data): Change second argument's type |
| to const location_t *. |
| * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to |
| _("<unknown>"). |
| (ubsan_create_data): Change second argument to const location_t *PLOC. |
| Create Loc field whenever PLOC is non-NULL. |
| (ubsan_instrument_unreachable, ubsan_expand_null_ifn, |
| ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust |
| callers. |
| |
| PR other/59545 |
| * real.c (real_to_integer2): Change type of low to UHWI. |
| |
| 2014-03-26 Tobias Burnus <burnus@net-b.de> |
| |
| * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus. |
| (CILK_SELF_SPECS): New define. |
| (driver_self_specs): Use it. |
| |
| 2014-03-26 Richard Biener <rguenther@suse.de> |
| |
| * tree-pretty-print.c (percent_K_format): Implement special |
| case for LTO and its stripped down BLOCK tree. |
| |
| 2014-03-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/60636 |
| * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR. |
| |
| * tree-vrp.c (simplify_internal_call_using_ranges): If only |
| one range is range_int_cst_p, but not both, at least optimize |
| addition/subtraction of 0 and multiplication by 0 or 1. |
| * gimple-fold.c (gimple_fold_call): Fold |
| IFN_UBSAN_CHECK_{ADD,SUB,MUL}. |
| (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't |
| INTEGER_CSTs, try to fold at least x * 0 and y - y. |
| |
| 2014-03-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/60452 |
| * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment. |
| <case REG>: Return 1 for invalid offsets from the frame pointer. |
| |
| 2014-03-26 Marek Polacek <polacek@redhat.com> |
| |
| PR c/37428 |
| * doc/extend.texi (C Extensions): Mention variable-length arrays in |
| a structure/union. |
| |
| 2014-03-26 Marek Polacek <polacek@redhat.com> |
| |
| PR c/39525 |
| * doc/extend.texi (Designated Inits): Describe what happens to omitted |
| field members. |
| |
| 2014-03-26 Marek Polacek <polacek@redhat.com> |
| |
| PR other/59545 |
| * ira-color.c (update_conflict_hard_regno_costs): Perform the |
| multiplication in unsigned type. |
| |
| 2014-03-26 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf. |
| |
| 2014-03-26 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * doc/contrib.texi: Add myself as Andes nds32 port contributor. |
| |
| 2014-03-25 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60315 |
| * cif-code.def (UNREACHABLE) New code. |
| * ipa-inline.c (inline_small_functions): Skip edges to |
| __builtlin_unreachable. |
| (estimate_edge_growth): Allow edges to __builtlin_unreachable. |
| * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false |
| predicate to __bulitin_unreachable. |
| (set_cond_stmt_execution_predicate): Fix issue when |
| invert_tree_comparison returns ERROR_MARK. |
| * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not |
| propagate to inline clones. |
| * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection |
| to unreachable. |
| * ipa-cp.c (create_specialized_node): Be ready for new node to appear. |
| * cgraphclones.c (cgraph_clone_node): If call destination is already |
| ureachable, do not redirect it back. |
| * tree-inline.c (fold_marked_statements): Hanlde calls becoming |
| unreachable. |
| |
| 2014-03-25 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): |
| Do not modify inline clones. |
| |
| 2014-03-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.md (general_sext_operand): New mode attr. |
| (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT, |
| don't generate (sign_extend (const_int)). |
| (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P |
| operands[2]. Use We constraint instead of <i> and |
| <general_sext_operand> predicate instead of <general_operand>. |
| (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns. |
| * config/i386/constraints.md (We): New constraint. |
| * config/i386/predicates.md (x86_64_sext_operand, |
| sext_operand): New predicates. |
| |
| 2014-03-25 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/60600 |
| * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type |
| inconsistent devirtualizations to __builtin_unreachable. |
| |
| 2014-03-25 Marek Polacek <polacek@redhat.com> |
| |
| PR c/35449 |
| * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo. |
| |
| 2014-03-25 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse |
| order of elements for big-endian. |
| |
| 2014-03-25 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60635 |
| * gimplify-me.c (gimple_regimplify_operands): Update the |
| re-gimplifed stmt. |
| |
| 2014-03-25 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/59176 |
| * lto-cgraph.c (lto_output_node): Stream body_removed flag. |
| (lto_output_varpool_node): Likewise. |
| (input_overwrite_node): Likewise. |
| (input_varpool_node): Likewise. |
| |
| 2014-03-25 Richard Biener <rguenther@suse.de> |
| |
| * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie. |
| (run_gcc): Likewise. |
| |
| 2014-03-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * combine.c (simplify_compare_const): Add MODE argument. |
| Handle mode_width 0 as very large mode_width. |
| (try_combine, simplify_comparison): Adjust callers. |
| |
| * cselib.c (cselib_hash_rtx): Perform addition in unsigned |
| type to avoid signed integer overflow. |
| * explow.c (plus_constant): Likewise. |
| |
| 2014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * doc/generic.texi: Correct typos. |
| |
| 2014-03-24 Tobias Burnus <burnus@net-b.de> |
| |
| * doc/invoke.texi (-flto): Expand section about |
| using static libraries with LTO. |
| |
| 2014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| PR rtl-optimization/60501 |
| * optabs.def (addptr3_optab): New optab. |
| * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function. |
| * doc/md.texi ("addptrm3"): Document new RTL standard expander. |
| * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes. |
| |
| * lra.c (emit_add3_insn): Use the addptr pattern if available. |
| |
| * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders. |
| |
| 2014-03-24 Ulrich Drepper <drepper@gmail.com> |
| |
| * config/i386/avx512fintrin.h: Define _mm512_set1_ps and |
| _mm512_set1_pd. |
| |
| * config/i386/avxintrin.h (_mm256_undefined_si256): Define. |
| (_mm256_undefined_ps): Define. |
| (_mm256_undefined_pd): Define. |
| * config/i386/emmintrin.h (_mm_undefined_si128): Define. |
| (_mm_undefined_pd): Define. |
| * config/i386/xmmintrin.h (_mm_undefined_ps): Define. |
| * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define. |
| (_mm512_undefined_ps): Define. |
| (_mm512_undefined_pd): Define. |
| Use _mm*_undefined_*. |
| * config/i386/avx2intrin.h: Use _mm*_undefined_*. |
| |
| 2014-03-24 Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded. |
| (lshr_simd): DI mode added. |
| * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern. |
| (aarch64_ushr_simddi): Likewise. |
| * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec. |
| * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed. |
| (vshrd_n_u64): Likewise. |
| |
| 2014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * Makefile.in (s-macro_list): Depend on cc1. |
| |
| 2014-03-23 Teresa Johnson <tejohnson@google.com> |
| |
| * ipa-utils.c (ipa_print_order): Use specified dump file. |
| |
| 2014-03-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/60601 |
| * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere. |
| |
| * gcc.c (eval_spec_function): Initialize save_growing_value. |
| |
| 2014-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/60613 |
| * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For |
| code == MINUS_EXPR, never swap op0 with op1. |
| |
| * toplev.c (init_local_tick): Avoid signed integer multiplication |
| overflow. |
| * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid |
| shift by first operand's bitsize. |
| |
| 2014-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/60610 |
| * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH, |
| redefine to 1 or 0. |
| * config/i386/darwin.h (TARGET_64BIT_P): Redefine to |
| TARGET_ISA_64BIT_P(x). |
| |
| 2014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a |
| pattern for vector nor instead of subtract from splat(-1). |
| (altivec_expand_vec_perm_const_le): Likewise. |
| |
| 2014-03-21 Richard Henderson <rth@twiddle.net> |
| |
| PR target/60598 |
| * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame |
| related insns after epilogue_completed. |
| |
| 2014-03-21 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/59176 |
| * cgraph.h (symtab_node): New flag body_removed. |
| * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag |
| when removing bodies. |
| * symtab.c (dump_symtab_base): Dump body_removed flag. |
| * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which |
| had their bodies removed. |
| |
| 2014-03-21 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/60419 |
| * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes |
| in the border. |
| |
| 2014-03-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60577 |
| * tree-core.h (struct tree_base): Document nothrow_flag use |
| in DECL_NONALIASED. |
| * tree.h (DECL_NONALIASED): New. |
| (may_be_aliased): Adjust. |
| * coverage.c (build_var): Set DECL_NONALIASED. |
| |
| 2014-03-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (expand_expr_real_1): Remove outdated comment. |
| |
| 2014-03-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/60597 |
| * ira.c (adjust_cleared_regs): Call copy_rtx on |
| *reg_equiv[REGNO (loc)].src_p before passing it to |
| simplify_replace_fn_rtx. |
| |
| PR target/60568 |
| * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT |
| into CONST, put pic register as first operand of PLUS. Use |
| gen_const_mem for both 32-bit and 64-bit PIC got loads. |
| |
| 2014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete. |
| |
| 2014-03-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work |
| around for store forwarding issue in the FPU on the UT699. |
| * config/sparc/sparc.md (in_branch_delay): Return false for single FP |
| loads and operations if -mfix-ut699 is specified. |
| (divtf3_hq): Tweak attribute. |
| (sqrttf2_hq): Likewise. |
| |
| 2014-03-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * calls.c (store_one_arg): Remove incorrect const qualification on the |
| type of the temporary. |
| * cfgexpand.c (expand_return): Likewise. |
| * expr.c (expand_constructor): Likewise. |
| (expand_expr_real_1): Likewise. |
| |
| 2014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org> |
| |
| * config/arm/arm.c (arm_dwarf_register_span): Update the element number |
| of parts. |
| |
| 2014-03-19 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/60039 |
| * config/sh/sh.md (udivsi3_i1): Clobber R1 register. |
| |
| 2014-03-19 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/arm/aarch-common-protos.h |
| (alu_cost_table): Fix spelling of "extend". |
| * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend". |
| |
| 2014-03-19 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60553 |
| * tree-core.h (tree_type_common): Re-order pointer members |
| to reduce recursion depth during GC walks. |
| |
| 2014-03-19 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/60569 |
| * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull |
| before accessing it. |
| |
| 2014-03-19 Richard Biener <rguenther@suse.de> |
| |
| PR lto/59543 |
| * lto-streamer-in.c (input_function): In WPA stage do not drop |
| debug stmts. |
| |
| 2014-03-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/60559 |
| * vectorizable_mask_load_store): Replace scalar MASK_LOAD |
| with build_zero_cst assignment. |
| |
| 2014-03-18 Kai Tietz <ktietz@redhat.com> |
| |
| PR rtl-optimization/56356 |
| * sdbout.c (sdbout_parms): Verify that parms' |
| incoming argument is valid. |
| (sdbout_reg_parms): Likewise. |
| |
| 2014-03-18 Richard Henderson <rth@redhat.com> |
| |
| PR target/60562 |
| * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to |
| be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT. |
| (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0. |
| |
| 2014-03-18 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE. |
| * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE. |
| Italicize plugin event names in description. Explain that |
| PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE. |
| Remind that no GCC functions should be called after PLUGIN_FINISH. |
| Explain what pragmas with expansion are. |
| |
| 2014-03-18 Martin Liska <mliska@suse.cz> |
| |
| * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when |
| gimple call statement is update. |
| * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and |
| GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL. |
| |
| 2014-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/60557 |
| * ubsan.c (ubsan_instrument_unreachable): Call |
| initialize_sanitizer_builtins. |
| (ubsan_pass): Likewise. |
| |
| PR sanitizer/60535 |
| * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call |
| varpool_finalize_decl instead of rest_of_decl_compilation. |
| |
| 2014-03-18 Richard Biener <rguenther@suse.de> |
| |
| * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy |
| by using bitmap_and_compl instead of bitmap_and_compl_into. |
| (df_rd_transfer_function): Likewise. |
| |
| 2014-03-18 Richard Biener <rguenther@suse.de> |
| |
| * doc/lto.texi (fresolution): Fix typo. |
| |
| 2014-03-18 Richard Biener <rguenther@suse.de> |
| |
| * doc/invoke.texi (flto): Update for changes in 4.9. |
| |
| 2014-03-18 Richard Biener <rguenther@suse.de> |
| |
| * doc/loop.texi: Remove section on the removed lambda framework. |
| Update loop docs with recent changes in preserving loop structure. |
| |
| 2014-03-18 Richard Biener <rguenther@suse.de> |
| |
| * doc/lto.texi (-fresolution): Document. |
| |
| 2014-03-18 Richard Biener <rguenther@suse.de> |
| |
| * doc/contrib.texi: Adjust my name. |
| |
| 2014-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/58721 |
| * internal-fn.c: Include diagnostic-core.h. |
| (expand_BUILTIN_EXPECT): New function. |
| * gimplify.c (gimplify_call_expr): Use false instead of FALSE. |
| (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into |
| IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call. |
| * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle |
| IFN_BUILTIN_EXPECT. |
| * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT. |
| Revert 3 argument __builtin_expect code. |
| (strip_predict_hints): Handle IFN_BUILTIN_EXPECT. |
| * gimple-fold.c (gimple_fold_call): Likewise. |
| * tree.h (fold_builtin_expect): New prototype. |
| * builtins.c (build_builtin_expect_predicate): Add predictor |
| argument, if non-NULL, create 3 argument __builtin_expect. |
| (fold_builtin_expect): No longer static. Add ARG2 argument, |
| pass it through to build_builtin_expect_predicate. |
| (fold_builtin_2): Adjust caller. |
| (fold_builtin_3): Handle BUILT_IN_EXPECT. |
| * internal-fn.def (BUILTIN_EXPECT): New. |
| |
| 2014-03-18 Tobias Burnus <burnus@net-b.de> |
| |
| PR ipa/58721 |
| * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC, |
| PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO, |
| PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add. |
| |
| 2014-03-18 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/58721 |
| * predict.c (combine_predictions_for_bb): Fix up formatting. |
| (expr_expected_value_1, expr_expected_value): Add predictor argument, |
| fill what it points to if non-NULL. |
| (tree_predict_by_opcode): Adjust caller, use the predictor. |
| * predict.def (PRED_COMPARE_AND_SWAP): Add. |
| |
| 2014-03-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use |
| proper constant for the store mode. |
| |
| 2014-03-18 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * symtab.c (change_decl_assembler_name): Fix transparent alias |
| chain construction. |
| |
| 2014-03-16 Renlin Li <Renlin.Li@arm.com> |
| |
| * config/aarch64/aarch64.c: Correct the comments about the |
| aarch64 stack layout. |
| |
| 2014-03-18 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore |
| check for GF_OMP_FOR_KIND_FOR. |
| |
| 2013-03-18 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add |
| ymm and zmm register names. |
| |
| 2014-03-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/60516 |
| * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA |
| note creation for the 2010-08-31 changes. |
| |
| 2014-03-17 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/60534 |
| * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same |
| as -fno-tree-loop-vectorize. |
| (expand_omp_simd): Likewise. |
| |
| 2014-03-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc-protos.h (tls_call_delay): Delete. |
| (eligible_for_call_delay): New prototype. |
| * config/sparc/sparc.c (tls_call_delay): Rename into... |
| (eligible_for_call_delay): ...this. Return false if the instruction |
| cannot be put in the delay slot of a branch. |
| (eligible_for_restore_insn): Simplify. |
| (eligible_for_return_delay): Return false if the instruction cannot be |
| put in the delay slot of a branch and simplify. |
| (eligible_for_sibcall_delay): Return false if the instruction cannot be |
| put in the delay slot of a branch. |
| * config/sparc/sparc.md (fix_ut699): New attribute. |
| (tls_call_delay): Delete. |
| (in_call_delay): Reimplement. |
| (eligible_for_sibcall_delay): Rename into... |
| (in_sibcall_delay): ...this. |
| (eligible_for_return_delay): Rename into... |
| (in_return_delay): ...this. |
| (in_branch_delay): Reimplement. |
| (in_uncond_branch_delay): Delete. |
| (in_annul_branch_delay): Delete. |
| |
| 2014-03-14 Richard Henderson <rth@redhat.com> |
| |
| PR target/60525 |
| * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename |
| define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand. |
| (*floathi<X87MODEF>2_i387_with_temp): Remove. |
| (floathi splitters): Remove. |
| (float<SWI48x>xf2): New pattern. |
| (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop |
| code that tried to handle DImode for 32-bit, but which was excluded |
| by the pattern's condition. Drop allocation of stack temporary. |
| (*floatsi<MODEF>2_vector_mixed_with_temp): Remove. |
| (*float<SWI48><MODEF>2_mixed_with_temp): Remove. |
| (*float<SWI48><MODEF>2_mixed_interunit): Remove. |
| (*float<SWI48><MODEF>2_mixed_nointerunit): Remove. |
| (*floatsi<MODEF>2_vector_sse_with_temp): Remove. |
| (*float<SWI48><MODEF>2_sse_with_temp): Remove. |
| (*float<SWI48><MODEF>2_sse_interunit): Remove. |
| (*float<SWI48><MODEF>2_sse_nointerunit): Remove. |
| (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove. |
| (*float<SWI48x><X87MODEF>2_i387): Remove. |
| (all float _with_temp splitters): Remove. |
| (*float<SWI48x><MODEF>2_i387): New pattern. |
| (*float<SWI48><MODEF>2_sse): New pattern. |
| (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them. |
| (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them. |
| |
| 2014-03-14 Jakub Jelinek <jakub@redhat.com> |
| Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/60484 |
| * common.opt (dump_base_name_prefixed): New Variable. |
| * opts.c (finish_options): Don't prepend directory to x_dump_base_name |
| if x_dump_base_name_prefixed is already set, set it at the end. |
| |
| 2014-03-14 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/60508 |
| * lra-constraints.c (get_reload_reg): Add new parameter |
| in_subreg_p. |
| (process_addr_reg, simplify_operand_subreg, curr_insn_transform): |
| Pass the new parameter values. |
| |
| 2014-03-14 Richard Biener <rguenther@suse.de> |
| |
| * common.opt: Revert unintented changes from r205065. |
| * opts.c: Likewise. |
| |
| 2014-03-14 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60518 |
| * cfghooks.c (split_block): Properly adjust all loops the |
| block was a latch of. |
| |
| 2014-03-14 Martin Jambor <mjambor@suse.cz> |
| |
| PR lto/60461 |
| * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition |
| and simplify it. |
| |
| 2014-03-14 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/59396 |
| * config/avr/avr.c (avr_set_current_function): Pass function name |
| through default_strip_name_encoding before sanity checking instead |
| of skipping the first char of the assembler name. |
| |
| 2014-03-13 Richard Henderson <rth@redhat.com> |
| |
| PR debug/60438 |
| * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument. |
| (ix86_force_to_memory, ix86_free_from_memory): Remove. |
| * config/i386/i386-protos.h: Likewise. |
| * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local |
| in the expander instead of a splitter. |
| (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is |
| any possibility of requiring a memory. |
| (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters. |
| (*floatsi<MODEF>2_vector_sse): Remove, and the splitters. |
| (fp branch splitters): Update for ix86_split_fp_branch. |
| (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative. |
| (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise. |
| (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove. |
| (*fop_<MODEF>_2_i387): Remove f/r alternative. |
| (*fop_<MODEF>_3_i387): Likewise. |
| (*fop_xf_2_i387, *fop_xf_3_i387): Likewise. |
| (splitters for the fop_* register patterns): Remove. |
| (fscalexf4_i387): Rename from *fscalexf4_i387. |
| (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387. |
| |
| 2014-03-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/59779 |
| * tree-dfa.c (get_ref_base_and_extent): Use double_int |
| type for bitsize and maxsize instead of HOST_WIDE_INT. |
| |
| 2014-03-13 Steven Bosscher <steven@gcc.gnu.org> |
| |
| PR rtl-optimization/57320 |
| * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup |
| the CFG after thread_prologue_and_epilogue_insns. |
| |
| 2014-03-13 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/57189 |
| * lra-constraints.c (process_alt_operands): Disfavor spilling |
| vector pseudos. |
| |
| 2014-03-13 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages. |
| |
| 2014-03-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/59025 |
| PR middle-end/60418 |
| * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the |
| same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first. |
| |
| 2014-03-13 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/60486 |
| * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in |
| calls of avr_out_plus_1. |
| |
| 2014-03-13 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record |
| BB's single pred and update the father loop's latch info later. |
| |
| 2014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types. |
| (VEC_M): Likewise. |
| (VEC_N): Likewise. |
| (VEC_R): Likewise. |
| (VEC_base): Likewise. |
| (mov<MODE>, VEC_M modes): If we are loading TImode into VSX |
| registers, we need to swap double words in little endian mode. |
| |
| * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode |
| to be a container mode for 128-bit integer operations added in ISA |
| 2.07. Unlike TImode and PTImode, the preferred register set is |
| the Altivec/VMX registers for the 128-bit operations. |
| |
| * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add |
| declarations. |
| (rs6000_split_128bit_ok_p): Likewise. |
| |
| * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support |
| macros for creating ISA 2.07 normal and overloaded builtin |
| functions with 3 arguments. |
| (BU_P8V_OVERLOAD_3): Likewise. |
| (VPERM_1T): Add support for V1TImode in 128-bit vector operations |
| for use as overloaded functions. |
| (VPERM_1TI_UNS): Likewise. |
| (VSEL_1TI): Likewise. |
| (VSEL_1TI_UNS): Likewise. |
| (ST_INTERNAL_1ti): Likewise. |
| (LD_INTERNAL_1ti): Likewise. |
| (XXSEL_1TI): Likewise. |
| (XXSEL_1TI_UNS): Likewise. |
| (VPERM_1TI): Likewise. |
| (VPERM_1TI_UNS): Likewise. |
| (XXPERMDI_1TI): Likewise. |
| (SET_1TI): Likewise. |
| (LXVD2X_V1TI): Likewise. |
| (STXVD2X_V1TI): Likewise. |
| (VEC_INIT_V1TI): Likewise. |
| (VEC_SET_V1TI): Likewise. |
| (VEC_EXT_V1TI): Likewise. |
| (EQV_V1TI): Likewise. |
| (NAND_V1TI): Likewise. |
| (ORC_V1TI): Likewise. |
| (VADDCUQ): Add support for 128-bit integer arithmetic instructions |
| added in ISA 2.07. Add both normal 'altivec' builtins, and the |
| overloaded builtin. |
| (VADDUQM): Likewise. |
| (VSUBCUQ): Likewise. |
| (VADDEUQM): Likewise. |
| (VADDECUQ): Likewise. |
| (VSUBEUQM): Likewise. |
| (VSUBECUQ): Likewise. |
| |
| * config/rs6000/rs6000-c.c (__int128_type): New static to hold |
| __int128_t and __uint128_t types. |
| (__uint128_type): Likewise. |
| (altivec_categorize_keyword): Add support for vector __int128_t, |
| vector __uint128_t, vector __int128, and vector unsigned __int128 |
| as a container type for TImode operations that need to be done in |
| VSX/Altivec registers. |
| (rs6000_macro_to_expand): Likewise. |
| (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions |
| to support 128-bit integer instructions vaddcuq, vadduqm, |
| vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm. |
| (altivec_resolve_overloaded_builtin): Add support for V1TImode. |
| |
| * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support |
| for V1TImode, and set up preferences to use VSX/Altivec registers. |
| Setup VSX reload handlers. |
| (rs6000_debug_reg_global): Likewise. |
| (rs6000_init_hard_regno_mode_ok): Likewise. |
| (rs6000_preferred_simd_mode): Likewise. |
| (vspltis_constant): Do not allow V1TImode as easy altivec constants. |
| (easy_altivec_constant): Likewise. |
| (output_vec_const_move): Likewise. |
| (rs6000_expand_vector_set): Convert V1TImode set and extract to |
| simple move. |
| (rs6000_expand_vector_extract): Likewise. |
| (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg |
| addressing. |
| (rs6000_const_vec): Add support for V1TImode. |
| (rs6000_emit_le_vsx_load): Swap double words when loading or |
| storing TImode/V1TImode. |
| (rs6000_emit_le_vsx_store): Likewise. |
| (rs6000_emit_le_vsx_move): Likewise. |
| (rs6000_emit_move): Add support for V1TImode. |
| (altivec_expand_ld_builtin): Likewise. |
| (altivec_expand_st_builtin): Likewise. |
| (altivec_expand_vec_init_builtin): Likewise. |
| (altivec_expand_builtin): Likewise. |
| (rs6000_init_builtins): Add support for V1TImode type. Add |
| support for ISA 2.07 128-bit integer builtins. Define type names |
| for the VSX/Altivec vector types. |
| (altivec_init_builtins): Add support for overloaded vector |
| functions with V1TImode type. |
| (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode. |
| (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to |
| external function. |
| (rs6000_split_128bit_ok_p): Likewise. |
| (rs6000_handle_altivec_attribute): Create V1TImode from vector |
| __int128_t and vector __uint128_t. |
| |
| * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators |
| and mode attributes. |
| (VSX_M): Likewise. |
| (VSX_M2): Likewise. |
| (VSm): Likewise. |
| (VSs): Likewise. |
| (VSr): Likewise. |
| (VSv): Likewise. |
| (VS_scalar): Likewise. |
| (VS_double): Likewise. |
| (vsx_set_v1ti): New builtin function to create V1TImode from TImode. |
| |
| * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether |
| we support the ISA 2.07 128-bit integer arithmetic instructions. |
| (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode. |
| (enum rs6000_builtin_type_index): Add fields to hold V1TImode |
| and TImode types for use with the builtin functions. |
| (V1TI_type_node): Likewise. |
| (unsigned_V1TI_type_node): Likewise. |
| (intTI_type_internal_node): Likewise. |
| (uintTI_type_internal_node): Likewise. |
| |
| * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07 |
| 128-bit builtin functions. |
| (UNSPEC_VADDEUQM): Likewise. |
| (UNSPEC_VADDECUQ): Likewise. |
| (UNSPEC_VSUBCUQ): Likewise. |
| (UNSPEC_VSUBEUQM): Likewise. |
| (UNSPEC_VSUBECUQ): Likewise. |
| (VM): Add V1TImode to vector mode iterators. |
| (VM2): Likewise. |
| (VI_unit): Likewise. |
| (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins. |
| (altivec_vaddcuq): Likewise. |
| (altivec_vsubuqm): Likewise. |
| (altivec_vsubcuq): Likewise. |
| (altivec_vaddeuqm): Likewise. |
| (altivec_vaddecuq): Likewise. |
| (altivec_vsubeuqm): Likewise. |
| (altivec_vsubecuq): Likewise. |
| |
| * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector |
| mode iterators. |
| (BOOL_128): Likewise. |
| (BOOL_REGS_OUTPUT): Likewise. |
| (BOOL_REGS_OP1): Likewise. |
| (BOOL_REGS_OP2): Likewise. |
| (BOOL_REGS_UNARY): Likewise. |
| (BOOL_REGS_AND_CR0): Likewise. |
| |
| * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07 |
| 128-bit integer builtin support. |
| (vec_vadduqm): Likewise. |
| (vec_vaddecuq): Likewise. |
| (vec_vaddeuqm): Likewise. |
| (vec_vsubecuq): Likewise. |
| (vec_vsubeuqm): Likewise. |
| (vec_vsubcuq): Likewise. |
| (vec_vsubuqm): Likewise. |
| |
| * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): |
| Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm, |
| vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding |
| 128-bit integer add/subtract to ISA 2.07. |
| |
| 2014-03-12 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/arc/arc.c (arc_predicate_delay_insns): |
| Fix third argument passed to conditionalize_nonjump. |
| |
| 2014-03-12 Yufeng Zhang <yufeng.zhang@arm.com> |
| |
| * config/aarch64/aarch64-builtins.c |
| (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF, |
| BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL. |
| * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor |
| instead of __builtin_lfloor. |
| (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil. |
| |
| 2014-03-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-ssa-ifcombine.c (forwarder_block_to): New function. |
| (tree_ssa_ifcombine_bb_1): New function. |
| (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb |
| is an empty forwarder block to then_bb or vice versa and then_bb |
| and else_bb are effectively swapped. |
| |
| 2014-03-12 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/60264 |
| * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a |
| REG_CFA_DEF_CFA note. |
| (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note. |
| (arm_unwind_emit): Allow REG_CFA_DEF_CFA. |
| |
| 2014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/60454 |
| * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection. |
| |
| 2014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def. |
| Do not define target_cpu_default2 to generic. |
| * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu. |
| * config/aarch64/aarch64.c (aarch64_override_options): Update comment. |
| * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu. |
| |
| 2014-03-12 Jakub Jelinek <jakub@redhat.com> |
| Marc Glisse <marc.glisse@inria.fr> |
| |
| PR tree-optimization/60502 |
| * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst |
| instead of build_low_bits_mask. |
| |
| 2014-03-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/60482 |
| * tree-vrp.c (register_edge_assert_for_1): Don't add assert |
| if there are multiple uses, but op doesn't live on E edge. |
| * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore |
| clobber stmts before __builtin_unreachable. |
| |
| 2014-03-11 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * builtins.c (expand_builtin_setjmp_receiver): Use and clobber |
| hard_frame_pointer_rtx. |
| * cse.c (cse_insn): Remove volatile check. |
| * cselib.c (cselib_process_insn): Likewise. |
| * dse.c (scan_insn): Likewise. |
| |
| 2014-03-11 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/arc/arc.c (conditionalize_nonjump): New function, |
| broken out of ... |
| (arc_ifcvt): ... this. |
| (arc_predicate_delay_insns): Use it. |
| |
| 2014-03-11 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/arc/predicates.md (extend_operand): During/after reload, |
| allow const_int_operand. |
| * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate. |
| (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL". |
| (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3 |
| to "i". |
| (umulsi3_highpart_i): Likewise. |
| |
| 2014-03-11 Richard Biener <rguenther@suse.de> |
| |
| * tree-ssa-structalias.c (get_constraint_for_ptr_offset): |
| Add asserts to guard possible wrong-code bugs. |
| |
| 2014-03-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60429 |
| PR tree-optimization/60485 |
| * tree-ssa-structalias.c (set_union_with_increment): Properly |
| take into account all fields that overlap the shifted vars. |
| (do_sd_constraint): Likewise. |
| (do_ds_constraint): Likewise. |
| (get_constraint_for_ptr_offset): Likewise. |
| |
| 2014-03-11 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * config/nios2/nios2.c (machine_function): Add fp_save_offset field. |
| (nios2_compute_frame_layout): |
| Add calculation of cfun->machine->fp_save_offset. |
| (nios2_expand_prologue): Correct setting of frame pointer register |
| in prologue. |
| (nios2_expand_epilogue): Update recovery of stack pointer from |
| frame pointer accordingly. |
| (nios2_initial_elimination_offset): Update calculation of offset |
| for eliminating to HARD_FRAME_POINTER_REGNUM. |
| |
| 2014-03-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/60457 |
| * ipa.c (symtab_remove_unreachable_nodes): Don't call |
| cgraph_get_create_node on VAR_DECLs. |
| |
| 2014-03-10 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60474 |
| * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs. |
| |
| 2014-03-08 Douglas B Rupp <rupp@gnat.com> |
| |
| * config/vms/vms.opt (vms_float_format): New variable. |
| |
| 2014-03-08 Tobias Burnus <burnus@net-b.de> |
| |
| * doc/invoke.texi (-fcilkplus): Update implementation status. |
| |
| 2014-03-08 Paulo Matos <paulo@matos-sorge.com> |
| Richard Biener <rguenther@suse.de> |
| |
| * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used |
| consistently accross all TUs. |
| (run_gcc): Enable -fshort-double automatically at link at link-time |
| and disallow override. |
| |
| 2014-03-08 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR target/58271 |
| * config/mips/mips.c (mips_option_override): Promote -mpaired-single |
| warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D |
| if they can't be used. |
| |
| 2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test |
| for Solaris 11/x86 ld. |
| * configure: Regenerate. |
| |
| 2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag. |
| (LIB_TLS_SPEC): Save as ld_tls_libs. |
| (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0. |
| (HAVE_AS_IX86_TLSLDM): New test. |
| * configure, config.in: Regenerate. |
| * config/i386/i386.c (legitimize_tls_address): Fall back to |
| TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain |
| cannot support TLS_MODEL_LOCAL_DYNAMIC. |
| * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if |
| instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test. |
| |
| 2014-03-07 Paulo Matos <paulo@matos-sorge.com> |
| |
| * common.opt (fira-loop-pressure): Mark as optimization. |
| |
| 2014-03-07 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not |
| an OpenMP mappable type. |
| |
| 2014-03-06 Matthias Klose <doko@ubuntu.com> |
| |
| * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if |
| MULTILIB_OSDIRNAMES is not defined. |
| |
| 2014-03-06 Jakub Jelinek <jakub@redhat.com> |
| Meador Inge <meadori@codesourcery.com> |
| |
| PR target/58595 |
| * config/arm/arm.c (arm_tls_symbol_p): Remove. |
| (arm_legitimize_address): Call legitimize_tls_address for any |
| arm_tls_referenced_p expression, handle constant addend. Call it |
| before testing for !TARGET_ARM. |
| (thumb_legitimize_address): Don't handle arm_tls_symbol_p here. |
| |
| 2014-03-06 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60445 |
| PR lto/60424 |
| PR lto/60427 |
| Revert |
| 2014-03-04 Paulo Matos <paulo@matos-sorge.com> |
| |
| * tree-streamer.c (record_common_node): Assert we don't record |
| nodes with type double. |
| (preload_common_node): Skip type double, complex double and double |
| pointer since it is now frontend dependent due to fshort-double option. |
| |
| 2014-03-06 Richard Biener <rguenther@suse.de> |
| |
| * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin |
| or -fno-lto is specified and the linker has full plugin support. |
| * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled. |
| (main): Remove -flto processing, adjust lto_mode using use_plugin late. |
| * lto-wrapper.c (merge_and_complain): Merge compile-time |
| optimization levels. |
| (run_gcc): And pass it through to the link options. |
| |
| 2014-03-06 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/60381 |
| Revert: |
| 2014-02-28 Alexandre Oliva <aoliva@redhat.com> |
| PR debug/59992 |
| * cselib.c (remove_useless_values): Skip to avoid quadratic |
| behavior if the condition moved from... |
| (cselib_process_insn): ... here holds. |
| |
| 2014-03-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR plugins/59335 |
| * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h, |
| ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h. |
| |
| PR plugins/59335 |
| * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def. |
| (TM_H): Add x86-tune.def. |
| |
| 2014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (generic_tunings): |
| Use cortexa57_extra_costs. |
| |
| 2014-03-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/60404 |
| * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs |
| of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p. |
| * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1 |
| cost for in_lto_p. |
| |
| 2014-03-04 Heiher <r@hev.cc> |
| |
| * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor. |
| * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly. |
| |
| 2014-03-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/predicates.md (const2356_operand): Change to ... |
| (const2367_operand): ... this. |
| * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use |
| const2367_operand. |
| (*avx512pf_scatterpf<mode>sf_mask): Ditto. |
| (*avx512pf_scatterpf<mode>sf): Ditto. |
| (avx512pf_scatterpf<mode>df): Ditto. |
| (*avx512pf_scatterpf<mode>df_mask): Ditto. |
| (*avx512pf_scatterpf<mode>df): Ditto. |
| * config/i386/i386.c (ix86_expand_builtin): Update |
| incorrect hint operand error message. |
| |
| 2014-03-04 Richard Biener <rguenther@suse.de> |
| |
| * lto-section-in.c (lto_get_section_data): Fix const cast. |
| |
| 2014-03-04 Paulo Matos <paulo@matos-sorge.com> |
| |
| * tree-streamer.c (record_common_node): Assert we don't record |
| nodes with type double. |
| (preload_common_node): Skip type double, complex double and double |
| pointer since it is now frontend dependent due to fshort-double option. |
| |
| 2014-03-04 Richard Biener <rguenther@suse.de> |
| |
| PR lto/60405 |
| * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check. |
| (lto_input_toplevel_asms): Likewise. |
| * lto-section-in.c (lto_get_section_data): Instead do it here |
| for every section. |
| |
| 2014-03-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60382 |
| * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider |
| dead PHIs a reduction. |
| |
| 2014-03-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct |
| hint value. |
| (_mm_prefetch): Move out of GCC target("sse") pragma. |
| * config/i386/prfchwintrin.h (_m_prefetchw): Move out of |
| GCC target("prfchw") pragma. |
| * config/i386/i386.md (prefetch): Emit prefetchwt1 only |
| for locality <= 2. |
| * config/i386/i386.c (ix86_option_override_internal): Enable |
| -mprfchw with -mprefetchwt1. |
| |
| 2014-03-03 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/arc/arc.md (casesi_load) <length attribute alternative 0>: |
| Mark as varying. |
| |
| 2014-03-03 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * opts.h (CL_PCH_IGNORE): Define. |
| * targhooks.c (option_affects_pch_p): |
| Return false for options that have CL_PCH_IGNORE set. |
| * opt-functions.awk: Process PchIgnore. |
| * doc/options.texi: Document PchIgnore. |
| |
| * config/arc/arc.opt (misize): Add PchIgnore property. |
| |
| 2014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow |
| reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax |
| constraint on constants to permit them being loaded into |
| GENERAL_REGS or BASE_REGS. |
| |
| 2014-03-03 Nick Clifton <nickc@redhat.com> |
| |
| * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add |
| anti-cacnonical alternatives. |
| (negandhi3_real): New pattern. |
| * config/rl78/rl78-virt.md (negandhi3_virt): New pattern. |
| |
| 2014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| * config/avr/avr-mcus.def: Remove atxmega16x1. |
| * config/avr/avr-tables.opt: Regenerate. |
| * config/avr/t-multilib: Regenerate. |
| * doc/avr-mmcu.texi: Regenerate. |
| |
| 2014-03-03 Tobias Grosser <tobias@grosser.es> |
| Mircea Namolaru <mircea.namolaru@inria.fr> |
| |
| PR tree-optimization/58028 |
| * graphite-clast-to-gimple.c (set_cloog_options): Don't remove |
| scalar dimensions. |
| |
| 2014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses |
| not handled by recognizers. |
| |
| 2014-03-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/60175 |
| * function.c (expand_function_end): Don't emit |
| clobber_return_register sequence if clobber_after is a BARRIER. |
| * cfgexpand.c (construct_exit_block): Append instructions before |
| return_label to prev_bb. |
| |
| 2014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/constraints.md: Document reserved use of "wc". |
| |
| 2014-03-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60150 |
| * ipa.c (function_and_variable_visibility): When dissolving comdat |
| group, also set all symbols to local. |
| |
| 2014-03-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60306 |
| |
| Revert: |
| 2013-12-14 Jan Hubicka <jh@suse.cz> |
| PR middle-end/58477 |
| * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers. |
| |
| 2014-03-02 Jon Beniston <jon@beniston.com> |
| |
| PR bootstrap/48230 |
| PR bootstrap/50927 |
| PR bootstrap/52466 |
| PR target/46898 |
| * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect. |
| (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed. |
| * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support. |
| (simple_return, *simple_return): New patterns |
| * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete. |
| * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32. |
| |
| 2014-03-01 Paolo Carlini <paolo.carlini@oracle.com> |
| |
| * dwarf2out.c (gen_subprogram_die): Tidy. |
| |
| 2014-03-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/60071 |
| * config/sh/sh.md (*mov_t_msb_neg): Split into ... |
| (*mov_t_msb_neg_negc): ... this new insn. |
| |
| 2014-02-28 Jason Merrill <jason@redhat.com> |
| |
| PR c++/58678 |
| * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared |
| function. |
| |
| 2014-02-28 Paolo Carlini <paolo.carlini@oracle.com> |
| |
| PR c++/60314 |
| * dwarf2out.c (decltype_auto_die): New static. |
| (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'. |
| (gen_type_die_with_usage): Handle 'decltype(auto)'. |
| (is_cxx_auto): Likewise. |
| |
| 2014-02-28 Ian Bolton <ian.bolton@arm.com> |
| |
| * config/aarch64/aarch64.h: Define __ARM_NEON by default if |
| we are not using general regs only. |
| |
| 2014-02-28 Richard Biener <rguenther@suse.de> |
| |
| PR target/60280 |
| * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict |
| previous fix and only allow to remove trivial pre-headers |
| and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES. |
| (remove_forwarder_block): Properly update the latch of a loop. |
| |
| 2014-02-28 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/59992 |
| * cselib.c (cselib_hasher::equal): Special-case VALUE lookup. |
| (cselib_preserved_hash_table): New. |
| (preserve_constants_and_equivs): Move preserved vals to it. |
| (cselib_find_slot): Look it up first. |
| (cselib_init): Initialize it. |
| (cselib_finish): Release it. |
| (dump_cselib_table): Dump it. |
| |
| 2014-02-28 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/59992 |
| * cselib.c (remove_useless_values): Skip to avoid quadratic |
| behavior if the condition moved from... |
| (cselib_process_insn): ... here holds. |
| |
| 2014-02-28 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/57232 |
| * var-tracking.c (vt_initialize): Apply the same condition to |
| preserve the CFA base value. |
| |
| 2014-02-28 Joey Ye <joey.ye@arm.com> |
| |
| PR target/PR60169 |
| * config/arm/arm.c (thumb_far_jump_used_p): Don't change |
| if reload in progress or completed. |
| |
| 2014-02-28 Tobias Burnus <burnus@net-b.de> |
| |
| PR middle-end/60147 |
| * tree-pretty-print.c (dump_generic_node, print_declaration): Handle |
| NAMELIST_DECL. |
| |
| 2014-02-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * doc/tm.texi.in (Condition Code Status): Update documention for |
| relative locations of cc0-setter and cc0-user. |
| |
| 2014-02-27 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/52714 |
| * combine.c (try_combine): When splitting an unrecognized PARALLEL |
| into two independent simple sets, if I3 is a jump, ensure the |
| pattern we place into I3 is a (set (pc) ...). |
| |
| 2014-02-27 Mikael Pettersson <mikpe@it.uu.se> |
| Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/49847 |
| * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user |
| are in different blocks. |
| * doc/tm.texi (Condition Code Status): Update documention for |
| relative locations of cc0-setter and cc0-user. |
| |
| 2014-02-27 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/59222 |
| * lra.c (lra_emit_add): Check SUBREG too. |
| |
| 2014-02-27 Andreas Schwab <schwab@suse.de> |
| |
| * config/m68k/m68k.c (m68k_option_override): Disable |
| -flive-range-shrinkage for classic m68k. |
| (m68k_override_options_after_change): Likewise. |
| |
| 2014-02-27 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/59223 |
| * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for |
| -Wmaybe-uninitialized. |
| |
| 2014-02-27 Alan Modra <amodra@gmail.com> |
| |
| PR target/57936 |
| * reload1.c (emit_input_reload_insns): When reload_override_in, |
| set old to rl->in_reg when rl->in_reg is a subreg. |
| |
| 2014-02-26 Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/60343 |
| * lra-assigns.c (spill_for): Avoid mixed-sign comparison. |
| |
| 2014-02-25 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * common/config/i386/predicates.md (const1256_operand): Remove. |
| (const2356_operand): New. |
| (const_1_to_2_operand): Remove. |
| * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value. |
| (*avx512pf_gatherpf<mode>sf_mask): Ditto. |
| (*avx512pf_gatherpf<mode>sf): Ditto. |
| (avx512pf_gatherpf<mode>df): Ditto. |
| (*avx512pf_gatherpf<mode>df_mask): Ditto. |
| (*avx512pf_gatherpf<mode>df): Ditto. |
| (avx512pf_scatterpf<mode>sf): Ditto. |
| (*avx512pf_scatterpf<mode>sf_mask): Ditto. |
| (*avx512pf_scatterpf<mode>sf): Ditto. |
| (avx512pf_scatterpf<mode>df): Ditto. |
| (*avx512pf_scatterpf<mode>df_mask): Ditto. |
| (*avx512pf_scatterpf<mode>df): Ditto. |
| * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0. |
| |
| 2014-02-26 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask), |
| (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask), |
| (_mm512_mask_testn_epi64_mask): Move to ... |
| * config/i386/avx512cdintrin.h: Here. |
| * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm. |
| * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %. |
| (avx512f_scalef<mode><mask_name><round_name>): Ditto. |
| (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to |
| TARGET_AVX512F from TARGET_AVX512CD. |
| |
| 2014-02-26 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/60327 |
| * ipa.c (walk_polymorphic_call_targets): Properly guard |
| call to inline_update_overall_summary. |
| |
| 2014-02-26 Bin Cheng <bin.cheng@arm.com> |
| |
| PR target/60280 |
| * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders |
| and latches only if requested. Fix latch if it is removed. |
| * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set |
| LOOPS_HAVE_PREHEADERS. |
| |
| 2014-02-25 Andrew Pinski <apinski@cavium.com> |
| |
| * builtins.c (expand_builtin_thread_pointer): Create a new target |
| when the target is NULL. |
| |
| 2014-02-25 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/60317 |
| * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New. |
| * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New. |
| * lra-assigns.c: Include params.h. |
| (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for |
| other reload pseudos considerations. |
| |
| 2014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/vector.md (*vector_unordered<mode>): Change split |
| to use canonical form for nor<mode>3. |
| |
| 2014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/55426 |
| * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit |
| conversions. |
| |
| 2014-02-25 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET), |
| (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New. |
| (ix86_handle_option): Handle OPT_mprefetchwt1. |
| * config/i386/cpuid.h (bit_PREFETCHWT1): New. |
| * config/i386/driver-i386.c (host_detect_local_cpu): Detect |
| PREFETCHWT1 CPUID. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Handle |
| OPTION_MASK_ISA_PREFETCHWT1. |
| * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1. |
| (PTA_PREFETCHWT1): New. |
| (ix86_option_override_internal): Handle PTA_PREFETCHWT1. |
| (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1. |
| * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New. |
| * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1 |
| (*prefetch_avx512pf_<mode>_: Change into ... |
| (*prefetch_prefetchwt1_<mode>: This. |
| * config/i386/i386.opt (mprefetchwt1): New. |
| * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1. |
| (_mm_prefetch): Handle intent to write. |
| * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument. |
| |
| 2014-02-25 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60291 |
| * emit-rtl.c (mem_attrs_htab): Remove. |
| (mem_attrs_htab_hash): Likewise. |
| (mem_attrs_htab_eq): Likewise. |
| (set_mem_attrs): Always allocate new mem-attrs when something changed. |
| (init_emit_once): Do not allocate mem_attrs_htab. |
| |
| 2014-02-25 Richard Biener <rguenther@suse.de> |
| |
| PR lto/60319 |
| * lto-opts.c (lto_write_options): Output non-explicit conservative |
| -fwrapv, -fno-trapv and -fno-strict-overflow. |
| * lto-wrapper.c (merge_and_complain): Handle merging those options. |
| (run_gcc): And pass them through. |
| |
| 2014-02-25 Andrey Belevantsev <abel@ispras.ru> |
| |
| * sel-sched.c (calculate_new_fences): New parameter ptime. |
| Calculate it as a maximum over all fence cycles. |
| (sel_sched_region_2): Adjust the call to calculate_new_fences. |
| Print the final schedule timing when sched_verbose. |
| |
| 2014-02-25 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/60292 |
| * sel-sched.c (fill_vec_av_set): Do not reset target availability |
| bit fot the fence instruction. |
| |
| 2014-02-24 Alangi Derick <alangiderick@gmail.com> |
| |
| * calls.h: Fix typo in comment. |
| |
| 2014-02-24 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_output_move_double): Don't valididate when |
| adjusting offsetable addresses. |
| |
| 2014-02-24 Guozhi Wei <carrot@google.com> |
| |
| * sparseset.h (sparseset_pop): Fix the wrong index. |
| |
| 2014-02-24 Walter Lee <walt@tilera.com> |
| |
| * config.gcc (tilepro-*-*): Change to tilepro*-*-*. |
| (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe |
| triplet. |
| * common/config/tilegx/tilegx-common.c |
| (TARGET_DEFAULT_TARGET_FLAGS): Define. |
| * config/tilegx/linux.h (ASM_SPEC): Add endian_spec. |
| (LINK_SPEC): Ditto. |
| * config/tilegx/sync.md (atomic_test_and_set): Handle big endian. |
| * config/tilegx/tilegx.c (tilegx_return_in_msb): New. |
| (tilegx_gimplify_va_arg_expr): Handle big endian. |
| (tilegx_expand_unaligned_load): Ditto. |
| (tilegx_expand_unaligned_store): Ditto. |
| (TARGET_RETURN_IN_MSB): New. |
| * config/tilegx/tilegx.h (TARGET_DEFAULT): New. |
| (TARGET_ENDIAN_DEFAULT): New. |
| (TARGET_BIG_ENDIAN): Handle big endian. |
| (BYTES_BIG_ENDIAN): Ditto. |
| (WORDS_BIG_ENDIAN): Ditto. |
| (FLOAT_WORDS_BIG_ENDIAN): Ditto. |
| (ENDIAN_SPEC): New. |
| (EXTRA_SPECS): New. |
| * config/tilegx/tilegx.md (extv): Handle big endian. |
| (extzv): Ditto. |
| (insn_st<n>): Ditto. |
| (insn_st<n>_add<bitsuffix>): Ditto. |
| (insn_stnt<n>): Ditto. |
| (insn_stnt<n>_add<bitsuffix>):Ditto. |
| (vec_interleave_highv8qi): Handle big endian. |
| (vec_interleave_highv8qi_be): New. |
| (vec_interleave_highv8qi_le): New. |
| (insn_v1int_h): Handle big endian. |
| (vec_interleave_lowv8qi): Handle big endian. |
| (vec_interleave_lowv8qi_be): New. |
| (vec_interleave_lowv8qi_le): New. |
| (insn_v1int_l): Handle big endian. |
| (vec_interleave_highv4hi): Handle big endian. |
| (vec_interleave_highv4hi_be): New. |
| (vec_interleave_highv4hi_le): New. |
| (insn_v2int_h): Handle big endian. |
| (vec_interleave_lowv4hi): Handle big endian. |
| (vec_interleave_lowv4hi_be): New. |
| (vec_interleave_lowv4hi_le): New. |
| (insn_v2int_l): Handle big endian. |
| (vec_interleave_highv2si): Handle big endian. |
| (vec_interleave_highv2si_be): New. |
| (vec_interleave_highv2si_le): New. |
| (insn_v4int_h): Handle big endian. |
| (vec_interleave_lowv2si): Handle big endian. |
| (vec_interleave_lowv2si_be): New. |
| (vec_interleave_lowv2si_le): New. |
| (insn_v4int_l): Handle big endian. |
| * config/tilegx/tilegx.opt (mbig-endian): New option. |
| (mlittle-endian): New option. |
| * doc/install.texi: Document tilegxbe-linux. |
| * doc/invoke.texi: Document -mbig-endian and -mlittle-endian. |
| |
| 2014-02-24 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/60266 |
| * ipa-cp.c (propagate_constants_accross_call): Bail out early if |
| there are no parameter descriptors. |
| |
| 2014-02-24 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/60268 |
| * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable |
| initialization to ... |
| (sched_rgn_init): ... here. |
| (schedule_region): Check for SCHED_PRESSURE_NONE earlier. |
| |
| 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg |
| names. |
| |
| 2014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com> |
| |
| * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED |
| definition. |
| |
| 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk, |
| define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK. |
| |
| 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * config/microblaze/predicates.md: Add cmp_op predicate. |
| * config/microblaze/microblaze.md: Add branch_compare instruction |
| which uses cmp_op predicate and emits cmp insn before branch. |
| * config/microblaze/microblaze.c (microblaze_emit_compare): Rename |
| to microblaze_expand_conditional_branch and consolidate logic. |
| (microblaze_expand_conditional_branch): emit branch_compare |
| insn instead of handling cmp op separate from branch insn. |
| |
| 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert |
| to permit subregs. |
| |
| 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace |
| define_insn with define_expand and new define_insn |
| *altivec_lve<VI_char>x_internal. |
| (altivec_stve<VI_char>x): Replace define_insn with define_expand |
| and new define_insn *altivec_stve<VI_char>x_internal. |
| * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New |
| prototype. |
| * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by |
| lve*x built-ins. |
| (altivec_expand_stvex_be): New function. |
| |
| 2014-02-22 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/avr/avr.c (avr_can_eliminate): Allow elimination from |
| ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed. |
| * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from |
| ARG_POINTER_REGNUM to STACK_POINTER_REGNUM. |
| |
| 2014-02-21 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/60298 |
| * lra-constraints.c (inherit_reload_reg): Use lra_emit_move |
| instead of emit_move_insn. |
| |
| 2014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (altivec_vsumsws): Replace second |
| vspltw with vsldoi. |
| (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of |
| gen_altivec_vsumsws. |
| |
| 2014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (altivec_lvxl): Rename as |
| *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI. |
| (altivec_lvxl_<mode>): New define_expand incorporating |
| -maltivec=be semantics where needed. |
| (altivec_lvx): Rename as *altivec_lvx_<mode>_internal. |
| (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be |
| semantics where needed. |
| (altivec_stvx): Rename as *altivec_stvx_<mode>_internal. |
| (altivec_stvx_<mode>): New define_expand incorporating |
| -maltivec=be semantics where needed. |
| (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use |
| VM2 iterator instead of V4SI. |
| (altivec_stvxl_<mode>): New define_expand incorporating |
| -maltivec=be semantics where needed. |
| * config/rs6000/rs6000-builtin.def: Add new built-in definitions |
| LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI, |
| LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF, |
| STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF, |
| STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI. |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace |
| ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout; |
| similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and |
| ALTIVEC_BUILTIN_STVXL. |
| * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype. |
| (altivec_expand_stvx_be): Likewise. |
| * config/rs6000/rs6000.c (swap_selector_for_mode): New function. |
| (altivec_expand_lvx_be): Likewise. |
| (altivec_expand_stvx_be): Likewise. |
| (altivec_expand_builtin): Add cases for |
| ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>, |
| ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>. |
| (altivec_init_builtins): Add definitions for |
| __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>, |
| __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>. |
| |
| 2014-02-21 Catherine Moore <clm@codesourcery.com> |
| |
| * doc/invoke.texi (mvirt, mno-virt): Document. |
| * config/mips/mips.opt (mvirt): New option. |
| * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler. |
| |
| 2014-02-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60276 |
| * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field. |
| (STMT_VINFO_MIN_NEG_DIST): New macro. |
| * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record |
| STMT_VINFO_MIN_NEG_DIST. |
| * tree-vect-stmts.c (vectorizable_load): Verify if assumptions |
| made for negative dependence distances still hold. |
| |
| 2014-02-21 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60291 |
| * tree-ssa-live.c (mark_all_vars_used_1): Do not walk |
| DECL_INITIAL for globals not in the current function context. |
| |
| 2014-02-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/56490 |
| * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param. |
| * tree-ssa-uninit.c: Include params.h. |
| (compute_control_dep_chain): Add num_calls argument, return false |
| if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass |
| num_calls to recursive call. |
| (find_predicates): Change dep_chain into normal array, |
| cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls |
| variable and adjust compute_control_dep_chain caller. |
| (find_def_preds): Likewise. |
| |
| 2014-02-21 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW] |
| <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement. |
| |
| 2014-02-21 Nick Clifton <nickc@redhat.com> |
| |
| * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc. |
| (pushhi1): Likewise. |
| (popqi1): Add mode to pre_dec. |
| (pophi1): Likewise. |
| |
| 2014-02-21 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode |
| mode for mask of V8SFmode permutation. |
| |
| 2014-02-20 Richard Henderson <rth@redhat.com> |
| |
| PR c++/60272 |
| * builtins.c (expand_builtin_atomic_compare_exchange): Always make |
| a new pseudo for OLDVAL. |
| |
| 2014-02-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/57896 |
| * config/i386/i386.c (expand_vec_perm_interleave2): Don't call |
| gen_reg_rtx if d->testing_p. |
| (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early |
| if d->testing_p and we will certainly return true. |
| (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx |
| if d->testing_p. |
| |
| 2014-02-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| * emit-rtl.c (gen_reg_rtx): Assert that |
| crtl->emit.regno_pointer_align_length is non-zero. |
| |
| 2014-02-20 Richard Henderson <rth@redhat.com> |
| |
| PR c++/60272 |
| * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize |
| on failure the store back into EXPECT. |
| |
| 2014-02-20 Chung-Lin Tang <cltang@codesourcery.com> |
| Sandra Loosemore <sandra@codesourcery.com> |
| |
| * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum. |
| * config/nios2/nios2.c (nios2_function_profiler): Add |
| -fPIC (flag_pic == 2) support. |
| (nios2_handle_custom_fpu_cfg): Fix warning parameter. |
| (nios2_large_offset_p): New function. |
| (nios2_unspec_reloc_p): Move up position, update to use |
| nios2_large_offset_p. |
| (nios2_unspec_address): Remove function. |
| (nios2_unspec_offset): New function. |
| (nios2_large_got_address): New function. |
| (nios2_got_address): Add large offset support. |
| (nios2_legitimize_tls_address): Update usage of removed and new |
| functions. |
| (nios2_symbol_binds_local_p): New function. |
| (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support. |
| (nios2_legitimize_address): Update to use nios2_large_offset_p. |
| (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)). |
| (nios2_print_operand): Merge H/L processing, add hiadj/lo |
| processing for (const (unspec ...)). |
| (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case. |
| |
| 2014-02-20 Richard Biener <rguenther@suse.de> |
| |
| * tree-cfg.c (replace_uses_by): Mark altered BBs before |
| doing the substitution. |
| (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs. |
| |
| 2014-02-20 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/55260 |
| * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct |
| info when checking whether lattices are bottom. |
| |
| 2014-02-20 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60221 |
| * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH |
| regions at -O0. |
| |
| 2014-02-20 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/58555 |
| * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale |
| parameter specifying the scaling. |
| (inline_call): Update. |
| (want_inline_recursively): Guard division by zero. |
| (recursive_inlining): Update. |
| * ipa-inline.h (clone_inlined_nodes): Update. |
| |
| 2014-02-20 Ilya Tocar <ilya.tocar@intel.com> |
| |
| PR target/60204 |
| * config/i386/i386.c (classify_argument): Pass structures of size |
| 64 bytes or less in register. |
| |
| 2014-02-20 Ilya Tocar <ilya.tocar@intel.com> |
| Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands. |
| (_mm_rcp28_round_ss): Ditto. |
| (_mm_rsqrt28_round_sd): Ditto. |
| (_mm_rsqrt28_round_ss): Ditto. |
| * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto. |
| (_mm_rcp14_round_ss): Ditto. |
| (_mm_rsqrt14_round_sd): Ditto. |
| (_mm_rsqrt14_round_ss): Ditto. |
| * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as |
| the first input operand, get rid of match_dup. |
| (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type |
| attribute to sse. |
| (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): |
| Ditto. |
| (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate |
| operand as the first input operand, set type attribute. |
| (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): |
| Set type attribute. |
| (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate |
| operand as the first input operand, set type attribute. |
| |
| 2014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (vspltis_constant): Fix most significant |
| bit of zero. |
| |
| 2014-02-19 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/60207 |
| * config/i386/i386.c (construct_container): Remove TFmode check |
| for X86_64_INTEGER_CLASS. |
| |
| 2014-02-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/59794 |
| * config/i386/i386.c (type_natural_mode): Warn for ABI changes |
| only when -Wpsabi is enabled. |
| |
| 2014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org> |
| |
| PR target/59799 |
| * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for |
| passing arrays in registers are the same as for structs, so remove the |
| special case for them. |
| |
| 2014-02-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field |
| destination type, extract only the valid bits if the source type is not |
| integral and has a different mode. |
| |
| 2014-02-19 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/60243 |
| * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node |
| for all calls. |
| |
| 2014-02-19 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/60243 |
| * ipa-prop.c: Include stringpool.h and tree-ssanames.h. |
| (ipa_modify_call_arguments): Emit an argument load explicitely and |
| preserve virtual SSA form there and for the replacement call. |
| Do not update SSA form nor free dominance info. |
| |
| 2014-02-18 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa.c (function_and_variable_visibility): Also clear WEAK |
| flag when disolving COMDAT_GROUP. |
| |
| 2014-02-18 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment. |
| * ipa-prop.c (ipa_set_jf_known_type): Return early when |
| not devirtualizing. |
| (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved; |
| do more sanity checks. |
| (detect_type_change): Return true when giving up early. |
| (compute_complex_assign_jump_func): Fix type parameter of |
| ipa_set_ancestor_jf. |
| (compute_complex_ancestor_jump_func): Likewise. |
| (update_jump_functions_after_inlining): Fix updating of |
| ancestor function. |
| * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL. |
| |
| 2014-02-18 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove |
| inline clones when edge disappears. |
| |
| 2014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/60203 |
| * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves): |
| Split 64-bit moves into 2 patterns. Do not allow the use of |
| direct move for TDmode in little endian, since the decimal value |
| has little endian bytes within a word, but the 64-bit pieces are |
| ordered in a big endian fashion, and normal subreg's of TDmode are |
| not allowed. |
| (mov<mode>_64bit_dm): Likewise. |
| (movtd_64bit_nodm): Likewise. |
| |
| 2014-02-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/60174 |
| * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining |
| statement of an SSA_NAME that occurs in an abnormal PHI node. |
| |
| 2014-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/60142 |
| * final.c (SEEN_BB): Remove. |
| (SEEN_NOTE, SEEN_EMITTED): Renumber. |
| (final_scan_insn): Don't force_source_line on second |
| NOTE_INSN_BASIC_BLOCK. |
| |
| 2014-02-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/60205 |
| * config/i386/i386.h (struct ix86_args): Add warn_avx512f. |
| * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f. |
| (type_natural_mode): Warn ABI change when %zmm register is not |
| available for AVX512F vector value passing. |
| |
| 2014-02-18 Kai Tietz <ktietz@redhat.com> |
| |
| PR target/60193 |
| * config/i386/i386.c (ix86_expand_prologue): Use value in |
| rax register as displacement when restoring %r10 or %rax. |
| Fix wrong offset when restoring both registers. |
| |
| 2014-02-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous |
| assertion with conditional return. |
| |
| 2014-02-18 Jakub Jelinek <jakub@redhat.com> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| PR driver/60233 |
| * config/i386/driver-i386.c (host_detect_local_cpu): If |
| YMM state is not saved by the OS, also clear has_f16c. Move |
| CPUID 0x80000001 handling before YMM state saving checking. |
| |
| 2014-02-18 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/58960 |
| * haifa-sched.c (alloc_global_sched_pressure_data): New, |
| factored out from ... |
| (sched_init): ... here. |
| (free_global_sched_pressure_data): New, factored out from ... |
| (sched_finish): ... here. |
| * sched-int.h (free_global_sched_pressure_data): Declare. |
| * sched-rgn.c (nr_regions_initial): New static global. |
| (haifa_find_rgns): Initialize it. |
| (schedule_region): Disable sched-pressure for the newly |
| generated regions. |
| |
| 2014-02-17 Richard Biener <rguenther@suse.de> |
| |
| * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and |
| release SSA defs of pattern stmts. |
| |
| 2014-02-17 Richard Biener <rguenther@suse.de> |
| |
| * tree-inline.c (expand_call_inline): Release the virtual |
| operand defined by the call we are about to inline. |
| |
| 2014-02-17 Richard Biener <rguenther@suse.de> |
| |
| * tree-ssa.c (verify_ssa): If verify_def found an error, ICE. |
| |
| 2014-02-17 Kirill Yukhin <kirill.yukhin@intel.com> |
| Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap |
| arguments order in builtin. |
| (_mm512_permutexvar_epi64): Ditto. |
| (_mm512_mask_permutexvar_epi64): Ditto |
| (_mm512_maskz_permutexvar_epi32): Ditto |
| (_mm512_permutexvar_epi32): Ditto |
| (_mm512_mask_permutexvar_epi32): Ditto |
| |
| 2014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets. |
| (p8_vmrgow): Likewise. |
| |
| 2014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little |
| endian targets. |
| |
| 2014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/60203 |
| * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints. |
| (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves |
| into 64-bit and 32-bit moves. On 64-bit moves, add support for |
| using direct move instructions on ISA 2.07. Also adjust |
| instruction length for 64-bit. |
| (mov<mode>_64bit, TFmode/TDmode): Likewise. |
| (mov<mode>_32bit, TFmode/TDmode): Likewise. |
| |
| 2014-02-15 Alan Modra <amodra@gmail.com> |
| |
| PR target/58675 |
| PR target/57935 |
| * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use |
| find_replacement on parts of insn rtl that might be reloaded. |
| |
| 2014-02-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60183 |
| * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads. |
| (tree_ssa_phiprop): Calculate and free post-dominators. |
| |
| 2014-02-14 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/60131 |
| * ree.c (get_extended_src_reg): New function. |
| (combine_reaching_defs): Use it rather than assuming location of REG. |
| (find_and_remove_re): Verify first operand of extension is |
| a REG before adding the insns to the copy list. |
| |
| 2014-02-14 Roland McGrath <mcgrathr@google.com> |
| |
| * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic. |
| * configure: Regenerated. |
| * config.in: Regenerated. |
| * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic |
| instead of ASM_SHORT. |
| |
| 2014-02-14 Vladimir Makarov <vmakarov@redhat.com> |
| Richard Earnshaw <rearnsha@arm.com> |
| |
| PR rtl-optimization/59535 |
| * lra-constraints.c (process_alt_operands): Encourage alternative |
| when unassigned pseudo class is superset of the alternative class. |
| (inherit_reload_reg): Don't inherit when optimizing for code size. |
| * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA |
| returning CORE_REGS for anything but Thumb1 and BASE_REGS for |
| modes not less than 4 for Thumb1. |
| |
| 2014-02-14 Kyle McMartin <kyle@redhat.com> |
| |
| PR pch/60010 |
| * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64. |
| |
| 2014-02-14 Richard Biener <rguenther@suse.de> |
| |
| * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF. |
| (get_frame_arg): Drop the assert with langhook types_compatible_p. |
| Do not strip INDIRECT_REFs. |
| |
| 2014-02-14 Richard Biener <rguenther@suse.de> |
| |
| PR lto/60179 |
| * lto-streamer-out.c (DFS_write_tree_body): Do not follow |
| DECL_FUNCTION_SPECIFIC_TARGET. |
| (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET. |
| * tree-streamer-out.c (pack_ts_target_option): Remove. |
| (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION. |
| (write_ts_function_decl_tree_pointers): Do not stream |
| DECL_FUNCTION_SPECIFIC_TARGET. |
| * tree-streamer-in.c (unpack_ts_target_option): Remove. |
| (unpack_value_fields): Do not stream TS_TARGET_OPTION. |
| (lto_input_ts_function_decl_tree_pointers): Do not stream |
| DECL_FUNCTION_SPECIFIC_TARGET. |
| |
| 2014-02-14 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice. |
| (get_initial_def_for_induction, vectorizable_induction): Ignore |
| debug stmts when looking for exit_phi. |
| (vectorizable_live_operation): Fix up condition. |
| |
| 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use |
| nreverse() because it changes the content of original tree list. |
| |
| 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment. |
| * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise. |
| |
| 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_naked_function_p): Follow the |
| GNU coding standards. |
| |
| 2014-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/60152 |
| * dwarf2out.c (gen_subprogram_die): Don't call |
| add_calling_convention_attribute if subr_die is old_die. |
| |
| 2014-02-13 Sharad Singhai <singhai@google.com> |
| |
| * doc/optinfo.texi: Fix order of nodes. |
| |
| 2014-02-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in |
| operands[2], not operands[3]. |
| |
| 2014-02-13 Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/59878 |
| * doc/install.texi (ISL): Update recommended version to 0.12.2, |
| mention the possibility of an in-tree build. |
| (CLooG): Update recommended version to 0.18.1, mention the |
| possibility of an in-tree build and clarify that the ISL |
| bundled with CLooG does not work. |
| |
| 2014-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/43546 |
| * expr.c (compress_float_constant): If x is a hard register, |
| extend into a pseudo and then move to x. |
| |
| 2014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_asm_output_function_label): Fix crash |
| caused by bad second argument to warning_at() with -mhotpatch and |
| nested functions (e.g. with gfortran). |
| |
| 2014-02-13 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * opts.c (option_name): Remove "enabled by default" rider. |
| |
| 2014-02-12 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_option_override): Remove auto increment FIXME. |
| |
| 2014-02-12 H.J. Lu <hongjiu.lu@intel.com> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/60151 |
| * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler. |
| * configure: Regenerated. |
| |
| 2014-02-12 Richard Biener <rguenther@suse.de> |
| |
| * vec.c (vec_prefix::calculate_allocation): Move as |
| inline variant to vec.h. |
| (vec_prefix::calculate_allocation_1): New out-of-line version. |
| * vec.h (vec_prefix::calculate_allocation_1): Declare. |
| (vec_prefix::m_has_auto_buf): Rename to ... |
| (vec_prefix::m_using_auto_storage): ... this. |
| (vec_prefix::calculate_allocation): Inline the easy cases |
| and dispatch to calculate_allocation_1 which doesn't need the |
| prefix address. |
| (va_heap::reserve): Use gcc_checking_assert. |
| (vec<T, A, vl_embed>::embedded_init): Add argument to initialize |
| m_using_auto_storage. |
| (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed> |
| member and adjust. |
| (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check. |
| (vec<T, va_heap, vl_ptr>::release): Avoid casting. |
| (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify. |
| |
| 2014-02-12 Richard Biener <rguenther@suse.de> |
| |
| * gcse.c (compute_transp): break from loop over canon_modify_mem_list |
| when we found a dependence. |
| |
| 2014-02-12 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move |
| common code... |
| (maybe_fold_stmt): ... into this new function. |
| * omp-low.c (lower_omp): Update comment. |
| |
| * omp-low.c (lower_omp_target): Add clobber for sizes array, after |
| last use. |
| |
| * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to |
| dereference. |
| |
| 2014-02-12 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix |
| identifiers in comments. |
| (cortexa53_extra_costs): Likewise. |
| * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments. |
| (cortexa7_extra_costs): Likewise. |
| (cortexa12_extra_costs): Likewise. |
| (cortexa15_extra_costs): Likewise. |
| (v7m_extra_costs): Likewise. |
| |
| 2014-02-12 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60092 |
| * gimple-low.c (lower_builtin_posix_memalign): Lower conditional |
| of posix_memalign being successful. |
| (lower_stmt): Restrict lowering of posix_memalign to when |
| -ftree-bit-ccp is enabled. |
| |
| 2014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for |
| arg_loc. |
| * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise. |
| |
| 2014-02-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/60116 |
| * combine.c (try_combine): Also remove dangling REG_DEAD notes on the |
| other_insn once the combination has been validated. |
| |
| 2014-02-11 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/59468 |
| * ipa-utils.h (possible_polymorphic_call_targets): Update prototype |
| and wrapper. |
| * ipa-devirt.c: Include demangle.h |
| (odr_violation_reported): New static variable. |
| (add_type_duplicate): Update odr_violations. |
| (maybe_record_node): Add completep parameter; update it. |
| (record_target_from_binfo): Add COMPLETEP parameter; |
| update it as needed. |
| (possible_polymorphic_call_targets_1): Likewise. |
| (struct polymorphic_call_target_d): Add nonconstruction_targets; |
| rename FINAL to COMPLETE. |
| (record_targets_from_bases): Sanity check we found the binfo; |
| fix COMPLETEP updating. |
| (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP |
| parameter, fix computing of COMPLETEP. |
| (dump_possible_polymorphic_call_targets): Imrove readability of dump; |
| at LTO time do demangling. |
| (ipa_devirt): Use nonconstruction_targets; Improve dumps. |
| * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer |
| parameter. |
| (gimple_get_virt_method_for_binfo): Likewise. |
| * gimple-fold.h (gimple_get_virt_method_for_binfo, |
| gimple_get_virt_method_for_vtable): Update prototypes. |
| |
| 2014-02-11 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/49008 |
| * genautomata.c (add_presence_absence): Fix typo with |
| {final_}presence_list. |
| |
| 2014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/60137 |
| * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter |
| for VSX/Altivec vectors that land in GPR registers. |
| |
| 2014-02-11 Richard Henderson <rth@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/59776 |
| * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR |
| around drhs if type conversion to lacc->type is not useless. |
| |
| 2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57 |
| tuning struct. |
| (cortex-a57.cortex-a53): Likewise. |
| * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct. |
| |
| 2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for |
| arm_restrict_it. |
| |
| 2014-02-11 Renlin Li <Renlin.Li@arm.com> |
| |
| * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and |
| add_options_for_arm_vfp3. |
| |
| 2014-02-11 Jeff Law <law@redhat.com> |
| |
| PR middle-end/54041 |
| * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an |
| object with an undesirable mode. |
| |
| 2014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR libgomp/60107 |
| * config/i386/sol2-9.h: New file. |
| * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*, |
| *-*-solaris2.9*): Use it. |
| |
| 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com> |
| |
| * config/microblaze/microblaze.md: Add movsi4_rev insn pattern. |
| * config/microblaze/predicates.md: Add reg_or_mem_operand predicate. |
| |
| 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com> |
| |
| * config/microblaze/microblaze.c: Extend mcpu version format |
| |
| 2014-02-10 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE. |
| |
| 2014-02-10 Richard Henderson <rth@redhat.com> |
| |
| PR target/59927 |
| * calls.c (expand_call): Don't double-push for reg_parm_stack_space. |
| * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit |
| ms-abi vs -mno-accumulate-outgoing-args. |
| (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p. |
| * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with |
| respect to ms-abi. |
| |
| 2014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR middle-end/60080 |
| * cfgexpand.c (expand_asm_operands): Attach source location to |
| ASM_INPUT rtx objects. |
| * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION. |
| |
| 2014-02-10 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300.c (popcount): New function. |
| (mn10300_expand_prologue): Include saved registers in stack usage |
| count. |
| |
| 2014-02-10 Jeff Law <law@redhat.com> |
| |
| PR middle-end/52306 |
| * reload1.c (emit_input_reload_insns): Do not create invalid RTL |
| when changing the SET_DEST of a prior insn to avoid an input reload. |
| |
| 2014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce |
| big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd, |
| -mcall-openbsd, or -mcall-linux. |
| (CC1_ENDIAN_BIG_SPEC): Remove. |
| (CC1_ENDIAN_LITTLE_SPEC): Remove. |
| (CC1_ENDIAN_DEFAULT_SPEC): Remove. |
| (CC1_SPEC): Remove (always empty) %cc1_endian_... spec. |
| (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little, |
| and %cc1_endian_default. |
| * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove. |
| |
| 2014-02-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60115 |
| * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and |
| MEM_REF handling. Properly verify that the accesses are not |
| out of the objects bound. |
| |
| 2014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from |
| coretex to cortex. |
| |
| 2014-02-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return |
| proper constants and fix formatting. |
| (possible_polymorphic_call_targets): Fix formatting. |
| |
| 2014-02-10 Kirill Yukhin <kirill.yukhin@intel.com> |
| Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed. |
| (_mm512_loadu_epi32): Renamed into... |
| (_mm512_loadu_si512): This. |
| (_mm512_storeu_epi32): Renamed into... |
| (_mm512_storeu_si512): This. |
| (_mm512_maskz_ceil_ps): Removed. |
| (_mm512_maskz_ceil_pd): Ditto. |
| (_mm512_maskz_floor_ps): Ditto. |
| (_mm512_maskz_floor_pd): Ditto. |
| (_mm512_floor_round_ps): Ditto. |
| (_mm512_floor_round_pd): Ditto. |
| (_mm512_ceil_round_ps): Ditto. |
| (_mm512_ceil_round_pd): Ditto. |
| (_mm512_mask_floor_round_ps): Ditto. |
| (_mm512_mask_floor_round_pd): Ditto. |
| (_mm512_mask_ceil_round_ps): Ditto. |
| (_mm512_mask_ceil_round_pd): Ditto. |
| (_mm512_maskz_floor_round_ps): Ditto. |
| (_mm512_maskz_floor_round_pd): Ditto. |
| (_mm512_maskz_ceil_round_ps): Ditto. |
| (_mm512_maskz_ceil_round_pd): Ditto. |
| (_mm512_expand_pd): Ditto. |
| (_mm512_expand_ps): Ditto. |
| * config/i386/i386.c (ix86_builtins): Remove |
| IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK. |
| (bdesc_args): Ditto. |
| * config/i386/predicates.md (const1256_operand): New. |
| (const_1_to_2_operand): Ditto. |
| * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value. |
| (*avx512pf_gatherpf<mode>sf_mask): Ditto. |
| (*avx512pf_gatherpf<mode>sf): Ditto. |
| (avx512pf_gatherpf<mode>df): Ditto. |
| (*avx512pf_gatherpf<mode>df_mask): Ditto. |
| (*avx512pf_gatherpf<mode>df): Ditto. |
| (avx512pf_scatterpf<mode>sf): Ditto. |
| (*avx512pf_scatterpf<mode>sf_mask): Ditto. |
| (*avx512pf_scatterpf<mode>sf): Ditto. |
| (avx512pf_scatterpf<mode>df): Ditto. |
| (*avx512pf_scatterpf<mode>df_mask): Ditto. |
| (*avx512pf_scatterpf<mode>df): Ditto. |
| (avx512f_expand<mode>): Removed. |
| (<shift_insn><mode>3<mask_name>): Change predicate type. |
| |
| 2014-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers |
| not at the end of datarefs vector use ordered_remove to avoid |
| reordering datarefs vector. |
| |
| PR c/59984 |
| * gimplify.c (gimplify_bind_expr): In ORT_SIMD region |
| mark local addressable non-static vars as GOVD_PRIVATE |
| instead of GOVD_LOCAL. |
| * omp-low.c (lower_omp_for): Move gimple_bind_vars |
| and BLOCK_VARS of gimple_bind_block to new_stmt rather |
| than copying them. |
| |
| PR middle-end/60092 |
| * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true |
| if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain |
| assume_aligned or alloc_align attributes. |
| (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN |
| arguments. Handle also assume_aligned and alloc_align attributes. |
| (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle |
| calls to functions with assume_aligned or alloc_align attributes. |
| * doc/extend.texi: Document assume_aligned and alloc_align attributes. |
| |
| 2014-02-08 Terry Guo <terry.guo@arm.com> |
| |
| * doc/invoke.texi: Document ARM -march=armv7e-m. |
| |
| 2014-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW |
| flag on __cilkrts_rethrow builtin. |
| |
| PR ipa/60026 |
| * ipa-cp.c (determine_versionability): Fail at -O0 |
| or __attribute__((optimize (0))) or -fno-ipa-cp functions. |
| * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly. |
| |
| Revert: |
| 2014-02-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/60026 |
| * tree-inline.c (copy_forbidden): Fail for |
| __attribute__((optimize (0))) functions. |
| |
| 2014-02-07 Jan Hubicka <hubicka@ucw.cz> |
| |
| * varpool.c: Include pointer-set.h. |
| (varpool_remove_unreferenced_decls): Variables in other partitions |
| will not be output; be however careful to not lose information |
| about partitioning. |
| |
| 2014-02-07 Jan Hubicka <hubicka@ucw.cz> |
| |
| * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1) |
| lookup in the vtable constructor. |
| |
| 2014-02-07 Jeff Law <law@redhat.com> |
| |
| PR target/40977 |
| * config/m68k/m68k.md (ashldi_extsi): Turn into a |
| define_insn_and_split. |
| |
| * ipa-inline.c (inline_small_functions): Fix typos. |
| |
| 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com> |
| |
| * config/s390/s390-protos.h (s390_can_use_simple_return_insn) |
| (s390_can_use_return_insn): Declare. |
| * config/s390/s390.h (EPILOGUE_USES): Define. |
| * config/s390/s390.c (s390_mainpool_start): Allow two main_pool |
| instructions. |
| (s390_chunkify_start): Handle return JUMP_LABELs. |
| (s390_early_mach): Emit a main_pool instruction on the entry edge. |
| (s300_set_up_by_prologue, s390_can_use_simple_return_insn) |
| (s390_can_use_return_insn): New functions. |
| (s390_fix_long_loop_prediction): Handle conditional returns. |
| (TARGET_SET_UP_BY_PROLOGUE): Define. |
| * config/s390/s390.md (ANY_RETURN): New code iterator. |
| (*creturn, *csimple_return, return, simple_return): New patterns. |
| |
| 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE |
| notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15. |
| (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the |
| REG_CFA_RESTORE list when deciding not to restore a register. |
| |
| 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c: Include tree-pass.h and context.h. |
| (s390_early_mach): New function, split out from... |
| (s390_emit_prologue): ...here. |
| (pass_data_s390_early_mach): New pass structure. |
| (pass_s390_early_mach): New class. |
| (s390_option_override): Create and register early_mach pass. |
| Move to end of file. |
| |
| 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com> |
| |
| * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts |
| to match for the exit block. |
| |
| 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>") |
| ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"): |
| Reject misaligned operands. |
| |
| 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail. |
| |
| 2014-02-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60092 |
| * gimple-low.c (lower_builtin_posix_memalign): New function. |
| (lower_stmt): Call it to lower posix_memalign in a way |
| to make alignment info accessible. |
| |
| 2014-02-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/60082 |
| * tree.c (build_common_builtin_nodes): Set ECF_LEAF for |
| __builtin_setjmp_receiver. |
| |
| 2014-02-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60092 |
| * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add. |
| * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise. |
| * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): |
| Handle BUILT_IN_POSIX_MEMALIGN. |
| (find_func_clobbers): Likewise. |
| * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise. |
| (call_may_clobber_ref_p_1): Likewise. |
| |
| 2014-02-06 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59918 |
| * ipa-devirt.c (record_target_from_binfo): Remove overactive |
| sanity check. |
| |
| 2014-02-06 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59469 |
| * lto-cgraph.c (lto_output_node): Use |
| symtab_get_symbol_partitioning_class. |
| (lto_output_varpool_node): likewise. |
| (symtab_get_symbol_partitioning_class): Move here from |
| lto/lto-partition.c |
| * cgraph.h (symbol_partitioning_class): Likewise. |
| (symtab_get_symbol_partitioning_class): Declare. |
| |
| 2014-02-06 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ggc.h (ggc_internal_cleared_alloc): New macro. |
| * vec.h (vec_safe_copy): Handle memory stats. |
| * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc. |
| * target-globals.c (save_target_globals): Likewise. |
| |
| 2014-02-06 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR target/60077 |
| * expr.c (emit_move_resolve_push): Export; be bit more selective |
| on when to clear alias set. |
| * expr.h (emit_move_resolve_push): Declare. |
| * function.h (struct function): Add tail_call_marked. |
| * tree-tailcall.c (optimize_tail_call): Set tail_call_marked. |
| * config/i386/i386-protos.h (ix86_expand_push): Remove. |
| * config/i386/i386.md (TImode move expander): De not call |
| ix86_expand_push. |
| (FP push expanders): Preserve memory attributes. |
| * config/i386/sse.md (push<mode>1): Remove. |
| * config/i386/i386.c (ix86_expand_vector_move): Handle push operation. |
| (ix86_expand_push): Remove. |
| * config/i386/mmx.md (push<mode>1): Remove. |
| |
| 2014-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/60030 |
| * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround |
| lopart with paradoxical subreg before shifting it up by hprec. |
| |
| 2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table. |
| Remove extra newline at end of file. |
| * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct. |
| (arm_issue_rate): Handle cortexa57. |
| * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning. |
| (cortex-a57.cortex-a53): Likewise. |
| |
| 2014-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59575 |
| * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument, |
| don't record in REG_FRAME_RELATED_EXPR registers not set in that |
| bitmask. |
| (arm_expand_prologue): Adjust all callers. |
| (arm_unwind_emit_sequence): Allow saved, but not important for unwind |
| info, registers also at the lowest numbered registers side. Use |
| gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of |
| XEXP. |
| |
| PR debug/59992 |
| * var-tracking.c (adjust_mems): Before adding a SET to |
| amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx. |
| |
| 2014-02-06 Alan Modra <amodra@gmail.com> |
| |
| PR target/60032 |
| * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only |
| change SDmode to DDmode when lra_in_progress. |
| |
| 2014-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/59150 |
| * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call |
| free_data_ref on the dr first, and before goto again also set dr |
| to the next dr. For simd_lane_access, free old datarefs[i] before |
| overwriting it. For get_vectype_for_scalar_type failure, don't |
| free_data_ref if simd_lane_access. |
| |
| * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER). |
| |
| PR target/60062 |
| * tree.h (opts_for_fn): New inline function. |
| (opt_for_fn): Define. |
| * config/i386/i386.c (ix86_function_regparm): Use |
| opt_for_fn (decl, optimize) instead of optimize. |
| |
| 2014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic |
| for SYMBOL_REF in large memory model. |
| |
| 2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32 |
| and crypto support. |
| (cortex-a57): Likewise. |
| (cortex-a57.cortex-a53): Likewise. |
| |
| 2014-02-06 Yury Gribov <y.gribov@samsung.com> |
| Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| * config/arm/arm.c (arm_vector_alignment_reachable): Check |
| unaligned_access. |
| * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise. |
| |
| 2014-02-06 Richard Biener <rguenther@suse.de> |
| |
| * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of |
| set_loop_copy and initialize_original_copy_tables. |
| |
| 2014-02-06 Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/aarch64-simd.md |
| (aarch64_ashr_simddi): Change QI to SI. |
| |
| 2014-02-05 Jan Hubicka <hubicka@ucw.cz> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/60013 |
| * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity |
| of the dataflow. |
| |
| 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change |
| CODE_FOR_altivec_vpku[hw]um to |
| CODE_FOR_altivec_vpku[hw]um_direct. |
| * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change |
| UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT. |
| (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to |
| UNSPEC_VUNPACK_LO_SIGN_DIRECT. |
| |
| 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code |
| generation for -maltivec=be. |
| (altivec_vsumsws): Simplify redundant test. |
| |
| 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec. |
| (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise. |
| (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise. |
| (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of |
| gen_altivec_vpkuwum. |
| (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for |
| BYTES_BIG_ENDIAN. |
| (altivec_vpks<VI_char>ss): Likewise. |
| (altivec_vpks<VI_char>us): Likewise. |
| (altivec_vpku<VI_char>us): Likewise. |
| (altivec_vpku<VI_char>um): Likewise. |
| (altivec_vpku<VI_char>um_direct): New (copy of |
| altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for |
| internal use). |
| (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when |
| target is little endian and -maltivec=be is not specified. |
| (*altivec_vupkhs<VU_char>_direct): New (copy of |
| altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use). |
| (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when |
| target is little endian and -maltivec=be is not specified. |
| (*altivec_vupkls<VU_char>_direct): New (copy of |
| altivec_vupkls<VU_char> that always emits vupkls*, for internal use). |
| (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is |
| little endian and -maltivec=be is not specified. |
| (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is |
| little endian and -maltivec=be is not specified. |
| |
| 2014-02-05 Richard Henderson <rth@redhat.com> |
| |
| PR debug/52727 |
| * combine-stack-adj.c: Revert r206943. |
| * sched-int.h (struct deps_desc): Add last_args_size. |
| * sched-deps.c (init_deps): Initialize it. |
| (sched_analyze_insn): Add OUTPUT dependencies between insns that |
| contain REG_ARGS_SIZE notes. |
| |
| 2014-02-05 Jan Hubicka <hubicka@ucw.cz> |
| |
| * lto-cgraph.c (asm_nodes_output): Make global. |
| * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA. |
| * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter |
| (driver_handle_option): Handle OPT_fwpa. |
| |
| 2014-02-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/59947 |
| * ipa-devirt.c (possible_polymorphic_call_targets): Fix |
| a comment typo and formatting issue. If odr_hash hasn't been |
| created, return vNULL and set *completep to false. |
| |
| PR middle-end/57499 |
| * tree-eh.c (cleanup_empty_eh): Bail out on totally empty |
| bb with no successors. |
| |
| 2014-02-05 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR target/59718 |
| * doc/invoke.texi (-march): Clarify documentation for ARM. |
| (-mtune): Likewise. |
| (-mcpu): Likewise. |
| |
| 2014-02-05 Richard Biener <rguenther@suse.de> |
| |
| * tree-vect-loop.c (vect_analyze_loop_2): Be more informative |
| when not vectorizing because of too many alias checks. |
| * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): |
| Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION. |
| |
| 2014-02-05 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not |
| accept extended registers in any mode when compiling for the MN10300. |
| |
| 2014-02-05 Yury Gribov <y.gribov@samsung.com> |
| |
| * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code. |
| * ipa-inline.c (report_inline_failed_reason): Handle mismatched |
| sanitization attributes. |
| (can_inline_edge_p): Likewise. |
| (sanitize_attrs_match_for_inline_p): New function. |
| |
| 2014-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-prop.c (detect_type_change): Shor circuit testing of |
| type changes on THIS pointer. |
| |
| 2014-02-04 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/59777 |
| * config/pa/pa.c (legitimize_tls_address): Return original address |
| if not passed a SYMBOL_REF rtx. |
| (hppa_legitimize_address): Call legitimize_tls_address for all TLS |
| addresses. |
| (pa_emit_move_sequence): Simplify TLS source operands. |
| (pa_legitimate_constant_p): Reject all TLS constants. |
| * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment. |
| (CONSTANT_ADDRESS_P): Reject TLS CONST addresses. |
| |
| 2014-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY |
| groups when we know they are controlled by LTO. |
| * varasm.c (default_binds_local_p_1): If object is in other partition, |
| it will be resolved locally. |
| |
| 2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * config/host-linux.c (linux_gt_pch_use_address): Don't |
| use SSIZE_MAX because it is not always defined. |
| |
| 2014-02-04 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR bootstrap/59913 |
| * lra-constraints.c (need_for_split_p): Use more 3 reloads as |
| threshold for pseudo splitting. |
| (update_ebb_live_info): Process call argument hard registers and |
| hard registers from insn definition too. |
| (max_small_class_regs_num): New constant. |
| (inherit_in_ebb): Update live hard regs through EBBs. Update |
| reloads_num only for small register classes. Don't split for |
| outputs of jumps. |
| |
| 2014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| PR ipa/60058 |
| * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target |
| is non-null. |
| |
| 2014-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| * gimple-fold.c (can_refer_decl_in_current_unit_p): Default |
| visibility is safe. |
| |
| 2014-02-04 Marek Polacek <polacek@redhat.com> |
| |
| * gdbinit.in (pel): Define. |
| |
| 2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current |
| behavior. |
| |
| 2014-02-04 Richard Biener <rguenther@suse.de> |
| |
| PR lto/59723 |
| * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs |
| in function context local. |
| (lto_output_tree_ref): Do not write trees from lto_output_tree_ref. |
| * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref |
| similar to LTO_imported_decl_ref. |
| |
| 2014-02-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/60002 |
| * cgraphclones.c (build_function_decl_skip_args): Clear |
| DECL_LANG_SPECIFIC. |
| |
| PR tree-optimization/60023 |
| * tree-if-conv.c (predicate_mem_writes): Pass true instead of |
| false to gsi_replace. |
| * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt |
| has been in some EH region and vec_stmt could throw, add |
| vec_stmt into the same EH region. |
| * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD |
| has no lhs, ignore it. |
| * internal-fn.c (expand_MASK_LOAD): Likewise. |
| |
| PR ipa/60026 |
| * tree-inline.c (copy_forbidden): Fail for |
| __attribute__((optimize (0))) functions. |
| |
| PR other/58712 |
| * omp-low.c (simd_clone_struct_copy): If from->inbranch |
| is set, copy one less argument. |
| (expand_simd_clones): Don't subtract clone_info->inbranch |
| from simd_clone_struct_alloc argument. |
| |
| PR rtl-optimization/57915 |
| * recog.c (simplify_while_replacing): If all unary/binary/relational |
| operation arguments are constant, attempt to simplify those. |
| |
| PR middle-end/59261 |
| * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication |
| if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth. |
| |
| 2014-02-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60012 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply |
| TBAA disambiguation to all DDRs. |
| |
| 2014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR target/59788 |
| * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define. |
| (LINK_SPEC): Use it for -shared, -shared-libgcc. |
| |
| 2014-02-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59882 |
| * tree.c (get_binfo_at_offset): Do not get confused by empty classes; |
| |
| 2014-02-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove. |
| * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove. |
| |
| 2014-02-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59831 |
| * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt |
| to figure out targets of polymorphic calls with known decl. |
| * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. |
| * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare. |
| * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ... |
| (get_polymorphic_call_info): ... here. |
| (get_polymorphic_call_info_from_invariant): New function. |
| |
| 2014-02-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct |
| lookup via vtable pointer; check for type consistency |
| and turn inconsitent facts into UNREACHABLE. |
| * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. |
| * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on |
| type inconsistent querries; return UNREACHABLE instead. |
| |
| 2014-02-03 Richard Henderson <rth@twiddle.net> |
| |
| PR tree-opt/59924 |
| * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've |
| already processed this node. |
| (normalize_one_pred_1): Pass along mark_set. |
| (normalize_one_pred): Create and destroy a pointer_set_t. |
| (normalize_one_pred_chain): Likewise. |
| |
| 2014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com> |
| |
| PR gcov-profile/58602 |
| * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0. |
| |
| 2014-02-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59831 |
| * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on |
| -fno-devirtualize; try to devirtualize by the knowledge of |
| virtual table pointer given by aggregate propagation. |
| * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. |
| (ipa_print_node_jump_functions): Dump also offset that |
| is relevant for polymorphic calls. |
| (determine_known_aggregate_parts): Add arg_type parameter; use it |
| instead of determining the type from pointer type. |
| (ipa_compute_jump_functions_for_edge): Update call of |
| determine_known_aggregate_parts. |
| * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ... |
| (gimple_get_virt_method_for_binfo): ... here; simplify using |
| vtable_pointer_value_to_vtable. |
| * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare. |
| * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter |
| to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable. |
| (vtable_pointer_value_to_vtable): Break out from ...; handle also |
| POINTER_PLUS_EXPR. |
| (vtable_pointer_value_to_binfo): ... here. |
| * ipa-utils.h (vtable_pointer_value_to_vtable): Declare. |
| |
| 2014-02-03 Teresa Johnson <tejohnson@google.com> |
| |
| * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid |
| redef of outer loop index variable. |
| |
| 2014-02-03 Marc Glisse <marc.glisse@inria.fr> |
| |
| PR c++/53017 |
| PR c++/59211 |
| * doc/extend.texi (Function Attributes): Typo. |
| |
| 2014-02-03 Cong Hou <congh@google.com> |
| |
| PR tree-optimization/60000 |
| * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL |
| if the vectorized statement is a store. A store statement can only |
| appear at the end of pattern statements. |
| |
| 2014-02-03 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (flag_opts): Add -mlong-double-128. |
| (ix86_option_override_internal): Default long double to 64-bit for |
| 32-bit Bionic and to 128-bit for 64-bit Bionic. |
| |
| * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if |
| TARGET_LONG_DOUBLE_128 is true. |
| (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise. |
| |
| * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64. |
| (mlong-double-64): Negate -mlong-double-128. |
| (mlong-double-128): New option. |
| |
| * config/i386/i386-c.c (ix86_target_macros): Define |
| __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128. |
| |
| * doc/invoke.texi: Document -mlong-double-128. |
| |
| 2014-02-03 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR rtl-optimization/60024 |
| * sel-sched.c (init_regs_for_mode): Check if mode is OK first. |
| |
| 2014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| * doc/invoke.texi (fprofile-reorder-functions): Fix typo. |
| |
| 2014-02-03 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/57662 |
| * sel-sched.c (code_motion_path_driver): Do not mark already not |
| existing blocks in the visiting bitmap. |
| |
| 2014-02-03 Andrey Belevantsev <abel@ispras.ru> |
| |
| * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P |
| on the insn being emitted. |
| |
| 2014-02-03 James Greenhalgh <james.greenhalgh@arm.com> |
| Will Deacon <will.deacon@arm.com> |
| |
| * doc/gimple.texi (gimple_asm_clear_volatile): Remove. |
| |
| 2014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm-tables.opt: Regenerate. |
| |
| 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize |
| for vector types other than V16QImode. |
| * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a |
| define_expand, and call altivec_expand_vec_perm_le when producing |
| code with little endian element order. |
| (*altivec_vperm_<mode>_internal): New insn having previous |
| behavior of altivec_vperm_<mode>. |
| (altivec_vperm_<mode>_uns): Change to a define_expand, and call |
| altivec_expand_vec_perm_le when producing code with little endian |
| element order. |
| (*altivec_vperm_<mode>_uns_internal): New insn having previous |
| behavior of altivec_vperm_<mode>_uns. |
| |
| 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec. |
| (altivec_vsumsws): Add handling for -maltivec=be with a little |
| endian target. |
| (altivec_vsumsws_direct): New. |
| (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of |
| gen_altivec_vsumsws. |
| |
| 2014-02-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-devirt.c (subbinfo_with_vtable_at_offset, |
| vtable_pointer_value_to_binfo): New functions. |
| * ipa-utils.h (vtable_pointer_value_to_binfo): Declare. |
| * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it. |
| |
| 2014-02-02 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * config/nios2/nios2.md (load_got_register): Initialize GOT |
| pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_. |
| * config/nios2/nios2.c (nios2_function_profiler): Likewise. |
| |
| 2014-02-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-prop.c (update_jump_functions_after_inlining): When type is not |
| preserverd by passthrough, do not propagate the type. |
| |
| 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros. |
| (mips_atomic_assign_expand_fenv): New function. |
| (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define. |
| |
| 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * doc/extend.texi (__builtin_mips_get_fcsr): Document. |
| (__builtin_mips_set_fcsr): Likewise. |
| * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and |
| MIPS_USI_FTYPE_VOID. |
| * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare |
| (mips16_expand_set_fcsr): Likewise. |
| * config/mips/mips.c (mips16_get_fcsr_stub): New variable. |
| (mips16_set_fcsr_stub): Likewise. |
| (mips16_get_fcsr_one_only_stub): New class. |
| (mips16_set_fcsr_one_only_stub): Likewise. |
| (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions. |
| (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed. |
| (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros. |
| (hard_float): New availability predicate. |
| (mips_builtins): Add get_fcsr and set_fcsr. |
| (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16. |
| * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs. |
| (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants. |
| (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>) |
| (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New |
| patterns. |
| |
| 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips_one_only_stub): New class. |
| (mips_need_mips16_rdhwr_p): Replace with... |
| (mips16_rdhwr_stub): ...this new variable. |
| (mips16_stub_call_address): New function. |
| (mips16_rdhwr_one_only_stub): New class. |
| (mips_expand_thread_pointer): Use mips16_stub_call_address. |
| (mips_output_mips16_rdhwr): Delete. |
| (mips_finish_stub): New function. |
| (mips_code_end): Use it to handle rdhwr stubs. |
| |
| 2014-02-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/60017 |
| * config/i386/i386.c (classify_argument): Fix handling of bit_offset |
| when calculating size of integer atomic types. |
| |
| 2014-02-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments. |
| |
| 2014-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/60003 |
| * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label. |
| * profile.c (branch_prob): Use gimple_call_builtin_p |
| to check for BUILT_IN_SETJMP_RECEIVER. |
| * tree-inline.c (copy_bb): Call notice_special_calls. |
| |
| 2014-01-31 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR bootstrap/59985 |
| * lra-constraints.c (process_alt_operands): Update reload_sum only |
| on the first pass. |
| |
| 2014-01-31 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/60004 |
| * tree-eh.c (lower_try_finally_switch): Delay lowering finally block |
| until after else_eh is processed. |
| |
| 2014-01-31 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT), |
| (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF), |
| (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined |
| in smmintrin.h, remove them. |
| (_MM_FROUND_NO_EXC): Same as above, bit also wrong value. |
| * config/i386/i386.c (ix86_print_operand): Split sae and rounding. |
| * config/i386/i386.md (ROUND_SAE): Fix value. |
| * config/i386/predicates.md (const_4_or_8_to_11_operand): New. |
| (const48_operand): New. |
| * config/i386/subst.md (round), (round_expand): Use |
| const_4_or_8_to_11_operand. |
| (round_saeonly), (round_saeonly_expand): Use const48_operand. |
| |
| 2014-01-31 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/constraints.md (Yk): Swap meaning with k. |
| * config/i386/i386.md (movhi_internal): Change Yk to k. |
| (movqi_internal): Ditto. |
| (*k<logic><mode>): Ditto. |
| (*andhi_1): Ditto. |
| (*andqi_1): Ditto. |
| (kandn<mode>): Ditto. |
| (*<code>hi_1): Ditto. |
| (*<code>qi_1): Ditto. |
| (kxnor<mode>): Ditto. |
| (kortestzhi): Ditto. |
| (kortestchi): Ditto. |
| (kunpckhi): Ditto. |
| (*one_cmplhi2_1): Ditto. |
| (*one_cmplqi2_1): Ditto. |
| * config/i386/sse.md (): Change k to Yk. |
| (avx512f_load<mode>_mask): Ditto. |
| (avx512f_blendm<mode>): Ditto. |
| (avx512f_store<mode>_mask): Ditto. |
| (avx512f_storeu<ssemodesuffix>512_mask): Ditto. |
| (avx512f_storedqu<mode>_mask): Ditto. |
| (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>): |
| Ditto. |
| (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto. |
| (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto. |
| (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto. |
| (avx512f_maskcmp<mode>3): Ditto. |
| (avx512f_fmadd_<mode>_mask<round_name>): Ditto. |
| (avx512f_fmadd_<mode>_mask3<round_name>): Ditto. |
| (avx512f_fmsub_<mode>_mask<round_name>): Ditto. |
| (avx512f_fmsub_<mode>_mask3<round_name>): Ditto. |
| (avx512f_fnmadd_<mode>_mask<round_name>): Ditto. |
| (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto. |
| (avx512f_fnmsub_<mode>_mask<round_name>): Ditto. |
| (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto. |
| (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto. |
| (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto. |
| (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto. |
| (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto. |
| (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto. |
| (vec_extract_lo_<mode>_maskm): Ditto. |
| (vec_extract_hi_<mode>_maskm): Ditto. |
| (avx512f_vternlog<mode>_mask): Ditto. |
| (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto. |
| (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto. |
| (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto. |
| (avx512f_<code>v8div16qi2_mask): Ditto. |
| (avx512f_<code>v8div16qi2_mask_store): Ditto. |
| (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto. |
| (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto. |
| (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto. |
| (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto. |
| (*avx512pf_gatherpf<mode>sf_mask): Ditto. |
| (*avx512pf_gatherpf<mode>df_mask): Ditto. |
| (*avx512pf_scatterpf<mode>sf_mask): Ditto. |
| (*avx512pf_scatterpf<mode>df_mask): Ditto. |
| (avx512cd_maskb_vec_dupv8di): Ditto. |
| (avx512cd_maskw_vec_dupv16si): Ditto. |
| (avx512f_vpermi2var<mode>3_maskz): Ditto. |
| (avx512f_vpermi2var<mode>3_mask): Ditto. |
| (avx512f_vpermi2var<mode>3_mask): Ditto. |
| (avx512f_vpermt2var<mode>3_maskz): Ditto. |
| (*avx512f_gathersi<mode>): Ditto. |
| (*avx512f_gathersi<mode>_2): Ditto. |
| (*avx512f_gatherdi<mode>): Ditto. |
| (*avx512f_gatherdi<mode>_2): Ditto. |
| (*avx512f_scattersi<mode>): Ditto. |
| (*avx512f_scatterdi<mode>): Ditto. |
| (avx512f_compress<mode>_mask): Ditto. |
| (avx512f_compressstore<mode>_mask): Ditto. |
| (avx512f_expand<mode>_mask): Ditto. |
| * config/i386/subst.md (mask): Change k to Yk. |
| (mask_scalar_merge): Ditto. |
| (sd): Ditto. |
| |
| 2014-01-31 Marc Glisse <marc.glisse@inria.fr> |
| |
| * doc/extend.texi (Vector Extensions): Document ?: in C++. |
| |
| 2014-01-31 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/59990 |
| * builtins.c (fold_builtin_memory_op): Make sure to not |
| use a floating-point mode or a boolean or enumeral type for |
| the copy operation. |
| |
| 2014-01-30 DJ Delorie <dj@redhat.com> |
| |
| * config/msp430/msp430.h (LIB_SPEC): Add -lcrt |
| * config/msp430/msp430.md (msp430_refsym_need_exit): New. |
| * config/msp430/msp430.c (msp430_expand_epilogue): Call it |
| whenever main() has an epilogue. |
| |
| 2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove |
| unused variable "field". |
| * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE. |
| (vsx_mergeh_<mode>): Likewise. |
| * config/rs6000/altivec.md (altivec_vmrghb): Likewise. |
| (altivec_vmrghh): Likewise. |
| (altivec_vmrghw): Likewise. |
| (altivec_vmrglb): Likewise. |
| (altivec_vmrglh): Likewise. |
| (altivec_vmrglw): Likewise. |
| (altivec_vspltb): Add missing uses. |
| (altivec_vsplth): Likewise. |
| (altivec_vspltw): Likewise. |
| (altivec_vspltsf): Likewise. |
| |
| 2014-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59923 |
| * ifcvt.c (cond_exec_process_insns): Don't conditionalize |
| frame related instructions. |
| |
| 2014-01-30 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/59959 |
| * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to |
| any reload of register whose subreg is invalid. |
| |
| 2014-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning. |
| * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32): |
| Add missing return type - void. |
| |
| 2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use |
| gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf; |
| remove element index adjustment for endian (now handled in vsx.md |
| and altivec.md). |
| (altivec_expand_vec_perm_const): Use |
| gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw]. |
| * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec. |
| (vsx_xxspltw_<mode>): Adjust element index for little endian. |
| * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a |
| define_expand and a new define_insn *altivec_vspltb_internal; |
| adjust for -maltivec=be on a little endian target. |
| (altivec_vspltb_direct): New. |
| (altivec_vsplth): Divide into a define_expand and a new |
| define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a |
| little endian target. |
| (altivec_vsplth_direct): New. |
| (altivec_vspltw): Divide into a define_expand and a new |
| define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a |
| little endian target. |
| (altivec_vspltw_direct): New. |
| (altivec_vspltsf): Divide into a define_expand and a new |
| define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on |
| a little endian target. |
| |
| 2014-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59993 |
| * tree-ssa-forwprop.c (associate_pointerplus): Check we |
| can propagate form the earlier stmt and avoid the transform |
| when the intermediate result is needed. |
| |
| 2014-01-30 Alangi Derick <alangiderick@gmail.com> |
| |
| * README.Portability: Fix typo. |
| |
| 2014-01-30 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace |
| comparison_operator with ordered_comparison_operator. |
| |
| 2014-01-30 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p): |
| Rename to mn10300_store_multiple_regs. |
| * config/mn10300/mn10300.c: Likewise. |
| * config/mn10300/mn10300.md (store_movm): Fix typo: call |
| store_multiple_regs. |
| * config/mn10300/predicates.md (mn10300_store_multiple_operation): |
| Call mn10300_store_multiple_regs. |
| |
| 2014-01-30 Nick Clifton <nickc@redhat.com> |
| DJ Delorie <dj@redhat.com> |
| |
| * config/rl78/rl78.c (register_sizes): Make the "upper half" of |
| %fp 2 to keep registers after it properly word-aligned. |
| (rl78_alloc_physical_registers_umul): Handle the case where both |
| input operands are the same. |
| |
| 2014-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59903 |
| * tree-vect-loop.c (vect_transform_loop): Guard multiple-types |
| check properly. |
| |
| 2014-01-30 Jason Merrill <jason@redhat.com> |
| |
| PR c++/59633 |
| * tree.c (walk_type_fields): Handle VECTOR_TYPE. |
| |
| PR c++/59645 |
| * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary. |
| |
| 2014-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59951 |
| * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns. |
| |
| 2014-01-30 Savin Zlobec <savin.zlobec@gmail.com> |
| |
| PR target/59784 |
| * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of |
| SFmode to DFmode case. |
| |
| 2014-01-29 DJ Delorie <dj@redhat.com> |
| |
| * config/msp430/msp430.opt (-minrt): New. |
| * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime |
| if -minrt given. |
| (ENDFILE_SPEC): Likewise. |
| |
| 2014-01-29 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function. |
| (estimate_function_body_sizes): Use it. |
| |
| 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> |
| |
| PR c++/58561 |
| * dwarf2out.c (is_cxx_auto): New. |
| (is_base_type): Use it. |
| (gen_type_die_with_usage): Likewise. |
| |
| 2014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use |
| CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*. |
| * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for |
| -maltivec=be with LE targets. |
| (vsx_mergeh_<mode>): Likewise. |
| * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs. |
| (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct. |
| (altivec_vmrghb): Replace with define_expand and new |
| *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets. |
| (altivec_vmrghb_direct): New define_insn. |
| (altivec_vmrghh): Replace with define_expand and new |
| *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets. |
| (altivec_vmrghh_direct): New define_insn. |
| (altivec_vmrghw): Replace with define_expand and new |
| *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets. |
| (altivec_vmrghw_direct): New define_insn. |
| (*altivec_vmrghsf): Adjust for endianness. |
| (altivec_vmrglb): Replace with define_expand and new |
| *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets. |
| (altivec_vmrglb_direct): New define_insn. |
| (altivec_vmrglh): Replace with define_expand and new |
| *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets. |
| (altivec_vmrglh_direct): New define_insn. |
| (altivec_vmrglw): Replace with define_expand and new |
| *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets. |
| (altivec_vmrglw_direct): New define_insn. |
| (*altivec_vmrglsf): Adjust for endianness. |
| (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct. |
| (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct. |
| (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct. |
| (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct. |
| (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct. |
| (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct. |
| (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct. |
| (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct. |
| |
| 2014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_expand_mov_immediate) |
| (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust |
| whitespace. |
| |
| 2014-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/58742 |
| * tree-ssa-forwprop.c (associate_pointerplus): Rename to |
| associate_pointerplus_align. |
| (associate_pointerplus_diff): New function. |
| (associate_pointerplus): Likewise. Call associate_pointerplus_align |
| and associate_pointerplus_diff. |
| |
| 2014-01-29 Richard Biener <rguenther@suse.de> |
| |
| * lto-streamer.h (LTO_major_version): Bump to 3. |
| (LTO_minor_version): Reset to 0. |
| |
| 2014-01-29 Renlin Li <Renlin.Li@arm.com> |
| |
| * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch. |
| * config/arm/arm.c (FL_FOR_ARCH7VE): New. |
| (arm_file_start): Generate correct asm header for armv7ve. |
| * config/arm/bpabi.h: Add multilib support for armv7ve. |
| * config/arm/driver-arm.c: Change the architectures of cortex-a7 |
| and cortex-a15 to armv7ve. |
| * config/arm/t-aprofile: Add multilib support for armv7ve. |
| * doc/invoke.texi: Document -march=armv7ve. |
| |
| 2014-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/58742 |
| * tree-ssa-forwprop.c (associate_plusminus): Return true |
| if we changed sth, defer EH cleanup to ... |
| (ssa_forward_propagate_and_combine): ... here. Call simplify_mult. |
| (simplify_mult): New function. |
| |
| 2014-01-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/59917 |
| PR tree-optimization/59920 |
| * tree.c (build_common_builtin_nodes): Remove |
| __builtin_setjmp_dispatcher initialization. |
| * omp-low.h (make_gimple_omp_edges): Add a new int * argument. |
| * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb |
| instead of gsi_after_labels + manually skipping debug stmts. |
| Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead |
| ignore bbs with IFN_ABNORMAL_DISPATCHER. |
| * tree-inline.c (copy_edges_for_bb): Remove |
| can_make_abnormal_goto argument, instead add abnormal_goto_dest |
| argument. Ignore computed_goto_p stmts. Don't call |
| make_abnormal_goto_edges. If a call might need abnormal edges |
| for non-local gotos, see if it already has an edge to |
| IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER |
| with true argument, don't do anything then, otherwise add |
| EDGE_ABNORMAL from the call's bb to abnormal_goto_dest. |
| (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb |
| caller. |
| * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp. |
| (lower_function_body): Don't emit __builtin_setjmp_dispatcher. |
| (lower_stmt): Don't set data->calls_builtin_setjmp. |
| (lower_builtin_setjmp): Adjust comment. |
| * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove. |
| * tree-cfg.c (found_computed_goto): Remove. |
| (factor_computed_gotos): Remove. |
| (make_goto_expr_edges): Return bool, true for computed gotos. |
| Don't call make_abnormal_goto_edges. |
| (build_gimple_cfg): Don't set found_computed_goto, don't call |
| factor_computed_gotos. |
| (computed_goto_p): No longer static. |
| (make_blocks): Don't set found_computed_goto. |
| (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions. |
| (make_edges): If make_goto_expr_edges returns true, push bb |
| into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls |
| instead of calling make_abnormal_goto_edges push bb into ab_edge_call |
| vector. Record mapping between bbs and OpenMP regions if there |
| are any, adjust make_gimple_omp_edges caller. Call |
| handle_abnormal_edges. |
| (make_abnormal_goto_edges): Remove. |
| * tree-cfg.h (make_abnormal_goto_edges): Remove. |
| (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes. |
| * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function. |
| * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER. |
| * internal-fn.def (ABNORMAL_DISPATCHER): New. |
| * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when |
| filling *region also set *region_idx to (*region)->entry->index. |
| |
| PR other/58712 |
| * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code). |
| For REGs set ORIGINAL_REGNO. |
| |
| 2014-01-29 Bingfeng Mei <bmei@broadcom.com> |
| |
| * doc/md.texi: Mention that a target shouldn't implement |
| vec_widen_(s|u)mul_even/odd pair if it is less efficient |
| than hi/lo pair. |
| |
| 2014-01-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/59594 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort |
| a copy of the datarefs vector rather than the vector itself. |
| |
| 2014-01-28 Jason Merrill <jason@redhat.com> |
| |
| PR c++/53756 |
| * dwarf2out.c (auto_die): New static. |
| (gen_type_die_with_usage): Handle C++1y 'auto'. |
| (gen_subprogram_die): If in-class DIE had 'auto', emit type again |
| on definition. |
| |
| 2014-01-28 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/59672 |
| * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32". |
| (SPEC_X32): Likewise. |
| (SPEC_64): Likewise. |
| * config/i386/i386.c (ix86_option_override_internal): Turn off |
| OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64 |
| for TARGET_16BIT. |
| (x86_file_start): Output .code16gcc for TARGET_16BIT. |
| * config/i386/i386.h (TARGET_16BIT): New macro. |
| (TARGET_16BIT_P): Likewise. |
| * config/i386/i386.opt: Add m16. |
| * doc/invoke.texi: Document -m16. |
| |
| 2014-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR preprocessor/59935 |
| * input.c (location_get_source_line): Bail out on when line number |
| is zero, and test the return value of lookup_or_add_file_to_cache_tab. |
| |
| 2014-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/58742 |
| * tree-ssa-forwprop.c (associate_plusminus): Handle |
| pointer subtraction of the form (T)(P + A) - (T)P. |
| |
| 2014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement |
| at const_int_cost. |
| |
| 2014-01-28 Richard Biener <rguenther@suse.de> |
| |
| Revert |
| 2014-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/45364 |
| PR rtl-optimization/59890 |
| * var-tracking.c (local_get_addr_clear_given_value): Handle |
| already cleared slot. |
| (val_reset): Handle not allocated local_get_addr_cache. |
| (vt_find_locations): Use post-order on the inverted CFG. |
| |
| 2014-01-28 Richard Biener <rguenther@suse.de> |
| |
| * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove. |
| |
| 2014-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/45364 |
| PR rtl-optimization/59890 |
| * var-tracking.c (local_get_addr_clear_given_value): Handle |
| already cleared slot. |
| (val_reset): Handle not allocated local_get_addr_cache. |
| (vt_find_locations): Use post-order on the inverted CFG. |
| |
| 2014-01-28 Alan Modra <amodra@gmail.com> |
| |
| * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS. |
| * configure.ac <recursive call for build != host>: Define |
| GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD |
| and LD_FOR_BUILD too. |
| * configure: Regenerate. |
| |
| 2014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org> |
| |
| * config/i386/i386.c (get_builtin_code_for_version): Separate |
| Westmere from Nehalem, Ivy Bridge from Sandy Bridge and |
| Broadwell from Haswell. |
| |
| 2014-01-27 Steve Ellcey <sellcey@mips.com> |
| |
| * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS): |
| Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD. |
| * config/mips/mips.c (mips_option_override): Change setting |
| of TARGET_DSP. |
| * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove. |
| * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D): |
| Change from Mask to Var. |
| |
| 2014-01-27 Jeff Law <law@redhat.com> |
| |
| * ipa-inline.c (inline_small_functions): Fix typo. |
| |
| 2014-01-27 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New. |
| (_mm512_mask_cvtsepi32_storeu_epi8): Ditto. |
| (_mm512_mask_cvtusepi32_storeu_epi8): Ditto. |
| (_mm512_mask_cvtepi32_storeu_epi16): Ditto. |
| (_mm512_mask_cvtsepi32_storeu_epi16): Ditto. |
| (_mm512_mask_cvtusepi32_storeu_epi16): Ditto. |
| (_mm512_mask_cvtepi64_storeu_epi32): Ditto. |
| (_mm512_mask_cvtsepi64_storeu_epi32): Ditto. |
| (_mm512_mask_cvtusepi64_storeu_epi32): Ditto. |
| (_mm512_mask_cvtepi64_storeu_epi16): Ditto. |
| (_mm512_mask_cvtsepi64_storeu_epi16): Ditto. |
| (_mm512_mask_cvtusepi64_storeu_epi16): Ditto. |
| (_mm512_mask_cvtepi64_storeu_epi8): Ditto. |
| (_mm512_mask_cvtsepi64_storeu_epi8): Ditto. |
| (_mm512_mask_cvtusepi64_storeu_epi8): Ditto. |
| (_mm512_storeu_epi64): Ditto. |
| (_mm512_cmpge_epi32_mask): Ditto. |
| (_mm512_cmpge_epu32_mask): Ditto. |
| (_mm512_cmpge_epi64_mask): Ditto. |
| (_mm512_cmpge_epu64_mask): Ditto. |
| (_mm512_cmple_epi32_mask): Ditto. |
| (_mm512_cmple_epu32_mask): Ditto. |
| (_mm512_cmple_epi64_mask): Ditto. |
| (_mm512_cmple_epu64_mask): Ditto. |
| (_mm512_cmplt_epi32_mask): Ditto. |
| (_mm512_cmplt_epu32_mask): Ditto. |
| (_mm512_cmplt_epi64_mask): Ditto. |
| (_mm512_cmplt_epu64_mask): Ditto. |
| (_mm512_cmpneq_epi32_mask): Ditto. |
| (_mm512_cmpneq_epu32_mask): Ditto. |
| (_mm512_cmpneq_epi64_mask): Ditto. |
| (_mm512_cmpneq_epu64_mask): Ditto. |
| (_mm512_expand_pd): Ditto. |
| (_mm512_expand_ps): Ditto. |
| * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI, |
| VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI, |
| VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI. |
| * config/i386/i386.c (ix86_builtins): Add |
| IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK, |
| IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM, |
| IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM, |
| IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM, |
| IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM, |
| IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM, |
| IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM, |
| IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM, |
| IX86_BUILTIN_PMOVUSQW512_MEM. |
| (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask, |
| __builtin_ia32_pmovsqd512mem_mask, |
| __builtin_ia32_pmovqd512mem_mask, |
| __builtin_ia32_pmovusqw512mem_mask, |
| __builtin_ia32_pmovsqw512mem_mask, |
| __builtin_ia32_pmovqw512mem_mask, |
| __builtin_ia32_pmovusdw512mem_mask, |
| __builtin_ia32_pmovsdw512mem_mask, |
| __builtin_ia32_pmovdw512mem_mask, |
| __builtin_ia32_pmovqb512mem_mask, |
| __builtin_ia32_pmovusqb512mem_mask, |
| __builtin_ia32_pmovsqb512mem_mask, |
| __builtin_ia32_pmovusdb512mem_mask, |
| __builtin_ia32_pmovsdb512mem_mask, |
| __builtin_ia32_pmovdb512mem_mask. |
| (bdesc_args): Add __builtin_ia32_expanddf512, |
| __builtin_ia32_expandsf512. |
| (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI, |
| VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI, |
| VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI. |
| * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK. |
| (avx512f_<code><pmov_src_lower><mode>2_mask_store): New. |
| (*avx512f_<code>v8div16qi2_store_mask): Renamed to ... |
| (avx512f_<code>v8div16qi2_mask_store): This. |
| (avx512f_expand<mode>): New. |
| |
| 2014-01-27 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): |
| New. |
| (_mm512_mask_prefetch_i64gather_pd): Ditto. |
| (_mm512_prefetch_i32scatter_pd): Ditto. |
| (_mm512_mask_prefetch_i32scatter_pd): Ditto. |
| (_mm512_prefetch_i64scatter_pd): Ditto. |
| (_mm512_mask_prefetch_i64scatter_pd): Ditto. |
| (_mm512_mask_prefetch_i32gather_ps): Fix operand type. |
| (_mm512_mask_prefetch_i64gather_ps): Ditto. |
| (_mm512_prefetch_i32scatter_ps): Ditto. |
| (_mm512_mask_prefetch_i32scatter_ps): Ditto. |
| (_mm512_prefetch_i64scatter_ps): Ditto. |
| (_mm512_mask_prefetch_i64scatter_ps): Ditto. |
| * config/i386/i386-builtin-types.def: Define |
| VOID_FTYPE_QI_V8SI_PCINT64_INT_INT |
| and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT. |
| * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD, |
| IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD, |
| IX86_BUILTIN_SCATTERPFQPD. |
| (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd, |
| __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd, |
| __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd, |
| __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd, |
| __builtin_ia32_scatterpfqps. |
| (ix86_expand_builtin): Expand new built-ins. |
| * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix, |
| fix memory access data type. |
| (*avx512pf_gatherpf<mode>_mask): Ditto. |
| (*avx512pf_gatherpf<mode>): Ditto. |
| (avx512pf_scatterpf<mode>): Ditto. |
| (*avx512pf_scatterpf<mode>_mask): Ditto. |
| (*avx512pf_scatterpf<mode>): Ditto. |
| (GATHER_SCATTER_SF_MEM_MODE): New. |
| (avx512pf_gatherpf<mode>df): Ditto. |
| (*avx512pf_gatherpf<mode>df_mask): Ditto. |
| (*avx512pf_scatterpf<mode>df): Ditto. |
| |
| 2014-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/59934 |
| * expmed.h (expmed_mode_index): Rework so that analysis and optimziers |
| know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be |
| reached. |
| |
| 2014-01-27 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * common/config/arm/arm-common.c |
| (arm_rewrite_mcpu): Handle multiple names. |
| * config/arm/arm.h |
| (BIG_LITTLE_SPEC): Do not discard mcpu switches. |
| |
| 2014-01-27 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * gimple-builder.h (create_gimple_tmp): Delete. |
| |
| 2014-01-27 Christian Bruel <christian.bruel@st.com> |
| |
| * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after |
| words comparisons. |
| |
| 2014-01-26 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (call): Generate indirect long calls to non-local |
| functions when outputing 32-bit code. |
| (call_value): Likewise except for special call to buggy powf function. |
| |
| * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of |
| portable runtime and PIC indirect calls. |
| (pa_output_indirect_call): Remove unnecessary nop from portable runtime |
| and PIC call sequences. Use ldo instead of blr to set return register |
| in PIC call sequence. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and |
| avoid clobbering a live register. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins): |
| Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}. |
| * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins): |
| Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte |
| arguments on even registers. |
| (tilegx_gimplify_va_arg_expr): Align 16-byte var args to |
| STACK_BOUNDARY. |
| * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes. |
| (BIGGEST_ALIGNMENT): Ditto. |
| (BIGGEST_FIELD_ALIGNMENT): Ditto. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier |
| insns before bundling. |
| * config/tilegx/tilegx.md (tile_network_barrier): Update comment. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.c (tilegx_expand_builtin): Set |
| PREFETCH_SCHEDULE_BARRIER_P to true for prefetches. |
| * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto. |
| |
| 2014-01-25 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/constraints.md (kl): Delete. |
| * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into |
| define expands, using... |
| (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new |
| instructions for MIPS16. |
| (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the |
| non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate. |
| (clzdi2): Ditto. |
| (ffsdi2): Ditto. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New. |
| (TARGET_EXPAND_TO_RTL_HOOK): Define. |
| |
| 2014-01-25 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * rtlanal.c (canonicalize_condition): Split out duplicated mode check. |
| Handle XOR. |
| |
| 2014-01-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * print-rtl.c (in_call_function_usage): New var. |
| (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print |
| EXPR_LIST mode as mode and not as reg note name. |
| |
| PR middle-end/59561 |
| * cfgloopmanip.c (copy_loop_info): If |
| loop->warned_aggressive_loop_optimizations, make sure |
| the flag is set in target loop too. |
| |
| 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com> |
| |
| * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to |
| flag_cilkplus. |
| * builtins.def: Likewise. |
| * cilk.h (fn_contains_cilk_spawn_p): Likewise. |
| * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise. |
| * ira.c (ira_setup_eliminable_regset): Likewise. |
| * omp-low.c (gate_expand_omp): Likewise. |
| (execute_lower_omp): Likewise. |
| (diagnose_sb_0): Likewise. |
| (gate_diagnose_omp_blocks): Likewise. |
| (simd_clone_clauses_extract): Likewise. |
| (gate): Likewise. |
| |
| 2014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove |
| correction for little endian... |
| * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to |
| here. |
| |
| 2014-01-24 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/59919 |
| * tree-vrp.c (find_assert_locations_1): Do not register asserts |
| for non-returning calls. |
| |
| 2014-01-24 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * common/config/aarch64/aarch64-common.c |
| (aarch64_rewrite_mcpu): Handle multiple names. |
| * config/aarch64/aarch64.h |
| (BIG_LITTLE_SPEC): Do not discard mcpu switches. |
| |
| 2014-01-24 Dodji Seketeli <dodji@redhat.com> |
| |
| * input.c (add_file_to_cache_tab): Handle the case where fopen |
| returns NULL. |
| |
| 2014-01-23 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/59929 |
| * config/i386/i386.md (pushsf splitter): Get stack adjustment |
| from push operand if code of push isn't PRE_DEC. |
| |
| 2014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/59909 |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Document |
| -mquad-memory-atomic. Update -mquad-memory documentation to say |
| it is only used for non-atomic loads/stores. |
| |
| * config/rs6000/predicates.md (quad_int_reg_operand): Allow either |
| -mquad-memory or -mquad-memory-atomic switches. |
| |
| * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add |
| -mquad-memory-atomic to ISA 2.07 support. |
| |
| * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch |
| to separate support of normal quad word memory operations (ldq, stq) |
| from the atomic quad word memory operations. |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Add |
| support to separate non-atomic quad word operations from atomic |
| quad word operations. Disable non-atomic quad word operations in |
| little endian mode so that we don't have to swap words after the |
| load and before the store. |
| (quad_load_store_p): Add comment about atomic quad word support. |
| (rs6000_opt_masks): Add -mquad-memory-atomic to the list of |
| options printed with -mdebug=reg. |
| |
| * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use |
| -mquad-memory-atomic as the test for whether we have quad word |
| atomic instructions. |
| (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory, |
| or -mp8-vector are used, allow byte/half-word atomic operations. |
| |
| * config/rs6000/sync.md (load_lockedti): Insure that the address |
| is a proper indexed or indirect address for the lqarx instruction. |
| On little endian systems, swap the hi/lo registers after the lqarx |
| instruction. |
| (load_lockedpti): Use indexed_or_indirect_operand predicate to |
| insure the address is valid for the lqarx instruction. |
| (store_conditionalti): Insure that the address is a proper indexed |
| or indirect address for the stqcrx. instruction. On little endian |
| systems, swap the hi/lo registers before doing the stqcrx. |
| instruction. |
| (store_conditionalpti): Use indexed_or_indirect_operand predicate to |
| insure the address is valid for the stqcrx. instruction. |
| |
| * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros): |
| Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what |
| type of quad memory support is available. |
| |
| 2014-01-23 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR regression/59915 |
| * lra-constraints.c (simplify_operand_subreg): Spill pseudo if |
| there is a danger of looping. |
| |
| 2014-01-23 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't |
| force flag_ira_loop_pressure if set via command line. |
| |
| 2014-01-23 Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed. |
| (ashr_simd): New builtin handling DI mode. |
| * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern. |
| (aarch64_sshr_simddi): New match pattern. |
| * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified. |
| (vshrd_n_s64): Likewise. |
| * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate. |
| |
| 2014-01-23 Nick Clifton <nickc@redhat.com> |
| |
| * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu. |
| (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in |
| favour of mcu specific scripts. |
| * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for |
| 430x multilibs. |
| |
| 2014-01-23 James Greenhalgh <james.greenhalgh@arm.com> |
| Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup. |
| (vaddv_s16): Likewise. |
| (vaddv_s32): Likewise. |
| (vaddv_u8): Likewise. |
| (vaddv_u16): Likewise. |
| (vaddv_u32): Likewise. |
| (vaddvq_s8): Likewise. |
| (vaddvq_s16): Likewise. |
| (vaddvq_s32): Likewise. |
| (vaddvq_s64): Likewise. |
| (vaddvq_u8): Likewise. |
| (vaddvq_u16): Likewise. |
| (vaddvq_u32): Likewise. |
| (vaddvq_u64): Likewise. |
| (vaddv_f32): Likewise. |
| (vaddvq_f32): Likewise. |
| (vaddvq_f64): Likewise. |
| (vmaxv_f32): Likewise. |
| (vmaxv_s8): Likewise. |
| (vmaxv_s16): Likewise. |
| (vmaxv_s32): Likewise. |
| (vmaxv_u8): Likewise. |
| (vmaxv_u16): Likewise. |
| (vmaxv_u32): Likewise. |
| (vmaxvq_f32): Likewise. |
| (vmaxvq_f64): Likewise. |
| (vmaxvq_s8): Likewise. |
| (vmaxvq_s16): Likewise. |
| (vmaxvq_s32): Likewise. |
| (vmaxvq_u8): Likewise. |
| (vmaxvq_u16): Likewise. |
| (vmaxvq_u32): Likewise. |
| (vmaxnmv_f32): Likewise. |
| (vmaxnmvq_f32): Likewise. |
| (vmaxnmvq_f64): Likewise. |
| (vminv_f32): Likewise. |
| (vminv_s8): Likewise. |
| (vminv_s16): Likewise. |
| (vminv_s32): Likewise. |
| (vminv_u8): Likewise. |
| (vminv_u16): Likewise. |
| (vminv_u32): Likewise. |
| (vminvq_f32): Likewise. |
| (vminvq_f64): Likewise. |
| (vminvq_s8): Likewise. |
| (vminvq_s16): Likewise. |
| (vminvq_s32): Likewise. |
| (vminvq_u8): Likewise. |
| (vminvq_u16): Likewise. |
| (vminvq_u32): Likewise. |
| (vminnmv_f32): Likewise. |
| (vminnmvq_f32): Likewise. |
| (vminnmvq_f64): Likewise. |
| |
| 2014-01-23 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64-simd.md |
| (aarch64_dup_lane<mode>): Correct lane number on big-endian. |
| (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise. |
| (*aarch64_mul3_elt<mode>): Likewise. |
| (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise. |
| (*aarch64_mul3_elt_to_64v2df): Likewise. |
| (*aarch64_mla_elt<mode>): Likewise. |
| (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise. |
| (*aarch64_mls_elt<mode>): Likewise. |
| (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise. |
| (*aarch64_fma4_elt<mode>): Likewise. |
| (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise. |
| (*aarch64_fma4_elt_to_64v2df): Likewise. |
| (*aarch64_fnma4_elt<mode>): Likewise. |
| (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise. |
| (*aarch64_fnma4_elt_to_64v2df): Likewise. |
| (aarch64_sq<r>dmulh_lane<mode>): Likewise. |
| (aarch64_sq<r>dmulh_laneq<mode>): Likewise. |
| (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise. |
| (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise. |
| (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise. |
| (aarch64_sqdmull_lane<mode>_internal): Likewise. |
| (aarch64_sqdmull2_lane<mode>_internal): Likewise. |
| |
| 2013-01-23 Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/aarch64-simd.md |
| (aarch64_be_checked_get_lane<mode>): New define_expand. |
| * config/aarch64/aarch64-simd-builtins.def |
| (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)): |
| New builtin definition. |
| * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any): |
| Use new safe be builtin. |
| |
| 2014-01-23 Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>): |
| New define_insn. |
| (aarch64_be_st1<mode>): Likewise. |
| (aarch_ld1<VALL:mode>): Define_expand modified. |
| (aarch_st1<VALL:mode>): Likewise. |
| * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition. |
| (UNSPEC_ST1): Likewise. |
| |
| 2014-01-23 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * config/microblaze/microblaze.md: Add trap insn and attribute |
| |
| 2014-01-23 Dodji Seketeli <dodji@redhat.com> |
| |
| PR preprocessor/58580 |
| * input.h (location_get_source_line): Take an additional line_size |
| parameter. |
| (void diagnostics_file_cache_fini): Declare new function. |
| * input.c (struct fcache): New type. |
| (fcache_tab_size, fcache_buffer_size, fcache_line_record_size): |
| New static constants. |
| (diagnostic_file_cache_init, total_lines_num) |
| (lookup_file_in_cache_tab, evicted_cache_tab_entry) |
| (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab) |
| (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data) |
| (get_next_line, read_next_line, goto_next_line, read_line_num): |
| New static function definitions. |
| (diagnostic_file_cache_fini): New function. |
| (location_get_source_line): Take an additional output line_len |
| parameter. Re-write using lookup_or_add_file_to_cache_tab and |
| read_line_num. |
| * diagnostic.c (diagnostic_finish): Call |
| diagnostic_file_cache_fini. |
| (adjust_line): Take an additional input parameter for the length |
| of the line, rather than calculating it with strlen. |
| (diagnostic_show_locus): Adjust the use of |
| location_get_source_line and adjust_line with respect to their new |
| signature. While displaying a line now, do not stop at the first |
| null byte. Rather, display the zero byte as a space and keep |
| going until we reach the size of the line. |
| * Makefile.in: Add vec.o to OBJS-libcommon |
| |
| 2014-01-23 Kirill Yukhin <kirill.yukhin@intel.com> |
| Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx512fintrin.h (_mm512_kmov): New. |
| * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto. |
| (__builtin_ia32_kmov16): Ditto. |
| * config/i386/i386.md (UNSPEC_KMOV): New. |
| (kmovw): Ditto. |
| |
| 2014-01-23 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename. |
| (_mm512_storeu_si512): Ditto. |
| |
| 2014-01-23 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR target/52125 |
| * rtl.h (get_referenced_operands): Declare. |
| * recog.c (get_referenced_operands): New function. |
| * config/mips/mips.c (mips_reorg_process_insns): Check which asm |
| operands have been referenced when recording LO_SUM references. |
| |
| 2014-01-22 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * config/microblaze/microblaze.md: Correct bswaphi2 insn. |
| |
| 2014-01-22 Jan Hubicka <hubicka@ucw.cz> |
| |
| * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): |
| Enable for generic and recent AMD targets. |
| |
| 2014-01-22 Jan Hubicka <hubicka@ucw.cz> |
| |
| * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove |
| ARG_SIZE note when adjustment was eliminated. |
| |
| 2014-01-22 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/59597 |
| * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier |
| in file. Accept new argument REGISTERING and use it to modify |
| dump output appropriately. |
| (register_jump_thread): Corresponding changes. |
| (mark_threaded_blocks): Reinstate code to cancel unprofitable |
| thread paths involving joiner blocks. Add code to dump cancelled |
| jump threading paths. |
| |
| 2014-01-22 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/59477 |
| * lra-constraints.c (inherit_in_ebb): Process call for living hard |
| regs. Update reloads_num and potential_reload_hard_regs for all insns. |
| |
| 2014-01-22 Tom Tromey <tromey@redhat.com> |
| |
| * config/i386/i386-interix.h (i386_pe_unique_section): Don't use |
| PARAMS. |
| * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS. |
| |
| 2014-01-21 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/59896 |
| * lra-constraints.c (process_alt_operands): Check unused note for |
| matched operands of insn with no output reloads. |
| |
| 2014-01-21 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case. |
| (mips_move_from_gpr_cost): Likewise. |
| |
| 2014-01-21 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/59858 |
| * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use |
| ira_class_hard_regs_num. |
| (process_alt_operands): Increase reject for dying matched operand. |
| |
| 2014-01-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59003 |
| * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is |
| smaller than size, perform several stores or loads and stores |
| at dst + count - size to store or copy all of size bytes, rather |
| than just last modesize bytes. |
| |
| 2014-01-20 DJ Delorie <dj@redhat.com> |
| |
| * config/rl78/rl78.c (rl78_propogate_register_origins): Verify |
| that CLOBBERs are REGs before propogating their values. |
| |
| 2014-01-20 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR middle-end/59789 |
| * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE. |
| (cgraph_inline_failed_type): New function. |
| * cgraph.h (DEFCIFCODE): Add type. |
| (cgraph_inline_failed_type_t): New enum. |
| (cgraph_inline_failed_type): New prototype. |
| * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED, |
| FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE, |
| FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT, |
| LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT, |
| MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT, |
| RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED, |
| OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL, |
| INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL. |
| Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE, |
| FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS, |
| EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH, |
| OPTIMIZATION_MISMATCH. |
| * tree-inline.c (expand_call_inline): Emit errors during |
| early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR. |
| |
| 2014-01-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/59685 |
| * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF |
| mode attribute in insn output. |
| |
| 2014-01-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * output.h (output_constant): Delete. |
| * varasm.c (output_constant): Make private. |
| |
| 2014-01-20 Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check. |
| |
| 2014-01-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/59860 |
| * tree.h (fold_builtin_strcat): New prototype. |
| * builtins.c (fold_builtin_strcat): No longer static. Add len |
| argument, if non-NULL, don't call c_strlen. Optimize |
| directly into __builtin_memcpy instead of __builtin_strcpy. |
| (fold_builtin_2): Adjust fold_builtin_strcat caller. |
| * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT. |
| |
| 2014-01-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false |
| for SImode_address_operand operands, having only a REG argument. |
| |
| 2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand |
| loader name using mbig-endian. |
| (LINUX_TARGET_LINK_SPEC): Pass linker -m flag. |
| |
| 2014-01-20 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * doc/invoke.texi (-march): Clarify documentation for AArch64. |
| (-mtune): Likewise. |
| (-mcpu): Likewise. |
| |
| 2014-01-20 Tejas Belagod <tejas.belagod@arm.com> |
| |
| * config/aarch64/aarch64-protos.h |
| (aarch64_cannot_change_mode_class_ptr): Declare. |
| * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class, |
| aarch64_cannot_change_mode_class_ptr): New. |
| * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call |
| backend hook aarch64_cannot_change_mode_class. |
| |
| 2014-01-20 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * common/config/aarch64/aarch64-common.c |
| (aarch64_handle_option): Don't handle any option order logic here. |
| * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override |
| selected_cpu, warn on architecture version mismatch. |
| (aarch64_override_options): Fix parsing order for option strings. |
| |
| 2014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
| Iain Sandoe <iain@codesourcery.com> |
| |
| PR bootstrap/59496 |
| * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable |
| warning. Amend comment to reflect current functionality. |
| |
| 2014-01-20 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/59860 |
| * builtins.c (fold_builtin_strcat): Remove case better handled |
| by tree-ssa-strlen.c. |
| |
| 2014-01-20 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/aarch64/aarch64.opt |
| (mcpu, march, mtune): Make case-insensitive. |
| |
| 2014-01-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59880 |
| * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false |
| if operands[1] is a REG or ZERO_EXTEND of a REG. |
| |
| 2014-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p. |
| |
| 2014-01-19 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of |
| long non-pic millicode calls. |
| |
| 2014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
| |
| * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning. |
| |
| 2014-01-19 Kito Cheng <kito@0xlab.org> |
| |
| * builtins.c (expand_movstr): Check movstr expand done or fail. |
| |
| 2014-01-18 Uros Bizjak <ubizjak@gmail.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/59379 |
| * config/i386/i386.md (*lea<mode>): Zero-extend return register |
| to DImode for zero-extended addresses. |
| |
| 2014-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/57763 |
| * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL |
| on the new indirect jump_insn and increment LABEL_NUSES (label). |
| |
| 2014-01-18 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR bootstrap/59580 |
| PR bootstrap/59583 |
| * config.gcc (x86_archs): New variable. |
| (x86_64_archs): Likewise. |
| (x86_cpus): Likewise. |
| Use $x86_archs, $x86_64_archs and $x86_cpus to check valid |
| --with-arch/--with-cpu= options. |
| Support --with-arch=/--with-cpu={nehalem,westmere, |
| sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}. |
| |
| 2014-01-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8 |
| and PROCESSOR_ATHLON to simplify code. Move "memory" calculation. |
| |
| 2014-01-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*swap<mode>): Rename from swap<mode>. |
| |
| 2014-01-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/58944 |
| * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily |
| clear cpp_get_options (parse_in)->warn_unused_macros for |
| ix86_target_macros_internal with cpp_define. |
| |
| 2014-01-18 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * jump.c (delete_related_insns): Keep (use (insn))s. |
| * reorg.c (redundant_insn): Check for barriers too. |
| |
| 2014-01-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo. |
| |
| 2014-01-17 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short |
| call to $$dyncall when TARGET_LONG_CALLS is true. |
| |
| 2014-01-17 Jeff Law <law@redhat.com> |
| |
| * ree.c (combine_set_extension): Temporarily disable test for |
| changing number of hard registers. |
| |
| 2014-01-17 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/58125 |
| * ipa-inline-analysis.c (inline_free_summary): |
| Do not free summary of aliases. |
| |
| 2014-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/59706 |
| * gimplify.c (gimplify_expr): Use create_tmp_var |
| instead of create_tmp_var_raw. If cond doesn't have |
| integral type, don't add the IFN_ANNOTATE builtin at all. |
| |
| 2014-01-17 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/59736 |
| * ipa-cp.c (prev_edge_clone): New variable. |
| (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors. |
| Also resize prev_edge_clone vector. |
| (ipcp_edge_duplication_hook): Also update prev_edge_clone. |
| (ipcp_edge_removal_hook): New function. |
| (ipcp_driver): Register ipcp_edge_removal_hook. |
| |
| 2014-01-17 Andrew Pinski <apinski@cavium.com> |
| Steve Ellcey <sellcey@mips.com> |
| |
| PR target/59462 |
| * config/mips/mips.c (mips_print_operand): Check operand mode instead |
| of operator mode. |
| |
| 2014-01-17 Jeff Law <law@redhat.com> |
| |
| PR middle-end/57904 |
| * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence |
| so that pass_ccp runs first. |
| |
| 2014-01-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX. |
| (ix86_adjust_cost): Use !TARGET_XXX. |
| (do_reorder_for_imul): Likewise. |
| (swap_top_of_ready_list): Likewise. |
| (ix86_sched_reorder): Likewise. |
| |
| 2014-01-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386-c.c (ix86_target_macros_internal): Handle |
| PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC. |
| * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy. |
| (intel_memset): New. Duplicate slm_memset. |
| (intel_cost): New. Duplicate slm_cost. |
| (m_INTEL): New macro. |
| (processor_target_table): Add "intel". |
| (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT |
| with PROCESSOR_INTEL for "intel". |
| (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate |
| PROCESSOR_SILVERMONT. |
| (ix86_issue_rate): Likewise. |
| (ix86_adjust_cost): Likewise. |
| (ia32_multipass_dfa_lookahead): Likewise. |
| (swap_top_of_ready_list): Likewise. |
| (ix86_sched_reorder): Likewise. |
| (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR |
| instead of TARGET_OPT_AGU. |
| * config/i386/i386.h (TARGET_INTEL): New. |
| (TARGET_AVOID_LEA_FOR_ADDR): Likewise. |
| (processor_type): Add PROCESSOR_INTEL. |
| * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT. |
| Add X86_TUNE_AVOID_LEA_FOR_ADDR. |
| |
| 2014-01-17 Marek Polacek <polacek@redhat.com> |
| |
| PR c/58346 |
| * gimple-fold.c (fold_array_ctor_reference): Don't fold if element |
| size is zero. |
| |
| 2014-01-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/46590 |
| * opts.c (default_options_table): Add entries for |
| OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta, |
| all enabled at -O1 but not for -Og. |
| * common.opt (fbranch-count-reg): Remove Init(1). |
| (fmove-loop-invariants): Likewise. |
| (ftree-pta): Likewise. |
| |
| 2014-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_data_alignment): For compatibility with |
| (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align |
| decls to at least the GCC 4.8 used alignments. |
| |
| PR fortran/59440 |
| * tree-nested.c (convert_nonlocal_reference_stmt, |
| convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars |
| of GIMPLE_BIND stmts, adjust associated decls. |
| |
| 2014-01-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/46590 |
| * vec.h (vec<>::bseach): New member function implementing |
| binary search according to C89 bsearch. |
| (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1. |
| * tree-ssa-loop-im.c (struct mem_ref): Make stored member a |
| bitmap pointer again. Make accesses_in_loop a flat array. |
| (mem_ref_obstack): New global. |
| (outermost_indep_loop): Adjust for mem_ref->stored changes. |
| (mark_ref_stored): Likewise. |
| (ref_indep_loop_p_2): Likewise. |
| (set_ref_stored_in_loop): New helper function. |
| (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack. |
| (memref_free): Adjust. |
| (record_mem_ref_loc): Simplify. |
| (gather_mem_refs_stmt): Adjust. |
| (sort_locs_in_loop_postorder_cmp): New function. |
| (analyze_memory_references): Sort accesses_in_loop after |
| loop postorder number. |
| (find_ref_loc_in_loop_cmp): New function. |
| (for_all_locs_in_loop): Find relevant cluster of locs in |
| accesses_in_loop and iterate without recursion. |
| (execute_sm): Avoid uninit warning. |
| (struct ref_always_accessed): Simplify. |
| (ref_always_accessed::operator ()): Likewise. |
| (ref_always_accessed_p): Likewise. |
| (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute |
| loop postorder numbers here. |
| (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder |
| numbers. |
| |
| 2014-01-17 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR c++/57945 |
| * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl |
| on decls for which assemble_alias has been called. |
| |
| 2014-01-17 Nick Clifton <nickc@redhat.com> |
| |
| * config/msp430/msp430.opt: (mcpu): New option. |
| * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu. |
| (msp430_option_override): Parse target_cpu. If the MCU name |
| matches a generic string, clear target_mcu. |
| (msp430_attr): Allow numeric interrupt values up to 63. |
| (msp430_expand_epilogue): No longer invert operand 1 of gen_popm. |
| * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu |
| option. |
| * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches. |
| Add mcpu matches. |
| * config/msp430/msp430.md (popm): Use %J rather than %I. |
| (addsi3): Use msp430_nonimmediate_operand for operand 2. |
| (addhi_cy_i): Use immediate_operand for operand 2. |
| * doc/invoke.texi: Document -mcpu option. |
| |
| 2014-01-17 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/38518 |
| * df.h (df_analyze_loop): Declare. |
| * df-core.c: Include cfgloop.h. |
| (df_analyze_1): Split out main part of df_analyze. |
| (df_analyze): Adjust. |
| (loop_inverted_post_order_compute): New function. |
| (loop_post_order_compute): Likewise. |
| (df_analyze_loop): New function avoiding whole-function |
| postorder computes. |
| * loop-invariant.c (find_defs): Use df_analyze_loop. |
| (find_invariants): Adjust. |
| * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop. |
| |
| 2014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com> |
| |
| * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2. |
| (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK. |
| |
| 2014-01-16 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * ipa-ref.c (ipa_remove_stmt_references): Fix references |
| traversal when removing references. |
| |
| 2014-01-16 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59775 |
| * tree.c (get_binfo_at_offset): Look harder for virtual bases. |
| |
| 2014-01-16 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR middle-end/56791 |
| * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when |
| pushing a reload for an autoinc when we had previously reloaded an |
| inner part of the address. |
| |
| 2014-01-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies |
| field. |
| (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define. |
| * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it |
| when not giving up or versioning for alias only because of |
| loop->safelen. |
| (vect_analyze_data_ref_dependences): Set to true. |
| * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt |
| is a GIMPLE_PHI. |
| (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of |
| LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop |
| to the condition. |
| |
| PR middle-end/58344 |
| * expr.c (expand_expr_real_1): Handle init == NULL_TREE. |
| |
| PR target/59839 |
| * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy |
| operand 0 predicate for gathers, use a new pseudo as subtarget. |
| |
| 2014-01-16 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR middle-end/59609 |
| * lra-constraints.c (process_alt_operands): Add printing debug info. |
| Check absence of input/output reloads for matched operands too. |
| |
| 2014-01-16 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/59835 |
| * ira.c (ira_init_register_move_cost): Increase cost for |
| impossible modes. |
| |
| 2014-01-16 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive. |
| |
| 2014-01-16 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/59780 |
| * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on |
| non-register objects. Use gen_(high/low)part more consistently. |
| Fix assertions. |
| |
| 2014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/59844 |
| * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little |
| endian support, remove tests for WORDS_BIG_ENDIAN. |
| (p8_mfvsrd_3_<mode>): Likewise. |
| (reload_gpr_from_vsx<mode>): Likewise. |
| (reload_gpr_from_vsxsf): Likewise. |
| (p8_mfvsrd_4_disf): Likewise. |
| |
| 2014-01-16 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/46590 |
| * lcm.c (compute_antinout_edge): Use postorder iteration. |
| (compute_laterin): Use inverted postorder iteration. |
| |
| 2014-01-16 Nick Clifton <nickc@redhat.com> |
| |
| PR middle-end/28865 |
| * varasm.c (output_constant): Return the number of bytes actually |
| emitted. |
| (output_constructor_array_range): Update the field size with the |
| number of bytes emitted by output_constant. |
| (output_constructor_regular_field): Likewise. Also do not |
| complain if the total number of bytes emitted is now greater |
| than the expected fieldpos. |
| * output.h (output_constant): Update prototype and descriptive comment. |
| |
| 2014-01-16 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/59827 |
| * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if |
| it is error_mark_node. |
| |
| 2014-01-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_hard_regno_mode_ok): Use |
| VALID_AVX256_REG_OR_OI_MODE. |
| |
| 2014-01-15 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if |
| current procedure should be profiled. |
| |
| 2014-01-15 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost |
| of moving from/to the STACK_REG register class. |
| |
| 2014-01-15 Richard Henderson <rth@redhat.com> |
| |
| PR debug/54694 |
| * reginfo.c (global_regs_decl): Globalize. |
| * rtl.h (global_regs_decl): Declare. |
| * ira.c (do_reload): Diagnose frame_pointer_needed and it |
| reserved via global_regs. |
| |
| 2014-01-15 Teresa Johnson <tejohnson@google.com> |
| |
| * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef. |
| |
| 2014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com> |
| |
| * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh |
| and vmulosh rather than call gen_vec_widen_smult_*. |
| (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather |
| than BYTES_BIG_ENDIAN to determine use of even or odd instruction. |
| (vec_widen_smult_even_v16qi): Likewise. |
| (vec_widen_umult_even_v8hi): Likewise. |
| (vec_widen_smult_even_v8hi): Likewise. |
| (vec_widen_umult_odd_v16qi): Likewise. |
| (vec_widen_smult_odd_v16qi): Likewise. |
| (vec_widen_umult_odd_v8hi): Likewise. |
| (vec_widen_smult_odd_v8hi): Likewise. |
| (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and |
| vmuloub rather than call gen_vec_widen_umult_*. |
| (vec_widen_umult_lo_v16qi): Likewise. |
| (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and |
| vmulosb rather than call gen_vec_widen_smult_*. |
| (vec_widen_smult_lo_v16qi): Likewise. |
| (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh |
| rather than call gen_vec_widen_umult_*. |
| (vec_widen_umult_lo_v8hi): Likewise. |
| (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh |
| rather than call gen_vec_widen_smult_*. |
| (vec_widen_smult_lo_v8hi): Likewise. |
| |
| 2014-01-15 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/59747 |
| * ree.c (find_and_remove_re): Properly handle case where a second |
| eliminated extension requires widening a copy created for elimination |
| of a prior extension. |
| (combine_set_extension): Ensure that the number of hard regs needed |
| for a destination register does not change when we widen it. |
| |
| 2014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config.gcc (*-*-rtems*): Add t-rtems to tmake_file. |
| (arm*-*-uclinux*eabi*): Do not override an existing tmake_file. |
| (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise. |
| (arm*-*-rtems*): Use t-rtems from existing tmake_file. |
| (avr-*-rtems*): Likewise. |
| (bfin*-rtems*): Likewise. |
| (moxie-*-rtems*): Likewise. |
| (h8300-*-rtems*): Likewise. |
| (i[34567]86-*-rtems*): Likewise. |
| (lm32-*-rtems*): Likewise. |
| (m32r-*-rtems*): Likewise. |
| (m68k-*-rtems*): Likewise. |
| (microblaze*-*-rtems*): Likewise. |
| (mips*-*-rtems*): Likewise. |
| (powerpc-*-rtems*): Likewise. |
| (sh-*-rtems*): Likewise. |
| (sparc-*-rtems*): Likewise. |
| (sparc64-*-rtems*): Likewise. |
| (v850-*-rtems*): Likewise. |
| (m32c-*-rtems*): Likewise. |
| |
| 2014-01-15 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/59511 |
| * ira.c (ira_init_register_move_cost): Use memory costs for some |
| cases of register move cost calculations. |
| * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB |
| instead of BB frequency. |
| * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto. |
| * lra-assigns.c (find_hard_regno_for): Ditto. |
| |
| 2014-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59822 |
| * tree-vect-stmts.c (hoist_defs_of_uses): New function. |
| (vectorizable_load): Use it to hoist defs of uses of invariant |
| loads out of the loop. |
| |
| 2014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org> |
| Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| PR target/59695 |
| * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect |
| truncation. |
| |
| 2014-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/59802 |
| * lcm.c (compute_available): Use inverted postorder to seed |
| the initial worklist. |
| |
| 2014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| PR target/59803 |
| * config/s390/s390.c (s390_preferred_reload_class): Don't return |
| ADDR_REGS for invalid symrefs in non-PIC code. |
| |
| 2014-01-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR other/58712 |
| * builtins.c (determine_block_size): Initialize *probable_max_size |
| even if len_rtx is CONST_INT. |
| |
| 2014-01-14 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate. |
| * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2. |
| (cortexa53_tunings): Likewise. |
| (aarch64_sched_issue_rate): New function. |
| (TARGET_SCHED_ISSUE_RATE): Define. |
| |
| 2014-01-14 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * ira-costs.c (find_costs_and_classes): Add missed |
| ira_init_register_move_cost_if_necessary. |
| |
| 2014-01-14 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/59787 |
| * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress. |
| |
| 2014-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/59794 |
| * config/i386/i386.c (type_natural_mode): Add a bool parameter |
| to indicate if type is used for function return value. Warn ABI |
| change if the vector mode isn't available for function return value. |
| (ix86_function_arg_advance): Pass false to type_natural_mode. |
| (ix86_function_arg): Likewise. |
| (ix86_gimplify_va_arg): Likewise. |
| (function_arg_32): Don't warn ABI change. |
| (ix86_function_value): Pass true to type_natural_mode. |
| (ix86_return_in_memory): Likewise. |
| (ix86_struct_value_rtx): Removed. |
| (TARGET_STRUCT_VALUE_RTX): Likewise. |
| |
| 2014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com> |
| |
| * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when |
| converting a conditional jump into a conditional return. |
| |
| 2014-01-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/58921 |
| PR tree-optimization/59006 |
| * tree-vect-loop-manip.c (vect_loop_versioning): Remove code |
| hoisting invariant stmts. |
| * tree-vect-stmts.c (vectorizable_load): Insert the splat of |
| invariant loads on the preheader edge if possible. |
| |
| 2014-01-14 Joey Ye <joey.ye@arm.com> |
| |
| * doc/plugin.texi (Building GCC plugins): Update to C++. |
| |
| 2014-01-14 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New. |
| (_mm_rcp28_round_ss): Ditto. |
| (_mm_rsqrt28_round_sd): Ditto. |
| (_mm_rsqrt28_round_ss): Ditto. |
| (_mm_rcp28_sd): Ditto. |
| (_mm_rcp28_ss): Ditto. |
| (_mm_rsqrt28_sd): Ditto. |
| (_mm_rsqrt28_ss): Ditto. |
| * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto. |
| * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto. |
| * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto. |
| (IX86_BUILTIN_RCP28SD): Ditto. |
| (IX86_BUILTIN_RCP28SS): Ditto. |
| (IX86_BUILTIN_RSQRT28SD): Ditto. |
| (IX86_BUILTIN_RSQRT28SS): Ditto. |
| (bdesc_special_args): Define __builtin_ia32_movntdqa512, |
| __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round, |
| __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round. |
| (ix86_expand_special_args_builtin): Expand new FTYPE. |
| * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI. |
| (srcp14<mode>): Make insn unary. |
| (avx512f_vmscalef<mode><round_name>): Use substed predicate. |
| (avx512f_sgetexp<mode><round_saeonly_name>): Ditto. |
| (avx512f_rndscale<mode><round_saeonly_name>): Ditto. |
| (<sse4_1_avx2>_movntdqa): Extend to 512 bits. |
| (avx512er_exp2<mode><mask_name><round_saeonly_name>): |
| Fix rounding: make it SAE only. |
| (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): |
| Ditto. |
| (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): |
| Ditto. |
| (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto. |
| (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto. |
| (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto. |
| * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove. |
| (round_saeonly_mask_scalar_operand4): Ditto. |
| (round_saeonly_mask_scalar_op3): Ditto. |
| (round_saeonly_mask_scalar_op4): Ditto. |
| |
| 2014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): |
| Implement -maltivec=be for vec_insert and vec_extract. |
| |
| 2014-01-10 DJ Delorie <dj@redhat.com> |
| |
| * config/msp430/msp430.md (call_internal): Don't allow memory |
| references with SP as the base register. |
| (call_value_internal): Likewise. |
| * config/msp430/constraints.md (Yc): New. For memory references |
| that don't use SP as a base register. |
| |
| * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean |
| "an integer without a # prefix" |
| * config/msp430/msp430.md (epilogue_helper): Use it. |
| |
| 2014-01-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59617 |
| * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment |
| AVX512F gather builtins. |
| * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt |
| on gather decls with INTEGER_TYPE masktype. |
| (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST |
| directly into the builtin rather than hoisting it before loop. |
| |
| PR tree-optimization/59387 |
| * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h. |
| (scev_const_prop): If folded_casts and type has undefined overflow, |
| use force_gimple_operand instead of force_gimple_operand_gsi and |
| for each added stmt if it is assign with |
| arith_code_with_undefined_signed_overflow, call |
| rewrite_to_defined_overflow. |
| * tree-ssa-loop-im.c: Don't include gimplify-me.h, include |
| gimple-fold.h instead. |
| (arith_code_with_undefined_signed_overflow, |
| rewrite_to_defined_overflow): Moved to ... |
| * gimple-fold.c (arith_code_with_undefined_signed_overflow, |
| rewrite_to_defined_overflow): ... here. No longer static. |
| Include gimplify-me.h. |
| * gimple-fold.h (arith_code_with_undefined_signed_overflow, |
| rewrite_to_defined_overflow): New prototypes. |
| |
| 2014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description. |
| |
| 2014-01-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * builtins.c (get_object_alignment_2): Minor tweak. |
| * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite. |
| |
| 2014-01-13 Christian Bruel <christian.bruel@st.com> |
| |
| * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and |
| optimized non constant lengths. |
| |
| 2014-01-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libgomp/59194 |
| * omp-low.c (expand_omp_atomic_pipeline): Expand the initial |
| load as __atomic_load_N if possible. |
| |
| 2014-01-11 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove |
| target parameter. |
| (rs6000_expand_builtin): Adjust call. |
| |
| 2014-01-11 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/58115 |
| * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define. |
| * config/rs6000/rs6000.c: Include target-globals.h. |
| (rs6000_set_current_function): Instead of doing target_reinit |
| unconditionally, use save_target_globals_default_opts and |
| restore_target_globals. |
| |
| * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for |
| FPSCR. |
| * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New. |
| (rs6000_expand_builtin): Handle mffs and mtfsf. |
| (rs6000_init_builtins): Define mffs and mtfsf. |
| * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants. |
| (rs6000_mffs): New pattern. |
| (rs6000_mtfsf): New pattern. |
| |
| 2014-01-11 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter. |
| Start narrowing with START. Apply candidate-use pair |
| and check overall cost in narrowing. |
| (iv_ca_prune): Pass new argument. |
| |
| 2014-01-10 Jeff Law <law@redhat.com> |
| |
| PR middle-end/59743 |
| * ree.c (combine_reaching_defs): Ensure the defining statement |
| occurs before the extension when optimizing extensions with |
| different source and destination hard registers. |
| |
| 2014-01-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/58585 |
| * ipa-devirt.c (build_type_inheritance_graph): Also add types of |
| vtables into the type inheritance graph. |
| |
| 2014-01-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/59754 |
| * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P |
| modes in the REGNO != REGNO case. |
| |
| 2014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS. |
| |
| 2014-01-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/59745 |
| * tree-predcom.c (tree_predictive_commoning_loop): Call |
| free_affine_expand_cache if giving up because components is NULL. |
| |
| * target-globals.c (save_target_globals): Allocate < 4KB structs using |
| GC in payload of target_globals struct instead of allocating them on |
| the heap and the larger structs separately using GC. |
| * target-globals.h (struct target_globals): Make regs, hard_regs, |
| reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead |
| of GTY((skip)) and change type to void *. |
| (reset_target_globals): Cast loads from those fields to corresponding |
| types. |
| |
| 2014-01-10 Steve Ellcey <sellcey@mips.com> |
| |
| PR plugins/59335 |
| * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h, |
| gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h, |
| tree-ssanames.h, print-tree.h, varasm.h, and context.h. |
| |
| 2014-01-10 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/59744 |
| * aarch64-modes.def (CC_Zmode): New flags mode. |
| * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition |
| represents an equality. |
| (aarch64_get_condition_code): Handle CC_Zmode. |
| * aarch64.md (compare_neg<mode>): Restrict to equality operations. |
| |
| 2014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC |
| extraction in good case. |
| |
| 2014-01-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59374 |
| * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence |
| checking after SLP discovery. Mark stmts not participating |
| in any SLP instance properly. |
| |
| 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.c (arm_new_rtx_costs): Use destination mode |
| when handling a SET rtx. |
| |
| 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32. |
| (cortex-a57): Likewise. |
| (cortex-a57.cortex-a53): Likewise. Remove redundant flags. |
| |
| 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip |
| non-iwmmxt builtins. |
| |
| 2014-01-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/58252 |
| PR ipa/59226 |
| * ipa-devirt.c record_target_from_binfo): Take as argument |
| stack of binfos and lookup matching one for virtual inheritance. |
| (possible_polymorphic_call_targets_1): Update. |
| |
| 2014-01-10 Huacai Chen <chenhc@lemote.com> |
| |
| * config/mips/driver-native.c (host_detect_local_cpu): Handle new |
| kernel strings for Loongson-2E/2F/3A. |
| |
| 2014-01-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/59670 |
| * tree-vect-data-refs.c (vect_analyze_data_refs): Check |
| is_gimple_call before calling gimple_call_internal_p. |
| |
| 2014-01-09 Steve Ellcey <sellcey@mips.com> |
| |
| * Makefile.in (TREE_FLOW_H): Remove. |
| (TREE_SSA_H): Add file names from tree-flow.h. |
| * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h |
| * tree.h: Remove tree-flow.h reference. |
| * hash-table.h: Remove tree-flow.h reference. |
| * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h |
| reference with tree-ssa-loop.h. |
| |
| 2014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * doc/invoke.texi: Add -maltivec={be,le} options, and document |
| default element-order behavior for -maltivec. |
| * config/rs6000/rs6000.opt: Add -maltivec={be,le} options. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure |
| that -maltivec={le,be} implies -maltivec; disallow -maltivec=le |
| when targeting big endian, at least for now. |
| * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG. |
| |
| 2014-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/47735 |
| * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying |
| var satisfies use_register_for_decl, just take into account type |
| alignment, rather than decl alignment. |
| |
| PR tree-optimization/59622 |
| * gimple-fold.c (gimple_fold_call): Fix a typo in message. For |
| __builtin_unreachable replace the OBJ_TYPE_REF call with a call to |
| __builtin_unreachable and add if needed a setter of the lhs SSA_NAME. |
| Don't devirtualize for inplace at all. For targets.length () == 1, |
| if the call is noreturn and cfun isn't in SSA form yet, clear lhs. |
| |
| 2014-01-09 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.md (cpu): Remove the unused btver1. |
| |
| 2014-01-09 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * gdbasan.in: Put a breakpoint on __sanitizer::Report. |
| |
| 2014-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/58115 |
| * tree-core.h (struct target_globals): New forward declaration. |
| (struct tree_target_option): Add globals field. |
| * tree.h (TREE_TARGET_GLOBALS): Define. |
| (prepare_target_option_nodes_for_pch): New prototype. |
| * target-globals.h (struct target_globals): Define even if |
| !SWITCHABLE_TARGET. |
| * tree.c (prepare_target_option_node_for_pch, |
| prepare_target_option_nodes_for_pch): New functions. |
| * config/i386/i386.h (SWITCHABLE_TARGET): Define. |
| * config/i386/i386.c: Include target-globals.h. |
| (ix86_set_current_function): Instead of doing target_reinit |
| unconditionally, use save_target_globals_default_opts and |
| restore_target_globals. |
| |
| 2014-01-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59715 |
| * tree-cfg.h (split_critical_edges): Declare. |
| * tree-cfg.c (split_critical_edges): Export. |
| * tree-ssa-sink.c (execute_sink_code): Split critical edges. |
| |
| 2014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com> |
| |
| * cfgexpand.c (expand_stack_vars): Optionally disable |
| asan stack protection. |
| (expand_used_vars): Likewise. |
| (partition_stack_vars): Likewise. |
| * asan.c (asan_emit_stack_protection): Optionally disable |
| after return stack usage. |
| (instrument_derefs): Optionally disable memory access instrumentation. |
| (instrument_builtin_call): Likewise. |
| (instrument_strlen_call): Likewise. |
| (asan_protect_global): Optionally disable global variables protection. |
| * doc/invoke.texi: Added doc for new options. |
| * params.def: Added new options. |
| * params.h: Likewise. |
| |
| 2014-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/59724 |
| * ifcvt.c (cond_exec_process_if_block): Don't call |
| flow_find_head_matching_sequence with 0 longest_match. |
| * cfgcleanup.c (flow_find_head_matching_sequence): Count even |
| non-active insns if !stop_after. |
| (try_head_merge_bb): Revert 2014-01-07 changes. |
| |
| 2014-01-08 Jeff Law <law@redhat.com> |
| |
| * ree.c (get_sub_rtx): New function, extracted from... |
| (merge_def_and_ext): Here. |
| (combine_reaching_defs): Use get_sub_rtx. |
| |
| 2014-01-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * cgraph.h (varpool_variable_node): Do not choke on null node. |
| |
| 2014-01-08 Catherine Moore <clm@codesourcery.com> |
| |
| * config/mips/mips.md (simple_return): Attempt to use JRC |
| for microMIPS. |
| * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS. |
| |
| 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR rtl-optimization/59137 |
| * reorg.c (steal_delay_list_from_target): Call update_block for |
| elided insns. |
| (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise. |
| |
| 2014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove |
| two duplicate entries. |
| |
| 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| Revert: |
| 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips_truncated_op_cost): New function. |
| (mips_rtx_costs): Adjust test for BADDU. |
| * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands. |
| |
| 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into... |
| (*baddu_si): ...this new pattern. |
| |
| 2014-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/59722 |
| * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts. |
| |
| 2014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR middle-end/57748 |
| * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter |
| inner_reference_p. |
| (expand_expr, expand_normal): Adjust. |
| * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter |
| inner_reference_p. Use inner_reference_p to expand inner references. |
| (store_expr): Adjust. |
| * cfgexpand.c (expand_call_stmt): Adjust. |
| |
| 2014-01-08 Rong Xu <xur@google.com> |
| |
| * gcov-io.c (gcov_var): Move from gcov-io.h. |
| (gcov_position): Ditto. |
| (gcov_is_error): Ditto. |
| (gcov_rewrite): Ditto. |
| * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov |
| only part to libgcc/libgcov.h. |
| |
| 2014-01-08 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/59669 |
| * omp-low.c (simd_clone_adjust): Don't crash if def is NULL. |
| |
| 2014-01-08 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/59667 |
| * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2. |
| |
| 2014-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/59649 |
| * stor-layout.c (get_mode_bounds): For BImode return |
| 0 and STORE_FLAG_VALUE. |
| |
| 2014-01-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/59630 |
| * gimple.h (is_gimple_builtin_call): Remove. |
| (gimple_builtin_call_types_compatible_p): New. |
| (gimple_call_builtin_p): New overload. |
| * gimple.c (is_gimple_builtin_call): Remove. |
| (validate_call): Rename to ... |
| (gimple_builtin_call_types_compatible_p): ... this and export. Also |
| check return types. |
| (validate_type): New static function. |
| (gimple_call_builtin_p): New overload and adjust. |
| * gimple-fold.c (gimple_fold_builtin): Fold the return value. |
| (gimple_fold_call): Likewise. Use gimple_call_builtin_p. |
| (gimple_fold_stmt_to_constant_1): Likewise. |
| * tsan.c (instrument_gimple): Use gimple_call_builtin_p. |
| |
| 2014-01-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/59471 |
| * gimplify.c (gimplify_expr): Gimplify register-register type |
| VIEW_CONVERT_EXPRs to separate stmts. |
| |
| 2014-01-07 Jeff Law <law@redhat.com> |
| |
| PR middle-end/53623 |
| * ree.c (combine_set_extension): Handle case where source |
| and destination registers in an extension insn are different. |
| (combine_reaching_defs): Allow source and destination registers |
| in extension to be different under limited circumstances. |
| (add_removable_extension): Remove restriction that the |
| source and destination registers in the extension are the same. |
| (find_and_remove_re): Emit a copy from the extension's |
| destination to its source after the defining insn if |
| the source and destination registers are different. |
| |
| PR middle-end/59285 |
| * ifcvt.c (merge_if_block): If we are merging a block with more than |
| one successor with a block with no successors, remove any BARRIER |
| after the second block. |
| |
| 2014-01-07 Dan Xio Qiang <ziyan01@163.com> |
| |
| * hw-doloop.c (reorg_loops): Release the bitmap obstack. |
| |
| 2014-01-07 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/59652 |
| * config/pa/pa.c (pa_legitimate_address_p): Return false before reload |
| for 14-bit register offsets when INT14_OK_STRICT is false. |
| |
| 2014-01-07 Roland Stigge <stigge@antcom.de> |
| Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR 57386/target |
| * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p): |
| Only check TFmode for SPE constants. Don't check TImode or TDmode. |
| |
| 2014-01-07 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for |
| -mcpu. |
| |
| 2014-01-07 Yufeng Zhang <yufeng.zhang@arm.com> |
| |
| * config/arm/arm.c (arm_expand_neon_args): Call expand_expr |
| with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned |
| rtx is const0_rtx or not. |
| |
| 2014-01-07 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR target/58115 |
| * target-globals.c (save_target_globals): Remove this_fn_optab |
| handling. |
| * toplev.c: Include optabs.h. |
| (target_reinit): Temporarily restore the global options if another |
| set of options are in force. |
| |
| 2014-01-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/58668 |
| * cfgcleanup.c (flow_find_cross_jump): Don't count |
| any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p |
| to determine what is counted. |
| (flow_find_head_matching_sequence): Use active_insn_p to determine |
| what is counted. |
| (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence |
| counting change. |
| * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to |
| determine what is counted. |
| |
| PR tree-optimization/59643 |
| * tree-predcom.c (split_data_refs_to_components): If one dr is |
| read and one write, determine_offset fails and the write isn't |
| in the bad component, just put the read into the bad component. |
| |
| 2014-01-07 Mike Stump <mikestump@comcast.net> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR pch/59436 |
| * tree-core.h (struct tree_optimization_option): Change optabs |
| type from unsigned char * to void *. |
| * optabs.c (init_tree_optimization_optabs): Adjust |
| TREE_OPTIMIZATION_OPTABS initialization. |
| |
| 2014-01-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59644 |
| * config/i386/i386.h (struct machine_function): Add |
| no_drap_save_restore field. |
| * config/i386/i386.c (ix86_save_reg): Use |
| !cfun->machine->no_drap_save_restore instead of |
| crtl->stack_realign_needed. |
| (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless |
| this function clears frame_pointer_needed. Set |
| cfun->machine->no_drap_save_restore if clearing frame_pointer_needed |
| and DRAP reg is needed. |
| |
| 2014-01-06 Marek Polacek <polacek@redhat.com> |
| |
| PR c/57773 |
| * doc/implement-c.texi: Mention that other integer types are |
| permitted as bit-field types in strictly conforming mode. |
| |
| 2014-01-06 Felix Yang <fei.yang0953@gmail.com> |
| |
| * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it |
| is newly allocated. |
| |
| 2014-01-06 Richard Earnshaw <rearnsha@arm.com> |
| |
| * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD. |
| |
| 2014-01-06 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/59008 |
| * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type |
| to int. |
| * ipa-prop.c (ipa_print_node_params): Fix indentation. |
| |
| 2014-01-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR debug/59350 |
| PR debug/59510 |
| * var-tracking.c (add_stores): Preserve the value of the source even if |
| we don't record the store. |
| |
| 2014-01-06 Terry Guo <terry.guo@arm.com> |
| |
| * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def. |
| |
| 2014-01-05 Iain Sandoe <iain@codesourcery.com> |
| |
| PR bootstrap/59541 |
| * config/darwin.c (darwin_function_section): Adjust return values to |
| correspond to optimisation changes made in r206070. |
| |
| 2014-01-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_data_alignment): Calculate max_align |
| from prefetch_block tune setting. |
| (nocona_cost): Correct size of prefetch block to 64. |
| |
| 2014-01-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines. |
| (arm_expand_epilogue_apcs_frame): Take into account the number of bytes |
| used to save the static chain register in the computation of the offset |
| from which the FP registers need to be restored. |
| |
| 2014-01-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/59519 |
| * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't |
| ICE if get_current_def (current_new_name) is already non-NULL, as long |
| as it is a phi result of some other phi in *new_exit_bb that has |
| the same argument. |
| |
| * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d} |
| or vmovdqu* for misaligned_operand. |
| (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>, |
| <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>. |
| * config/i386/i386.c (ix86_expand_special_args_builtin): Set |
| aligned_mem for AVX512F masked aligned load and store builtins and for |
| non-temporal moves. |
| |
| 2014-01-03 Bingfeng Mei <bmei@broadcom.com> |
| |
| PR tree-optimization/59651 |
| * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): |
| Address range for negative step should be added by TYPE_SIZE_UNIT. |
| |
| 2014-01-03 Andreas Schwab <schwab@linux-m68k.org> |
| |
| * config/m68k/m68k.c (handle_move_double): Handle pushes with |
| overlapping registers also for registers other than the stack pointer. |
| |
| 2014-01-03 Marek Polacek <polacek@redhat.com> |
| |
| PR other/59661 |
| * doc/extend.texi: Fix the return value of __builtin_FUNCTION and |
| __builtin_FILE. |
| |
| 2014-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59625 |
| * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider |
| asm goto as jump. |
| |
| * config/i386/i386.md (MODE_SIZE): New mode attribute. |
| (push splitter): Use <P:MODE_SIZE> instead of |
| GET_MODE_SIZE (<P:MODE>mode). |
| (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode). |
| (mov -1, reg peephole2): Likewise. |
| * config/i386/sse.md (*mov<mode>_internal, |
| <sse>_storeu<ssemodesuffix><avxsizesuffix>, |
| <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3, |
| *<code><mode>3, *andnot<mode>3<mask_name>, |
| <mask_codefor><code><mode>3<mask_name>): Likewise. |
| * config/i386/subst.md (mask_mode512bit_condition, |
| sd_mask_mode512bit_condition): Likewise. |
| |
| 2014-01-02 Xinliang David Li <davidxl@google.com> |
| |
| PR tree-optimization/59303 |
| * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup. |
| (dump_predicates): Better output format. |
| (pred_equal_p): New function. |
| (is_neq_relop_p): Ditto. |
| (is_neq_zero_form_p): Ditto. |
| (pred_expr_equal_p): Ditto. |
| (pred_neg_p): Ditto. |
| (simplify_pred): Ditto. |
| (simplify_preds_2): Ditto. |
| (simplify_preds_3): Ditto. |
| (simplify_preds_4): Ditto. |
| (simplify_preds): Ditto. |
| (push_pred): Ditto. |
| (push_to_worklist): Ditto. |
| (get_pred_info_from_cmp): Ditto. |
| (is_degenerated_phi): Ditto. |
| (normalize_one_pred_1): Ditto. |
| (normalize_one_pred): Ditto. |
| (normalize_one_pred_chain): Ditto. |
| (normalize_preds): Ditto. |
| (normalize_cond_1): Remove function. |
| (normalize_cond): Ditto. |
| (is_gcond_subset_of): Ditto. |
| (is_subset_of_any): Ditto. |
| (is_or_set_subset_of): Ditto. |
| (is_and_set_subset_of): Ditto. |
| (is_norm_cond_subset_of): Ditto. |
| (pred_chain_length_cmp): Ditto. |
| (convert_control_dep_chain_into_preds): Type change. |
| (find_predicates): Ditto. |
| (find_def_preds): Ditto. |
| (destroy_predicates_vecs): Ditto. |
| (find_matching_predicates_in_rest_chains): Ditto. |
| (use_pred_not_overlap_with_undef_path_pred): Ditto. |
| (is_pred_expr_subset): Ditto. |
| (is_pred_chain_subset_of): Ditto. |
| (is_included_in): Ditto. |
| (is_superset_of): Ditto. |
| |
| 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| Update copyright years. |
| |
| 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * common/config/arc/arc-common.c, config/arc/arc-modes.def, |
| config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h, |
| config/arc/arc.md, config/arc/arc.opt, |
| config/arm/arm_neon_builtins.def, config/arm/crypto.def, |
| config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h, |
| config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h, |
| config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md, |
| config/linux-protos.h, config/linux.c, config/winnt-c.c, |
| diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c, |
| vtable-verify.c, vtable-verify.h: Use the standard form for the |
| copyright notice. |
| |
| 2014-01-02 Tobias Burnus <burnus@net-b.de> |
| |
| * gcc.c (process_command): Update copyright notice dates. |
| * gcov-dump.c: Ditto. |
| * gcov.c: Ditto. |
| * doc/cpp.texi: Bump @copying's copyright year. |
| * doc/cppinternals.texi: Ditto. |
| * doc/gcc.texi: Ditto. |
| * doc/gccint.texi: Ditto. |
| * doc/gcov.texi: Ditto. |
| * doc/install.texi: Ditto. |
| * doc/invoke.texi: Ditto. |
| |
| 2014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
| |
| * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it. |
| |
| 2014-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/sse.md (*mov<mode>_internal): Guard |
| EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P. |
| |
| PR rtl-optimization/59647 |
| * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode |
| new_rtx into UNSIGNED_FLOAT rtxes. |
| |
| Copyright (C) 2014 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |