8478 lines
293 KiB
Plaintext
8478 lines
293 KiB
Plaintext
2016-04-26 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR rtl-optimization/57193
|
||
* opts.c (default_options_table): Add OPT_frename_registers at -O2
|
||
and above.
|
||
* doc/invoke.texi (-frename-registers, -O2): Update documentation.
|
||
|
||
2016-04-26 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* tree-if-conv.c (any_pred_load_store): New static variable.
|
||
(if_convertible_gimple_assign_stmt_p): Remove parameter. Use
|
||
any_pred_load_store instead of and_mask_load_store.
|
||
(if_convertible_stmt_p, if_convertible_loop_p_1): Ditto.
|
||
(if_convertible_loop_p, insert_gimplified_predicates): Ditto.
|
||
(combine_blocks, tree_if_conversion): Ditto.
|
||
|
||
2016-04-26 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/70771
|
||
PR tree-optimization/70775
|
||
* tree-if-conv.c (if_convertible_phi_p): Remove check on special
|
||
virtual PHI nodes. Delete parameter.
|
||
(if_convertible_loop_p_1): Delete argument to above function.
|
||
(predicate_all_scalar_phis): Delete code handling single-argument
|
||
PHIs.
|
||
(tree_if_conversion): Mark and update virtual SSA.
|
||
|
||
2016-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
PR target/61821
|
||
* config/i386/i386.c (LARGECOMM_SECTION_ASM_OP): Define default.
|
||
(x86_elf_aligned_common): Rename to ...
|
||
(x86_elf_aligned_decl_common): ... this.
|
||
Add decl arg. Switch to .lbss for largecomm object. Use
|
||
LARGECOMM_SECTION_ASM_OP.
|
||
* config/i386/i386-protos.h (x86_elf_aligned_common): Reflect
|
||
renaming.
|
||
* config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_COMMON): Rename to ...
|
||
(ASM_OUTPUT_ALIGNED_DECL_COMMON): ... this.
|
||
Pass new decl arg.
|
||
* config/i386/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
|
||
[!USE_GAS] (LARGECOMM_SECTION_ASM_OP): Define.
|
||
|
||
2016-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
PR target/59407
|
||
* config/i386/i386.c (SECTION_LARGE): Define.
|
||
(x86_64_elf_select_section): Set it for large data/bss sections.
|
||
Only clear SECTION_WRITE for .lrodata.
|
||
(x86_64_elf_section_type_flags): Set SECTION_LARGE for large
|
||
data/bss sections.
|
||
* config/i386/sol2.h (MACH_DEP_SECTION_ASM_FLAG): Define.
|
||
* varasm.c (default_elf_asm_named_section): Grow flagchars.
|
||
[MACH_DEP_SECTION_ASM_FLAG] Emit MACH_DEP_SECTION_ASM_FLAG for
|
||
SECTION_MACH_DEP.
|
||
* doc/tm.texi.in (Sections, MACH_DEP_SECTION_ASM_FLAG): Describe.
|
||
* doc/tm.texi: Regenerate.
|
||
|
||
2016-04-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/70704
|
||
* configure.ac (--enable-checking): Document extra flag, for
|
||
non-release builds default to --enable-checking=yes,extra.
|
||
If misc checking and extra checking, define CHECKING_P to 2 instead
|
||
of 1.
|
||
* common.opt (fchecking=): Add.
|
||
* doc/invoke.texi (-fchecking=): Document.
|
||
* doc/install.texi: Document --enable-checking changes.
|
||
* configure: Regenerated.
|
||
* config.in: Regenerated.
|
||
|
||
2016-04-25 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*movxi_internal_avx512f): Use insn type
|
||
attribute instead of which_alternative.
|
||
* config/i386/sse.md (*mov<mode>_internal): Ditto.
|
||
Use EXT_REX_SSE_REG_P where appropriate.
|
||
|
||
2016-04-25 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/predicates.md (const0_operand): Do not match
|
||
const_wide_int code.
|
||
(const1_operand): Ditto.
|
||
|
||
2016-04-25 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*movoi_internal_avx): Set mode attribute to XI
|
||
for SSE constm1 operands and TARGET_AVX512VL.
|
||
(*movti_internal): Ditto.
|
||
(*mov<mode>_or): Use constm1_operand predicate.
|
||
* config/i386/sse.md (*mov<mode>_internal): Set mode attribute to XI
|
||
for SSE vector_all_ones operands and TARGET_AVX512VL.
|
||
* config/i386/predicates.md (constm1_operand): New predicate.
|
||
* config/i386/i386.c (standard_sse_constant_opcode): Simplify
|
||
emission of constant -1 load.
|
||
|
||
2016-04-25 Jason Merrill <jason@redhat.com>
|
||
|
||
* gdbinit.in: Skip is-a.h.
|
||
|
||
* attribs.c (register_scoped_attributes): Fix logic.
|
||
* attribs.h: Declare register_scoped_attributes.
|
||
|
||
2016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtin.def: Correct pasto error for
|
||
stxvd2x and stxvw4x built-in functions.
|
||
|
||
2016-04-25 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/msp430/msp430.md (ashlhi3): Optimize one bit shifts.
|
||
(ashrhi3): Likewise.
|
||
(lshrhi3): Likewise.
|
||
|
||
2016-04-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70780
|
||
* tree-ssa-pre.c (compute_antic_aux): Also return true if the block
|
||
wasn't visited yet.
|
||
(compute_antic): Mark blocks with abnormal preds as visited as
|
||
they have a final empty antic-in solution already.
|
||
|
||
2016-04-25 Michael Collison <michael.collison@linaro.org>
|
||
|
||
* ChangeLog(2016-04-25): Fix ChangeLog formatting.
|
||
|
||
2016-04-25 Michael Collison <michael.collison@linaro.org>
|
||
|
||
* config/arm/neon.md (widen_<us>sum<mode>): New patterns where
|
||
mode is VQI to improve mixed mode vectorization.
|
||
* config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): New
|
||
define_insn to match low half of signed vaddw.
|
||
* config/arm/neon.md (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): New
|
||
define_insn to match high half of signed vaddw.
|
||
* config/arm/neon.md (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): New
|
||
define_insn to match low half of unsigned vaddw.
|
||
* config/arm/neon.md (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): New
|
||
define_insn to match high half of unsigned vaddw.
|
||
* config/arm/arm.c (arm_simd_vect_par_cnst_half): New function.
|
||
(arm_simd_check_vect_par_cnst_half_p): Likewise.
|
||
* config/arm/arm-protos.h (arm_simd_vect_par_cnst_half): Prototype
|
||
for new function.
|
||
(arm_simd_check_vect_par_cnst_half_p): Likewise.
|
||
* config/arm/predicates.md (vect_par_constant_high): Support
|
||
big endian and simplify by calling
|
||
arm_simd_check_vect_par_cnst_half
|
||
(vect_par_constant_low): Likewise.
|
||
|
||
2016-04-25 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*lea<mode>_general_4): Use const_0_to_3_operand
|
||
predicate for operand 2.
|
||
|
||
2016-04-24 Uros Bizjak <ubizjak@gmail.com>
|
||
H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/i386-protos.h (standard_sse_constant_p): Add
|
||
machine_mode argument.
|
||
* config/i386/i386.c (standard_sse_constant_p): Return 2 for
|
||
constm1_rtx operands. For VOIDmode constants, get mode from
|
||
pred_mode. Check mode size if the mode is supported by ABI.
|
||
(standard_sse_constant_opcode): Do not use standard_constant_p.
|
||
Strictly check ABI support for all-ones operands.
|
||
(ix86_legitimate_constant_p): Handle TImode, OImode and XImode
|
||
immediates. Update calls to standard_sse_constant_p.
|
||
(ix86_expand_vector_move): Update calls to standard_sse_constant_p.
|
||
(ix86_rtx_costs): Ditto.
|
||
* config/i386/i386.md (*movxi_internal_avx512f): Use
|
||
nonimmediate_or_sse_const_operand instead of vector_move_operand.
|
||
Use (v,BC) alternative instead of (v,C). Use register_operand
|
||
checks instead of MEM_P.
|
||
(*movoi_internal_avx): Use nonimmediate_or_sse_const_operand instead
|
||
of vector_move_operand. Add (v,BC) alternative and corresponding avx2
|
||
isa attribute. Use register_operand checks instead of MEM_P.
|
||
(*movti_internal): Use nonimmediate_or_sse_const_operand for
|
||
TARGET_SSE. Improve TARGET_SSE insn constraint. Add (v,BC)
|
||
alternative and corresponding sse2 isa attribute.
|
||
(*movtf_internal, *movdf_internal, *movsf_interal): Update calls
|
||
to standard_sse_constant_p.
|
||
(FP constant splitters): Ditto.
|
||
* config/i386/constraints.md (BC): Do not use standard_sse_constant_p.
|
||
(C): Ditto.
|
||
* config/i386/predicates.md (constm1_operand): Remove.
|
||
(nonimmediate_or_sse_const_operand): Rewrite using RTX.
|
||
* config/i386/sse.md (*<avx512>_cvtmask2<ssemodesuffix><mode>): Use
|
||
vector_all_ones_operand instead of constm1_operand.
|
||
|
||
2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* print-rtl.c (print_rtx_insn_vec): New function.
|
||
* print-rtl.h: New prototype.
|
||
* store-motion.c (struct st_expr): Make avail_stores a vector.
|
||
(st_expr_entry): Adjust.
|
||
(free_st_expr_entry): Likewise.
|
||
(print_store_motion_mems): Likewise.
|
||
(find_moveable_store): Likewise.
|
||
(compute_store_table): Likewise.
|
||
(delete_store): Likewise.
|
||
(build_store_vectors): Likewise.
|
||
|
||
2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* reorg.c (try_merge_delay_insns): Make merged_insns a vector.
|
||
|
||
2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* vec.h (vec_safe_contains): New function.
|
||
(vec::contains): Likewise.
|
||
(vec::begin): Likewise.
|
||
(vec::end): Likewise.
|
||
|
||
2016-04-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/70712
|
||
* cfgexpand.c (expand_stack_vars): Fix typo.
|
||
|
||
2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* system.h (list, map, set, vector): Include conditionally.
|
||
* auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define.
|
||
* graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define.
|
||
* ipa-icf.c (INCLUDE_LIST): Define.
|
||
* config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define.
|
||
* config/sh/sh.c (INCLUDE_VECTOR): Define.
|
||
* config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define.
|
||
(INCLUDE_LIST, INCLUDE_VECTOR): Define.
|
||
* cp/logic.cc (INCLUDE_LIST): Define.
|
||
* fortran/trans-common.c (INCLUDE_MAP): Define.
|
||
|
||
2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* auto-profile.c: Remove <string.h> include.
|
||
* ipa-icf-gimple.c: Remove <list> include.
|
||
* diagnostic.c: Remove <new> include.
|
||
* genmatch.c: Likewise.
|
||
* pretty-print.c: Likewise.
|
||
* toplev.c: Likewise
|
||
* c/c-objc-common.c: Likewise.
|
||
* cp/error.c: Likewise.
|
||
* fortran/error.c: Likewise.
|
||
|
||
2016-04-22 Richard Biener <rguenther@suse.de>
|
||
|
||
* lto-streamer-in.c (input_ssa_names): Do not allocate
|
||
GIMPLE_NOP for all SSA names.
|
||
* lto-streamer-out.c (output_ssa_names): Do not output
|
||
SSA names that should have been released.
|
||
|
||
2016-04-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70740
|
||
* tree-ssa-phiprop.c (propagate_with_phi): Handle inserted
|
||
VDEF.
|
||
|
||
2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/70750
|
||
* config/i386/predicates.md (call_insn_operand): Replace
|
||
sibcall_memory_operand with memory_operand.
|
||
|
||
2016-04-21 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
* tree-vrp.c (register_edge_assert_for_2): Remove redundant
|
||
has_single_use() tests.
|
||
(register_edge_assert_for_1): Likewise.
|
||
(find_assert_locations_1): Check the liveness bitmap instead of
|
||
checking has_single_use().
|
||
|
||
2016-04-21 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
PR target/70728
|
||
* gcc/config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"):
|
||
Extract AVX-512BW constraint from AVX.
|
||
|
||
2016-04-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70725
|
||
* tree-if-conv.c (if_convertible_phi_p): Adjust guard
|
||
for phi_convertible_by_degenerating_args.
|
||
(predicate_all_scalar_phis): Handle single-argument PHIs.
|
||
|
||
2016-04-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/70747
|
||
* fold-const.c (fold_comparison): Return properly typed
|
||
constant boolean.
|
||
|
||
2016-04-21 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/70715
|
||
* tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality
|
||
after expanding BASE using expand_simple_operations.
|
||
|
||
2016-04-21 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
* match.pd (min(-x, -y), max(-x, -y), min(~x, ~y), max(~x, ~y)):
|
||
New transformations.
|
||
|
||
2016-04-21 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
* match.pd (min(int_max, x), max(int_min, x)): New transformations.
|
||
|
||
2016-04-20 Jan Hubicka <jh@suse.cz>
|
||
|
||
* ipa-inline.c (can_inline_edge_p): Pass caller info to
|
||
ultiimate_alias_target.
|
||
(update_callee_keys): Likewise.
|
||
(lookup_recursive_calls): Likewise.
|
||
(speculation_useful_p): Likewise.
|
||
|
||
2016-04-20 Jan Hubicka <jh@suse.cz>
|
||
|
||
PR ipa/70018
|
||
* cgraph.c (cgraph_set_nothrow_flag_1): Rename to ...
|
||
(set_nothrow_flag_1): ... this; handle interposition correctly;
|
||
recurse on aliases and thunks.
|
||
(cgraph_node::set_nothrow_flag): New.
|
||
* ipa-pure-const.c (ignore_edge_for_nothrow): Ignore calls to
|
||
functions compiled with non-call exceptions that binds to current
|
||
def.
|
||
(propagate_nothrow): Be safe WRT interposition.
|
||
* cgraph.h (set_nothrow_flag): Update prototype.
|
||
|
||
2016-04-18 Jan Hubicka <jh@suse.cz>
|
||
|
||
* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
|
||
max_loop_iterations_int.
|
||
(tree_unswitch_outer_loop): Likewise.
|
||
|
||
2016-04-20 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/69489
|
||
* tree-if-conv.c (phi_convertible_by_degenerating_args): New.
|
||
(if_convertible_phi_p): Call phi_convertible_by_degenerating_args.
|
||
Revise dump message.
|
||
(if_convertible_bb_p): Remove check on edge count of basic block's
|
||
predecessors.
|
||
|
||
2016-04-20 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/56625
|
||
PR tree-optimization/69489
|
||
* tree-data-ref.h (DR_INNERMOST): New macro.
|
||
* tree-if-conv.c (innermost_loop_behavior_hash): New class for
|
||
hashing struct innermost_loop_behavior.
|
||
(ref_DR_map): Remove.
|
||
(innermost_DR_map): New map.
|
||
(baseref_DR_map): Revise comment.
|
||
(hash_memrefs_baserefs_and_store_DRs_read_written_info): Store DR
|
||
to innermost_DR_map accroding to its innermost loop behavior.
|
||
(ifcvt_memrefs_wont_trap): Get DR from innermost_DR_map according
|
||
to its innermost loop behavior.
|
||
(if_convertible_loop_p_1): Remove intialization for ref_DR_map.
|
||
Add initialization for innermost_DR_map. Record memory reference
|
||
in DR_BASE_ADDRESS if the reference is compound one or it doesn't
|
||
have innermost loop behavior.
|
||
(if_convertible_loop_p): Remove release for ref_DR_map. Release
|
||
innermost_DR_map.
|
||
|
||
2016-04-20 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*lea<mode>_general_1): Rename from
|
||
*lea_general_1. Use explicit SWI12 mode interator.
|
||
(*lea<mode>_general_2): Rename from *lea_general_2.
|
||
Use explicit SWI12 mode interator.
|
||
(*lea<mode>_general_3): Rename from *lea_general_3.
|
||
Use explicit SWI12 mode interator.
|
||
(*lea<SWI12:mode>_general_4): Split from *lea_general_4.
|
||
Use explicit SWI12 mode interator.
|
||
(*lea<SWI48:mode>_general_4): Split from *lea_general_4.
|
||
Use explicit SWI48 mode interator.
|
||
|
||
2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
|
||
Short-cut unaligned load and store cases. Handle all integer
|
||
vector modes.
|
||
(ix86_expand_vector_move_misalign): Short-cut unaligned load
|
||
and store cases. Call ix86_avx256_split_vector_move_misalign
|
||
directly without checking mode class.
|
||
|
||
2016-04-20 Andrew Pinski <apinski@cavium.com>
|
||
Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/64971
|
||
* config/aarch64/aarch64.md (sibcall): Force call
|
||
address to be DImode for ILP32.
|
||
(sibcall_value): Likewise.
|
||
|
||
2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup.
|
||
|
||
2016-04-20 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-match.h (maybe_build_generic_op): Adjust prototype.
|
||
* gimple-match-head.c (maybe_build_generic_op): Pass all ops
|
||
by reference, clear op1 and op2 when GENERICizing BIT_FIELD_REF.
|
||
(maybe_push_res_to_seq): Adjust.
|
||
* gimple-fold.c (maybe_build_generic_op): Likewise.
|
||
|
||
2016-04-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
* tree-if-conv.c (is_false_predicate): For NULL_TREE return false
|
||
rather than true.
|
||
|
||
2016-04-20 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* config/i386/sse.md (vec_unpacks_lo_hi): Always
|
||
use kmovw to support AVX512F target.
|
||
|
||
2016-04-20 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* tree-scalar-evolution.c (interpret_rhs_expr): Handle BIT_AND_EXPR.
|
||
|
||
2016-04-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR tree-optimization/70725
|
||
* tree-if-conv.c (is_false_predicate): New function.
|
||
(predicate_mem_writes): Use it.
|
||
|
||
2016-04-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70726
|
||
* tree-vect-stmts.c (vectorizable_shift): Do not use scalar
|
||
shift amounts from a pattern stmt operand.
|
||
|
||
2016-04-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR target/70674
|
||
* config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new
|
||
stack_restore_from_fpr pattern when restoring r15.
|
||
(s390_optimize_prologue): Strip away the memory barrier in the
|
||
parallel when trying to get rid of restore insns.
|
||
* config/s390/s390.md ("stack_restore_from_fpr"): New insn
|
||
definition for loading the stack pointer from an FPR. Compared to
|
||
the normal move insn this pattern includes a full memory barrier.
|
||
|
||
2016-04-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/70680
|
||
* gimplify.c (gimplify_omp_for): Call omp_notice_variable for
|
||
implicitly linear or lastprivate iterator on the outer context.
|
||
|
||
2016-04-19 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/i386.c (ix86_legitimate_combined_insn): Remove
|
||
alignment check.
|
||
* config/i386/i386.md (ssememalign): Removed.
|
||
* config/i386/sse.md: Remove ssememalign attribute from patterns.
|
||
|
||
2016-04-19 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/69201
|
||
* config/i386/avx512bwintrin.h (_mm512_mask_loadu_epi16): Pass
|
||
const short * to __builtin_ia32_loaddquhi512_mask.
|
||
(_mm512_maskz_loadu_epi16): Likewise.
|
||
(_mm512_mask_storeu_epi16): Pass short * to
|
||
__builtin_ia32_storedquhi512_mask.
|
||
(_mm512_mask_loadu_epi8): Pass const char * to
|
||
__builtin_ia32_loaddquqi512_mask.
|
||
(_mm512_maskz_loadu_epi8): Likewise.
|
||
(_mm512_mask_storeu_epi8): Pass char * to
|
||
__builtin_ia32_storedquqi512_mask.
|
||
* config/i386/avx512fintrin.h (_mm512_loadu_pd): Pass
|
||
const double * to __builtin_ia32_loadupd512_mask.
|
||
(_mm512_mask_loadu_pd): Likewise.
|
||
(_mm512_maskz_loadu_pd): Likewise.
|
||
(_mm512_storeu_pd): Pass double * to
|
||
__builtin_ia32_storeupd512_mask.
|
||
(_mm512_mask_storeu_pd): Likewise.
|
||
(_mm512_loadu_ps): Pass const float * to
|
||
__builtin_ia32_loadups512_mask.
|
||
(_mm512_mask_loadu_ps): Likewise.
|
||
(_mm512_maskz_loadu_ps): Likewise.
|
||
(_mm512_storeu_ps): Pass float * to
|
||
__builtin_ia32_storeups512_mask.
|
||
(_mm512_mask_storeu_ps): Likewise.
|
||
(_mm512_mask_loadu_epi64): Pass const long long * to
|
||
__builtin_ia32_loaddqudi512_mask.
|
||
(_mm512_maskz_loadu_epi64): Likewise.
|
||
(_mm512_mask_storeu_epi64): Pass long long *
|
||
to __builtin_ia32_storedqudi512_mask.
|
||
(_mm512_loadu_si512): Pass const int * to
|
||
__builtin_ia32_loaddqusi512_mask.
|
||
(_mm512_mask_loadu_epi32): Likewise.
|
||
(_mm512_maskz_loadu_epi32): Likewise.
|
||
(_mm512_storeu_si512): Pass int * to
|
||
__builtin_ia32_storedqusi512_mask.
|
||
(_mm512_mask_storeu_epi32): Likewise.
|
||
* config/i386/avx512vlbwintrin.h (_mm256_mask_storeu_epi8): Pass
|
||
char * to __builtin_ia32_storedquqi256_mask.
|
||
(_mm_mask_storeu_epi8): Likewise.
|
||
(_mm256_mask_loadu_epi16): Pass const short * to
|
||
__builtin_ia32_loaddquhi256_mask.
|
||
(_mm256_maskz_loadu_epi16): Likewise.
|
||
(_mm_mask_loadu_epi16): Pass const short * to
|
||
__builtin_ia32_loaddquhi128_mask.
|
||
(_mm_maskz_loadu_epi16): Likewise.
|
||
(_mm256_mask_loadu_epi8): Pass const char * to
|
||
__builtin_ia32_loaddquqi256_mask.
|
||
(_mm256_maskz_loadu_epi8): Likewise.
|
||
(_mm_mask_loadu_epi8): Pass const char * to
|
||
__builtin_ia32_loaddquqi128_mask.
|
||
(_mm_maskz_loadu_epi8): Likewise.
|
||
(_mm256_mask_storeu_epi16): Pass short * to.
|
||
__builtin_ia32_storedquhi256_mask.
|
||
(_mm_mask_storeu_epi16): Pass short * to.
|
||
__builtin_ia32_storedquhi128_mask.
|
||
* config/i386/avx512vlintrin.h (_mm256_mask_loadu_pd): Pass
|
||
const double * to __builtin_ia32_loadupd256_mask.
|
||
(_mm256_maskz_loadu_pd): Likewise.
|
||
(_mm_mask_loadu_pd): Pass onst double * to
|
||
__builtin_ia32_loadupd128_mask.
|
||
(_mm_maskz_loadu_pd): Likewise.
|
||
(_mm256_mask_storeu_pd): Pass double * to
|
||
__builtin_ia32_storeupd256_mask.
|
||
(_mm_mask_storeu_pd): Pass double * to
|
||
__builtin_ia32_storeupd128_mask.
|
||
(_mm256_mask_loadu_ps): Pass const float * to
|
||
__builtin_ia32_loadups256_mask.
|
||
(_mm256_maskz_loadu_ps): Likewise.
|
||
(_mm_mask_loadu_ps): Pass const float * to
|
||
__builtin_ia32_loadups128_mask.
|
||
(_mm_maskz_loadu_ps): Likewise.
|
||
(_mm256_mask_storeu_ps): Pass float * to
|
||
__builtin_ia32_storeups256_mask.
|
||
(_mm_mask_storeu_ps): ass float * to
|
||
__builtin_ia32_storeups128_mask.
|
||
(_mm256_mask_loadu_epi64): Pass const long long * to
|
||
__builtin_ia32_loaddqudi256_mask.
|
||
(_mm256_maskz_loadu_epi64): Likewise.
|
||
(_mm_mask_loadu_epi64): Pass const long long * to
|
||
__builtin_ia32_loaddqudi128_mask.
|
||
(_mm_maskz_loadu_epi64): Likewise.
|
||
(_mm256_mask_storeu_epi64): Pass long long * to
|
||
__builtin_ia32_storedqudi256_mask.
|
||
(_mm_mask_storeu_epi64): Pass long long * to
|
||
__builtin_ia32_storedqudi128_mask.
|
||
(_mm256_mask_loadu_epi32): Pass const int * to
|
||
__builtin_ia32_loaddqusi256_mask.
|
||
(_mm256_maskz_loadu_epi32): Likewise.
|
||
(_mm_mask_loadu_epi32): Pass const int * to
|
||
__builtin_ia32_loaddqusi128_mask.
|
||
(_mm_maskz_loadu_epi32): Likewise.
|
||
(_mm256_mask_storeu_epi32): Pass int * to
|
||
__builtin_ia32_storedqusi256_mask.
|
||
(_mm_mask_storeu_epi32): Pass int * to
|
||
__builtin_ia32_storedqusi128_mask.
|
||
* config/i386/i386-builtin-types.def (PCSHORT): New.
|
||
(PINT64): Likewise.
|
||
(V64QI_FTYPE_PCCHAR_V64QI_UDI): Likewise.
|
||
(V32HI_FTYPE_PCSHORT_V32HI_USI): Likewise.
|
||
(V32QI_FTYPE_PCCHAR_V32QI_USI): Likewise.
|
||
(V16SF_FTYPE_PCFLOAT_V16SF_UHI): Likewise.
|
||
(V8DF_FTYPE_PCDOUBLE_V8DF_UQI): Likewise.
|
||
(V16SI_FTYPE_PCINT_V16SI_UHI): Likewise.
|
||
(V16HI_FTYPE_PCSHORT_V16HI_UHI): Likewise.
|
||
(V16QI_FTYPE_PCCHAR_V16QI_UHI): Likewise.
|
||
(V8SF_FTYPE_PCFLOAT_V8SF_UQI): Likewise.
|
||
(V8DI_FTYPE_PCINT64_V8DI_UQI): Likewise.
|
||
(V8SI_FTYPE_PCINT_V8SI_UQI): Likewise.
|
||
(V8HI_FTYPE_PCSHORT_V8HI_UQI): Likewise.
|
||
(V4DF_FTYPE_PCDOUBLE_V4DF_UQI): Likewise.
|
||
(V4SF_FTYPE_PCFLOAT_V4SF_UQI): Likewise.
|
||
(V4DI_FTYPE_PCINT64_V4DI_UQI): Likewise.
|
||
(V4SI_FTYPE_PCINT_V4SI_UQI): Likewise.
|
||
(V2DF_FTYPE_PCDOUBLE_V2DF_UQI): Likewise.
|
||
(V2DI_FTYPE_PCINT64_V2DI_UQI): Likewise.
|
||
(VOID_FTYPE_PDOUBLE_V8DF_UQI): Likewise.
|
||
(VOID_FTYPE_PDOUBLE_V4DF_UQI): Likewise.
|
||
(VOID_FTYPE_PDOUBLE_V2DF_UQI): Likewise.
|
||
(VOID_FTYPE_PFLOAT_V16SF_UHI): Likewise.
|
||
(VOID_FTYPE_PFLOAT_V8SF_UQI): Likewise.
|
||
(VOID_FTYPE_PFLOAT_V4SF_UQI): Likewise.
|
||
(VOID_FTYPE_PINT64_V8DI_UQI): Likewise.
|
||
(VOID_FTYPE_PINT64_V4DI_UQI): Likewise.
|
||
(VOID_FTYPE_PINT64_V2DI_UQI): Likewise.
|
||
(VOID_FTYPE_PINT_V16SI_UHI): Likewise.
|
||
(VOID_FTYPE_PINT_V8SI_UHI): Likewise.
|
||
(VOID_FTYPE_PINT_V4SI_UHI): Likewise.
|
||
(VOID_FTYPE_PSHORT_V32HI_USI): Likewise.
|
||
(VOID_FTYPE_PSHORT_V16HI_UHI): Likewise.
|
||
(VOID_FTYPE_PSHORT_V8HI_UQI): Likewise.
|
||
(VOID_FTYPE_PCHAR_V64QI_UDI): Likewise.
|
||
(VOID_FTYPE_PCHAR_V32QI_USI): Likewise.
|
||
(VOID_FTYPE_PCHAR_V16QI_UHI): Likewise.
|
||
(V64QI_FTYPE_PCV64QI_V64QI_UDI): Removed.
|
||
(V32HI_FTYPE_PCV32HI_V32HI_USI): Likewise.
|
||
(V32QI_FTYPE_PCV32QI_V32QI_USI): Likewise.
|
||
(V16HI_FTYPE_PCV16HI_V16HI_UHI): Likewise.
|
||
(V16QI_FTYPE_PCV16QI_V16QI_UHI): Likewise.
|
||
(V8HI_FTYPE_PCV8HI_V8HI_UQI): Likewise.
|
||
(VOID_FTYPE_PV32HI_V32HI_USI): Likewise.
|
||
(VOID_FTYPE_PV16HI_V16HI_UHI): Likewise.
|
||
(VOID_FTYPE_PV8HI_V8HI_UQI): Likewise.
|
||
(VOID_FTYPE_PV64QI_V64QI_UDI): Likewise.
|
||
(VOID_FTYPE_PV32QI_V32QI_USI): Likewise.
|
||
(VOID_FTYPE_PV16QI_V16QI_UHI): Likewise.
|
||
* config/i386/i386.c (ix86_emit_save_reg_using_mov): Don't
|
||
use UNSPEC_STOREU.
|
||
(ix86_emit_restore_sse_regs_using_mov): Don't use UNSPEC_LOADU.
|
||
(ix86_avx256_split_vector_move_misalign): Don't use unaligned
|
||
load nor store.
|
||
(ix86_expand_vector_move_misalign): Likewise.
|
||
(bdesc_special_args): Use CODE_FOR_movvNXY_internal and pointer
|
||
to scalar function prototype for unaligned load/store builtins.
|
||
(ix86_expand_special_args_builtin): Updated.
|
||
* config/i386/sse.md (UNSPEC_LOADU): Removed.
|
||
(UNSPEC_STOREU): Likewise.
|
||
(VI_ULOADSTORE_BW_AVX512VL): Likewise.
|
||
(VI_ULOADSTORE_F_AVX512VL): Likewise.
|
||
(ssescalarsize): Handle V4TI, V2TI and V1TI.
|
||
(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
|
||
(*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
|
||
(<sse>_storeu<ssemodesuffix><avxsizesuffix>): Likewise.
|
||
(<avx512>_storeu<ssemodesuffix><avxsizesuffix>_mask): Likewise.
|
||
(<sse2_avx_avx512f>_loaddqu<mode><mask_name>): Likewise.
|
||
(*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"): Likewise.
|
||
(sse2_avx_avx512f>_storedqu<mode>): Likewise.
|
||
(<avx512>_storedqu<mode>_mask): Likewise.
|
||
(*sse4_2_pcmpestr_unaligned): Likewise.
|
||
(*sse4_2_pcmpistr_unaligned): Likewise.
|
||
(*mov<mode>_internal): Renamed to ...
|
||
(mov<mode>_internal): This. Remove check of AVX and IAMCU on
|
||
misaligned operand. Replace vmovdqu64 with vmovdqu<ssescalarsize>.
|
||
(movsd/movhpd to movupd peephole): Don't use UNSPEC_LOADU.
|
||
(movlpd/movhpd to movupd peephole): Don't use UNSPEC_STOREU.
|
||
|
||
2016-04-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70171
|
||
* tree-ssa-phiprop.c: Include stor-layout.h.
|
||
(phiprop_insert_phi): Handle the aggregate copy case.
|
||
(propagate_with_phi): Likewise.
|
||
|
||
2016-04-19 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (ix86_decompose_address): Use lowpart_subreg
|
||
instead of simplify_gen_subreg (... , 0).
|
||
(ix86_delegitimize_address): Ditto.
|
||
(ix86_split_divmod): Ditto.
|
||
(ix86_split_copysign_const): Ditto.
|
||
(ix86_split_copysign_var): Ditto.
|
||
(ix86_expand_args_builtin): Ditto.
|
||
(ix86_expand_round_builtin): Ditto.
|
||
(ix86_expand_special_args_builtin): Ditto.
|
||
* config/i386/i386.md (TARGET_USE_VECTOR_FP_CONVERTS splitters): Ditto.
|
||
(TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters and peephole2s): Ditto.
|
||
(udivmodqi4): Ditto.
|
||
(absneg splitters): Ditto.
|
||
(*jcc_bt<mode>_1): Ditto.
|
||
|
||
2016-04-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70724
|
||
* tree-ssa-sccvn.c (scc_vn_restore_ssa_info): Split SSA info
|
||
restoring out from ...
|
||
(free_scc_vn): ... here.
|
||
* tree-ssa-sccvn.h (scc_vn_restore_ssa_info): Declare.
|
||
* tres-ssa-pre.c (pass_pre::execute): Restore SSA info before
|
||
tail merging.
|
||
(pass_fre::execute): Restore SSA info.
|
||
|
||
2016-04-19 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-walk.h (struct walk_stmt_info): Add stmt member.
|
||
* gimple-walk.c (walk_gimple_op): Initialize it.
|
||
(walk_gimple_asm): Set wi->is_lhs before each callback invocation.
|
||
* tree-inline.c (remap_gimple_op_r): Set SSA_NAME_DEF_STMT when
|
||
remapping SSA names of defs.
|
||
(copy_bb): Remove walk over all SSA defs and SSA_NAME_DEF_STMT
|
||
adjustment.
|
||
|
||
2016-04-18 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR middle-end/70689
|
||
* lra-constraints.c (equiv_substition_p): New.
|
||
(process_alt_operands): Use it.
|
||
(swap_operands): Swap it.
|
||
(curr_insn_transform): Update it.
|
||
|
||
2016-04-18 Michael Matz <matz@suse.de>
|
||
|
||
* tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount.
|
||
(SET_TYPE_ALIGN, SET_DECL_ALIGN): New.
|
||
* tree-core.h (tree_type_common.align): Use bit-field.
|
||
(tree_type_common.spare): New.
|
||
(tree_decl_common.off_align): Make smaller.
|
||
(tree_decl_common.align): Use bit-field.
|
||
|
||
* expr.c (expand_expr_addr_expr_1): Use SET_TYPE_ALIGN.
|
||
* omp-low.c (install_var_field): Use SET_DECL_ALIGN.
|
||
(scan_sharing_clauses): Ditto.
|
||
(finish_taskreg_scan): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
|
||
(omp_finish_file): Ditto.
|
||
* stor-layout.c (do_type_align): Use SET_DECL_ALIGN.
|
||
(layout_decl): Ditto.
|
||
(relayout_decl): Ditto.
|
||
(finalize_record_size): Use SET_TYPE_ALIGN.
|
||
(finalize_type_size): Ditto.
|
||
(finish_builtin_struct): Ditto.
|
||
(layout_type): Ditto.
|
||
(initialize_sizetypes): Ditto.
|
||
* targhooks.c (std_gimplify_va_arg_expr): Use SET_TYPE_ALIGN.
|
||
* tree-nested.c (insert_field_into_struct): Use SET_TYPE_ALIGN.
|
||
(lookup_field_for_decl): Use SET_DECL_ALIGN.
|
||
(get_chain_field): Ditto.
|
||
(get_trampoline_type): Ditto.
|
||
(get_nl_goto_field): Ditto.
|
||
* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
|
||
SET_DECL_ALIGN.
|
||
(unpack_ts_type_common_value_fields): Use SET_TYPE_ALIGN.
|
||
* gimple-expr.c (copy_var_decl): Use SET_DECL_ALIGN.
|
||
* tree.c (make_node_stat): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
|
||
(build_qualified_type): Use SET_TYPE_ALIGN.
|
||
(build_aligned_type, build_range_type_1): Ditto.
|
||
(build_atomic_base): Ditto.
|
||
(build_common_tree_nodes): Ditto.
|
||
* cfgexpand.c (align_local_variable): Use SET_DECL_ALIGN.
|
||
(expand_one_stack_var_at): Ditto.
|
||
* coverage.c (build_var): Use SET_DECL_ALIGN.
|
||
* except.c (init_eh): Ditto.
|
||
* function.c (assign_parm_setup_block): Ditto.
|
||
* symtab.c (increase_alignment_1): Ditto.
|
||
* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Ditto.
|
||
* tree-vect-stmts.c (ensure_base_align): Ditto.
|
||
* varasm.c (align_variable): Ditto.
|
||
(assemble_variable): Ditto.
|
||
(build_constant_desc): Ditto.
|
||
(output_constant_def_contents): Ditto.
|
||
|
||
* config/arm/arm.c (arm_relayout_function): Use SET_DECL_ALIGN.
|
||
* config/avr/avr.c (avr_adjust_type_node): Use SET_TYPE_ALIGN.
|
||
* config/mips/mips.c (mips_std_gimplify_va_arg_expr): Ditto.
|
||
* config/msp430/msp430.c (msp430_gimplify_va_arg_expr): Ditto.
|
||
* config/spu/spu.c (spu_build_builtin_va_list): Use SET_DECL_ALIGN.
|
||
|
||
2016-04-18 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/70708
|
||
* config/i386/sse.md (sse2_loadlpd): Accept load from "xm" and
|
||
replace %vmovsd with "%vmovq".
|
||
(vec_concatv2df): Likewise.
|
||
|
||
2016-04-18 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/mmx.md (*vec_extractv2sf_0): Use gen_lowpart.
|
||
(*vec_extractv2si_0): Ditto.
|
||
* config/i386/sse.md (*vec_extractv4sf_0): Ditto.
|
||
(zero_extended_scalar_load_operand splitters): Ditto.
|
||
(vec_extract splitters): Ditto.
|
||
(*vec_extractv4si_0_zext): Ditto.
|
||
(avx_<castmode><avxsizesuffix>_<castmode>): Use gen_lowpart
|
||
and lowpart_subreg.
|
||
(avx512f_<castmode><avxsizesuffix>_<castmode>): Ditto.
|
||
(avx512f_<castmode><avxsizesuffix>_256<castmode>): Ditto.
|
||
(*sse4_1_extractps): Use lowpart_subreg.
|
||
|
||
2016-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and
|
||
gld requirements.
|
||
(Specific, *-*-solaris2*): Update Solaris 11 bundled gcc versions.
|
||
Mention Solaris 11 packaging changes.
|
||
Update gas and gld requirements.
|
||
Remove reference to pre-Solaris 10 bug.
|
||
(Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10
|
||
systems and bugs.
|
||
(Specific, sparc64-*-solaris2*): Remove reference to bootstrap
|
||
with cc.
|
||
|
||
2016-04-17 Jan Hubicka <jh@suse.cz>
|
||
|
||
* tree-ssa-loop-ivopts.c (avg_loop_niter): Use also
|
||
max_loop_iterations_int.
|
||
|
||
2016-04-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/43434
|
||
* tree-ssa-structalias.c (struct vls_data): New.
|
||
(visit_loadstore): Handle all pointer-based accesses.
|
||
(compute_dependence_clique): Compute a bitmap of restrict tags
|
||
assigned bases and pass it to visit_loadstore.
|
||
|
||
2016-04-18 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
PR target/70711
|
||
* config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc,
|
||
armv8.1-a and armv8.1-a+crc.
|
||
|
||
2016-04-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70701
|
||
* tree-ssa-sccvn.c (vn_reference_lookup_3): Resolve fully constant
|
||
references after translating through a memcpy.
|
||
|
||
2016-04-18 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-pre.c (postorder, postorder_num): Make locals ...
|
||
(compute_antic): ... here. For partial antic use regular
|
||
postorder and scrap iteration.
|
||
(compute_partial_antic_aux): Remove unused return value.
|
||
(init_pre): Do not allocate postorder.
|
||
(fini_pre): Do not free postorder.
|
||
|
||
2016-04-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/37870
|
||
* expmed.c (extract_bit_field_1): Remove broken case
|
||
using a wider MODE_INT mode.
|
||
|
||
2016-04-18 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* has-brig.c (lendian16): Don't try to use __builtin_bswap16
|
||
unless compiling with at least GCC-4.8.
|
||
|
||
2016-04-17 Jan Hubicka <jh@suse.cz>
|
||
|
||
PR bootstrap/70706
|
||
* graphite.c (graphite_finalize): Update call to
|
||
tree_estimate_probability.
|
||
* predict.h (tree_estimate_probability): Update prototype.
|
||
|
||
2016-04-17 Jan Hubicka <jh@suse.cz>
|
||
|
||
* predict.c (combine_predictions_for_bb): Add dry_run parmaeter.
|
||
(tree_estimate_probability): Likewise.
|
||
(pass_profile::execute): Update.
|
||
(report_predictor_hitrates): New function.
|
||
* profile.c (compute_branch_probabilities): Use it.
|
||
* predict.h (report_predictor_hitrates): Declare.
|
||
|
||
2016-04-17 Jan Hubicka <jh@suse.cz>
|
||
|
||
PR ipa/70018
|
||
* cgraph.h (cgraph_node::set_const_flag,
|
||
cgraph_node::set_pure_flag): Update prototype to return bool;
|
||
update comment.
|
||
* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Thunks
|
||
of interposable symbol are interposable, too.
|
||
(cgraph_set_const_flag_1): Rename to ...
|
||
(set_const_flag_1): ... this one; change to self recursive function
|
||
instead of call_for_symbol_thunks_and_aliases. Handle correctly
|
||
clearnig the flag in all variants and also virtual thunks of const
|
||
functions are pure; track if any change was done.
|
||
(cgraph_node::set_const_flag): Update.
|
||
(struct set_pure_flag_info): New struct.
|
||
(cgraph_set_pure_flag_1): Rename to ...
|
||
(set_pure_flag_1): ... this one; take set_pure_flag_info parameter
|
||
rather than pointer encoded flags; track if any changes was done;
|
||
handle correctly clearning flag and setting flag of aliases already
|
||
declared const.
|
||
(cgraph_node::set_pure_flag): Update.
|
||
(cgraph_node::set_nothrow_flag): Handle correctly clearning the flag.
|
||
|
||
2016-04-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR other/70433
|
||
* pretty-print.c (pp_write_text_as_dot_label_to_stream): Escape
|
||
backslash in label.
|
||
|
||
2016-04-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* pretty-print.c (pp_write_text_as_dot_label_to_stream): Classify chars
|
||
'{}<> ' as escape-for-record.
|
||
|
||
2016-04-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* pretty-print.c (pp_write_text_as_dot_label_to_stream): Simplify loop
|
||
structure.
|
||
|
||
2016-04-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR other/70185
|
||
* tree-pass.h (class opt_pass): Remove graph_dump_initialized member.
|
||
* dumpfile.h (struct dump_file_info): Add graph_dump_initialized field.
|
||
* dumpfile.c (dump_files): Initialize graph_dump_initialized field.
|
||
* passes.c (finish_optimization_passes): Only call
|
||
finish_graph_dump_file if dfi->graph_dump_initialized.
|
||
(execute_function_dump, pass_init_dump_file): Use
|
||
dfi->graph_dump_initialized instead of pass->graph_dump_initialized.
|
||
|
||
2016-04-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/70256
|
||
* tree-ssa-structalias.c (dump_varinfo, debug_varinfo, dump_varmap)
|
||
(debug_varmap): New function.
|
||
|
||
2016-04-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR other/70183
|
||
* passes.c (pass_manager::register_pass): Propagate pflags.
|
||
|
||
2016-04-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR other/68875
|
||
* pass_manager.h (TERMINATE_PASS_LIST): Add pass argument.
|
||
* passes.c (pass_manager::pass_manager): Declare and init p_start in
|
||
INSERT_PASSES_AFTER. Add pass parameter to TERMINATE_PASS_LIST, and
|
||
check if it's equal to p_start.
|
||
* passes.def: Add arguments to TERMINATE_PASS_LISTs.
|
||
|
||
2016-04-15 Jan Hubicka <jh@suse.cz>
|
||
|
||
PR ipa/70018
|
||
* cgraph.c (cgraph_set_const_flag_1): Only set as pure if
|
||
function does not bind to current def.
|
||
* ipa-pure-const.c (worse_state): Add FROM and TO parameters;
|
||
handle conservatively calls to functions that does not need to bind
|
||
to current def.
|
||
(check_call): Update call of worse_state.
|
||
(ignore_edge_for_nothrow): Update.
|
||
(ignore_edge_for_pure_const): Likewise.
|
||
(propagate_pure_const): Update calls to worse_state.
|
||
(skip_function_for_local_pure_const): Reformat comments.
|
||
|
||
2016-04-15 Jan Hubicka <jh@suse.cz>
|
||
|
||
PR ipa/70018
|
||
* cgraph.c (cgraph_node::get_availability): Add REF parameter.
|
||
(cgraph_node::function_symbol): Likewise.
|
||
(cgraph_node::function_or_virtual_thunk_symbol): Likewise.
|
||
* cgraph.h (symtab_node::get_availabbility): Add REF parameter.
|
||
(symtab_node::ultimate_alias_target): Add REF parameter.
|
||
(symtab_node::binds_to_current_def_p): Declare.
|
||
(symtab_node;:ultimate_alias_target_1): Add REF parameter.
|
||
(cgraph_node::function_symbol): Likewise.
|
||
(cgraph_node::function_or_virtual_thunk_symbol): Likewise.
|
||
(cgraph_node::get_availability): Likewise.
|
||
(cgraph_edge::binds_to_current_def_p): New inline function.
|
||
(varpool_node::get_availability): Add REF parameter.
|
||
(varpool_node::ultimate_alias_target): Likewise.
|
||
* symtab.c (symtab_node::ultimate_alias_target_1): Likewise.
|
||
(symtab_node::binds_to_current_def_p): Likewise.
|
||
* varpool.c (varpool_node::get_availability): Likewise.
|
||
|
||
2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
PR target/70662
|
||
* config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"):
|
||
Fix mode size check.
|
||
|
||
2016-04-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* BASE-VER: Set to 7.0.0.
|
||
|
||
2016-04-15 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.
|
||
|
||
2016-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
|
||
architecture revisions.
|
||
|
||
2016-04-15 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
* config/i386/i386-protos.h (ix86_using_red_zone): Declare.
|
||
* config/i386/i386.c (ix86_using_red_zone): No longer static.
|
||
* config/i386/i386.md (stack decrement to push peepholes): Guard
|
||
with !x86_using_red_zone ().
|
||
|
||
2016-04-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/70675
|
||
* tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
|
||
to dump_generic_node.
|
||
(NIY): Pass also flags to do_niy.
|
||
|
||
2016-04-15 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
|
||
(simd_clone_vector_of_formal_parm_types)
|
||
(simd_clone_clauses_extract, simd_clone_compute_base_data_type)
|
||
(simd_clone_mangle, simd_clone_create)
|
||
(simd_clone_adjust_return_type, create_tmp_simd_array)
|
||
(simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
|
||
(struct modify_stmt_info, ipa_simd_modify_stmt_ops)
|
||
(ipa_simd_modify_function_body, simd_clone_linear_addend)
|
||
(simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
|
||
(pass_data_omp_simd_clone, class pass_omp_simd_clone)
|
||
(pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move into...
|
||
* omp-simd-clone.c: ... this new file.
|
||
(simd_clone_vector_of_formal_parm_types): Make it static.
|
||
* Makefile.in (OBJS): Add omp-simd-clone.o.
|
||
|
||
2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
PR target/70662
|
||
* config/i386/sse.md: Use proper memory operand modifiers.
|
||
|
||
|
||
2016-04-15 Richard Biener <rguenther@suse.de>
|
||
Alan Modra <amodra@gmail.com>
|
||
|
||
PR tree-optimization/70130
|
||
* tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
|
||
when alignment stays not the same and no not use the realign
|
||
scheme then.
|
||
|
||
2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/70669
|
||
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
|
||
direct move handlers for KFmode. Change TFmode handlers test from
|
||
FLOAT128_IEEE_P to FLOAT128_VECTOR_P.
|
||
|
||
2016-04-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/70594
|
||
* ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
|
||
* ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
|
||
(inlined_polymorphic_ctor_dtor_block_p): Use it.
|
||
* tree-ssa-live.c (remove_unused_scope_block_p): When
|
||
in_ctor_dtor_block, avoid discarding not just BLOCKs with
|
||
BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
|
||
block_ultimate_origin is FUNCTION_DECL.
|
||
(remove_unused_locals): If current_function_decl is
|
||
polymorphic_ctor_dtor_p, pass initial true to
|
||
remove_unused_scope_block_p' is_ctor_dtor_block.
|
||
|
||
2016-04-14 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/69517
|
||
PR c++/70019
|
||
PR c++/70588
|
||
* doc/extend.texi (Variable Length): Revert.
|
||
|
||
2016-04-14 Marek Polacek <polacek@redhat.com>
|
||
Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR c++/70029
|
||
* tree.c (verify_type): Disable the canonical type of main variant
|
||
check.
|
||
|
||
2016-04-14 Jason Merrill <jason@redhat.com>
|
||
|
||
* cfgexpand.c, expr.c: Revert previous change.
|
||
|
||
2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
PR middle-end/70643
|
||
* omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
|
||
when building a mem ref for the incoming reduction variable.
|
||
|
||
2016-04-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70614
|
||
* tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
|
||
loop if the evolution dropped to chrec_dont_know.
|
||
(interpret_condition_phi): Likewise.
|
||
|
||
2016-04-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70623
|
||
* tree-ssa-pre.c (changed_blocks): Make global ...
|
||
(compute_antic): ... local here. Move and fix worklist
|
||
handling here. Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
|
||
(compute_antic_aux): Add dumping for MAX assumed succs. Remove
|
||
worklist handling, dump when ANTIC_IN changed.
|
||
(compute_partial_antic_aux): Remove worklist handling.
|
||
(init_pre): Do not compute post dominators. Add a comment about
|
||
the CFG order chosen.
|
||
(fini_pre): Do not free post dominators.
|
||
|
||
2016-04-13 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/69517
|
||
PR c++/70019
|
||
PR c++/70588
|
||
* doc/extend.texi (Variable Length): Document C++ specifics.
|
||
|
||
2016-04-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/70641
|
||
* ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
|
||
on all recursive call stmts. Return TODO_cleanup_cfg if any dead
|
||
eh edges have been purged.
|
||
|
||
PR c++/70594
|
||
* tree-sra.c (create_access_replacement,
|
||
get_replaced_param_substitute): Set DECL_NAMELESS on repl if it
|
||
gets fancy name.
|
||
* tree-pretty-print.c (dump_fancy_name): New function.
|
||
(dump_decl_name, dump_generic_node): Use it.
|
||
|
||
2016-04-13 Jason Merrill <jason@redhat.com>
|
||
|
||
* cfgexpand.c (pass_expand::execute): Handle attribute "abi warning".
|
||
* expr.c (expand_expr_real_1): Likewise.
|
||
|
||
2016-04-13 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* config/i386/i386.md (kunpckhi): Swap operands.
|
||
(kunpcksi): Likewise.
|
||
(kunpckdi): Likewise.
|
||
* config/i386/sse.md (vec_pack_trunc_qi): Likewise.
|
||
(vec_pack_trunc_<mode>): Likewise.
|
||
|
||
2016-04-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/70628
|
||
* explow.c (convert_memory_address_addr_space_1): Formatting fix.
|
||
|
||
PR middle-end/70633
|
||
* gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
|
||
gimplification turns some element into non-constant.
|
||
|
||
PR debug/70628
|
||
* rtl.h (convert_memory_address_addr_space_1): New prototype.
|
||
* explow.c (convert_memory_address_addr_space_1): No longer static,
|
||
add NO_EMIT argument and don't call convert_modes if true, pass
|
||
it down recursively, remove break after return.
|
||
(convert_memory_address_addr_space): Adjust caller.
|
||
* simplify-rtx.c (simplify_unary_operation_1): Call
|
||
convert_memory_address_addr_space_1 instead of convert_memory_address,
|
||
if it returns NULL, don't simplify.
|
||
|
||
2016-04-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/70630
|
||
* config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
|
||
|
||
2016-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
|
||
Bump the upper SIMDLEN limits, so that if the return type or
|
||
characteristic type if the return type is void can be passed in
|
||
all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
|
||
allowed.
|
||
|
||
2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/70640
|
||
* config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
|
||
Do not use "=" constraint on an input constraint.
|
||
(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
|
||
(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
|
||
(ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
|
||
generates (neg (abs ...)) instead of (abs ...).
|
||
|
||
2016-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/70596
|
||
* lra-spills.c (spill_pseudos): Don't delete debug insns, instead
|
||
just invalidate LRA data and reset them. Adjust dump wording.
|
||
|
||
2016-04-12 Martin Liska <mliska@suse.cz>
|
||
|
||
Revert
|
||
2016-03-30 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
|
||
estimates here.
|
||
* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
|
||
max_loop_iterations_int.
|
||
(tree_unswitch_outer_loop): Likewise.
|
||
* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
|
||
* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
|
||
|
||
2016-04-12 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/68756
|
||
* graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
|
||
instead of new_name.
|
||
|
||
2016-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/70602
|
||
* tree-sra.c (generate_subtree_copies): Don't write anything into
|
||
constant pool decls.
|
||
|
||
* omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
|
||
regardless whether there are depend clauses or not.
|
||
|
||
2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/70381
|
||
* config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
|
||
target attribute and pragma from changing the -mfloat128
|
||
and -mfloat128-hardware options.
|
||
|
||
* doc/extend.texi (Additional Floating Types): Document PowerPC
|
||
__float128 restrictions.
|
||
|
||
2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
PR target/70133
|
||
* config/aarch64/driver-aarch64.c
|
||
(aarch64_get_extension_string_for_isa_flags): New.
|
||
(arch_extension): Rename to...
|
||
(aarch64_arch_extension): ...This.
|
||
(ext_to_feat_string): Rename to...
|
||
(aarch64_extensions): ...This.
|
||
(aarch64_core_data): Keep track of architecture extension flags.
|
||
(cpu_data): Rename to...
|
||
(aarch64_cpu_data): ...This.
|
||
(aarch64_arch_driver_info): Keep track of architecture extension
|
||
flags.
|
||
(get_arch_name_from_id): Rename to...
|
||
(get_arch_from_id): ...This, change return type.
|
||
(host_detect_local_cpu): Update and reformat for renames, handle
|
||
extensions through common infrastructure.
|
||
|
||
2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
PR target/70133
|
||
* config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
|
||
track of a canonical flag name.
|
||
(all_extensions): Likewise.
|
||
(arch_to_arch_name): Also track extension flags enabled by the arch.
|
||
(all_architectures): Likewise.
|
||
(aarch64_parse_extension): Move to here.
|
||
(aarch64_get_extension_string_for_isa_flags): Take a new argument,
|
||
rework.
|
||
(aarch64_rewrite_selected_cpu): Update for above change.
|
||
* config/aarch64/aarch64-option-extensions.def: Rework the way flags
|
||
are handled, such that the single explicit value enabled by an
|
||
extension is kept seperate from the implicit values it also enables.
|
||
* config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
|
||
to here.
|
||
(aarch64_parse_extension): New.
|
||
* config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
|
||
here to config/aarch64/aarch64-protos.h.
|
||
(aarch64_parse_extension): Move from here to
|
||
common/config/aarch64/aarch64-common.c.
|
||
(aarch64_option_print): Update.
|
||
(aarch64_declare_function_name): Likewise.
|
||
(aarch64_start_file): Likewise.
|
||
* config/aarch64/driver-aarch64.c (arch_extension): Keep track of
|
||
the canonical flag for extensions.
|
||
* config.gcc (aarch64*-*-*): Extend regex for capturing extension
|
||
flags.
|
||
|
||
2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
|
||
AARCH64_FL_CRC.
|
||
|
||
2016-04-09 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/68953
|
||
* graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
|
||
first to last subscript.
|
||
|
||
2016-04-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/70586
|
||
* tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
|
||
for any calls.
|
||
|
||
2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
PR lto/70289
|
||
PR ipa/70348
|
||
PR tree-optimization/70373
|
||
PR middle-end/70533
|
||
PR middle-end/70534
|
||
PR middle-end/70535
|
||
* gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
|
||
clauses for acc parallel reductions as necessary. Error on those
|
||
that are private.
|
||
* omp-low.c (scan_sharing_clauses): Don't install variables which
|
||
are used in acc parallel reductions.
|
||
(lower_rec_input_clauses): Remove dead code.
|
||
(lower_oacc_reductions): Add support for reference reductions.
|
||
(lower_reduction_clauses): Remove dead code.
|
||
(lower_omp_target): Don't remap variables appearing in acc parallel
|
||
reductions.
|
||
* tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
|
||
|
||
2016-04-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/70593
|
||
* tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
|
||
with multiple SSA_NAME defs, force the outputs other than first
|
||
to be live before calling live_track_process_def on each output.
|
||
|
||
PR rtl-optimization/70574
|
||
* fwprop.c (forward_propagate_and_simplify): Don't add
|
||
REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
|
||
(try_fwprop_subst): Don't add REG_EQUAL note if there are any
|
||
paradoxical subregs within *loc.
|
||
|
||
2016-04-08 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
|
||
-ftree-parallelize-loops={0,1}.
|
||
* config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
|
||
* config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
|
||
* config/ia64/hpux.h (LIB_SPEC): Likewise.
|
||
* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
|
||
* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
|
||
|
||
2016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com>
|
||
|
||
PR sanitizer/70541
|
||
* asan.c (instrument_derefs): If we get unknown location, extract it
|
||
with EXPR_LOCATION.
|
||
(maybe_instrument_call): Instrument gimple_call's arguments if needed.
|
||
|
||
2016-04-08 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
|
||
implicit firstprivate clause.
|
||
|
||
2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/70566
|
||
* config/arm/thumb2.md (tst + branch-> lsls + branch
|
||
peephole below *orsi_not_shiftsi_si): Require that condition
|
||
register is dead after the peephole.
|
||
(second peephole after the above): Likewise.
|
||
|
||
2016-04-08 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/70117
|
||
* builtins.c (fold_builtin_classify): For IBM extended precision,
|
||
look at just the high-order double to test for NaN.
|
||
(fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal
|
||
test just the high double for Inf but both doubles for subnormal
|
||
limit.
|
||
|
||
2016-04-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
|
||
* omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
|
||
node->simdclone->mask_mode != VOIDmode masks.
|
||
(simd_clone_adjust_argument_types): Likewise. Move sc var definition
|
||
earlier, use it instead of node->simdclone.
|
||
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
|
||
Set clonei->mask_mode.
|
||
|
||
2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c/70436
|
||
* parser.c (cp_parser_iteration_statement): New parameter IF_P.
|
||
Pass it through to cp_parser_already_scoped_statement.
|
||
(cp_parser_already_scoped_statement): New parameter IF_P. Pass
|
||
it through to cp_parser_statement.
|
||
(cp_parser_statement): Pass IF_P through to
|
||
cp_parser_iteration_statement.
|
||
(cp_parser_pragma): Adjust call to
|
||
cp_parser_iteration_statement.
|
||
|
||
2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c/70436
|
||
* gimplify.c (gimplify_omp_ordered): Add explicit braces to
|
||
resolve a future -Wparentheses warning.
|
||
* omp-low.c (scan_sharing_clauses): Likewise.
|
||
* tree-parloops.c (eliminate_local_variables): Likewise.
|
||
|
||
2016-04-06 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/70398
|
||
* lra-constraints.c (process_address_1): Check zero scale and code
|
||
for reloading with zero scale.
|
||
|
||
2016-04-06 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
|
||
(ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
|
||
|
||
2016-04-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
|
||
Add support for AVX512F clones, include them by default for
|
||
exported OpenMP declare simd functions. For AVX2 allow simdlen 32
|
||
and use it if charasteric type is 8-bit, for AVX512F allow simdlen
|
||
up to 128.
|
||
|
||
PR middle-end/70550
|
||
* tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
|
||
* gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
|
||
firstprivate clauses.
|
||
* omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
|
||
OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
|
||
(lower_omp_target): Set TREE_NO_WARNING for
|
||
non-addressable possibly uninitialized vars which are copied into
|
||
addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.
|
||
|
||
2016-04-05 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/predicates.md (integer_store_memory_operand): Accept
|
||
REG+D operands with a large offset when reload_in_progress is true.
|
||
(floating_point_store_memory_operand): Likewise.
|
||
|
||
2016-04-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/70336
|
||
* match.pd (nested int casts): Limit to GIMPLE.
|
||
|
||
2016-04-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/66223
|
||
* ipa-devirt.c (maybe_record_node): Fix comment; use
|
||
SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
|
||
|
||
2016-04-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/70542
|
||
* ree.c (add_removable_extension): For VECTOR_MODE_P punt
|
||
if there are any uses other than insn or debug insns.
|
||
|
||
2016-04-05 Marc Glisse <marc.glisse@inria.fr>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/70509
|
||
* simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
|
||
Shift HOST_WIDE_INT_1U instead of 1.
|
||
|
||
2016-04-05 Zdenek Sojka <zsojka@seznam.cz>
|
||
|
||
PR tree-optimization/70509
|
||
* tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
|
||
of the vector base type for index.
|
||
|
||
2016-04-05 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/70510
|
||
* config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
|
||
|
||
2016-04-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70526
|
||
* tree-sra.c (build_ref_for_offset): Use prev_base to
|
||
extract the alias pointer type.
|
||
|
||
2016-04-05 Richard Biener <rguenther@suse.de>
|
||
|
||
* dse.c (struct store_info): Remove alias_set member.
|
||
(struct read_info_type): Likewise.
|
||
(clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
|
||
spill_deleted, clear_alias_set_lookup): Remove.
|
||
(get_group_info): Remove dead base == NULL_RTX case.
|
||
(dse_step0): Remove initialization of removed variables.
|
||
(delete_dead_store_insn): Reomve alias set dumping.
|
||
(free_read_records): Remove alias_set handling.
|
||
(canon_address): Remove alias_set_out parameter.
|
||
(record_store): Remove spill_alias_set, it's always zero.
|
||
(check_mem_read_rtx): Likewise.
|
||
(dse_step2): Rename from ...
|
||
(dse_step2_nospill): ... this. Adjust.
|
||
(scan_stores): Rename from ...
|
||
(scan_stores_nospill): ... this.
|
||
(scan_reads): Rename from ...
|
||
(scan_reads_nospill): ... this.
|
||
(scan_stores_spill, scan_reads_spill): Remove.
|
||
(dse_step3_scan): Remove for_spills argument which is always false.
|
||
(dse_step3): Likewise.
|
||
(dse_step5): Rename from ...
|
||
(dse_step5_nospill): ... this. Remove alias_set handling.
|
||
(rest_of_handle_dse): Adjust.
|
||
|
||
2016-04-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70525
|
||
* config/i386/sse.md (*andnot<mode>3): Simplify assertions.
|
||
Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
|
||
V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
|
||
(*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
|
||
|
||
2016-04-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/70499
|
||
* gimplify-me.c (gimple_regimplify_operands): Do not rewrite
|
||
non-register type temporaries into SSA.
|
||
|
||
2016-04-04 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/66223
|
||
* ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
|
||
calls when sanitizing.
|
||
(possible_polymorphic_call_target_p): Fix formatting.
|
||
|
||
2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/70457
|
||
* tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
|
||
to ensure a call statement is compatible with a built-in's
|
||
prototype.
|
||
* tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
|
||
Likewise.
|
||
|
||
2016-04-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/70484
|
||
* rtl.h (canon_output_dependence): Declare.
|
||
* alias.c (canon_output_dependence): New function.
|
||
* dse.c (record_store): Use canon_output_dependence rather
|
||
than canon_true_dependence.
|
||
|
||
2016-03-30 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/68881
|
||
* cgraph.h (symtab_node::copy_visibility_from): New function.
|
||
* symtab.c (symtab_node::copy_visibility_from): New function.
|
||
* ipa-visibility.c (optimize_weakref): New function.
|
||
(function_and_variable_visibility): Use it.
|
||
|
||
2016-04-04 Martin Liska <mliska@suse.cz>
|
||
|
||
PR hsa/70402
|
||
* hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
|
||
value that is really in range handled by SBR instruction.
|
||
* hsa-brig.c (emit_switch_insn): Do not emit unconditional jump.
|
||
* hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
|
||
* hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
|
||
|
||
2016-04-03 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/70416
|
||
PR target/67391
|
||
* config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
|
||
set, but not for SP_REG operands.
|
||
|
||
2016-04-02 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/67376
|
||
* fold-const.c (maybe_nonzero_address): New function.
|
||
(fold_comparison): Call it. Fold equality and relational
|
||
expressions involving null pointers.
|
||
(tree_single_nonzero_warnv_p): Call maybe_nonzero_address.
|
||
|
||
2016-03-31 Evandro Menezes <e.menezes@samsung.com>
|
||
|
||
Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate
|
||
the "Y" constraint (scalar FP 0.0 immediate).
|
||
|
||
* gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
|
||
Add the "const_double" to the list of operand constraints.
|
||
|
||
2016-04-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/70467
|
||
* config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
|
||
If low word of the last operand is 0, just emit addition/subtraction
|
||
for the high word.
|
||
|
||
2016-04-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR target/70404
|
||
* config/s390/s390.c (s390_expand_insv): Check for everything
|
||
constant instead of just VOIDmode stuff.
|
||
|
||
2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
PR target/70496
|
||
* config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
|
||
|
||
2016-04-01 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* tree.def (TRY_CATCH_EXPR): Correct documentation.
|
||
|
||
2016-03-31 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/70461
|
||
* ira-color.c (allocno_copy_cost_saving): Use allocno class if it
|
||
is necessary.
|
||
|
||
2016-03-31 Martin Liska <mliska@suse.cz>
|
||
|
||
PR hsa/70399
|
||
* hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
|
||
a tree value or an immediate integer value to a buffer
|
||
that is eventually copied to a BRIG section.
|
||
(emit_immediate_operand): Call the function here.
|
||
* hsa-dump.c (dump_hsa_immed): Remove checking assert.
|
||
* hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
|
||
of class' fields that are removed.
|
||
(hsa_op_immed::~hsa_op_immed): Remove deinitialization.
|
||
* hsa.h (class hsa_op_immed): Remove m_brig_repr and
|
||
m_brig_repr_size fields.
|
||
|
||
2016-03-31 Martin Liska <mliska@suse.cz>
|
||
|
||
PR hsa/70391
|
||
* hsa-gen.c (hsa_function_representation::update_dominance): New
|
||
function.
|
||
(convert_addr_to_flat_segment): Likewise.
|
||
(gen_hsa_memory_set): New alignment argument.
|
||
(gen_hsa_ctor_assignment): Likewise.
|
||
(gen_hsa_insns_for_single_assignment): Provide alignment
|
||
to gen_hsa_ctor_assignment.
|
||
(gen_hsa_insns_for_direct_call): Add new argument.
|
||
(expand_lhs_of_string_op): New function.
|
||
(expand_string_operation_builtin): Likewise.
|
||
(expand_memory_copy): New function.
|
||
(expand_memory_set): New function.
|
||
(gen_hsa_insns_for_call): Use HOST_WIDE_INT.
|
||
(convert_switch_statements): Change signature.
|
||
(generate_hsa): Use a return value of the function.
|
||
(pass_gen_hsail::execute): Do not call
|
||
convert_switch_statements here.
|
||
* hsa-regalloc.c (hsa_regalloc): Call update_dominance.
|
||
* hsa.h (hsa_function_representation::m_modified_cfg): New flag.
|
||
(hsa_function_representation::update_dominance): New function.
|
||
|
||
2016-03-31 Martin Liska <mliska@suse.cz>
|
||
|
||
PR hsa/70391
|
||
* hsa-brig.c (emit_directive_variable): Emit alignment
|
||
according to hsa_symbol::m_align.
|
||
* hsa-dump.c (hsa_byte_alignment): Move the function to another file.
|
||
(dump_hsa_symbol): Dump alignment of HSA symbols.
|
||
* hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol.
|
||
(gen_hsa_addr_with_align): New function.
|
||
(hsa_bitmemref_alignment): Use newly added function.
|
||
(gen_hsa_insns_for_load): Likewise.
|
||
(gen_hsa_insns_for_store): Likewise.
|
||
(gen_hsa_memory_copy): New argument added.
|
||
(gen_hsa_insns_for_single_assignment): Respect
|
||
alignment for assignments processed via gen_hsa_memory_copy.
|
||
(gen_hsa_insns_for_direct_call): Likewise.
|
||
(gen_hsa_insns_for_return): Likewise.
|
||
(gen_function_def_parameters): Set default alignment.
|
||
* hsa.c (hsa_object_alignment): New function.
|
||
(hsa_byte_alignment): Pasted function.
|
||
* hsa.h (hsa_symbol::m_align): New field.
|
||
|
||
2016-03-31 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
|
||
scratch field for goto case.
|
||
|
||
2016-03-31 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
|
||
|
||
2016-03-31 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/70442
|
||
* config/i386/i386.c (scalar_chain::convert_op): Fix description.
|
||
(scalar_chain::convert_insn): Call convert_op for reg
|
||
moves to handle undefined registers.
|
||
|
||
2016-03-31 Nathan Sidwell <nathan@acm.org>
|
||
|
||
PR c++/70393
|
||
* varasm.c (output_constructor_regular_field): Flush bitfield earlier.
|
||
Assert we don't want to move backwards.
|
||
|
||
2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
PR target/70453
|
||
* config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
|
||
|
||
2016-03-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/70460
|
||
* ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
|
||
with operand from REG_LABEL_OPERAND, instead substitute
|
||
SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
|
||
Don't do anything for REG_NON_LOCAL_GOTO jumps.
|
||
|
||
2016-03-31 Martin Liska <mliska@suse.cz>
|
||
|
||
* passes.c (execute_one_pass): Do not call
|
||
todo_after for a discarded function.
|
||
|
||
2016-03-31 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
|
||
(no_cost, infinite_cost): Initialize the new field.
|
||
(get_computation_cost_at): Record setup cost.
|
||
(determine_use_iv_cost_address): Skip cost computation for sub
|
||
uses if we can estimate it without losing accuracy.
|
||
|
||
2016-03-30 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
|
||
estimates here.
|
||
* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
|
||
max_loop_iterations_int.
|
||
(tree_unswitch_outer_loop): Likewise.
|
||
* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
|
||
* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
|
||
|
||
2016-03-30 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/70450
|
||
* fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
|
||
|
||
2016-03-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70421
|
||
* config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
|
||
in gen_blendm expander.
|
||
|
||
2016-03-30 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/62254
|
||
* config/arm/arm.c (arm_reload_out_hi): Add code to handle the
|
||
case where we are already provided with an SImode SUBREG.
|
||
|
||
2016-03-30 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/70439
|
||
* config/i386/i386.c (ix86_expand_epilogue): Properly check
|
||
conflict between DRAP register and __builtin_eh_return.
|
||
|
||
2016-03-30 Michael Matz <matz@suse.de>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/12392
|
||
* ipa-polymorphic-call.c (struct type_change_info): Change
|
||
speculative to an unsigned allowing to limit the work we do.
|
||
(csftc_abort_walking_p): New inline function..
|
||
(check_stmt_for_type_change): Limit the number of may-defs
|
||
skipped for speculative devirtualization to
|
||
max-speculative-devirt-maydefs.
|
||
* params.def (max-speculative-devirt-maydefs): New param.
|
||
* doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.
|
||
|
||
2016-03-30 Mike Stump <mrs@gcc.gnu.org>
|
||
|
||
PR target/63890
|
||
* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
|
||
and TARGET_MACHO.
|
||
|
||
2016-03-30 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR tree-optimization/59124
|
||
* tree-vrp.c (register_edge_assert_for_2): For NAME != CST1
|
||
where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2).
|
||
|
||
2016-03-29 Jeff Law <law@redhat.com>
|
||
|
||
* tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
|
||
|
||
2016-03-10 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
|
||
to HOST_WIDE_INT.
|
||
|
||
2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
|
||
* config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
|
||
gcrt0.o if linking dynamically.
|
||
|
||
2016-03-10 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/70283
|
||
* ipa-devirt.c (methods_equal_p): New function.
|
||
(compare_virtual_tables): Use it.
|
||
* cgraph.h (symbol_table::symbol_suffix_separator): Declare.
|
||
* cgraphclones.c (clone_function_name_1): Use
|
||
symbol_table::symbol_suffix_separator.
|
||
* coverage.c (build_var): Likewise.
|
||
* symtab.c (symbol_table::symbol_suffix_separator): New.
|
||
|
||
2016-03-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/70429
|
||
* combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
|
||
(cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
|
||
mode != result_mode.
|
||
|
||
PR c++/70353
|
||
* tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
|
||
|
||
PR tree-optimization/70405
|
||
* ssa-iterators.h (num_imm_uses): Add missing braces.
|
||
|
||
2016-03-29 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/68695
|
||
* ira-color.c (allocno_copy_cost_saving): New.
|
||
(improve_allocation): Use it.
|
||
|
||
2016-03-29 Richard Henderson <rth@redhat.com>
|
||
|
||
PR middle-end/70355
|
||
* lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
|
||
|
||
2016-03-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/70424
|
||
* ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
|
||
use alignment returned by get_pointer_alignment_1 if it is
|
||
bigger than BITS_PER_UNIT.
|
||
* builtins.c (get_pointer_alignment_1): Do not return true
|
||
for alignment extracted from SSA info.
|
||
|
||
2016-03-28 James Bowman <james.bowman@ftdichip.com>
|
||
|
||
* config/ft32/ft32.opt (mnodiv): New.
|
||
* config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV.
|
||
* doc/invoke.texi (FT32 Options -mnodiv): New.
|
||
|
||
2016-03-28 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
PR target/70406
|
||
* config/i386/i386.md (define_split, andn): Fix modes.
|
||
|
||
2016-03-26 Richard Biener <rguenther@suse.de>
|
||
Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
PR ipa/70366
|
||
* ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
|
||
instead of
|
||
TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
|
||
as 2nd argument to cl_optimization_restore().
|
||
|
||
2016-03-25 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/70120
|
||
* config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
|
||
* config/aarch64/aarch64-protos.h: Declare it.
|
||
* config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
|
||
|
||
2016-03-25 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/70052
|
||
* config/rs6000/constraints.md (j): Simplify.
|
||
* config/rs6000/predicates.md (easy_fp_constant): Exclude
|
||
decimal float 0.D.
|
||
* config/rs6000/rs6000.md (zero_fp): New mode_attr.
|
||
(mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
|
||
mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
|
||
in all constraint alternatives.
|
||
(movtd_64bit_nodm): Delete "j" constraint alternative.
|
||
|
||
2016-03-24 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* tree-ssa-propagate.c: Enhance docs for
|
||
SSA_PROP_NOT_INTERESTING.
|
||
|
||
2016-03-24 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* doc/extend.texi: Fix typo in documentation to pure attribute.
|
||
|
||
2016-03-24 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR target/70319
|
||
* config/pa/pa.md (bswapdi2): Use a scratch register.
|
||
|
||
2016-03-24 Richard Henderson <rth@redhat.com>
|
||
|
||
PR middle-end/69845
|
||
* fold-const.c (extract_muldiv_1): Correct test for multiplication
|
||
overflow.
|
||
|
||
2016-03-24 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*anddi3_doubleword): Generate AND insn
|
||
using ix86_expand_binary_operator instead of gen_andsi3.
|
||
|
||
2016-03-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70396
|
||
* tree-vect-stmts.c (vectorizable_comparison): Use
|
||
get_vectype_for_scalar_type.
|
||
|
||
2016-03-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/70370
|
||
* gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
|
||
with register bases.
|
||
|
||
2016-03-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70372
|
||
* tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
|
||
build_all_ones_cst to also handle vector types correctly.
|
||
|
||
2016-03-23 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/70381
|
||
* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
|
||
-mfloat128 here.
|
||
|
||
2016-03-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/69884
|
||
* doc/invoke.texi: Document -Wignored-attributes.
|
||
|
||
2016-03-23 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/69042
|
||
* params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
|
||
parameter from 30 to 40.
|
||
|
||
2016-03-23 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/69042
|
||
* tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
|
||
for use with constant offset stripped in base.
|
||
|
||
2016-03-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/70251
|
||
* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
|
||
mode compatibility check.
|
||
(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
|
||
|
||
2016-03-23 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/64058
|
||
* tree-ssa-coalesce.c (struct coalesce_pair): Add new field
|
||
CONFLICT_COUNT.
|
||
(struct ssa_conflicts): Move up earlier in the file.
|
||
(conflicts_, var_map_): New static variables.
|
||
(initialize_conflict_count): New function to initialize the
|
||
CONFLICT_COUNT field for each conflict pair.
|
||
(compare_pairs): Lazily initialize the conflict count and use it
|
||
as the first tie-breaker.
|
||
(sort_coalesce_list): Add new arguments conflicts, map. Initialize
|
||
and wipe conflicts_ and map_ around the call to qsort. Remove
|
||
special case for 2 coalesce pairs.
|
||
* bitmap.c (bitmap_count_unique_bits): New function.
|
||
(bitmap_count_bits_in_word): New function, extracted from
|
||
bitmap_count_bits.
|
||
(bitmap_count_bits): Use bitmap_count_bits_in_word.
|
||
* bitmap.h (bitmap_count_unique_bits): Declare it.
|
||
|
||
2016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/69917
|
||
* config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
|
||
transparent alias chain for decl assembler name.
|
||
* config/sol2.c (solaris_assemble_visibility): Likewise.
|
||
|
||
2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm1020e.md (1020call_op): Reduce reservation
|
||
duration.
|
||
(v10_fdivs): Likewise.
|
||
(v10_fdivd): Likewise.
|
||
|
||
2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR driver/70132
|
||
* config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
|
||
to not call fclose twice on file.
|
||
|
||
2016-03-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/70354
|
||
* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
|
||
oprnd0 is wider than oprnd1 and there is a cast from the wider
|
||
type to oprnd1, mask it with the mask of the narrower type.
|
||
|
||
PR target/70321
|
||
* config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
|
||
Optimize TARGET_STV splitters, if high or low word of last argument
|
||
is 0 or -1.
|
||
|
||
2016-03-22 Jeff Law <law@redhat.com>
|
||
|
||
PR target/70232
|
||
tree-ssa-threadbackward.c
|
||
(fsm_find_control_statement_thread_paths): Correctly distinguish
|
||
between old style jump threads vs FSM jump threads.
|
||
|
||
2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/70302
|
||
* config/i386/i386.c (scalar_chain::convert_op): Support
|
||
uninitialized register usage case.
|
||
|
||
2016-03-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/70251
|
||
* genmatch.c (gen_transform): Adjust last parameter to a three-state
|
||
int...
|
||
(capture::gen_transform): ... to change behavior when substituting
|
||
a condition into cond or not-cond expr context.
|
||
(dt_simplify::gen_1): Adjust.
|
||
* gimple-match-head.c: Include gimplify.h for unshare_expr.
|
||
* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
|
||
last change and instead change to
|
||
A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
|
||
(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
|
||
|
||
2016-03-22 Anthony Green <green@moxielogic.com>
|
||
|
||
* config/moxie/moxiebox.h (CC1_SPEC): Define. Fix endianness
|
||
issue for moxiebox targets.
|
||
(CC1PLUS_SPEC): Ditto.
|
||
|
||
2016-03-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/70333
|
||
* fold-const.c (extract_muldiv_1): Properly perform multiplication
|
||
in the wide type.
|
||
|
||
2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
* config/i386/i386.c (def_builtin): Remove duplicated functionality.
|
||
|
||
2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
PR target/70325
|
||
* config/i386/i386.c (def_builtin): Handle
|
||
OPTION_MASK_ISA_AVX512VL to be and-ed with other
|
||
bits.
|
||
(const struct builtin_description bdesc_special_args[]):
|
||
Remove duplicate ISA bits.
|
||
|
||
2016-03-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70329
|
||
* config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
|
||
d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i]
|
||
in a way that works also for AVX512BW.
|
||
|
||
PR target/70300
|
||
* config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
|
||
instead of source if operands[1] is xmm16 and above and
|
||
!TARGET_AVX512VL. Use avx512f_vec_dupv16sf_1 instead of
|
||
vec_interleave_lowv4sf if we need to unpack xmm16 and above.
|
||
|
||
PR c++/70295
|
||
* gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
|
||
on assign if (*from_p) is a comparison, set it to
|
||
TREE_NO_WARNING (*from_p).
|
||
|
||
2016-03-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/70326
|
||
* lra.c (restore_scratches): Ignore deleted insns.
|
||
|
||
2016-03-21 Marc Glisse <marc.glisse@inria.fr>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/70317
|
||
* match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
|
||
to HONOR_NANS.
|
||
|
||
2016-03-21 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/70327
|
||
* config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
|
||
of ix86_expand_move.
|
||
(movoi): Ditto.
|
||
(movti): Use general_operand for operand 1 predicate.
|
||
|
||
2016-03-21 Martin Liska <mliska@suse.cz>
|
||
|
||
* hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
|
||
insns.
|
||
(dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
|
||
|
||
2016-03-21 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/70306
|
||
* ipa-icf.c (sem_function::parse): Skip static
|
||
constructors and destructors.
|
||
|
||
2016-03-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70296
|
||
* config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
|
||
function-like macro, peek following token(s) if it is followed
|
||
by CPP_OPEN_PAREN token with optional padding in between, and
|
||
if not, don't treat it like a macro.
|
||
|
||
2016-03-21 Thomas Schwinge <thomas@codesourcery.com>
|
||
Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
|
||
for the stabs debug format.
|
||
|
||
2016-03-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70310
|
||
* tree-vect-generic.c (expand_vector_condition): Fold the built
|
||
condition.
|
||
|
||
2016-03-21 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
PR target/70293
|
||
* config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
|
||
Block third alternative for AVX-512VL target,
|
||
|
||
2016-03-21 Martin Liska <mliska@suse.cz>
|
||
|
||
PR hsa/70234
|
||
* hsa-brig.c (emit_function_directives): Mark unemitted
|
||
global variables for emission.
|
||
* hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
|
||
(get_symbol_for_decl): Likewise.
|
||
* hsa.h (struct hsa_symbol): New flag.
|
||
|
||
2016-03-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70288
|
||
* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
|
||
we do not estimate unsimplified all-constant conditionals or
|
||
switches as optimized away.
|
||
|
||
2016-03-21 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR rtl-optimization/69102
|
||
* sched-deps.c (sched_analyze_insn): Do not set last_args_size field
|
||
when we have a readonly dependency context.
|
||
|
||
2016-03-18 Jeff Law <law@redhat.com>
|
||
|
||
PR rtl-optimization/70263
|
||
* ira.c (memref_used_between_p): Assert we found END in the insn chain.
|
||
(update_equiv_regs): When trying to move a store to after the insn
|
||
that sets the source of the store, make sure the store occurs after
|
||
the insn that sets the source of the store. When successful note
|
||
the REG_EQUIV note created in the dump file.
|
||
|
||
2016-03-16 David Wohlferd <dw@LimeGreenSocks.com>
|
||
Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
* doc/extend.texi: Document more potential problems with basic asms.
|
||
|
||
2016-03-18 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR rtl-optimization/70278
|
||
* lra-constraints.c (split_reg): Handle the case where biggest_mode is
|
||
VOIDmode.
|
||
|
||
2016-03-18 Jason Merrill <jason@redhat.com>
|
||
|
||
* calls.c (load_register_parameters): Fix zero size sibcall logic.
|
||
|
||
2016-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
* config/i386/sse.md: Use vpbroadcastq for broadcasting DF
|
||
values to 128b regs.
|
||
|
||
2016-03-18 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR tree-optimization/70252
|
||
* tree-vect-stmts.c (supportable_widening_operation): Check resulting
|
||
boolean vector has a proper number of elements.
|
||
(supportable_narrowing_operation): Likewise.
|
||
|
||
2016-03-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR ipa/70269
|
||
* cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
|
||
|
||
2016-03-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
|
||
instead of replace_rtx for DEBUG_INSNs.
|
||
|
||
2016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
|
||
|
||
* config/i386/znver1.md : Fix latencies of FP/SSE/AVX
|
||
load type reservations.
|
||
|
||
2016-03-17 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR target/70188
|
||
* config/pa/constraints.md: Revert 2015-02-13 change. Use
|
||
define_constraint for "Q" and "T" constraints.
|
||
|
||
2016-03-17 Evandro Menezes <e.menezes@samsung.com>
|
||
|
||
Tweak the pipeline model for Exynos M1
|
||
|
||
* config/aarch64/aarch64.c (exynosm1_tunings): Enable weak prefetching
|
||
model.
|
||
|
||
2016-03-17 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/70264
|
||
* diagnostic-show-locus.c (compatible_locations_p): Handle the case
|
||
where one or both locations aren't within a line_map.
|
||
|
||
2016-03-17 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR driver/70192
|
||
* opts.c (finish_options): Don't set flag_pie to the default if
|
||
-fpic, -fPIC, -fno-pic or -fno-PIC is used. Set flag_pic to 0
|
||
if it is -1.
|
||
|
||
2016-03-17 Joern Rennecke <joern.rennecke@embecosm.com>
|
||
|
||
* config/i386/i386.md (*movv4qicc_insn+1..36): Pass
|
||
true as ALL_REGS argument to replace_rtx.
|
||
|
||
2016-03-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/70271
|
||
* dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
|
||
last.
|
||
|
||
2016-03-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70245
|
||
* rtl.h (replace_rtx): Add ALL_REGS argument.
|
||
* rtlanal.c (replace_rtx): Likewise. If true, use REGNO
|
||
equality and assert mode is the same, instead of just rtx pointer
|
||
equality.
|
||
* config/i386/i386.md (mov + arithmetics with load peephole): Pass
|
||
true as ALL_REGS argument to replace_rtx.
|
||
|
||
2016-03-17 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
|
||
for boolean vector with vector mode only.
|
||
(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
|
||
|
||
2016-03-17 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/70162
|
||
* config/rx/rx.c (rx_print_integer): Print negative constants in
|
||
decimal.
|
||
|
||
2016-03-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70261
|
||
* rtlanal.c (replace_rtx): Revert 2016-03-16 change.
|
||
|
||
2016-03-16 Richard Henderson <rth@redhat.com>
|
||
Richard Biener <rguenth@suse.de>
|
||
|
||
PR middle-end/70240
|
||
PR middle-end/68215
|
||
PR tree-opt/68714
|
||
* gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
|
||
first operand as is_gimple_condexpr.
|
||
|
||
PR middle-end/70240
|
||
PR middle-end/68215
|
||
Revert r231575
|
||
2015-12-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
* tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
|
||
Do not gimplify the result.
|
||
(do_unop): Adjust call to tree_vec_extract.
|
||
(do_binop): Likewise.
|
||
(do_compare): Likewise.
|
||
(do_plus_minus): Likewise.
|
||
(do_negate): Likewise.
|
||
(expand_vector_condition): Likewise.
|
||
(do_cond): Likewise.
|
||
|
||
2016-03-16 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/70048
|
||
* config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
|
||
(aarch64_classify_address): Use it.
|
||
(aarch64_legitimize_address): Force all subexpressions of PLUS
|
||
into registers. Simplify as (sfp+const)+reg or (reg+reg)+const.
|
||
|
||
2016-03-16 Jakub Jelinek <jakub@redhat.com>
|
||
Richard Biener <rguenth@suse.de>
|
||
|
||
PR target/70245
|
||
* rtlanal.c (replace_rtx): For REG, if from is a REG,
|
||
return to even if only REGNO is equal, and assert
|
||
mode is the same.
|
||
|
||
2016-03-11 Jeff Law <law@redhat.com>
|
||
|
||
PR rtl-optimization/70224
|
||
* reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
|
||
|
||
2016-03-16 Richard Henderson <rth@redhat.com>
|
||
|
||
PR middle-end/70199
|
||
* function.h (struct function): Add has_forced_label_in_static.
|
||
* gimplify.c (force_labels_r): Set it.
|
||
* lto-streamer-in.c (input_struct_function_base): Read it.
|
||
* lto-streamer-out.c (output_struct_function_base): Write it.
|
||
* tree-inline.c (has_label_address_in_static_1): Remove.
|
||
(copy_forbidden): Remove fndecl parameter; test
|
||
has_forced_label_in_static.
|
||
(inline_forbidden_p): Update call to copy_forbidden.
|
||
(tree_versionable_function_p): Likewise.
|
||
* ipa-chkp.c (chkp_instrumentable_p): Likewise.
|
||
(chkp_versioning): Likewise.
|
||
* tree-inline.h (copy_forbidden): Update decl.
|
||
|
||
2016-03-16 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/70093
|
||
* cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
|
||
function being thunked if the result type doesn't have fixed size.
|
||
* gimplify.c (gimplify_modify_expr): Also set LHS if the result type
|
||
doesn't have fixed size.
|
||
|
||
2016-03-16 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
|
||
reporting malformed loop nest.
|
||
|
||
2016-03-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR lto/70187
|
||
* ipa-devirt.c (possible_polymorphic_call_targets): Move
|
||
nodes.length () == 1 test to before first nodes[0] access.
|
||
|
||
2016-03-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/68715
|
||
* graphite-scop-detection.c (scop_detection::merge_sese): Add missing
|
||
single_pred_p test.
|
||
|
||
2016-03-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/68809
|
||
* graphite-scop-detection.c (same_close_phi_node): Test if result types
|
||
are the same.
|
||
|
||
2016-03-16 Carlos O'Donell <carlos@redhat.com>
|
||
Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Common Function Attributes): Describe ifunc impact
|
||
on leaf attribute. Mention ELF interposition problems.
|
||
|
||
2016-03-16 Alan Modra <amodra@gmail.com>
|
||
|
||
PR rtl-optimization/69195
|
||
PR rtl-optimization/47992
|
||
* ira.c (indirect_jump_optimize): Ignore artificial defs.
|
||
Add comments.
|
||
|
||
2016-03-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR bootstrap/69513
|
||
* dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
|
||
|
||
2016-03-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
|
||
|
||
* config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
|
||
|
||
2016-03-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/70222
|
||
* combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
|
||
optimization if mode is different from result_mode, queue up masking
|
||
of the result in outer_op. Formatting fix.
|
||
|
||
PR middle-end/70239
|
||
* tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
|
||
of safe_grow.
|
||
|
||
2016-03-15 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR rtl-optimization/69032
|
||
* sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
|
||
looping backwards over basic block insns.
|
||
|
||
2016-03-15 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR target/66660
|
||
* sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
|
||
to non-speculative when propagating trap bits.
|
||
|
||
2016-03-15 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR rtl-optimization/63384
|
||
* sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
|
||
DEBUG_INSN_P insns.
|
||
|
||
2016-03-15 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR target/64411
|
||
* sched-deps.c (get_implicit_reg_pending_clobbers): New function,
|
||
factored out from ...
|
||
(sched_analyze_insn): ... here.
|
||
* sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
|
||
* sel-sched-ir.c (setup_id_implicit_regs): New function, use
|
||
get_implicit_reg_pending_clobbers in it.
|
||
(setup_id_reg_sets): Use setup_id_implicit_regs.
|
||
(deps_init_id): Ditto.
|
||
|
||
2016-03-15 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR ipa/70161
|
||
* cgraph.c (cgraph_node::get_body): Save, reset and restore
|
||
dump_file_name.
|
||
* passes.c (execute_one_ipa_transform_pass): Add missing argument to
|
||
execute_function_dump.
|
||
(execute_one_pass): Don't dump function if it will be dumped after ipa
|
||
transform.
|
||
|
||
2016-03-15 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* genrecog.c (match_pattern_2): If pred is NULL don't call
|
||
safe_predicate_mode on it.
|
||
|
||
2016-03-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/70219
|
||
* lra-constraints.c (delete_move_and_clobber): Change assertion
|
||
to also allow dregno == 0.
|
||
|
||
2016-03-14 Richard Henderson <rth@redhat.com>
|
||
|
||
PR tree-opt/68714
|
||
* tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
|
||
(can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
|
||
(reassociate_bb): Use optimize_vec_cond_expr; avoid
|
||
optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
|
||
on vectors.
|
||
|
||
2016-03-14 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR target/70083
|
||
* lra-lives.c (process_bb_lives): Also update biggest mode for hard
|
||
regs.
|
||
(lra_create_live_ranges_1): initialize hard register biggest_mode to
|
||
VOIDmode.
|
||
* lra-constraints.c (split_reg): For hard regs, try to find the
|
||
biggest single-register mode used in the function.
|
||
|
||
2016-03-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/56365
|
||
* tree-ssa-phiopt.c (minmax_replacement): Handle alternate
|
||
constants to compare against.
|
||
|
||
2016-03-14 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/70098
|
||
* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
|
||
*ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
|
||
(define_split for the GPR case): Use int_reg_operand instead of
|
||
gpc_reg_operand for the output.
|
||
|
||
2016-03-14 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/70045
|
||
* graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
|
||
create_empty_if_region_on_edge argument.
|
||
|
||
2016-03-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
|
||
(STACK_CHECK_PROTECT): Likewise.
|
||
* config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
|
||
(STACK_CHECK_PROTECT): Likewise.
|
||
* config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
|
||
(STACK_CHECK_PROTECT): Likewise.
|
||
* config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
|
||
* config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
|
||
(STACK_CHECK_PROTECT): Likewise.
|
||
|
||
2016-03-12 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR rtl-optimization/69307
|
||
* sel-sched.c (choose_best_pseudo_reg): Properly check for hard
|
||
registers in modes that span more than one register.
|
||
|
||
2016-03-12 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/69614
|
||
* lra-constraints.c (delete_move_and_clobber): New.
|
||
(remove_inheritance_pseudos): Use it.
|
||
|
||
2016-03-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/70017
|
||
* calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
|
||
the libcall is LCT_THROW.
|
||
* explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
|
||
for the checking routine.
|
||
|
||
2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/70131
|
||
* config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
|
||
optimization if we have direct move.
|
||
(roundu32<mode>2_fprs): Likewise.
|
||
|
||
2016-03-11 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR target/70123
|
||
* lra-remat.c (operand_to_remat): Disallow hard regs in the value t
|
||
be rematerialized.
|
||
(reg_overlap_for_remat_p): Renamed from input_regno_present_p.
|
||
Arguments swapped. All callers changed. Take reg_renumber into
|
||
account, and Calculate and compare register ranges for hard regs.
|
||
|
||
2016-03-11 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/70190
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
|
||
Handle cases where we can not extract the taken edge, even though we
|
||
found a constant value.
|
||
|
||
PR tree-optimization/64058
|
||
* tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
|
||
(num_coalesce_pairs): Move up earlier in file.
|
||
(find_coalesce_pair): Initialize the INDEX field for each pair
|
||
discovered.
|
||
(compare_pairs): No longer sort on the elements in each pair.
|
||
Instead break ties with the index of the coalesce pair.
|
||
|
||
2016-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/70002
|
||
* config/aarch64/aarch64-protos.h
|
||
(aarch64_save_restore_target_globals): New prototype.
|
||
* config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
|
||
Call the above when popping pragma.
|
||
* config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
|
||
New function.
|
||
(aarch64_set_current_function): Rewrite using the above.
|
||
|
||
2016-03-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/70177
|
||
* gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
|
||
(extract_ops_from_tree): ... this. In the 2 argument
|
||
overload remove _1 suffix.
|
||
* gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
|
||
(extract_ops_from_tree): ... this.
|
||
* gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
|
||
Adjust callers.
|
||
* tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
|
||
* tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
|
||
extract_ops_from_tree instead of 2 operand one.
|
||
|
||
2016-03-11 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
PR tree-optimization/70013
|
||
* tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
|
||
for constant-pool entries.
|
||
|
||
2016-03-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/70174
|
||
* expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
|
||
followed by gen_lowpart on force_reg instead of just gen_lowpart.
|
||
|
||
PR tree-optimization/70169
|
||
* tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
|
||
LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable
|
||
for unknown codes.
|
||
|
||
2016-03-11 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70160
|
||
* config/i386/i386.c (scalar_chain::convert_reg): Skip uses
|
||
of uninitialized values.
|
||
|
||
2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("trunctddd2"): Turn former define_insn into
|
||
define_expand.
|
||
("*trunctddd2"): New pattern definition.
|
||
("trunctdsd2"): Set prep_for_short_prec rounding mode for the
|
||
TD->DD truncation.
|
||
|
||
2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
|
||
definitions for BFP and DFP rounding modes.
|
||
("fixuns_truncdddi2", "fixuns_trunctddi2")
|
||
("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
|
||
("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
|
||
("fix_trunctf<mode>2"): Use the new constants instead of magic
|
||
numbers.
|
||
|
||
2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/constraints.md: Adjust comment.
|
||
("Y"): Adjust comment. Rename s390_decompose_shift_count to
|
||
s390_decompose_addrstyle_without_index.
|
||
* config/s390/predicates.md (shift_count_or_setmem_operand):
|
||
Rename to setmem_operand.
|
||
* config/s390/s390-protos.h
|
||
(s390_decompose_shift_count): Rename to
|
||
s390_decompose_addrstyle_without_index.
|
||
* config/s390/s390.c (s390_decompose_shift_count)
|
||
(s390_mem_constraint, print_shift_count_operand)
|
||
(print_operand_address, print_operand): Rename
|
||
s390_decompose_shift_count to
|
||
s390_decompose_addrstyle_without_index and rename
|
||
print_shift_count_operand to print_addrstyle_operand troughout the
|
||
file.
|
||
* config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
|
||
("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
|
||
Rename shift_count_or_setmem_operand to setmem_operand.
|
||
* config/s390/vx-builtins.md ("vec_insert<mode>")
|
||
("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
|
||
nonmemory_operand.
|
||
|
||
2016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
|
||
|
||
PR target/70168
|
||
* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
|
||
Handle overlapping retval and newval.
|
||
|
||
2016-03-10 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/7044
|
||
* config/aarch64/aarch64.c
|
||
(aarch64_override_options_after_change_1): When forcing
|
||
flag_omit_frame_pointer to be true, use a special value that can
|
||
be detected if this function is called again, thus preventing
|
||
flag_omit_leaf_frame_pointer from being forced to be false.
|
||
|
||
2016-03-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
|
||
Set x_flag_omit_leaf_frame_pointer when handling
|
||
-momit-leaf-frame-pointer.
|
||
|
||
2016-03-10 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/69589
|
||
* cgraph.c (cgraph_node::dump): Dump split_part and
|
||
indirect_call_target.
|
||
* cgraph.h (cgraph_node): Add indirect_call_target flag.
|
||
* ipa.c (has_addr_references_p): Cleanup.
|
||
(is_indirect_call_target_p): New.
|
||
(walk_polymorphic_call_targets): Do not mark virtuals that may be
|
||
called indirectly as local.
|
||
(symbol_table::remove_unreachable_nodes): Compute indirect_call_target.
|
||
|
||
2016-03-10 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/69630
|
||
* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
|
||
on cxa_pure_virtual.
|
||
|
||
2016-03-10 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/69589
|
||
* tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
|
||
|
||
2016-03-10 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/69589
|
||
* tree.c (need_assembler_name_p): Only record main variant type names.
|
||
|
||
2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
PR target/70113.
|
||
* config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
|
||
Always define to 0 or 1.
|
||
(TARGET_FIX_ERR_A53_843419): New macro.
|
||
* config/aarch64/aarch64-elf-raw.h
|
||
(TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
|
||
* config/aarch64/aarch64-linux.h: Likewise.
|
||
* config/aarch64/aarch64.c
|
||
(aarch64_override_options_after_change_1): Do not default
|
||
aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
|
||
843419 is on.
|
||
(aarch64_attributes): Handle fix-cortex-a53-843419.
|
||
(aarch64_can_inline_p): Likewise.
|
||
* config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
|
||
|
||
2016-03-10 Alan Lawrence <alan.lawrence@arm.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* common.opt (funconstrained-commons, flag_unconstrained_commons): New.
|
||
* tree.c (array_at_struct_end_p): Do not limit to size of decl for
|
||
DECL_COMMONS if flag_unconstrained_commons is set.
|
||
* tree-dfa.c (get_ref_base_and_extent): Likewise.
|
||
* doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
|
||
(funconstrained-commons): Document.
|
||
|
||
2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
|
||
aarch64-fusion-pairs.def and aarch64-tuning-flags.def
|
||
|
||
2016-03-10 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
|
||
has a proper number of elements.
|
||
|
||
2016-03-10 Alan Modra <amodra@gmail.com>
|
||
|
||
PR rtl-optimization/69195
|
||
PR rtl-optimization/47992
|
||
* ira.c (recorded_label_ref): Delete.
|
||
(update_equiv_regs): Return void.
|
||
(indirect_jump_optimize): New function.
|
||
(ira): Call indirect_jump_optimize and delete_trivially_dead_insns
|
||
before regstat_compute_ri. Don't rebuild_jump_labels here.
|
||
Delete update_regstat.
|
||
|
||
2016-03-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70128
|
||
* tree-ssa-structalias.c (set_uids_in_ptset): Set
|
||
vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
|
||
|
||
2016-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/70152
|
||
* tree-sra.c (replace_removed_params_ssa_names): Copy over
|
||
SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
|
||
|
||
PR target/70086
|
||
* config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
|
||
instead of gen_sse2_loadlpd.
|
||
* config/i386/sse.md (*vec_concatv2df): Rename to...
|
||
(vec_concatv2df): ... this.
|
||
|
||
PR tree-optimization/70127
|
||
* fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
|
||
|
||
2016-03-09 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/68473
|
||
PR c++/70105
|
||
* diagnostic-show-locus.c (compatible_locations_p): New function.
|
||
(layout::layout): Sanitize ranges using compatible_locations_p.
|
||
|
||
2016-03-09 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/68473
|
||
PR c++/70105
|
||
* diagnostic-show-locus.c (layout_range::layout_range): Replace
|
||
location_range param with three const expanded_locations * and a
|
||
bool.
|
||
(layout::layout): Replace call to
|
||
rich_location::lazily_expand_location with get_expanded_location.
|
||
Extract the range and perform location expansion here, passing
|
||
the results to the layout_range ctor.
|
||
* diagnostic.c (source_range::debug): Delete.
|
||
* diagnostic.h (diagnostic_expand_location): Reimplement in terms
|
||
of rich_location::get_expanded_location.
|
||
* gcc-rich-location.c (get_range_for_expr): Delete.
|
||
(gcc_rich_location::add_expr): Reimplement to avoid the
|
||
rich_location::add_range overload that took a location_range,
|
||
passing a location_t instead.
|
||
|
||
2016-03-09 Richard Biener <rguenther@suse.de>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/70138
|
||
* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
|
||
Also skip vect_double_reduction_def.
|
||
|
||
2016-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70049
|
||
* config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
|
||
if the operand is "m".
|
||
|
||
2016-03-09 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
|
||
|
||
2016-03-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
|
||
|
||
* config/i386/i386.c (processor_target_table): Fix cost table
|
||
intialization order for znver1.
|
||
|
||
2016-03-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
|
||
- becuase -> because.
|
||
* ipa-reference.c (ignore_module_statics): Likewise.
|
||
* cgraph.c (cgraph_node::get_body): Likewise.
|
||
* ipa-inline.c (early_inliner): Likewise.
|
||
* ipa-devirt.c (types_same_for_odr): Likewise.
|
||
* tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
|
||
* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
|
||
|
||
2016-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* tree-ssa-math-opts.c: Fix typo in comment.
|
||
|
||
2016-03-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70110
|
||
* config/i386/i386.c (scalar_chain::make_vector_copies,
|
||
scalar_chain::convert_reg): Call end_sequence in between
|
||
get_insns and emit_conversion_insns rather than after both
|
||
calls.
|
||
|
||
2016-03-07 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/70064
|
||
* config/i386/i386.h (machine_function): Add
|
||
pc_thunk_call_expanded flag.
|
||
(ix86_pc_thunk_call_expanded): New define.
|
||
* config/i386/i386.md (set_got, set_got_labelled): New expanders.
|
||
(*set_got): Rename insn pattern from set_got.
|
||
(*set_got_labelled): Rename inst pattern from set_got_labelled.
|
||
* config/i386/i386.c (ix86_compute_frame_layout): Use
|
||
ix86_pc_thunk_call_expanded to prevent red-zone.
|
||
|
||
2016-03-07 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* hsa.h (hsa_get_ctor_statements): Declare.
|
||
(hsa_get_dtor_statements): Likewise.
|
||
(hsa_get_kernel_dispatch_type): Likewise.
|
||
* hsa.c (hsa_get_ctor_statements): New function.
|
||
(hsa_get_dtor_statements): Likewise.
|
||
(hsa_get_kernel_dispatch_type): Likewise.
|
||
* hsa-brig.c (hsa_cdtor_statements): Removed.
|
||
(hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
|
||
hsa_get_dtor_statements.
|
||
* hsa-gen.c (hsa_kernel_dispatch_type): Removed.
|
||
(get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
|
||
|
||
2016-03-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm-cores.def (cortex-r8): New.
|
||
* config/arm/arm-tables.opt (cortex-r8): Regenerate.
|
||
* config/arm/arm-tune.md: Likewise.
|
||
* gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values.
|
||
|
||
2016-03-07 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR rtl-optimization/19705
|
||
* doc/invoke.texi (Options That Control Optimization): Clarify
|
||
-fno-branch-count-reg.
|
||
|
||
2016-02-26 Richard Biener <rguenther@suse.de>
|
||
Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69740
|
||
* cfghooks.c (remove_edge): Request loop fixups if we delete
|
||
an edge that might turn an irreducible loop into a natural
|
||
loop.
|
||
* cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
|
||
Move after definition of loops_state_clear.
|
||
|
||
2016-03-07 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR rtl-optimization/69052
|
||
* rtlanal.c (commutative_operand_precedence): Set higher precedence
|
||
to CONST_WIDE_INT.
|
||
|
||
2016-03-07 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/70116
|
||
* tree-ssa-tail-merge.c (merge_stmts_p): New function, handling
|
||
is_tm_ending stmts and ubsan/asan internal functions.
|
||
(find_duplicate): Use it. Don't test is_tm_ending here.
|
||
|
||
2016-03-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/70115
|
||
* tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
|
||
(propagate_constants_for_unrolling): Use replace_uses_by.
|
||
|
||
2016-03-07 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
PR middle-end/69916
|
||
* omp-low.c (struct oacc_loop): Add ifns.
|
||
(new_oacc_loop_raw): Initialize it.
|
||
(finish_oacc_loop): Clear mask & flags if no ifns.
|
||
(oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
|
||
(oacc_loop_xform_loop): Add ifns arg & adjust.
|
||
(oacc_loop_process): Adjust oacc_loop_xform_loop call.
|
||
|
||
2016-03-07 Richard Henderson <rth@redhat.com>
|
||
|
||
PR rtl-opt/70061
|
||
* tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
|
||
(insert_value_copy_on_edge): Likewise.
|
||
|
||
2016-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm_neon.h: Show error if using with soft-float ABI.
|
||
|
||
2016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
PR target/62281
|
||
* config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
|
||
|
||
2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
|
||
|
||
* config/i386/i386.c (znver1_cost): Fix Multiply cost.
|
||
|
||
2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
|
||
|
||
Fix sseimul type attribute.
|
||
* config/i386/znver1.md
|
||
(znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
|
||
znver1_sseimul_avx256_load) : Fix the type attribute.
|
||
(znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
|
||
pipe usage and latency.
|
||
|
||
2016-03-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/70084
|
||
* tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
|
||
of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
|
||
to the right type.
|
||
|
||
2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR c/69973
|
||
* targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
|
||
|
||
PR rtl-optimization/69941
|
||
* postreload.c (reload_combine_recognize_pattern): Ensure all uses of
|
||
the reg share its mode.
|
||
|
||
2016-03-04 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69196
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
|
||
If the both SSA_NAMEs are anonymous, then consider them unassociated
|
||
and include the PHI in the statement count.
|
||
|
||
2016-03-05 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
|
||
construct in oacc routine. Check for oacc region in oacc routine.
|
||
|
||
2016-03-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70062
|
||
* config/i386/i386.c (decide_alg): Add RECUR argument. Revert
|
||
2016-02-22 changes, instead don't recurse if RECUR is already true.
|
||
Don't change *dynamic_check if RECUR. Adjust recursive caller
|
||
to pass true to the new argument.
|
||
(ix86_expand_set_or_movmem): Adjust decide_alg caller.
|
||
|
||
PR target/70059
|
||
* config/i386/sse.md (vec_set_lo_<mode><mask_name>,
|
||
<extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
|
||
fixes.
|
||
(vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands.
|
||
|
||
2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR rtl-optimization/57676
|
||
* lra-assigns.c (lra_assign): Guard test for maximum iterations
|
||
with flag_checking.
|
||
|
||
2016-03-04 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* tree-vect-patterns.c (search_type_for_mask): Handle
|
||
comparison of booleans.
|
||
|
||
2016-03-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
|
||
Fix @xref usage.
|
||
|
||
PR debug/69947
|
||
* dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
|
||
all other ops that have dw_val_class_die_ref operands,
|
||
and DW_OP_GNU_entry_value.
|
||
|
||
2016-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/69904
|
||
* config/arm/arm.c (arm_cannot_copy_insn_p):
|
||
Return true for load-exclusive instructions.
|
||
|
||
2016-03-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70021
|
||
* tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
|
||
argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
|
||
the pattern no matter if it is used just by non-pattern, pattern
|
||
or mix thereof.
|
||
(process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
|
||
* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
|
||
oprnd1 def_stmt is in pattern, don't look through it.
|
||
|
||
2016-03-03 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR middle-end/70050
|
||
* match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
|
||
|
||
2016-03-03 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/70043
|
||
* tree-vect-loop.c (optimize_mask_stores): Move iterator to
|
||
previous statement if we see a debug statement.
|
||
|
||
2016-03-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/55936
|
||
* tree-vrp.c (compare_name_with_value): Add use_equiv_p
|
||
parameter and guard unsafe equivalence use.
|
||
(vrp_evaluate_conditional_warnv_with_ops): Always use
|
||
safe equivalences but not via the quadratic compare_names
|
||
helper.
|
||
|
||
2016-03-03 Michael Collison <michael.collison@linaro.org>
|
||
|
||
PR target/70014
|
||
* config/arm/arm.md (*subsi3_carryin_const): Change predicate
|
||
for operand 1 to s_register_operand. Change predicate for operand
|
||
2 to arm_not_immediate_operand.
|
||
|
||
2016-03-02 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* doc/tm.texi: Regenerated.
|
||
|
||
2016-03-02 Richard Henderson <rth@redhat.com>
|
||
|
||
PR rtl-opt/67145
|
||
* simplify-rtx.c (simplify_plus_minus): Allow reassoc without
|
||
simplification when all args are positive non-fixed registers.
|
||
|
||
2016-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
||
|
||
* target.def (lra_p): Specify that new ports should use LRA.
|
||
|
||
2016-03-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR libgomp/69555
|
||
* gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
|
||
gimplify_type_sizes the type they refer to.
|
||
(omp_notice_variable): Handle reference vars to VLAs.
|
||
* omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
|
||
reference to VLA decls in the second pass instead of first pass.
|
||
|
||
2016-03-02 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/68659
|
||
* graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
|
||
new_expr == NULL_TREE.
|
||
(get_new_name): Handle ADDR_EXPR.
|
||
|
||
2016-03-02 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR rtl-optimization/69052
|
||
* loop-invariant.c (canonicalize_address): New function.
|
||
(inv_can_prop_to_addr_use): Check validity of address expression
|
||
which is canonicalized by above function.
|
||
|
||
2016-03-02 Alan Modra <amodra@gmail.com>
|
||
|
||
PR ipa/69990
|
||
* ipa-icf.c (sem_variable::merge): Do not merge an alias with
|
||
larger alignment.
|
||
|
||
2016-03-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70028
|
||
* config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
|
||
(*movhi_internal): Put mask moves from and to memory separately
|
||
from moves from/to GPRs.
|
||
|
||
2016-03-02 Richard Biener <rguenther@suse.de>
|
||
|
||
* genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
|
||
GENERIC expressions in GIMPLE.
|
||
|
||
2016-03-02 Richard Biener <rguenther@suse.de>
|
||
|
||
* config/i386/i386.c (type_natural_mode): Fix typo.
|
||
|
||
2016-03-02 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
|
||
|
||
2016-03-02 Richard Biener <rguenther@suse.de>
|
||
Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/67278
|
||
* config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
|
||
|
||
2016-03-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/67278
|
||
* tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
|
||
|
||
2016-03-02 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/67854
|
||
* gimplify.c (gimplify_va_arg_expr): Use expanded location for the
|
||
"is promoted to" warning.
|
||
|
||
2016-03-01 DJ Delorie <dj@redhat.com>
|
||
|
||
* config.gcc: Deprecate mep-*.
|
||
|
||
2016-03-01 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR middle-end/70025
|
||
* lra-constraints.c (regno_val_use_in): New.
|
||
(match_reload): Use it instead of regno_use_in.
|
||
|
||
2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/70007
|
||
* gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
|
||
references present in REG_EQUAL notes attached to non-SET patterns.
|
||
|
||
2016-03-01 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69196
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
|
||
Appropriately clamp the number of statements to copy when the
|
||
thread path does not traverse a loop backedge.
|
||
|
||
PR tree-optimization/69196
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
|
||
Do count some PHIs in the thread path against the insn count. Decrease
|
||
final statement count by one as the control statement in the last
|
||
block will get removed. Remove special cased code for handling PHIs
|
||
in the last block.
|
||
|
||
2016-03-01 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/70027
|
||
* config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
|
||
asm dialect alternatives to explicit GOTPCREL calls.
|
||
|
||
2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/70017
|
||
* ira.c (do_reload): Issue warning for generic stack checking here...
|
||
* reload1.c (reload): ...instead of here and streamline it.
|
||
|
||
2016-03-01 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
|
||
|
||
2016-03-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69983
|
||
* tree-chrec.c (eq_evolutions_p): Handle conversions, compare
|
||
types and fall back to operand_equal_p.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
Revert
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/constraints.md ("jm8"): New constraint.
|
||
* config/s390/predicates.md ("const_int_8bitset_operand"): New
|
||
predicate.
|
||
* config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
|
||
into ...
|
||
("*setmem_long<setmem_and>"): New pattern.
|
||
("*setmem_long_31z", "*setmem_long_and_31z"): Merge
|
||
into ...
|
||
("*setmem_long_31z<setmem_and>"): New pattern.
|
||
* config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
|
||
New substitution rules with the required attributes.
|
||
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
Revert
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* gensupport.c (process_substs_on_one_elem): Split loop to
|
||
complete mark_operands_used_in_match_dup on all expressions in the
|
||
vector first.
|
||
(adjust_operands_numbers): Inline into process_substs_on_one_elem
|
||
and remove function.
|
||
|
||
2016-03-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/70022
|
||
* fold-const.c (fold_indirect_ref_1): Fix range checking for
|
||
vector BIT_FIELD_REF extract.
|
||
|
||
2016-03-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69994
|
||
* tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
|
||
|
||
2016-03-01 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR tree-optimization/69956
|
||
* tree-vect-stmts.c (supportable_widening_operation): Support
|
||
multi-step conversion of boolean vectors.
|
||
(supportable_narrowing_operation): Likewise.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_decompose_address): Don't accept SImode
|
||
anymore.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/subst.md (DSI_VI): New mode iterator.
|
||
("addr_style_op_subst"): Use DSI_VI instead of DSI.
|
||
* config/s390/vector.md ("vec_set<mode>"): Move expander before
|
||
the insn definition.
|
||
("*vec_set<mode>"): Change predicate and add alternative to
|
||
support only either register or const_int operands as element
|
||
selector.
|
||
("*vec_set<mode>_plus"): New pattern to support reg + const_int
|
||
operands.
|
||
("vec_extract<mode>"): New expander.
|
||
("*vec_extract<mode>"): New insn definition supporting reg and
|
||
const_int element selectors.
|
||
("*vec_extract<mode>_plus"): New insn definition supporting
|
||
reg+const_int element selectors.
|
||
("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
|
||
following expander+insn definition.
|
||
("<vec_shifts_name><mode>3"): New expander.
|
||
("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("*tabort_1"): Change predicate to
|
||
nonmemory_operand. Add a second alternative to cover
|
||
register as well as const int operands.
|
||
("*tabort_1_plus"): New pattern definition.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("*ashrdi3_cc_31")
|
||
("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
|
||
("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
|
||
Merge insn definitions into ...
|
||
("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
|
||
New pattern definition.
|
||
("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
|
||
("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
|
||
("*ashr<mode>3_and"): Merge insn definitions into ...
|
||
("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
|
||
New pattern definition.
|
||
* config/s390/subst.md ("addr_style_op_cc_subst")
|
||
("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
|
||
substitutions patterns plus attributes.
|
||
Add ashiftrt to SUBST iterator.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("<shift><mode>3"): Change predicate of
|
||
op2 to nonmemory_operand.
|
||
("*<shift>di3_31", "*<shift>di3_31_and"):
|
||
Merge into single pattern definition ...
|
||
("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
|
||
("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
|
||
pattern definition ...
|
||
("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
|
||
* config/s390/subst.md: Add ashift and lshiftrt to SUBST
|
||
iterator.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/predicates.md (const_int_6bitset_operand): New
|
||
predicate.
|
||
* config/s390/s390.md: Include subst.md.
|
||
("rotl<mode>3"): New expander.
|
||
("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
|
||
...
|
||
("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
|
||
* config/s390/subst.md: New file.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("op_type", "atype", "length" attributes):
|
||
Remove RRR type. It doesn't really exist.
|
||
("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
|
||
attributes.
|
||
("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
|
||
("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
|
||
("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
|
||
("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
|
||
("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
|
||
("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
|
||
`enabled' attribute.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* gensupport.c (process_substs_on_one_elem): Split loop to
|
||
complete mark_operands_used_in_match_dup on all expressions in the
|
||
vector first.
|
||
(adjust_operands_numbers): Inline into process_substs_on_one_elem
|
||
and remove function.
|
||
|
||
2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/69706
|
||
* config/sparc/sparc.c (NWORDS_UP): Rename to...
|
||
(CEIL_NWORDS): ...this. Use CEIL macro.
|
||
(compute_fp_layout): Adjust to above renaming.
|
||
(function_arg_union_value): Likewise.
|
||
(sparc_arg_partial_bytes): Likewise.
|
||
(sparc_function_arg_advance): Likewise.
|
||
|
||
2016-02-29 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/70005
|
||
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
|
||
where an object with a boolean range is compared against a value
|
||
outside [0..1].
|
||
|
||
PR tree-optimization/69999
|
||
* gimple-ssa-split-paths.c (split_paths): When duplicating a block
|
||
with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
|
||
loop cleanups.
|
||
|
||
2016-02-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69994
|
||
* tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
|
||
(get_unary_op): Look through nop conversions.
|
||
(ops_equal_values_p): New function, look for equality diregarding
|
||
nop conversions.
|
||
(eliminate_plus_minus_pair): Use ops_equal_values_p
|
||
(repropagate_negates): Do not use get_unary_op here.
|
||
|
||
2016-02-29 Martin Liska <mliska@suse.cz>
|
||
|
||
* system.h: Poison ENABLE_CHECKING macro.
|
||
|
||
2016-02-29 Martin Liska <mliska@suse.cz>
|
||
|
||
* hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
|
||
is presented in dump flags.
|
||
* hsa-regalloc.c (linear_scan_regalloc): Likewise.
|
||
(hsa_regalloc): Likewise.
|
||
|
||
2016-02-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69980
|
||
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
|
||
permutation of those we need to keep.
|
||
|
||
2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/69706
|
||
* config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
|
||
(NWORDS_UP): ...this
|
||
(init_cumulative_args): Minor tweaks.
|
||
(sparc_promote_function_mode): Likewise.
|
||
(scan_record_type): Delete.
|
||
(traverse_record_type): New function template.
|
||
(classify_data_t): New structure type.
|
||
(classify_registers): New inline function.
|
||
(function_arg_slotno): In 64-bit mode, bail out early if FP slots are
|
||
exhausted. Instantiate traverse_record_type on classify_registers and
|
||
deal with the case of a structure passed in slot #15 with no FP field
|
||
in the first word.
|
||
(assign_data_t): New structure type.
|
||
(compute_int_layout): New static function.
|
||
(compute_fp_layout): Likewise.
|
||
(count_registers): New inline function.
|
||
(assign_int_registers): New static function.
|
||
(assign_fp_registers): Likewise.
|
||
(assign_registers): New inline function.
|
||
(function_arg_record_value_1): Delete.
|
||
(function_arg_record_value_2): Likewise.
|
||
(function_arg_record_value_3): Likewise.
|
||
(function_arg_record_value): Adjust to above changes. Instantiate
|
||
traverse_record_type on count_registers to first count the number of
|
||
registers to be used and then on assign_registers to assign them.
|
||
(function_arg_union_value): Adjust to above renaming.
|
||
(sparc_function_arg_1); Minor tweaks. Remove commented out code.
|
||
(sparc_arg_partial_bytes): Adjust to above renaming. Deal with the
|
||
case of a structure passed in slot #15
|
||
(sparc_function_arg_advance): Likewise.
|
||
(function_arg_padding): Minor tweak.
|
||
|
||
2016-02-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69720
|
||
* tree-vect-loop.c (get_initial_def_for_reduction): Avoid
|
||
the adjustment_def path for possibly vectorized defs.
|
||
(vect_create_epilog_for_reduction): Handle vectorized initial
|
||
defs properly.
|
||
|
||
2016-02-28 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
|
||
|
||
2016-02-27 Jeff Law <law@redhat.com>
|
||
|
||
Revert
|
||
2016-02-26 Richard Biener <rguenther@suse.de>
|
||
Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69740
|
||
* cfghooks.c (remove_edge): Request loop fixups if we delete
|
||
an edge that might turn an irreducible loop into a natural
|
||
loop.
|
||
|
||
2016-02-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/69896
|
||
* tree-vect-generic.c (get_compute_type): Avoid single element
|
||
vector types.
|
||
|
||
2016-02-26 Evandro Menezes <e.menezes@samsung.com>
|
||
|
||
Rename the AArch64 tuning option and related functions to enable the
|
||
Newton series for the reciprocal square root to reflect its
|
||
approximative characteristic.
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
|
||
function to "aarch64_emit_approx_rsqrt".
|
||
* config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
|
||
AARCH64_EXTRA_TUNE_APPROX_RSQRT.
|
||
* config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
|
||
(xgene1_tunings): Likewise.
|
||
(use_rsqrt_p): Likewise.
|
||
(aarch64_emit_swrsqrt): Use new function name.
|
||
* config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
|
||
* config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
|
||
text explaining this option.
|
||
* doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
|
||
|
||
2016-02-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69969
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
|
||
complain about -mallow-movmisalign without -mvsx if
|
||
TARGET_ALLOW_MOVMISALIGN was not set explicitly.
|
||
|
||
2016-02-26 Joel Sherrill <joel@rtems.org>
|
||
|
||
* config.gcc: Add x86_64-*-rtems*.
|
||
* gcc/config/i386/rtems-64.h: New file.
|
||
|
||
2016-02-26 Joel Sherrill <joel@rtems.org>
|
||
|
||
* config.gcc: Add aarch64-*-rtems*.
|
||
* gcc/config/aarch64/rtems.h: New file.
|
||
|
||
2016-02-26 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/69946
|
||
* config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
|
||
shift amount using %h. Add comment.
|
||
|
||
2016-02-26 Richard Biener <rguenther@suse.de>
|
||
Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69740
|
||
* cfghooks.c (remove_edge): Request loop fixups if we delete
|
||
an edge that might turn an irreducible loop into a natural
|
||
loop.
|
||
|
||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR middle-end/69920
|
||
* tree-sra.c (sra_modify_assign): Do not remove loads of
|
||
uninitialized aggregates to SSA_NAMEs.
|
||
|
||
2016-02-26 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/69709
|
||
* config/s390/s390.md (risbg and risbgn splitters): Allocate new
|
||
pseudo in case the target rtx matches the source of the left
|
||
shift.
|
||
|
||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR hsa/69568
|
||
* hsa.h (hsa_type_packed_p): Declare.
|
||
* hsa.c (hsa_type_packed_p): New function.
|
||
* hsa-gen.c (mem_type_for_type): Use unsigned type for packed
|
||
loads.
|
||
(gen_hsa_insns_for_store): Use hsa_type_packed_p.
|
||
* hsa-brig.c (emit_basic_insn): Likewise.
|
||
|
||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
pr hsa/69674
|
||
* hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
|
||
pointers.
|
||
(gen_hsa_addr): Allow integer constants in TMR_INDEX2.
|
||
|
||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* hsa.h (is_a_helper): New overload for hsa_op_immed for
|
||
hsa_op_with_type operands.
|
||
(hsa_unsigned_type_for_type): Declare.
|
||
* hsa.c (hsa_unsigned_type_for_type): New function.
|
||
* hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
|
||
(gen_hsa_insns_for_operation_assignment): Satisfy constrains of
|
||
the finalizer. Do not emit extra move.
|
||
|
||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
|
||
atomic operations in private segment.
|
||
|
||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* omp-low.c (grid_find_ungridifiable_statement): Store problematic
|
||
statements to wi->info. Also disallow omp simd constructs.
|
||
(grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
|
||
for not gridifying. Dump special string for omp_for.
|
||
|
||
2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/69245
|
||
* config/aarch64/aarch64.c (aarch64_set_current_function):
|
||
Save/restore target globals when switching to
|
||
target_option_default_node.
|
||
|
||
2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/69613
|
||
* config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
|
||
Return 0 if !SHIFT_COUNT_TRUNCATED.
|
||
|
||
2016-02-26 Jakub Jelinek <jakub@redhat.com>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/69891
|
||
* dse.c (scan_insn): If we can't figure out memset arguments
|
||
or they are non-constant, call clear_rhs_from_active_local_stores.
|
||
|
||
2016-02-26 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/extend.texi: Mention clog10, clog10f an clog10l
|
||
in Builtins section.
|
||
|
||
2016-02-26 Martin Liska <mliska@suse.cz>
|
||
|
||
* dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
|
||
CHECKING_P.
|
||
(resolve_args_picking_1): Likewise.
|
||
* dwarf2out.h (struct GTY): Likewise.
|
||
|
||
2016-02-26 Martin Liska <mliska@suse.cz>
|
||
|
||
* hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
|
||
with flag_checking.
|
||
* hsa-regalloc.c (linear_scan_regalloc): Likewise.
|
||
|
||
2016-02-26 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/install.texi: Mention --enable-valgrind-annotations.
|
||
|
||
2016-02-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69551
|
||
* tree-ssa-structalias.c (get_constraint_for_ssa_var): When
|
||
looking through aliases adjust DECL_PT_UID to refer to the
|
||
ultimate alias target.
|
||
|
||
2016-02-25 Martin Liska <mliska@suse.cz>
|
||
|
||
PR middle-end/69919
|
||
* alloc-pool.c (after_memory_report): New variable.
|
||
* alloc-pool.h (base_pool_allocator ::release): Do not use
|
||
the infrastructure if after_memory_report.
|
||
* toplev.c (toplev::main): Mark after memory report.
|
||
|
||
2016-02-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/48795
|
||
* tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
|
||
|
||
2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
|
||
|
||
PR driver/68463
|
||
* config/gnu-user.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o if
|
||
offloading is enabled and -fopenacc or -fopenmp is specified.
|
||
(CRTOFFLOADEND): Likewise.
|
||
(GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
|
||
(GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
|
||
* lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
|
||
(offload_objects_file_name): New static var.
|
||
(tool_cleanup): Remove offload_objects_file_name file.
|
||
(find_offloadbeginend): Replace with ...
|
||
(find_crtoffloadtable): ... this.
|
||
(run_gcc): Remove offload_argc and offload_argv.
|
||
Get offload_objects_file_name from -foffload-objects=... option.
|
||
Read names of object files with offload from this file, pass them to
|
||
compile_images_for_offload_targets. Don't call find_offloadbeginend and
|
||
don't pass offloadbegin and offloadend to the linker. Don't pass
|
||
offload non-LTO files to the linker, because now they're not claimed.
|
||
|
||
2016-02-25 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/69630
|
||
* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
|
||
on builtin_unreachable.
|
||
|
||
2016-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/69896
|
||
* regcprop.c: Include cfgrtl.h.
|
||
(copyprop_hardreg_forward_1): If noop_p insn uses narrower
|
||
than remembered mode, either delete it (if noop_move_p), or
|
||
treat like copy_p but not noop_p instruction.
|
||
|
||
2016-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/69705
|
||
* dwarf2out.c (gen_variable_die): Work around buggy LTO
|
||
- allow NULL decl for Fortran DW_TAG_common_block variables.
|
||
|
||
2016-02-24 Jason Merrill <jason@redhat.com>
|
||
|
||
* common.opt (flifetime-dse): Add -flifetime-dse=1.
|
||
|
||
2016-02-24 Richard Biener <rguenther@suse.de>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/69760
|
||
* tree-scalar-evolution.c (interpret_rhs_expr): Re-write
|
||
conditionally executed ops to well-defined overflow behavior.
|
||
|
||
2016-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/69915
|
||
* tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
|
||
elements.
|
||
|
||
2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/69886
|
||
* gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
|
||
argument. Use it when checking validity of set instructions.
|
||
(want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
|
||
(compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
|
||
callsite.
|
||
* rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
|
||
* store-motion.c (find_moveable_store): Update
|
||
can_assign_to_reg_without_clobbers_p callsite.
|
||
|
||
2016-02-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/68963
|
||
* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
|
||
bogus check.
|
||
(record_nonwrapping_iv): Do not fall back to the low/high bound
|
||
for non-constant IV bases if the stmt is not always executed.
|
||
|
||
2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm-cores.def (cortex-a32): New entry.
|
||
* config/arm/arm-tables.opt: Regenerate.
|
||
* config/arm/arm-tune.md: Regenerate.
|
||
* config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
|
||
* config/arm/t-aprofile: Handle mcpu=cortex-a32.
|
||
* doc/invoke.texi (ARM Options): Document cortex-a32 as value
|
||
for -mcpu and -mtune.
|
||
|
||
2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/69875
|
||
* config/arm/arm.h (TARGET_HAVE_LPAE): Define.
|
||
* config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
|
||
* config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
|
||
(atomic_loaddi_1): Delete.
|
||
(atomic_loaddi): Rewrite expander using the above changes.
|
||
|
||
2016-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69918
|
||
* params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
|
||
2 to 3.
|
||
|
||
2016-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
Richard Biener <rguenth@suse.de>
|
||
|
||
PR middle-end/69909
|
||
* expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
|
||
set_mem_attributes if tem is SSA_NAME which got expanded
|
||
as a MEM.
|
||
|
||
2016-02-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69907
|
||
* tree-vect-stmts.c (vectorizable_load): Check for gaps at the
|
||
end of permutations for BB vectorization.
|
||
|
||
2016-02-24 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* config/arm/arm-c.c (arm_option_override): Initialize
|
||
target_option_current_node.
|
||
* config/arm/arm.c (arm_pragma_target_parse): Replace
|
||
build_target_option_node call by target_option_current_node.
|
||
Set target_option_current_node.
|
||
Fix comments.
|
||
|
||
2016-02-23 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/69810
|
||
* config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
|
||
define_insn_and_split to define_insn.
|
||
(zero_extendqi<mode>2_dot2): Same.
|
||
(extendqi<mode>2_dot): Same.
|
||
(extendqi<mode>2_dot2): Same.
|
||
|
||
2016-02-23 Evandro Menezes <e.menezes@samsung.com>
|
||
|
||
* config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
|
||
and add bypass for AES{D,E} and AESMC pairs.
|
||
* config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
|
||
and AESMC pairs.
|
||
|
||
2016-02-23 Evandro Menezes <e.menezes@samsung.com>
|
||
|
||
* config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
|
||
series for reciprocal square root in Exynos M1.
|
||
|
||
2016-02-23 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/69759
|
||
* doc/extend.texi (Other Builtins): Document __builtin_alloca and
|
||
__builtin_alloca_with_align.
|
||
|
||
2016-02-23 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
|
||
(ix86_register_pragmas): Remove __seg_tls.
|
||
* config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
|
||
* config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
|
||
(ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
|
||
(ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
|
||
(ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
|
||
* doc/extend.texi (__seg_tls): Remove item.
|
||
|
||
2016-02-23 Richard Biener <rguenther@suse.de>
|
||
|
||
* alloc-pool.h (struct allocation_object): Make id member
|
||
conditional on CHECKING_P again.
|
||
(get_instance): Adjust.
|
||
(base_pool_allocator): Likewise.
|
||
|
||
2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* tree-parloops.c (create_parallel_loop, gen_parallel_loop)
|
||
(parallelize_loops): In OpenACC kernels mode, set n_threads to
|
||
zero.
|
||
(pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
|
||
flag_openacc.
|
||
* tree-ssa-loop.c (gate_oacc_kernels): Likewise.
|
||
|
||
2016-02-23 Richard Biener <rguenther@suse.de>
|
||
|
||
* mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
|
||
* bitmap.h (struct bitmap_usage): Likewise.
|
||
(bitmap_move): Declare.
|
||
* bitmap.c (register_overhead): Take size_t argument.
|
||
(bitmap_move): New function.
|
||
* df-problems.c (df_rd_transfer_function): Use bitmap_move
|
||
to properly account overhead.
|
||
* tree.c (free_node): Use tree_size.
|
||
|
||
2016-02-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/69902
|
||
* fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
|
||
when inverting comparison.
|
||
|
||
PR c/69900
|
||
* common.opt (Wunreachable-code): Add Warning flag.
|
||
|
||
2016-02-23 Mark Wielaard <mjw@redhat.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69911
|
||
* cgraphunit.c (check_global_declaration): Check main_input_filename
|
||
and DECL_SOURCE_FILE are not NULL.
|
||
|
||
2016-02-23 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/69666
|
||
* tree-sra.c (sra_modify_assign): Do not attempt to create
|
||
default_def replacements for unscalarizable regions.
|
||
|
||
2016-02-20 Mark Wielaard <mjw@redhat.com>
|
||
|
||
PR c/28901
|
||
* cgraphunit.c (check_global_declaration): Check level of
|
||
warn_unused_const_variable and main_input_filename.
|
||
* doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
|
||
(-Wunused-variable): For C implies -Wunused-const-variable=1.
|
||
(-Wunused-const-variable): Explain levels 1 and 2.
|
||
|
||
2016-02-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69888
|
||
* config/i386/i386.c (decide_alg): Ensure we don't recurse with
|
||
identical arguments. Formatting and spelling fixes.
|
||
|
||
PR target/69885
|
||
* doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
|
||
be specified.
|
||
|
||
PR target/69894
|
||
PR target/69895
|
||
* config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
|
||
and m68k-devices.def.
|
||
* config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
|
||
* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
|
||
|
||
2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
|
||
and HImode registers.
|
||
|
||
2016-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69882
|
||
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
|
||
preserve permutations present because of gaps.
|
||
(vect_supported_load_permutation_p): Always continue checking
|
||
permutations after vect_attempt_slp_rearrange_stmts.
|
||
|
||
2016-02-22 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
|
||
min_profitable_estimate, rather than min_profitable_iters.
|
||
|
||
2016-02-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69885
|
||
* config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
|
||
SImode for last match_operand.
|
||
|
||
2016-02-22 Martin Liska <mliska@suse.cz>
|
||
|
||
* hsa-gen.c (gen_hsa_clrsb): In case of zero value,
|
||
return bitsize - 1 as the return value.
|
||
|
||
2016-02-22 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/69806
|
||
PR target/54089
|
||
* config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
|
||
Handle negative shift counts.
|
||
* config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
|
||
force_reg on the shift constant.
|
||
(lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d.
|
||
(lshrsi3_d): Handle negative shift counts.
|
||
|
||
2016-02-22 Richard Biener <rguenther@suse.de>
|
||
Tom de Vries <tom@codesourcery.com>
|
||
|
||
* graph.c: Include dumpfile.h.
|
||
(print_graph_cfg): Split into three overloads.
|
||
* gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
|
||
|
||
2016-02-22 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* gdbhooks.py (class DumpFn): Add and instantiate, adding command
|
||
dump-fn.
|
||
|
||
2016-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/37448
|
||
* ipa-inline-transform.c (inline_call): When not updating
|
||
overall summaries adjust self size by the growth estimate.
|
||
* ipa-inline.c (inline_to_all_callers_1): Add to the callers
|
||
hash-set, do not update overall summaries here. Renamed from ...
|
||
(inline_to_all_callers): ... this which is now wrapping the
|
||
above and performing delayed overall summary update.
|
||
(early_inline_small_functions): Delay updating of the overall
|
||
summary.
|
||
|
||
2016-02-21 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
* tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
|
||
variable.
|
||
|
||
2016-02-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR driver/69805
|
||
* gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
|
||
:%* in %:gt() argument.
|
||
(greater_than_spec_func): Adjust for expecting only numbers,
|
||
if there are more than two numbers, compare the last two.
|
||
|
||
2016-02-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (C++ Dialect Options): Clarify interaction of
|
||
-Wnarrowing with -std.
|
||
|
||
2016-02-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/69851
|
||
* expr.c (store_field): Don't use bit-field path if exp is
|
||
COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
|
||
different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
|
||
and the assignment can be performed by bitwise copy. Formatting
|
||
fix.
|
||
|
||
PR middle-end/69838
|
||
* lra.c (lra_process_new_insns): If non-call exceptions are enabled,
|
||
call copy_reg_eh_region_note_forward on before and/or after sequences
|
||
and remove note from insn if it no longer can throw.
|
||
|
||
PR target/69820
|
||
* config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
|
||
if TARGET_AVX512BW.
|
||
|
||
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/vector.md: Add missing commutative operand markers
|
||
to the patterns which qualify for one.
|
||
* config/s390/vx-builtins.md: Likewise.
|
||
|
||
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/vector.md (VI, VI_QHS): Add single element vector
|
||
types to mode iterators.
|
||
(vec_double): ... and mode attribute.
|
||
* config/s390/vx-builtins.md (non_vec_int): Likewise.
|
||
|
||
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
|
||
Change the predicate of op2 from nonimmediate to general and let
|
||
reload fix it if necessary.
|
||
|
||
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
|
||
|
||
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_expand_vcond): Use the compare operand
|
||
mode.
|
||
|
||
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
|
||
* config/s390/s390.c (s390_expand_vec_movstr): New function.
|
||
* config/s390/s390.md ("movstr<P:mode>"): Call
|
||
s390_expand_vec_movstr.
|
||
|
||
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md: Add missing output modifier for operand 1
|
||
to print it as address properly.
|
||
|
||
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
|
||
* config/s390/2964.md: New file.
|
||
* config/s390/s390.c (s390_get_sched_attrmask): Use the right set
|
||
of insn grouping attributes depending on the CPU level.
|
||
(s390_get_unit_mask): New function.
|
||
(s390_sched_score): Remove the OOO from the scheduling macros.
|
||
Add loop to calculate a score for the instruction mix.
|
||
(s390_sched_reorder): Likewise plus improve debug output.
|
||
(s390_sched_variable_issue): Rename macros as above. Calculate
|
||
the unit distances after actually scheduling an insn. Improve
|
||
debug output.
|
||
(s390_sched_init): Clear last_scheduled_unit_distance array.
|
||
* config/s390/s390.md: Include 2964.md.
|
||
|
||
2016-02-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69671
|
||
* config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
|
||
*avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
|
||
*avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
|
||
*avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
|
||
*avx512f_<code>v8div16qi2_mask_1): New insns.
|
||
|
||
2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/68404
|
||
* config/rs6000/predicates.md (fusion_gpr_addis): Revert
|
||
2016-02-09 change.
|
||
|
||
* config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
|
||
earlyclobber from target. Use wF constraint for fused memory
|
||
address.
|
||
(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
|
||
|
||
2016-02-18 Jakub Jelinek <jakub@redhat.com>
|
||
Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/69863
|
||
* cfgexpand.c (asan_sanitize_stack_p): New function.
|
||
(partition_stack_vars): Use the function.
|
||
(expand_stack_vars): Likewise.
|
||
(defer_stack_allocation): Likewise.
|
||
(expand_used_vars): Likewise.
|
||
|
||
2016-02-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69553
|
||
* fold-const.c (operand_equal_p): Properly compare offsets for
|
||
IMAGPART_EXPR and ARRAY_REF.
|
||
|
||
2016-02-18 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/62254
|
||
PR target/69610
|
||
* config/arm/arm.c (arm_option_override_internal): Disable
|
||
interworking if the target does not support thumb instructions.
|
||
(arm_reload_in_hi): Handle the case where a register to register
|
||
move needs reloading because there is no simple pattern to handle
|
||
it.
|
||
(arm_reload_out_hi): Likewise.
|
||
|
||
2016-02-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69854
|
||
* match.pd: Don't use fold_binary or fold_unary for folding
|
||
constants.
|
||
|
||
2016-02-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/69850
|
||
* gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
|
||
on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
|
||
* gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
|
||
warn on gimple_no_warning_p statements.
|
||
|
||
2016-02-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/extend.texi (C++ Attributes): Correct description of
|
||
warn_unused type attribute.
|
||
|
||
2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
|
||
correct instruction.
|
||
|
||
2016-02-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/69609
|
||
* bb-reorder.c (struct bbro_basic_block_data): Add priority member.
|
||
(find_traces_1_round): When ending a trace update cached priority
|
||
of successors.
|
||
(bb_to_key): Use cached priority when available.
|
||
(copy_bb): Initialize cached priority.
|
||
(reorder_basic_blocks_software_trace_cache): Likewise.
|
||
|
||
2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/69161
|
||
* config/aarch64/predicates.md (aarch64_comparison_operator_mode):
|
||
New predicate.
|
||
(aarch64_comparison_operator): Break overly long line into two.
|
||
(aarch64_comparison_operation): Likewise.
|
||
* config/aarch64/aarch64.md (cstorecc4): Use
|
||
aarch64_comparison_operator_mode instead of
|
||
aarch64_comparison_operator.
|
||
(cstore<mode>4): Likewise.
|
||
(aarch64_cstore<mode>): Likewise.
|
||
(*cstoresi_insn_uxtw): Likewise.
|
||
(cstore<mode>_neg): Likewise.
|
||
(*cstoresi_neg_uxtw): Likewise.
|
||
|
||
2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/69161
|
||
* config/arm/predicates.md (arm_comparison_operator_mode):
|
||
New predicate.
|
||
* config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
|
||
instead of arm_comparison_operator.
|
||
(*mov_negscc): Likewise.
|
||
(*mov_notscc): Likewise.
|
||
* config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
|
||
(*thumb2_mov_negscc): Likewise.
|
||
(*thumb2_mov_negscc_strict_it): Likewise.
|
||
(*thumb2_mov_notscc): Likewise.
|
||
(*thumb2_mov_notscc_strict_it): Likewise.
|
||
|
||
2016-02-17 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
|
||
Add missing return.
|
||
|
||
2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/visium/visium.c (machine_libfunc_index): New enum.
|
||
(machine_libfuncs): New structure.
|
||
(visium_libfuncs): New static variable.
|
||
(TARGET_INIT_LIBFUNCS): Define to...
|
||
(visium_init_libfuncs): ...this. New function.
|
||
(expand_block_move_4): Use the appropriate libfunc.
|
||
(expand_block_move_2): Likewise.
|
||
(expand_block_move_1): Likewise.
|
||
(expand_block_set_4): Likewise.
|
||
(expand_block_set_2): Likewise.
|
||
(expand_block_set_1): Likewise.
|
||
(visium_trampoline_init): Likewise.
|
||
|
||
2016-02-17 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/msp430/msp430.c (msp430_mcu_data): Sync with data from
|
||
TI's devices.csv file as of March 2016.
|
||
|
||
2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
PR Target/48344
|
||
* opts-global.c (handle_common_deferred_options): Introduce and
|
||
initialize two global variables to remember command-line options
|
||
specifying a stack-limiting register.
|
||
* opts.h: Add extern declarations of the two new global variables.
|
||
* emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
|
||
variable based on the values of the two new global variables.
|
||
|
||
2016-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69835
|
||
* common.opt (Wnonnull-compare): New warning.
|
||
* doc/invoke.texi (-Wnonnull): Remove text about comparison
|
||
of arguments against NULL.
|
||
(-Wnonnull-compare): Document.
|
||
* Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
|
||
* tree-pass.h (make_pass_warn_nonnull_compare): Declare.
|
||
* passes.def (pass_warn_nonnull_compare): Add.
|
||
* gimple-ssa-nonnull-compare.c: New file.
|
||
|
||
2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (cortexa57_tunings): Remove
|
||
AARCH64_EXTRA_TUNE_RECIP_SQRT.
|
||
|
||
2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (use_rsqrt_p): Always use software
|
||
reciprocal sqrt for -mlow-precision-recip-sqrt.
|
||
|
||
2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
|
||
always use lane loads to construct non-constant vectors.
|
||
|
||
2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/aarch64/aarch64.md
|
||
(arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
|
||
constraints for operand 3.
|
||
(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
|
||
|
||
2016-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69820
|
||
* tree-vect-patterns.c (type_conversion_p): Return false if
|
||
*orig_type is unsigned single precision or boolean.
|
||
(vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
|
||
Formatting fix.
|
||
|
||
2016-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/69764
|
||
PR rtl-optimization/69771
|
||
* optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
|
||
op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
|
||
|
||
2016-02-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69776
|
||
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
|
||
sets from caller.
|
||
(indirect_refs_may_alias_p): Likewise.
|
||
(refs_may_alias_p_1): Pass alias sets as from ao_ref.
|
||
* tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
|
||
according to tbaa_p.
|
||
* tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
|
||
(optimize_stmt): For redundant store discovery do not allow tbaa.
|
||
|
||
2016-02-16 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR tree-optimization/69714
|
||
* tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
|
||
Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
|
||
|
||
2016-02-16 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
|
||
* config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
|
||
(FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
|
||
* config/arc/arc.c (arc_init): Check FPU options.
|
||
(get_arc_condition_code): Handle new CC_FPU* modes.
|
||
(arc_select_cc_mode): Likewise.
|
||
(arc_conditional_register_usage): Allow 64 bit datum into even-odd
|
||
register pair only. Allow access for ARCv2 accumulator.
|
||
(gen_compare_reg): Whenever we have FPU support use FPU compare
|
||
instructions.
|
||
(arc_reorg): Don't generate brcc insns when FPU compare
|
||
instructions are involved.
|
||
* config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
|
||
(TARGET_OPTFPE): Add condition when ARC EM can use optimized
|
||
floating point emulation.
|
||
(ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
|
||
(REVERSE_CONDITION): Add new CC_FPU* modes.
|
||
(TARGET_FP_SP_BASE): Define.
|
||
(TARGET_FP_DP_BASE): Likewise.
|
||
(TARGET_FP_SP_FUSED): Likewise.
|
||
(TARGET_FP_DP_FUSED): Likewise.
|
||
(TARGET_FP_SP_CONV): Likewise.
|
||
(TARGET_FP_DP_CONV): Likewise.
|
||
(TARGET_FP_SP_SQRT): Likewise.
|
||
(TARGET_FP_DP_SQRT): Likewise.
|
||
(TARGET_FP_DP_AX): Likewise.
|
||
* config/arc/arc.md (ARCV2_ACC): New constant.
|
||
(type): New fpu type attribute.
|
||
(SDF): Conditional iterator.
|
||
(cstore<mode>, cbranch<mode>): Change expand condition.
|
||
(addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
|
||
handles FPU/FPX cases as well.
|
||
* config/arc/arc.opt (mfpu): New option.
|
||
* config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
|
||
Renamed.
|
||
(adddf3, muldf3, subdf3): Removed.
|
||
* config/arc/predicates.md (proper_comparison_operator): Recognize
|
||
CC_FPU* modes.
|
||
* config/arc/fpu.md: New file.
|
||
* doc/invoke.texi (ARC Options): Document mfpu option.
|
||
|
||
2016-02-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/69291
|
||
* ifcvt.c (noce_try_store_flag_constants): Re-instantiate
|
||
noce_operand_ok check.
|
||
|
||
2016-02-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR lto/67709
|
||
* omp-low.c (simd_clone_create): Remove call to
|
||
symtab->call_cgraph_insertion_hooks.
|
||
|
||
2016-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69802
|
||
* tree-ssa-reassoc.c (update_range_test): If op is
|
||
SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
|
||
op == 1 test of precision 1 integral op, otherwise handle
|
||
that case as op itself. Fix up formatting.
|
||
(optimize_range_tests_to_bit_test, optimize_range_tests): Fix
|
||
up formatting.
|
||
|
||
2016-02-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69586
|
||
* tree-vrp.c (register_edge_assert_for_2): Handle all integral
|
||
types for conversion sources.
|
||
|
||
2016-02-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69801
|
||
* fold-const.c (operand_equal_p): For COND_EXPR zero operand
|
||
mask OEP_ADDRESS_OF.
|
||
|
||
2016-02-16 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/68973
|
||
* config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
|
||
(p8_mtvsrd_df, p8_mtvsrd_sf): New.
|
||
(p8_mtvsrd_1, p8_mtvsrd_2): Delete.
|
||
(p8_mtvsrwz): New.
|
||
(p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
|
||
(p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
|
||
(p8_fmrgow_<mode>): Likewise.
|
||
(reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above
|
||
changes.
|
||
(reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
|
||
(reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
|
||
to use movdi_internal64. Remove op0_di.
|
||
* config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
|
||
|
||
2016-02-15 Evandro Menezes <e.menezes@samsung.com>
|
||
|
||
Add support for the FCCMP insn types
|
||
|
||
* config/aarch64/aarch64.md (fccmp): Change insn type.
|
||
(fccmpe): Likewise.
|
||
* config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
|
||
* config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
|
||
* config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
|
||
* config/arm/xgene1.md (xgene1_fcmp): Likewise.
|
||
* config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
|
||
* config/arm/types.md (fccmps): Add new insn type.
|
||
(fccmpd): Likewise.
|
||
|
||
2016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* alias.c (get_alias_set): Fix a typo in comment.
|
||
|
||
2016-02-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69595
|
||
* match.pd: Complete range test simplification to true.
|
||
|
||
2016-02-15 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR rtl-optimization/69648
|
||
* lra-constraints.c (update_ebb_live_info): Don't remove sets of
|
||
pic_offset_table_rtx.
|
||
|
||
PR rtl-optimization/69752
|
||
* ira.c (update_equiv_regs): When looking for more than a single SET,
|
||
also take other side effects into account.
|
||
|
||
2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
|
||
|
||
* config/s390/s390.c (s390_function_profiler): Add a new sequence
|
||
for z900+ CPUs in 31-bit mode.
|
||
|
||
2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
|
||
|
||
* common/config/s390/s390-common.c (s390_supports_split_stack):
|
||
New function.
|
||
(TARGET_SUPPORTS_SPLIT_STACK): New macro.
|
||
* config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
|
||
* config/s390/s390.c (struct machine_function): New field
|
||
split_stack_varargs_pointer.
|
||
(s390_register_info): Mark r12 as clobbered if it'll be used as temp
|
||
in s390_emit_prologue.
|
||
(s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
|
||
vararg pointer.
|
||
(morestack_ref): New global.
|
||
(SPLIT_STACK_AVAILABLE): New macro.
|
||
(s390_expand_split_stack_prologue): New function.
|
||
(s390_live_on_entry): New function.
|
||
(s390_va_start): Use split-stack vararg pointer if appropriate.
|
||
(s390_asm_file_end): Emit the split-stack note sections.
|
||
(TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
|
||
* config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
|
||
(UNSPECV_SPLIT_STACK_CALL): New unspec.
|
||
(UNSPECV_SPLIT_STACK_DATA): New unspec.
|
||
(split_stack_prologue): New expand.
|
||
(split_stack_space_check): New expand.
|
||
(split_stack_data): New insn.
|
||
(split_stack_call): New expand.
|
||
(split_stack_call_*): New insn.
|
||
(split_stack_cond_call): New expand.
|
||
(split_stack_cond_call_*): New insn.
|
||
|
||
2016-02-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69783
|
||
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
|
||
Add trivially correct cases.
|
||
|
||
2016-02-15 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR lto/69655
|
||
* lto-cgraph.c (input_offload_tables): Add and handle bool parameter
|
||
do_force_output.
|
||
* lto-streamer.h (input_offload_tables): Add and handle bool parameter.
|
||
|
||
2016-02-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69776
|
||
* tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
|
||
* tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
|
||
indicate whether we can use TBAA to disambiguate against stores.
|
||
Use alias-set zero if not.
|
||
(visit_reference_op_store): Do not use TBAA when looking up
|
||
redundant stores.
|
||
* tree-ssa-pre.c (compute_avail): Use TBAA here.
|
||
(eliminate_dom_walker::before_dom_children): But not when looking
|
||
up redundant stores.
|
||
|
||
2016-02-14 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
|
||
|
||
2016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
|
||
|
||
* config/i386/znver1.md
|
||
(znver1_pop, znver1_pop_mem,
|
||
znver1_load_imov_double_store,
|
||
znver1_load_imov_direct_store,
|
||
znver1_load_imov_direct_load,
|
||
znver1_load_imov_double_load): Add new.
|
||
(znver1_insn, znver1_insn_load): Add icmov type.
|
||
(znver1_sseavx_fma,
|
||
znver1_sseavx_fma_load,
|
||
znver1_avx256_fma,
|
||
znver1_avx256_fma_load): Fix pipe usage.
|
||
|
||
2016-02-14 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/68973
|
||
* reloads.c (find_reloads_address_1): For pre/post-inc/dec
|
||
with an invalid hard reg, reload just the reg not the entire
|
||
pre/post-inc/dec address expression.
|
||
|
||
2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/67260
|
||
* config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
|
||
fixed R1_REG scratch reg.
|
||
(sibcall_value_pcrel_fdpic): Likewise.
|
||
|
||
2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/67636
|
||
PR target/64345
|
||
* config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
|
||
|
||
2016-02-12 Walter Lee <walt@tilera.com>
|
||
|
||
* config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
|
||
* config/tilegx/t-tilegx: Likewise.
|
||
|
||
2016-02-12 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR other/69554
|
||
* diagnostic-show-locus.c (struct line_span): New struct.
|
||
(layout::get_first_line): Delete.
|
||
(layout::get_last_line): Delete.
|
||
(layout::get_num_line_spans): New member function.
|
||
(layout::get_line_span): Likewise.
|
||
(layout::print_heading_for_line_span_index_p): Likewise.
|
||
(layout::get_expanded_location): Likewise.
|
||
(layout::calculate_line_spans): Likewise.
|
||
(layout::m_first_line): Delete.
|
||
(layout::m_last_line): Delete.
|
||
(layout::m_line_spans): New field.
|
||
(layout::layout): Update comment. Replace m_first_line and
|
||
m_last_line with m_line_spans, replacing their initialization
|
||
with a call to calculate_line_spans.
|
||
(diagnostic_show_locus): When printing source lines and
|
||
annotations, rather than looping over a single span
|
||
of lines, instead loop over each line_span within
|
||
the layout, with an inner loop over the lines within them.
|
||
Call the context's start_span callback when changing line spans.
|
||
* diagnostic.c (diagnostic_initialize): Initialize start_span.
|
||
(diagnostic_build_prefix): Break out the building of the location
|
||
part of the string into...
|
||
(diagnostic_get_location_text): ...this new function, rewriting
|
||
it from nested ternary expressions to a sequence of "if"
|
||
statements.
|
||
(default_diagnostic_start_span_fn): New function.
|
||
* diagnostic.h (diagnostic_start_span_fn): New typedef.
|
||
(diagnostic_context::start_span): New field.
|
||
(default_diagnostic_start_span_fn): New prototype.
|
||
|
||
2016-02-12 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR driver/69779
|
||
* gcc.c (driver::finalize): Fix cleanup of "specs".
|
||
|
||
2016-02-12 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR driver/69265
|
||
PR driver/69453
|
||
* gcc.c (driver::driver): Initialize m_option_suggestions.
|
||
(driver::~driver): Clean up m_option_suggestions.
|
||
(suggest_option): Convert to...
|
||
(driver::suggest_option): ...this, and split out into
|
||
driver::build_option_suggestions and find_closest_string.
|
||
(driver::build_option_suggestions): New function, from
|
||
first half of suggest_option. Special-case
|
||
OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
|
||
the sanitizer_opts array. For options of enum types, add the
|
||
various enum values to the candidate strings.
|
||
(driver::handle_unrecognized_options): Remove "const".
|
||
* gcc.h (driver::handle_unrecognized_options): Likewise.
|
||
(driver::build_option_suggestions): New decl.
|
||
(driver::suggest_option): New decl.
|
||
(driver::m_option_suggestions): New field.
|
||
* opts-common.c (add_misspelling_candidates): New function.
|
||
* opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
|
||
and make non-static.
|
||
* opts.h (sanitizer_opts): New array decl.
|
||
(add_misspelling_candidates): New function decl.
|
||
* spellcheck.c (find_closest_string): New function.
|
||
* spellcheck.h (find_closest_string): New function decl.
|
||
|
||
2016-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/69764
|
||
PR rtl-optimization/69771
|
||
* optabs.c (expand_binop_directly): For shift_optab_p, force
|
||
convert_modes with VOIDmode if xop1 has VOIDmode.
|
||
|
||
2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/69729
|
||
* lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
|
||
to correctly determine instrumentation thunks.
|
||
|
||
2016-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/69241
|
||
* ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
|
||
type by reference, force lhs on the call.
|
||
|
||
PR ipa/68672
|
||
* ipa-split.c (split_function): Don't compute/use main_part_return_p.
|
||
Compute retval and retbnd early in all cases if split_part_return_p
|
||
and return_bb is not EXIT. Remove all clobber stmts and reset
|
||
all debug stmts that refer to SSA_NAMEs defined in split part,
|
||
except if it is retval, in that case replace the old retval with the
|
||
lhs of the call to the split part.
|
||
|
||
2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
revert:
|
||
2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
PR middle-end/66726
|
||
* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
|
||
whose result is used in PHI.
|
||
(maybe_optimize_range_tests): Likewise.
|
||
(final_range_test_p): Likweise.
|
||
|
||
2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
PR middle-end/66726
|
||
* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
|
||
whose result is used in PHI.
|
||
(maybe_optimize_range_tests): Likewise.
|
||
(final_range_test_p): Likweise.
|
||
|
||
2016-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cgraph.c: Spelling fixes - behaviour -> behavior and
|
||
neighbour -> neighbor.
|
||
* target.def: Likewise.
|
||
* sel-sched.c: Likewise.
|
||
* config/mips/mips.c: Likewise.
|
||
* config/arc/arc.md: Likewise.
|
||
* config/arm/cortex-a57.md: Likewise.
|
||
* config/arm/arm.c: Likewise.
|
||
* config/arm/neon.md: Likewise.
|
||
* config/arm/arm-c.c: Likewise.
|
||
* config/vms/vms-c.c: Likewise.
|
||
* config/s390/s390.c: Likewise.
|
||
* config/i386/znver1.md: Likewise.
|
||
* config/i386/i386.c: Likewise.
|
||
* config/ia64/hpux-unix2003.h: Likewise.
|
||
* config/msp430/msp430.md: Likewise.
|
||
* config/rx/rx.c: Likewise.
|
||
* config/rx/rx.md: Likewise.
|
||
* config/aarch64/aarch64-simd.md: Likewise.
|
||
* config/aarch64/aarch64.c: Likewise.
|
||
* config/nvptx/nvptx.c: Likewise.
|
||
* config/bfin/bfin.c: Likewise.
|
||
* config/cris/cris.opt: Likewise.
|
||
* config/rs6000/rs6000.c: Likewise.
|
||
* target.h: Likewise.
|
||
* spellcheck.c: Likewise.
|
||
* ira-build.c: Likewise.
|
||
* tree-inline.c: Likewise.
|
||
* builtins.c: Likewise.
|
||
* lra-constraints.c: Likewise.
|
||
* explow.c: Likewise.
|
||
* hwint.h: Likewise.
|
||
* targhooks.c: Likewise.
|
||
* tree-vect-data-refs.c: Likewise.
|
||
* expr.c: Likewise.
|
||
* doc/tm.texi: Likewise.
|
||
* doc/extend.texi: Likewise.
|
||
* doc/install.texi: Likewise.
|
||
* doc/md.texi: Likewise.
|
||
* tree-ssa-tail-merge.c: Likewise.
|
||
* sched-int.h: Likewise.
|
||
* match.pd: Likewise.
|
||
* sched-ebb.c: Likewise.
|
||
* target.def (omit_struct_return_reg): Likewise.
|
||
* gimple-ssa-isolate-paths.c: Likewise.
|
||
(find_implicit_erroneous_behaviour): Renamed to...
|
||
(find_implicit_erroneous_behavior): ... this.
|
||
(find_explicit_erroneous_behaviour): Renamed to...
|
||
(find_explicit_erroneous_behavior): ... this.
|
||
(gimple_ssa_isolate_erroneous_paths): Adjust caller.
|
||
|
||
2016-02-11 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/64682
|
||
PR rtl-optimization/69567
|
||
PR rtl-optimization/69737
|
||
* combine.c (distribute_notes) <REG_DEAD>: If the register is set
|
||
in I2 as well, just lose it.
|
||
|
||
2016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
|
||
New variable.
|
||
(aarch64_last_printed_tune_string): Likewise.
|
||
(aarch64_declare_function_name): Only output .arch assembler
|
||
directive if it will be different from the previously output
|
||
directive. Same for .tune comment but only if -dA is set.
|
||
(aarch64_start_file): New function.
|
||
(TARGET_ASM_FILE_START): Define.
|
||
|
||
2016-02-11 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR plugins/69758
|
||
* Makefile.in (PLUGIN_HEADERS): Add params.list.
|
||
|
||
2016-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/65313
|
||
* tree-vect-slp.c (vect_schedule_slp_instance): Avoid
|
||
-Wmaybe-uninitialized warning.
|
||
|
||
2016-02-11 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/69713
|
||
* config/sh/sh.md (casesi_worker_0): Add T_REG use.
|
||
|
||
2016-02-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/69291
|
||
* ifcvt.c (noce_try_store_flag_constants): Do not allow
|
||
subexpressions affected by changing the result.
|
||
|
||
2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/69148
|
||
* lra-constraints.c (curr_insn_transform): Find in/out operands
|
||
for secondary memory moves. Update dups.
|
||
|
||
2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR tree-optimization/69652
|
||
* tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
|
||
to nested loop, did source re-formatting, skip debug statements,
|
||
add check on statement with volatile operand, remove dead scalar
|
||
statements.
|
||
|
||
2016-02-10 Jakub Jelinek <jakub@redhat.com>
|
||
Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR ipa/69241
|
||
PR c++/69649
|
||
* gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
|
||
calls if the return type is TREE_ADDRESSABLE.
|
||
* cgraphunit.c (cgraph_node::expand_thunk): Likewise.
|
||
* ipa-split.c (split_function): Fix doubled "we" in comment.
|
||
Use void return type for the split part even if
|
||
!split_point->split_part_set_retval.
|
||
|
||
2016-02-10 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/68021
|
||
* tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
|
||
when computing the value of biv cand by itself.
|
||
|
||
2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
|
||
(cortexa57_tunings): Likewise.
|
||
(cortexa72_tunings): Likewise.
|
||
(arch_macro_fusion_pair_p): Add support for AES fusion.
|
||
* config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
|
||
* config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
|
||
Allow virtual registers before reload so early scheduling works.
|
||
* config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
|
||
correct latency and pipeline.
|
||
(cortex_a57_crypto_complex): Likewise.
|
||
(cortex_a57_crypto_xor): Likewise.
|
||
(define_bypass): Add AES bypass.
|
||
|
||
2016-02-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69726
|
||
* passes.def: Add DCE pass before late uninit.
|
||
* match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
|
||
really fixup if-conversions job.
|
||
|
||
2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
|
||
(arm_cortex_a57_tune): Likewise.
|
||
(aarch_macro_fusion_pair_p): Add support for AES fusion.
|
||
* config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
|
||
|
||
2016-02-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* timevar.def (TV_PHASE_DBGINFO): Delete.
|
||
(TV_PHASE_CHECK_DBGINFO): Likewise.
|
||
* varpool.c (varpool_node::assemble_decl): Do not change timevar.
|
||
|
||
2016-02-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69719
|
||
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
|
||
Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
|
||
|
||
2016-02-09 Andrew Pinski <apinski@cavium.com>
|
||
|
||
PR tree-opt/69282
|
||
* optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
|
||
get_vcond_mask_icode returns false.
|
||
|
||
2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/68404
|
||
* config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
|
||
an ADDIS that adds a pointer to a large constant that sets the
|
||
upper16 bits with a load operation.
|
||
|
||
2016-02-09 Charles Baylis <charles.baylis@linaro.org>
|
||
|
||
PR target/68532
|
||
* config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
|
||
order.
|
||
* config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
|
||
endian.
|
||
(vzipq_s16): Likewise.
|
||
(vzipq_s32): Likewise.
|
||
(vzipq_f32): Likewise.
|
||
(vzipq_u8): Likewise.
|
||
(vzipq_u16): Likewise.
|
||
(vzipq_u32): Likewise.
|
||
(vzipq_p8): Likewise.
|
||
(vzipq_p16): Likewise.
|
||
|
||
2016-02-09 Charles Baylis <charles.baylis@linaro.org>
|
||
|
||
PR target/68532
|
||
* config/arm/arm.c (neon_endian_lane_map): New function.
|
||
(neon_vector_pair_endian_lane_map): New function.
|
||
(arm_evpc_neon_vuzp): Allow for big endian lane order.
|
||
* config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
|
||
endian.
|
||
(vuzpq_s16): Likewise.
|
||
(vuzpq_s32): Likewise.
|
||
(vuzpq_f32): Likewise.
|
||
(vuzpq_u8): Likewise.
|
||
(vuzpq_u16): Likewise.
|
||
(vuzpq_u32): Likewise.
|
||
(vuzpq_p8): Likewise.
|
||
(vuzpq_p16): Likewise.
|
||
|
||
2016-02-11 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR target/69634
|
||
* regstat.c (regstat_bb_compute_calls_crossed): Disregard
|
||
debug insns.
|
||
|
||
2016-02-09 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
|
||
truncate const_int operand 1 to QImode.
|
||
|
||
2016-02-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
|
||
corresponding to an abnormal edge.
|
||
|
||
2016-02-09 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69599
|
||
* tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
|
||
function.
|
||
(find_func_aliases_for_builtin_call, find_func_clobbers)
|
||
(ipa_pta_execute): Handle case that foo and foo._0 are not in same lto
|
||
partition.
|
||
|
||
2016-02-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69715
|
||
* tree-ssa.c (execute_update_addresses_taken): Mark non-decl
|
||
LHS on calls as non-rewritable.
|
||
|
||
2016-02-09 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR lto/69707
|
||
* lto-wrapper.c (append_diag_options): New function.
|
||
(compile_offload_image): Call append_diag_options.
|
||
|
||
2016-02-08 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR other/69722
|
||
* doc/extend.texi (Flag Output Operands): Correct sectioning.
|
||
Minor copy-edit to fix verb tenses.
|
||
|
||
2016-02-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69209
|
||
* ipa-split.c (split_function): If split part is not
|
||
returning retval, retval has gimple type but is not
|
||
gimple value, force it into a SSA_NAME first.
|
||
|
||
2016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com>
|
||
|
||
* doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
|
||
outdated section.
|
||
|
||
2016-02-08 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/69631
|
||
* convert.c (convert_to_integer_1): Check dofold on truncation
|
||
distribution.
|
||
(convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
|
||
(convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
|
||
Rename from *_nofold.
|
||
* convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
|
||
(convert_to_real_nofold, convert_to_complex_nofold): New inlines.
|
||
|
||
2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR target/60410
|
||
* tree.c (build_common_tree_nodes): Remove short_double argument.
|
||
All callers changed.
|
||
* tree.h (build_common_tree_nodes): Adjust declaration.
|
||
* doc/invoke.texi (-fshort-double): Remove documentation.
|
||
* config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
|
||
MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
|
||
* lto-wrapper.c (merge_and_complain, append_compiler_options)
|
||
(append_linker_options): Don't handle OPT_fshort_double.
|
||
|
||
PR rtl-optimization/68730
|
||
* lra-remat.c (insn_to_cand_activation): New static variable.
|
||
(lra_remat): Allocate and free it.
|
||
(create_cand): New arg activation. Initialize a field in
|
||
insn_to_cand_activation if it is nonnull.
|
||
(create_cands): Pass the activation insn to create_cand when making
|
||
a candidate involving an output reload. Reorganize code a little.
|
||
(do_remat): Keep track of active status of candidates in a separate
|
||
bitmap.
|
||
|
||
2016-02-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69719
|
||
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
|
||
Properly use absolute of the difference of the two offsets to
|
||
compare or adjust the segment length.
|
||
|
||
2016-02-08 Richard Biener <rguenther@suse.de>
|
||
Jeff Law <law@redhat.com>
|
||
|
||
PR target/68273
|
||
* tree-ssanames.c (make_ssa_name_fn): Always use unqualified
|
||
types for anonymous SSA names.
|
||
|
||
2016-02-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/69274
|
||
* ira.c (ira_setup_alts): Do not change recog_data.operand order.
|
||
|
||
2016-02-08 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/65917
|
||
* tree-ssa-dom.c (record_temporary_equivalences): Record both
|
||
equivalences from if (x == y) style conditionals.
|
||
(loop_depth_of_name): Remove.
|
||
(record_equality): Remove loop depth check.
|
||
* tree-ssa-scopedtables.h (const_and_copies): Refine comments.
|
||
(const_and_copies::record_const_or_copy_raw): New member function.
|
||
* tree-ssa-scopedtables.c
|
||
(const_and_copies::record_const_or_copy_raw): New, factored out of
|
||
(const_and_copies::record_const_or_copy): Call new member function.
|
||
|
||
2016-02-05 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/68541
|
||
* gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
|
||
(count_stmts_in_block): New function.
|
||
(poor_ifcvt_candidate_code): Likewise.
|
||
(is_feasible_trace): Add some heuristics to determine when path
|
||
splitting is profitable.
|
||
(find_block_to_duplicate_for_splitting_paths): Make sure the graph
|
||
is a diamond with a single exit.
|
||
|
||
2016-02-05 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/69662
|
||
* doc/invoke.texi: Update -Wplacement-new to take an optional
|
||
argument.
|
||
|
||
2016-02-06 Richard Henderson <rth@redhat.com>
|
||
|
||
PR c/69643
|
||
* tree.c (tree_nop_conversion_p): Do not strip casts into or
|
||
out of non-standard address spaces.
|
||
|
||
2016-02-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/69691
|
||
* lra-eliminations.c (move_plus_up): Don't add the addend twice.
|
||
|
||
2016-02-05 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
* config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
|
||
* config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
|
||
(*ieee128_mfvsrd_64bit): Likewise.
|
||
(*ieee128_mfvsrd_32bit): Likewise.
|
||
|
||
2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/69369
|
||
Revert r232560:
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* cgraphunit.c (cgraph_node::reset): Clear thunk info and
|
||
instrumented_version.
|
||
|
||
2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com>
|
||
|
||
* doc/invoke.texi (Optimize Options): In table of --param options
|
||
rename second occurrence of tracer-min-branch-ratio to
|
||
tracer-min-branch-probability, rename
|
||
tracer-min-branch-ratio-feedback to
|
||
tracer-min-branch-probability-feedback and clarify description,
|
||
rename sched-spec-state-edge-prob-cutoff to
|
||
sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
|
||
to selsched-insns-to-rename, rename lto-minpartition to
|
||
lto-min-partition, delete reorder-blocks-duplicate and
|
||
reorder-blocks-duplicate-feedback.
|
||
|
||
2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_register_info_set_ranges): Remove
|
||
superfluous loops.
|
||
|
||
2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* doc/extend.texi: S/390: Correct some typos.
|
||
|
||
2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
|
||
|
||
2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR target/69625
|
||
* config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
|
||
(s390_register_info_gprtofpr): Use new macros above.
|
||
(s390_register_info_stdarg_fpr): Adjust max_fpr to better match
|
||
its name.
|
||
(s390_register_info_stdarg_gpr): Adjust max_gpr to better match
|
||
its name. Adjust restore and save gpr ranges.
|
||
(s390_register_info_set_ranges): New function.
|
||
(s390_register_info): Use new macros above. Call
|
||
s390_register_info_set_ranges.
|
||
(s390_optimize_register_info): Likewise.
|
||
(s390_hard_regno_rename_ok): Use new macros.
|
||
(s390_hard_regno_scratch_ok): Likewise.
|
||
(s390_emit_epilogue): Likewise.
|
||
(s390_can_use_return_insn): Likewise.
|
||
(s390_optimize_prologue): Likewise.
|
||
* config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
|
||
|
||
2016-02-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/69677
|
||
* config/i386/i386.c (convert_scalars_to_vector): Readd stack
|
||
alignment fixes.
|
||
(ix86_option_override_internal): Disable TARGET_STV even for
|
||
-m{incoming,preferred}-stack-boundary=3.
|
||
|
||
2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* config.gcc: Mark deprecated rtems targets as obsolete.
|
||
|
||
2016-02-04 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/64682
|
||
PR rtl-optimization/69567
|
||
* combine.c (distribute_notes) <REG_DEAD>: Place the death note
|
||
before I2 only if the register is both used and set in I2.
|
||
|
||
2016-02-04 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/msp430/msp430.c (msp430_start_function): Add function type.
|
||
|
||
2016-02-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/69368
|
||
* tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
|
||
|
||
2016-02-04 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR rtl-optimization/69577
|
||
Revert:
|
||
2015-10-29 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/68124
|
||
PR rtl-opt/67609
|
||
* config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
|
||
sse check to the exact conditions of PR 67609.
|
||
|
||
2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/69667
|
||
* config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
|
||
instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
|
||
not allowed into the traditional Altivec registers.
|
||
(movtd_64bit_nodm): Likewise.
|
||
(mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
|
||
|
||
2016-02-04 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* config/aarch64/cortex-a57-fma-steering.c
|
||
(aarch64_register_fma_steering): Remove "static" from arguments
|
||
to register_pass.
|
||
|
||
2016-02-04 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR target/69619
|
||
* ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
|
||
twice when complex.
|
||
|
||
2016-02-04 Mike Frysinger <vapier@gentoo.org>
|
||
|
||
* doc/invoke.texi: Delete -mno-fma4.
|
||
|
||
2016-02-04 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/69577
|
||
* reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
|
||
(find_subregs_of_mode): Update accordingly. Iterate over partial
|
||
definitions.
|
||
|
||
2016-02-04 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/arm/arm-protos.h (neon_reinterpret): Remove.
|
||
* config/arm/arm.c (neon_reinterpret): Remove.
|
||
* config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
|
||
vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
|
||
vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
|
||
vreinterpretti): Remove.
|
||
* config/arm/neon.md (neon_vreinterpretv8qi<mode>,
|
||
neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
|
||
neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
|
||
neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
|
||
neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
|
||
neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
|
||
* config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
|
||
vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
|
||
vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
|
||
vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
|
||
vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
|
||
vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
|
||
vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
|
||
vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
|
||
vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
|
||
vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
|
||
vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
|
||
vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
|
||
vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
|
||
vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
|
||
vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
|
||
vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
|
||
vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
|
||
vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
|
||
vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
|
||
vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
|
||
vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
|
||
vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
|
||
vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
|
||
vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
|
||
vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
|
||
vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
|
||
vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
|
||
vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
|
||
vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
|
||
vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
|
||
vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
|
||
vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
|
||
vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
|
||
vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
|
||
vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
|
||
vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
|
||
vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
|
||
vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
|
||
vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
|
||
vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
|
||
vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
|
||
vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
|
||
vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
|
||
vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
|
||
vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
|
||
vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
|
||
vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
|
||
vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
|
||
vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
|
||
vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
|
||
vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
|
||
vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
|
||
vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
|
||
vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
|
||
vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
|
||
vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
|
||
vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
|
||
vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
|
||
vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
|
||
vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
|
||
vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
|
||
vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
|
||
vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
|
||
vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
|
||
vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
|
||
vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
|
||
vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
|
||
vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
|
||
vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
|
||
vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
|
||
vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
|
||
vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
|
||
vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
|
||
vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
|
||
vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
|
||
vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
|
||
vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
|
||
vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
|
||
vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
|
||
vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
|
||
vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
|
||
vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
|
||
vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
|
||
vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
|
||
vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
|
||
vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
|
||
vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
|
||
vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
|
||
vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
|
||
vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
|
||
vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
|
||
vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
|
||
vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
|
||
vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
|
||
vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
|
||
vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
|
||
vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
|
||
|
||
2016-02-04 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/69276
|
||
* asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
|
||
that are gimple_store_p.
|
||
(maybe_instrument_call): Likewise.
|
||
|
||
2016-02-04 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_legitimize_address): Force
|
||
register scaling out of memory reference and comment why.
|
||
|
||
2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/65932
|
||
PR target/67714
|
||
* cse.c (cse_insn): Pass NULL to fold_rtx when initially
|
||
folding the source of a SET.
|
||
|
||
2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/65932
|
||
PR target/67714
|
||
* config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
|
||
the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
|
||
|
||
2016-02-04 Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
PR target/65932
|
||
PR target/67714
|
||
* config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
|
||
HImode.
|
||
|
||
2016-02-04 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
|
||
* config/arm/arm.c (arm_set_current_function): Likewise.
|
||
|
||
2016-02-04 Jakub Jelinek <jakub@redhat.com>
|
||
Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/69454
|
||
* config/i386/i386.c (convert_scalars_to_vector): Remove
|
||
stack alignment fixes.
|
||
(ix86_option_override_internal): Disable TARGET_STV if stack
|
||
might not be aligned enough.
|
||
(ix86_minimum_alignment): Assert that TARGET_STV is false.
|
||
|
||
2016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com>
|
||
|
||
* gcc/config/i386/x86-tune.def: Disable default prefetching
|
||
for -march=znver1.
|
||
|
||
2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/69461
|
||
* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
|
||
in validating fused toc addresses.
|
||
|
||
2016-02-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69627
|
||
* diagnostic-show-locus.c (layout::get_state_at_point): Don't read
|
||
range->m_caret fields if range->m_show_caret_p is false.
|
||
|
||
PR target/69644
|
||
* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
|
||
Force oldval into register if it does not satisfy reg_or_short_operand
|
||
predicate. Fix up formatting.
|
||
|
||
2016-02-03 Vladimir Makarov <vmakarov@redhat.com>
|
||
Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR target/69461
|
||
* lra-constraints.c (simplify_operand_subreg): Check additionally
|
||
address validity after potential reloading.
|
||
(process_address_1): Check insns validity. In case of failure do
|
||
nothing.
|
||
|
||
2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
PR target/69118
|
||
* config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
|
||
Fix target.
|
||
|
||
2016-02-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* wide-int.cc (canonize_uhwi): New function.
|
||
(wi::divmod_internal): Use it.
|
||
|
||
2016-02-02 James Norris <jnorris@codesourcery.com
|
||
|
||
* gimplify.c (omp_notice_variable): Add usage check.
|
||
|
||
2016-02-02 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
|
||
like LE, GE, LT, GT when emitting relational operator.
|
||
|
||
2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* ira-costs.c (find_costs_and_classes): Add extra argument.
|
||
* target.def (ira_change_pseudo_allocno_class): Add parameter.
|
||
* targhooks.h (ira_change_pseudo_allocno_class): Likewise.
|
||
* targhooks.c (ira_change_pseudo_allocno_class): Likewise.
|
||
* config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
|
||
Add best_class parameter, and return it if not ALL_REGS.
|
||
* config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
|
||
Add parameter.
|
||
* doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
|
||
Update target hook.
|
||
|
||
2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c
|
||
(TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
|
||
(aarch64_ira_change_pseudo_allocno_class): New function.
|
||
|
||
2016-02-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/67032
|
||
* config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
|
||
|
||
2016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
|
||
|
||
* config/avr/avr.c (avr_option_override): Set
|
||
PARAM_ALLOW_STORE_DATA_RACES to 1.
|
||
|
||
2016-02-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69595
|
||
* match.pd: Add range test simplifications to true/false.
|
||
|
||
2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
|
||
* omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
|
||
instead.
|
||
|
||
2016-02-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69606
|
||
* tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
|
||
info on the result before moving a stmt.
|
||
|
||
2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR middle-end/68542
|
||
* config/i386/i386.c (ix86_expand_branch): Add support for conditional
|
||
branch with vector comparison.
|
||
* config/i386/sse.md (VI48_AVX): New mode iterator.
|
||
(define_expand "cbranch<mode>4): Add support for conditional branch
|
||
with vector comparison.
|
||
* tree-vect-loop.c (optimize_mask_stores): New function.
|
||
* tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
|
||
has_mask_store field of vect_info.
|
||
* tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
|
||
vectorized loops having masked stores after vec_info destroy.
|
||
* tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
|
||
correspondent macros.
|
||
(optimize_mask_stores): Add prototype.
|
||
|
||
2016-02-02 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/69548
|
||
* config/rs6000/predicates.md (quad_int_reg_operand): Don't
|
||
allow subregs.
|
||
|
||
2016-02-02 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/68662
|
||
* config/rs6000/rs6000.c (need_toc_init): New var, set it
|
||
whenever toc_label_name used.
|
||
(rs6000_file_start): Don't set up toc section here,
|
||
(rs6000_output_function_epilogue): do so here instead,
|
||
(rs6000_xcoff_file_start): and here.
|
||
* config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
|
||
(load_toc_aix_di): Likewise.
|
||
|
||
2016-02-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/69592
|
||
* rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
|
||
(cached_nonzero_bits): Use it instead of ARITHMETIC_P.
|
||
(num_sign_bit_copies_binary_arith_p): New inline function.
|
||
(cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
|
||
|
||
2016-02-01 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69580
|
||
* params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
|
||
* tree-ssa-threadbackward.c
|
||
(fsm_find_control_statement_thread_paths): Do not try to walk
|
||
through large PHI nodes.
|
||
|
||
2016-02-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
|
||
when count is incremented above limit, don't analyze further
|
||
insns afterwards.
|
||
|
||
* omp-low.c (oacc_parse_default_dims): Avoid
|
||
-Wsign-compare warning, make sure value fits into int
|
||
rather than just unsigned int.
|
||
|
||
2016-02-01 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/67921
|
||
* fold-const.c (split_tree): New parameters. Convert pointer
|
||
type variable part to proper type before negating.
|
||
(fold_binary_loc): Pass new arguments to split_tree.
|
||
|
||
2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
|
||
(nvptx_goacc_validate_dims): Extend to handle global defaults.
|
||
* target.def (OACC_VALIDATE_DIMS): Extend documentation.
|
||
* doc/tm.texti: Rebuilt.
|
||
* doc/invoke.texi (fopenacc-dim): Document.
|
||
* lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
|
||
(append_compiler_options): Likewise.
|
||
* omp-low.c (oacc_default_dims, oacc_min_dims): New.
|
||
(oacc_parse_default_dims): New.
|
||
(oacc_validate_dims): Add USED arg. Select non-unity default when
|
||
possible.
|
||
(oacc_loop_fixed_partitions): Return mask of used partitions.
|
||
(oacc_loop_auto_partitions): Emit dump info.
|
||
(oacc_loop_partition): Return mask of used partitions.
|
||
(execute_oacc_device_lower): Parse default dimension arg. Adjust
|
||
loop partitioning and validation calls.
|
||
|
||
2016-02-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69556
|
||
* match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
|
||
|
||
2016-02-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69574
|
||
* tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
|
||
of asserting return chrec_dont_know.
|
||
|
||
2016-02-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* mem-stats-traits.h: Add copyright header.
|
||
* mem-stats.h: Likewise.
|
||
|
||
2016-02-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69579
|
||
* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
|
||
Do not propagate through abnormal PHI results.
|
||
|
||
2016-02-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* postreload.c (reload_cse_simplify): Remove dead code.
|
||
|
||
2016-02-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/69570
|
||
* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
|
||
if there is more than one set, not if there is a single set.
|
||
|
||
2016-02-01 Richard Henderson <rth@redhat.com>
|
||
|
||
PR rtl-opt/69535
|
||
* combine.c (make_compound_operation): When looking through a
|
||
subreg, make sure to re-extend to the width of the outer mode.
|
||
|
||
2016-01-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69546
|
||
* wide-int.cc (wi::divmod_internal): For unsigned division
|
||
where both operands fit into uhwi, if o1 is 1 and o0 has
|
||
msb set, if divident_prec is larger than bits per hwi,
|
||
clear another quotient word and return 2 instead of 1.
|
||
Similarly for remainder with msb in HWI set, if dividend_prec
|
||
is larger than bits per hwi.
|
||
|
||
2016-01-29 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
|
||
Use short lowercase names.
|
||
(get_memory_order): Mask with MEMMODEL_BASE_MASK. Support
|
||
MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
|
||
acq_rel one. Protect warning agains segfaults if
|
||
get_memory_order_name returns NULL.
|
||
(gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
|
||
with release semantics. Do not warn if get_memory_order already did.
|
||
(gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
|
||
semantics. Fix check for relaxed or acquire semantics. Do not warn
|
||
if get_memory_order already did.
|
||
|
||
2016-01-29 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* doc/install.texi: Document that isl-0.16 is supported.
|
||
|
||
2016-01-29 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/69299
|
||
* config/i386/constraints.md (Bm): Describe as special memory
|
||
constraint.
|
||
* doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
|
||
* genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
|
||
* genpreds.c (struct constraint_data): Add is_special_memory.
|
||
(have_special_memory_constraints, special_memory_start): New
|
||
static vars.
|
||
(special_memory_end): Ditto.
|
||
(add_constraint): Add new arg is_special_memory. Add code to
|
||
process its true value. Update have_special_memory_constraints.
|
||
(process_define_constraint): Pass the new arg.
|
||
(process_define_register_constraint): Ditto.
|
||
(choose_enum_order): Process special memory.
|
||
(write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
|
||
function insn_extra_special_memory_constraint.
|
||
(main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
|
||
* gensupport.c (process_rtx): Process
|
||
DEFINE_SPECIAL_MEMORY_CONSTRAINT.
|
||
* ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
|
||
* ira-lives.c (single_reg_class): Use
|
||
insn_extra_special_memory_constraint.
|
||
* ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
|
||
* lra-constraints.c (process_alt_operands): Ditto.
|
||
(curr_insn_transform): Use insn_extra_special_memory_constraint.
|
||
* recog.c (asm_operand_ok, preprocess_constraints): Process
|
||
CT_SPECIAL_MEMORY.
|
||
* reload.c (find_reloads): Ditto.
|
||
* rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
|
||
* stmt.c (parse_input_constraint): Use
|
||
insn_extra_special_memory_constraint.
|
||
|
||
2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/69530
|
||
* lra-splill.c (lra_final_code_change): Revert r229087 by
|
||
removing all sub-registers.
|
||
|
||
2016-01-29 Steve Ellcey <sellcey@imgtec.com>
|
||
|
||
PR target/65604
|
||
* config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
|
||
|
||
2016-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69551
|
||
* config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
|
||
SSE1, copy target into the temporary reg first before recursing
|
||
on it.
|
||
|
||
2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
|
||
with vm.
|
||
|
||
2016-01-29 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* ginclude/stdarg.h: Test __cplusplus instead of
|
||
__GXX_EXPERIMENTAL_CXX0X__.
|
||
|
||
2016-01-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69547
|
||
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
|
||
Do not mark clobbers necessary.
|
||
(mark_all_reaching_defs_necessary_1): Likewise.
|
||
|
||
2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
|
||
declaration name with %qs and print it in both error messages.
|
||
Also fix indentation.
|
||
|
||
2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
PR other/69006
|
||
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
|
||
trailing blank line from error message.
|
||
|
||
2016-01-29 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR c++/69462
|
||
* ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
|
||
for C++-11.
|
||
|
||
2016-01-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69537
|
||
* match.pd: Allow all integral types when simplifying a
|
||
widening or sign-changing conversion.
|
||
|
||
2016-01-28 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
|
||
back to setting codegen_error to fail codegen.
|
||
|
||
2016-01-28 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/69459
|
||
* config/i386/constraints.md (C): Only accept constant zero operand.
|
||
(BC): New constraint.
|
||
* config/i386/sse.md (*mov<mode>_internal): Use BC constraint
|
||
instead of C constraint.
|
||
* doc/md.texi (Machine Constraints): Update description
|
||
of C constraint.
|
||
|
||
2016-01-28 Steve Ellcey <sellcey@imgtec.com>
|
||
|
||
PR target/68400
|
||
* config/mips/mips.c (and_operands_ok): Add MIPS16 check.
|
||
|
||
2016-01-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/69542
|
||
* lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
|
||
non-debug insns.
|
||
|
||
2016-01-28 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (output_cbranch): Don't statically predict
|
||
branches if using guessed profile.
|
||
|
||
2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* graphite-optimize-isl.c (optimize_isl): Fix dump.
|
||
|
||
2016-01-28 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/69305
|
||
* config/aarch64/aarch64-modes.def (CC_Cmode): New
|
||
* config/aarch64/aarch64-protos.h: Update.
|
||
* config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
|
||
(aarch64_select_cc_mode): Add check for use of CC_Cmode.
|
||
(aarch64_get_condition_code_1): Handle CC_Cmode.
|
||
* config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
|
||
(*add<mode>3_compareC_cconly_imm): New.
|
||
(*add<mode>3_compareC_cconly): New.
|
||
(*add<mode>3_compareC_imm): New.
|
||
(add<mode>3_compareC): New.
|
||
(add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
|
||
to be first. Use aarch64_carry_operation.
|
||
(*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
|
||
(*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
|
||
(*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
|
||
(subti3): Use subdi3_compare1.
|
||
(*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
|
||
(sub<mode>3_compare1): New.
|
||
(*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
|
||
(*sub<mode>3_carryin): Use aarch64_borrow_operation.
|
||
(*subsi3_carryin_uxtw): Likewise.
|
||
(*ngc<mode>, *ngcsi_uxtw): Likewise.
|
||
(*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
|
||
* config/aarch64/iterators.md (DWI): New.
|
||
* config/aarch64/predicates.md (aarch64_carry_operation): New.
|
||
(aarch64_borrow_operation): New.
|
||
|
||
2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com>
|
||
|
||
* graphite-optimize-isl.c (optimize_isl): Print a different debug
|
||
message when isl does not return a valid schedule.
|
||
|
||
2016-01-28 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
|
||
Remove comments from class declarations: they are already in the code
|
||
close by the defs.
|
||
|
||
2016-01-28 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
|
||
codegen_error_p.
|
||
(ternary_op_to_tree): Same.
|
||
(unary_op_to_tree): Same.
|
||
(nary_op_to_tree): Same.
|
||
(gcc_expression_from_isl_expr_op): Same.
|
||
(gcc_expression_from_isl_expression): Same.
|
||
(graphite_create_new_loop): Same.
|
||
(graphite_create_new_loop_guard): Same.
|
||
(build_iv_mapping): Same.
|
||
(graphite_create_new_guard): Same.
|
||
(translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
|
||
(translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
|
||
|
||
2016-01-28 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
|
||
instead of setting codegen_error to fail codegen.
|
||
|
||
2016-01-28 Jason Merrill <jason@redhat.com>
|
||
|
||
* tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
|
||
|
||
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_if_then_else_costs):
|
||
Remove CONST_INT_P check in CCMP cost calculation.
|
||
|
||
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (generic_vector_cost):
|
||
Set vec_permute_cost.
|
||
(cortexa57_vector_cost): Likewise.
|
||
(exynosm1_vector_cost): Likewise.
|
||
(xgene1_vector_cost): Likewise.
|
||
(aarch64_builtin_vectorization_cost): Use vec_permute_cost.
|
||
* config/aarch64/aarch64-protos.h (cpu_vector_cost):
|
||
Add vec_permute_cost entry.
|
||
|
||
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (ccmp<mode>): Disassemble
|
||
immediate as %1.
|
||
(add<mode>3_compare0): Likewise.
|
||
(addsi3_compare0_uxtw): Likewise.
|
||
(add<mode>3nr_compare0): Likewise.
|
||
(compare_neg<mode>): Likewise.
|
||
(<optab><mode>3): Likewise.
|
||
|
||
2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* tree-vect-stmts.c (vectorizable_comparison): Add
|
||
NULL check for vectype.
|
||
|
||
2016-01-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69466
|
||
* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
|
||
Account for PHIs we couldn't duplicate.
|
||
|
||
2016-01-28 Martin Liska <mliska@suse.cz>
|
||
|
||
PR pch/68758
|
||
* ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
|
||
instead of ENABLE_VALGRIND_CHECKING.
|
||
|
||
2016-01-27 Richard Henderson <rth@redhat.com>
|
||
|
||
PR rtl-opt/69447
|
||
* lra-remat.c (subreg_regs): New.
|
||
(dump_candidates_and_remat_bb_data): Dump it.
|
||
(operand_to_remat): Reject if operand in subreg_regs.
|
||
(set_bb_regs): Collect subreg_regs.
|
||
(lra_remat): Init and free subreg_regs. Compute
|
||
calculate_local_reg_remat_bb_data before create_cands.
|
||
|
||
2016-01-27 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68986
|
||
* config/i386/i386.c (ix86_update_stack_boundary): Don't
|
||
change stack_alignment_needed for __tls_get_addr call.
|
||
|
||
2016-01-27 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
|
||
|
||
2016-01-27 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/68398
|
||
PR tree-optimization/69196
|
||
* params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
|
||
(PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
|
||
Only count PHIs in the last block in the path. The others will
|
||
const/copy propagate away. Add heuristic to allow more irreducible
|
||
subloops to be created when it is likely profitable to do so.
|
||
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
|
||
Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL
|
||
check from within the loop. Use gsi_next_nondebug rather than gsi_next.
|
||
|
||
2016-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/69254
|
||
* sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
|
||
END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
|
||
* asan.c (DEF_BUILTIN_STUB): Temporarily define.
|
||
* tree-streamer-in.c: Include asan.h.
|
||
(streamer_get_builtin_tree): For builtins in sanitizer
|
||
range call initialize_sanitizer_builtins and retry.
|
||
|
||
2016-01-27 Ian Lance Taylor <iant@google.com>
|
||
|
||
* common.opt (fkeep-gc-roots-live): New undocumented option.
|
||
* tree-ssa-loop-ivopts.c (add_candidate_1): If
|
||
-fkeep-gc-roots-live, skip pointers.
|
||
(add_iv_candidate_for_biv): Handle add_candidate_1 returning
|
||
NULL.
|
||
|
||
2016-01-27 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/69512
|
||
* config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
|
||
(*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
|
||
|
||
2016-01-27 Thomas Klausner <wiz@NetBSD.org>
|
||
|
||
PR target/68380
|
||
* configure.ac: NetBSD provides SSP in its C library.
|
||
* configure: Updated.
|
||
|
||
2016-01-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69166
|
||
* tree-vect-loop.c (vect_is_simple_reduction): Always check
|
||
reduction code for commutativity / associativity.
|
||
|
||
2016-01-27 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/69355
|
||
* tree-sra.c (analyze_access_subtree): Correct hole detection when
|
||
total_scalarization fails.
|
||
|
||
2016-01-27 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* config/rs6000/driver-rs6000.c (detect_processor_aix): Add
|
||
power9.
|
||
|
||
2016-01-27 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/69245
|
||
* config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
|
||
Move arm_reset_previous_fndecl and set_target_option_current_node in
|
||
the conditional part. Call save_restore_target_globals.
|
||
* config/arm/arm.c (arm_set_current_function):
|
||
Refactor to better support #pragma target and attribute mix.
|
||
Call save_restore_target_globals.
|
||
* config/arm/arm-protos.h (save_restore_target_globals): New function.
|
||
|
||
2016-01-27 Martin Liska <mliska@suse.cz>
|
||
|
||
* hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
|
||
reference for an HSA kernel and its host function.
|
||
|
||
2016-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69399
|
||
* wide-int.h (wi::lrshift): For larger precisions, only
|
||
use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
|
||
|
||
2016-01-27 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/predicates.md (proper_comparison_operator): Reject
|
||
constant-constant comparison.
|
||
|
||
2016-01-26 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69110
|
||
* tree-data-ref.c (initialize_data_dependence_relation): Handle
|
||
DR_NUM_DIMENSIONS == 0.
|
||
|
||
2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
|
||
isl_ast_op_cond and isl_ast_op_select.
|
||
(gcc_expression_from_isl_expr_op): Same.
|
||
|
||
2016-01-26 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/68782
|
||
* tree.c (recompute_constructor_flags): Split out from
|
||
build_constructor.
|
||
(verify_constructor_flags): New.
|
||
* tree.h: Declare them.
|
||
|
||
2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR rtl-optimization/69217
|
||
* var-tracking.c (tracked_record_parameter_p): Don't segfault if there
|
||
are no TYPE_FIELDS set for the record type.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/68662
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
|
||
toc_label_name unconditionally.
|
||
(rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
|
||
SYMBOL_REF string. Use toc_label_name instead of constructing
|
||
LCTOC1.
|
||
(rs6000_elf_declare_function_name): Use toc_label_name instead of
|
||
constructing LCTOC1.
|
||
|
||
2016-01-26 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR other/69477
|
||
* doc/extend.texi (Common Type Attributes): Move text that talks about
|
||
attribute packed from attribute aligned to the section discussing
|
||
the former attribute for clarity.
|
||
|
||
2016-01-26 Richard Henderson <rth@redhat.com>
|
||
|
||
PR middle-end/60908
|
||
* trans-mem.c (tm_region_init): Mark entry block as visited.
|
||
|
||
2016-01-26 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR other/69006
|
||
* diagnostic-show-locus.c (layout::print_source_line): Replace
|
||
call to pp_newline with call to layout::print_newline.
|
||
(layout::print_annotation_line): Likewise.
|
||
(layout::move_to_column): Likewise.
|
||
(layout::print_any_fixits): After printing any fixits, print a
|
||
trailing newline, if necessary.
|
||
(layout::print_newline): New method, resetting any colorization
|
||
before a newline.
|
||
(diagnostic_show_locus): Move the pp_newline to before the
|
||
early bailout. Remove dummy block enclosing the layout instance.
|
||
* diagnostic.c (default_diagnostic_finalizer): Replace invocation
|
||
of pp_newline_and_flush with pp_flush.
|
||
(diagnostic_append_note): Delete use of pp_newline.
|
||
(diagnostic_append_note_at_rich_loc): Delete.
|
||
* diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
|
||
* pretty-print.h (output_buffer_append_r): Reset buff->line_length
|
||
when newline characters are added to the buffer.
|
||
|
||
2016-01-26 Michael Matz <matz@suse.de>
|
||
|
||
* configure.ac (ac_cv_std_swap_in_utility): New test.
|
||
* system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
|
||
* configure: Regenerate.
|
||
* config.in: Regenerate.
|
||
|
||
2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.md (cstoresi4): Force operand into register.
|
||
(arcset<code>): Fix predicate.
|
||
(arcsetltu): Likewise.
|
||
(arcsetgeu): Likewise.
|
||
(arcsethi): Likewise.
|
||
(arcsetls): Likewise.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69483
|
||
* gimple-fold.c (canonicalize_constructor_val): Return NULL
|
||
if base has error_mark_node type.
|
||
|
||
2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
PR target/68620
|
||
* config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
|
||
* config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
|
||
New helper macros.
|
||
(vget_lane_f16): Handle big-endian.
|
||
(vgetq_lane_f16): Likewise.
|
||
(vset_lane_f16): Likewise.
|
||
(vsetq_lane_f16): Likewise.
|
||
* config/arm/iterators.md (VQXMOV): Add V8HF.
|
||
(VDQ): Add V4HF and V8HF.
|
||
(V_reg): Handle V4HF and V8HF.
|
||
(Is_float_mode): Likewise.
|
||
* config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
|
||
neon_vdup_nv8hf): New patterns.
|
||
(vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
|
||
Use VD_LANE iterator.
|
||
(neon_vld1_dup<mode>): Use VQ2 iterator.
|
||
|
||
2016-01-26 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* omp-low.h (oacc_fn_attrib_kernels_p): Declare.
|
||
(set_oacc_fn_attrib): Add IS_KERNEL arg.
|
||
* omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
|
||
(oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
|
||
(expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
|
||
(oacc_validate_dims): Add LEVEL arg, don't return level.
|
||
(new_oacc_loop_routine): Use oacc_fn_attrib_level, not
|
||
oacc_validate_dims.
|
||
(execute_oacc_device_lower): Adjust, add more dump output.
|
||
* tree-ssa-loop.c (gate_oacc_kernels): Use
|
||
oacc_fn_attrib_kernels_p.
|
||
* tree-parloops.c (create_parallel_loop): Adjust
|
||
set_oacc_fn_attrib call.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/69254
|
||
* lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
|
||
(append_compiler_options): Handle -fcilkplus.
|
||
(append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
|
||
|
||
2016-01-26 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/66655
|
||
* config/i386/winnt.c (i386_pe_binds_local_p): If a function has
|
||
been marked as DECL_ONE_ONLY but we do not the means to make it
|
||
so, then do not allow it to bind locally.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/69254
|
||
* opts.h (parse_sanitizer_options): New prototype.
|
||
* opts.c (sanitizer_opts): New array.
|
||
(parse_sanitizer_options): New function.
|
||
(common_handle_option): Use parse_sanitizer_options.
|
||
|
||
2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68986
|
||
* config/i386/i386.c (ix86_compute_frame_layout): Move stack
|
||
alignment adjustment to ...
|
||
(ix86_update_stack_boundary): Here. Don't over-align stack for
|
||
__tls_get_addr.
|
||
(ix86_finalize_stack_realign_flags): Use stack_alignment_needed
|
||
if __tls_get_addr is called.
|
||
|
||
2016-01-26 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
|
||
|
||
2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
|
||
|
||
2016-01-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69467
|
||
* match.pd: Guard X * CST CMP 0 pattern with single_use.
|
||
|
||
2016-01-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69452
|
||
* tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
|
||
(move_computations_dom_walker::before_dom_children): Rename
|
||
to ...
|
||
(move_computations_worker): This.
|
||
(move_computations): Perform an RPO rather than a DOM walk.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69442
|
||
* combine.c (combine_instructions): For REG_EQUAL note with
|
||
SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
|
||
to the underlying register.
|
||
* doc/rtl.texi (REG_EQUAL): Document the behavior of
|
||
REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
|
||
|
||
2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com>
|
||
|
||
PR target/67896
|
||
* config/aarch64/aarch64-builtins.c
|
||
(aarch64_init_simd_builtin_types): Do not set structural
|
||
equality to __Poly{8,16,64,128}_t types.
|
||
|
||
2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/69400
|
||
* wide-int.cc (wi_pack): Take the precision as argument and
|
||
perform canonicalization here rather than in the callers.
|
||
Use the main loop to handle all full-width HWIs. Add a
|
||
zero HWI if in_len isn't a full result.
|
||
(wi::divmod_internal): Update accordingly.
|
||
(wi::mul_internal): Likewise. Simplify.
|
||
|
||
2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-poly.c (apply_poly_transforms): Simplify.
|
||
(print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
|
||
(print_isl_map): Same.
|
||
(print_isl_union_map): Same.
|
||
(print_isl_schedule): New.
|
||
(debug_isl_schedule): New.
|
||
* graphite-dependences.c (scop_get_reads): Do not call
|
||
isl_union_map_add_map that is undocumented isl functionality.
|
||
(scop_get_must_writes): Same.
|
||
(scop_get_may_writes): Same.
|
||
(scop_get_original_schedule): Remove.
|
||
(scop_get_dependences): Do not call isl_union_map_compute_flow that
|
||
is deprecated in isl 0.15. Instead, use isl_union_access_* interface.
|
||
(compute_deps): Remove.
|
||
* graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
|
||
(debug_schedule_ast): New.
|
||
(translate_isl_ast_to_gimple::scop_to_isl_ast): Call
|
||
set_separate_option.
|
||
(graphite_regenerate_ast_isl): Add dump.
|
||
(translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
|
||
from scop->transformed_schedule.
|
||
(graphite_regenerate_ast_isl): Add more dump.
|
||
* graphite-optimize-isl.c (optimize_isl): Set
|
||
scop->transformed_schedule. Check whether schedules are equal.
|
||
(apply_poly_transforms): Move here.
|
||
* graphite-poly.c (apply_poly_transforms): ... from here.
|
||
(free_poly_bb): Static.
|
||
(free_scop): Static.
|
||
(pbb_number_of_iterations_at_time): Remove.
|
||
(print_isl_ast): New.
|
||
(debug_isl_ast): New.
|
||
(debug_scop_pbb): New.
|
||
* graphite-scop-detection.c (print_edge): Move.
|
||
(print_sese): Move.
|
||
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
|
||
(build_scop_scattering): Remove.
|
||
(create_pw_aff_from_tree): Assert instead of bailing out.
|
||
(add_condition_to_pbb): Remove unused code, do not fail.
|
||
(add_conditions_to_domain): Same.
|
||
(add_conditions_to_constraints): Remove.
|
||
(build_scop_context): New.
|
||
(add_iter_domain_dimension): New.
|
||
(build_iteration_domains): Initialize pbb->iterators.
|
||
Call add_conditions_to_domain.
|
||
(nested_in): New.
|
||
(loop_at): New.
|
||
(index_outermost_in_loop): New.
|
||
(index_pbb_in_loop): New.
|
||
(outermost_pbb_in): New.
|
||
(add_in_sequence): New.
|
||
(add_outer_projection): New.
|
||
(outer_projection_mupa): New.
|
||
(add_loop_schedule): New.
|
||
(build_schedule_pbb): New.
|
||
(build_schedule_loop): New.
|
||
(embed_in_surrounding_loops): New.
|
||
(build_schedule_loop_nest): New.
|
||
(build_original_schedule): New.
|
||
(build_poly_scop): Call build_original_schedule.
|
||
* graphite.h: Declare print_isl_schedule and debug_isl_schedule.
|
||
(free_poly_dr): Remove.
|
||
(struct poly_bb): Add iterators. Remove schedule, transformed, saved.
|
||
(free_poly_bb): Remove.
|
||
(debug_loop_vec): Remove.
|
||
(print_isl_ast): Declare.
|
||
(debug_isl_ast): Declare.
|
||
(scop_do_interchange): Remove.
|
||
(scop_do_strip_mine): Remove.
|
||
(scop_do_block): Remove.
|
||
(flatten_all_loops): Remove.
|
||
(optimize_isl): Remove.
|
||
(pbb_number_of_iterations_at_time): Remove.
|
||
(debug_scop_pbb): Declare.
|
||
(print_schedule_ast): Declare.
|
||
(debug_schedule_ast): Declare.
|
||
(struct scop): Remove schedule. Add original_schedule,
|
||
transformed_schedule.
|
||
(free_gimple_poly_bb): Remove.
|
||
(print_generated_program): Remove.
|
||
(debug_generated_program): Remove.
|
||
(unify_scattering_dimensions): Remove.
|
||
* sese.c (print_edge): ... here.
|
||
(print_sese): ... here.
|
||
(debug_edge): ... here.
|
||
(debug_sese): ... here.
|
||
* sese.h (print_edge): Declare.
|
||
(print_sese): Declare.
|
||
(dump_edge): Declare.
|
||
(dump_sese): Declare.
|
||
|
||
2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* Makefile.in: Set ISLVER in site.exp.
|
||
|
||
2016-01-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
|
||
DECL_VALUE_EXPR of new_var even for the non-array case. Look
|
||
through DECL_VALUE_EXPR for expansion.
|
||
|
||
2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* config/mips/mips.c (mips_compute_frame_info): Skip re-computing
|
||
the frame info after reload completed.
|
||
|
||
2016-01-25 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69196
|
||
PR tree-optimization/68398
|
||
* tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
|
||
tree-ssa-threadupdate.c.
|
||
(determine_bb_domination_status): Prototype
|
||
* tree-ssa-threadupdate.c (enum bb_dom_status): Remove
|
||
(determine_bb_domination_status): No longer static.
|
||
(valid_jump_thread_path): Remove code to detect characteristics
|
||
of the jump thread path not associated with correctness.
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
|
||
Correct test for thread path length. Count PHIs for real operands as
|
||
statements that need to be copied. Do not count ASSERT_EXPRs.
|
||
Look at all the blocks in the thread path. Compute and selectively
|
||
filter thread paths based on threading through the latch, threading
|
||
a multiway branch or crossing a multiway branch.
|
||
|
||
2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add
|
||
decl with __attribute__ ((unused)) annotation.
|
||
|
||
2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/69421
|
||
* tree-vect-stmts.c (vectorizable_condition): Check vectype
|
||
of operands is compatible with a statement vectype.
|
||
|
||
2016-01-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/extend.texi (scalar_storage_order type attribute): Fix typo and
|
||
improve wording for mixed storage order support.
|
||
|
||
2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com>
|
||
|
||
* config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
|
||
(vcvt_u64_f64): Likewise.
|
||
(vcvta_s64_f64): Likewise.
|
||
(vcvta_u64_f64): Likewise.
|
||
(vcvtm_s64_f64): Likewise.
|
||
(vcvtm_u64_f64): Likewise.
|
||
(vcvtn_s64_f64): Likewise.
|
||
(vcvtn_u64_f64): Likewise.
|
||
(vcvtp_s64_f64): Likewise.
|
||
(vcvtp_u64_f64): Likewise.
|
||
|
||
2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
|
||
(arc_init): Check validity mll64 option.
|
||
(arc_save_restore): Use double load/store instruction.
|
||
(arc_expand_movmem): Likewise.
|
||
(arc_split_move): Don't split if we have double load/store
|
||
instructions. Returns a boolean.
|
||
(arc_process_double_reg_moves): Change function to return boolean
|
||
instead of a sequence of instructions.
|
||
(arc_dwarf_register_span): New function.
|
||
* config/arc/arc-protos.h (arc_split_move): Change prototype.
|
||
* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
|
||
* config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
|
||
(*movdf_insn): Likewise.
|
||
* config/arc/arc.opt (mll64): New option.
|
||
* config/arc/predicates.md (even_register_operand): New predicate.
|
||
* doc/invoke.texi (ARC Options): Add mll64 documentation.
|
||
|
||
2016-01-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/69393
|
||
* dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
|
||
* tree-streamer-out.c (pack_ts_base_value_fields): Stream
|
||
DECL_NAMELESS.
|
||
* tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
|
||
|
||
2016-01-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69376
|
||
* tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
|
||
flag.
|
||
(VN_INFO_ANTI_RANGE_P): New inline.
|
||
(VN_INFO_RANGE_TYPE): Likewise.
|
||
* tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
|
||
SSA_NAME_ANTI_RANGE_P.
|
||
(free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
|
||
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
|
||
Properly query VN_INFO_RANGE_TYPE.
|
||
|
||
2016-01-25 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/66655
|
||
* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
|
||
|
||
2016-01-23 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69426
|
||
* tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
|
||
removed clobber.
|
||
|
||
2016-01-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-ssanames.c (release_free_names_and_compact_live_names): Replace
|
||
"the the" with "the" in the comments.
|
||
* ipa-devirt.c (build_type_inheritance_graph,
|
||
update_type_inheritance_graph): Likewise.
|
||
* tree.c (build_function_type_list_1): Likewise.
|
||
* cfgloopmanip.c (scale_loop_profile): Likewise.
|
||
* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
|
||
* gimple-ssa-split-paths.c
|
||
(find_block_to_duplicate_for_splitting_paths): Likewise.
|
||
* tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
|
||
* expr.c (convert_move): Likewise.
|
||
* var-tracking.c (vt_stack_adjustments): Likewise.
|
||
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
|
||
* tree-vrp.c (test_for_singularity): Likewise.
|
||
|
||
* tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
|
||
directly instead of building a temporary tree.
|
||
|
||
PR bootstrap/69434
|
||
* genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
|
||
remove <algorithm> include.
|
||
|
||
2016-01-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69432
|
||
* config/i386/i386.c: Include dojump.h.
|
||
(expand_small_movmem_or_setmem,
|
||
expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
|
||
fixes.
|
||
(ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
|
||
if dynamic_check != -1.
|
||
|
||
2016-01-21 Jeff Law <law@redhat.com>
|
||
|
||
PR middle-end/69347
|
||
* tree-ssa-dom.c (back_propagate_equivalences): Factored out of
|
||
record_temporary_equivalences. Rewritten to avoid unnecessary calls
|
||
into dominated_by_p.
|
||
(cprop_into_successor_phis): Avoid unnecessary tests.
|
||
|
||
2016-01-22 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/69416
|
||
* config/aarch64/aarch64.md (UNSPEC_NZCV): New.
|
||
(ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
|
||
|
||
2016-01-22 Michael Matz <matz@suse.de>
|
||
|
||
* system.h (string, algorithm): Include only conditionally.
|
||
(new): Include always under C++.
|
||
* bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
|
||
* final.c (toplevel): Ditto.
|
||
* ipa-chkp.c (toplevel): Define INCLUDE_STRING.
|
||
* genconditions.c (write_header): Make gencondmd.c define
|
||
INCLUDE_STRING.
|
||
* mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
|
||
|
||
* config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
|
||
* common/config/aarch64/aarch64-common.c (toplevel): Ditto.
|
||
|
||
2016-01-22 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/68674
|
||
* expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
|
||
|
||
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.
|
||
|
||
2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
* ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
|
||
|
||
2016-01-22 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* config/arm/arm-c.c (arm_pragma_target_parse):
|
||
Remove warn_builtin_macro_redefined overwrite.
|
||
|
||
2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* ipa-inline.c (can_inline_edge_p): Back out overzealous check on
|
||
flag_non_call_exceptions compatibility.
|
||
|
||
2016-01-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/66668
|
||
* dwarf2out.c (add_child_die_after): New function.
|
||
(dwarf_qual_info_t): New type.
|
||
(dwarf_qual_info): New variable.
|
||
(qualified_die_p): New function.
|
||
(modified_type_die): For -fdebug-types-section, ensure
|
||
canonical order of qualifiers. Put qualified DIEs adjacent
|
||
to the corresponding non-qualified type DIE and search there
|
||
for existing qualified DIEs.
|
||
|
||
2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/extend.texi (scalar_storage_order type attribute): Document
|
||
restriction on type punning and aliasing, and remove future tense.
|
||
|
||
2016-01-21 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
PR target/69252
|
||
* modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
|
||
first stage.
|
||
|
||
2016-01-21 Jeff Law <law@redhat.com>
|
||
|
||
PR middle-end/69347
|
||
* tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
|
||
useless call to record_temporary_equivalences.
|
||
* tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
|
||
allocate 10 slots in the bb_path vector and let it grow as needed.
|
||
(fsm_find_control_statement_thread_paths): Similarly for the next_path
|
||
vector.
|
||
|
||
2016-01-21 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
|
||
Detangle.
|
||
* configure: Regenerate.
|
||
|
||
2016-01-21 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
* config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
|
||
* config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
|
||
|
||
2016-01-21 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR middle-end/66178
|
||
* expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
|
||
drop EXPAND_INITIALIZER.
|
||
* rtl.h (contains_symbolic_reference_p): Declare.
|
||
* rtlanal.c (contains_symbolic_reference_p): New function.
|
||
* simplify-rtx.c (simplify_binary_operation_1): Don't turn
|
||
a subtraction into a NOT if symbolic constants are involved.
|
||
|
||
2016-01-21 Anton Blanchard <anton@samba.org>
|
||
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/63354
|
||
* config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
|
||
#define.
|
||
* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
|
||
function.
|
||
|
||
2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
|
||
|
||
* config/microblaze/microblaze.c
|
||
(get_branch_target): New.
|
||
(insert_wic_for_ilb_runout): New.
|
||
(insert_wic): New.
|
||
(microblaze_machine_dependent_reorg): New.
|
||
(TARGET_MACHINE_DEPENDENT_REORG): Define macro.
|
||
* config/microblaze/microblaze.md
|
||
(UNSPEC_IPREFETCH): Define.
|
||
(iprefetch): New pattern
|
||
* config/microblaze/microblaze.opt
|
||
(mxl-prefetch): New flag.
|
||
|
||
2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
|
||
|
||
* config/microblaze/microblaze.h
|
||
(FIXED_REGISTERS): Update in macro.
|
||
(CALL_USED_REGISTERS): Update in macro.
|
||
|
||
2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR rtl-optimization/68920
|
||
* ifcvt.c (cond_move_process_if_block): Limit number of conditional
|
||
moves.
|
||
|
||
2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/68990
|
||
* lra-coalesce.c (lra_coalesce): Invalidate value for the result
|
||
pseudo instead of inheritance ones.
|
||
|
||
2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/69129
|
||
PR target/69012
|
||
* config/mips/mips.c (mips_compute_frame_info): Initialise
|
||
args_size and hard_frame_pointer_offset fields of the frame
|
||
structure before calling mips_global_pointer.
|
||
|
||
2016-01-21 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
|
||
label reference.
|
||
* configure: Regenerate.
|
||
|
||
2016-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
* graphite-optimize-isl.c (get_schedule_map): Fix typo.
|
||
|
||
2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
|
||
|
||
* config/s390/s390.c (s390_asm_declare_function_size): Add code
|
||
to actually emit the .size directive.
|
||
|
||
2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69187
|
||
PR target/65624
|
||
* config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
|
||
args array size by one to avoid buffer overflow.
|
||
|
||
2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
|
||
|
||
* config/s390/s390.md (pool_section_start): Use switch_to_section
|
||
to select proper read-only data section instead of hardcoding
|
||
.rodata.
|
||
(pool_section_end): Use switch_to_section to match the above.
|
||
|
||
2016-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69378
|
||
* tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
|
||
(set_ssa_val_to): Use it for dominance checks taking into
|
||
account not executable edges.
|
||
|
||
2016-01-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/69355
|
||
* tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
|
||
for bitsize instead of GET_MODE_PRECISION (mode).
|
||
|
||
2016-01-20 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/52291
|
||
* extend.texi (__sync Builtins): Clarify the semantics of
|
||
__sync_fetch_and_OP built-ins on pointers.
|
||
(__atomic Builtins): Same.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
|
||
(class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
|
||
(is_valid_rename): Same.
|
||
(translate_isl_ast_to_gimple::get_rename): Same.
|
||
(translate_isl_ast_to_gimple::rename_all_uses): Same.
|
||
(translate_isl_ast_to_gimple::rename_uses): Same.
|
||
(get_new_name): Check for close_phi nodes.
|
||
(copy_loop_phi_args): Use phi_node_kind.
|
||
(translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
|
||
(translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
Revert commit r229783.
|
||
* graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
|
||
Remove use of parameter_rename_map.
|
||
(copy_def): Remove.
|
||
(copy_internal_parameters): Remove.
|
||
(graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
|
||
* sese.c (new_sese_info): Do not initialize parameter_rename_map.
|
||
(free_sese_info): Do not free parameter_rename_map.
|
||
(set_rename): Do not use parameter_rename_map.
|
||
(rename_uses): Update call to set_rename.
|
||
(graphite_copy_stmts_from_block): Do not use parameter_rename_map.
|
||
* sese.h (parameter_rename_map_t): Remove.
|
||
(struct sese_info_t): Remove field parameter_rename_map.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c: Fix comment.
|
||
* graphite-scop-detection.c (defined_in_loop_p): New.
|
||
(canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
|
||
names defined in loop.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
|
||
Discard unstructured if-then-else regions.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
|
||
(cleanup_loop_iter_dom): Remove.
|
||
(build_loop_iteration_domains): Remove.
|
||
(build_scop_context): Remove.
|
||
(build_scop_iteration_domain): Remove.
|
||
(add_loop_constraints): New.
|
||
(build_iteration_domains): New.
|
||
(build_poly_scop): Call build_iteration_domains.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-scop-detection.c
|
||
(scop_detection::harmful_loop_in_region): Free dom and loops.
|
||
(scop_detection::loop_body_is_valid_scop): Free bbs.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-scop-detection.c (record_loop_in_sese): New.
|
||
(gather_bbs::before_dom_children): Call record_loop_in_sese.
|
||
(build_scops): Remove call to build_sese_loop_nests.
|
||
* sese.c (sese_record_loop): Remove.
|
||
(build_sese_loop_nests): Remove.
|
||
(new_sese_info): Remove region->loops.
|
||
(free_sese_info): Same.
|
||
* sese.h (sese_contains_loop): Same.
|
||
(build_sese_loop_nests): Remove.
|
||
(sese_contains_loop): Remove.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-scop-detection.c (loop_is_valid_scop): Renamed
|
||
loop_is_valid_in_scop.
|
||
(scop_detection::harmful_stmt_in_region): Renamed
|
||
harmful_loop_in_region.
|
||
Call loop_is_valid_in_scop.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
|
||
isl_ast_node_mark.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
|
||
* graphite.h (struct poly_bb): Remove field is_reduction.
|
||
(PBB_IS_REDUCTION): Remove.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
|
||
(add_pdr_constraints): Same.
|
||
(scop_get_reads): Same.
|
||
(scop_get_must_writes): Same.
|
||
(scop_get_may_writes): Same.
|
||
(scop_get_original_schedule): Same.
|
||
(extend_schedule): Same.
|
||
(apply_schedule_on_deps): Same.
|
||
(carries_deps): Same.
|
||
(compute_deps): Same.
|
||
(scop_get_dependences): Same.
|
||
* graphite-isl-ast-to-gimple.c
|
||
(translate_isl_ast_to_gimple::generate_isl_schedule): Same.
|
||
* graphite-optimize-isl.c (get_schedule_for_band): Same.
|
||
(get_schedule_for_band_list): Same.
|
||
(get_schedule_map): Same.
|
||
(apply_schedule_map_to_scop): Same.
|
||
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
|
||
(build_loop_iteration_domains): Same.
|
||
(add_condition_to_pbb): Same.
|
||
(add_param_constraints): Same.
|
||
(pdr_add_memory_accesses): Same.
|
||
(pdr_add_data_dimensions): Same.
|
||
|
||
2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
|
||
requirements.
|
||
|
||
2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* common.opt (feliminate-dwarf2-dups): Replace references to
|
||
"DWARF 2" with just "DWARF".
|
||
* config/ia64/ia64.opt (mdwarf2-asm): Likewise.
|
||
* doc/extend.texi: Likewise.
|
||
* doc/cpp.texi: Likewise.
|
||
* doc/invoke.texi: Likewise.
|
||
(Option Summary): Add -gdwarf to list of Debugging Options.
|
||
(Debugging Options): Document -gdwarf.
|
||
* doc/contrib.texi: Spell "DWARF" like that.
|
||
|
||
2016-01-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
|
||
warning. Fix up formatting.
|
||
|
||
PR middle-end/67653
|
||
* gimplify.c (gimplify_asm_expr): Warn if it is too late to
|
||
attempt to mark memory input operand addressable and
|
||
call prepare_gimple_addressable in that case. Don't adjust
|
||
input_location for diagnostics, use error_at instead.
|
||
|
||
2016-01-20 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
* config/rs6000/ppc-auxv.h: New file.
|
||
* config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
|
||
(cpu_is): Likewise.
|
||
(cpu_supports): Likewise.
|
||
* config/rs6000/rs6000.c: include "ppc-auxv.h".
|
||
(cpu_is_info): New variable.
|
||
(cpu_supports_info): Likewise.
|
||
(tcb_verification_symbol): Likewise.
|
||
(cpu_builtin_p): Likewise.
|
||
(cpu_expand_builtin): New function.
|
||
(rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
|
||
(rs6000_init_builtins): Likewise.
|
||
(rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
|
||
* config/rs6000/rs6000.h (TLS_REGNUM): New define.
|
||
* configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
|
||
* configure: Regenerate.
|
||
* config.in: Likewise.
|
||
* doc/extend.texi (PowerPC Built-in Functions): Document
|
||
__builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
|
||
|
||
2016-01-20 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/68609
|
||
* config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
|
||
domain check.
|
||
* config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
|
||
for V4SFmode.
|
||
|
||
2016-01-20 Richard Henderson <rth@redhat.com>
|
||
|
||
PR bootstrap/69343
|
||
PR bootstrap/69339
|
||
PR tree-opt/68964
|
||
Revert:
|
||
* tree.c (tm_define_builtin): New.
|
||
(find_tm_vector_type): New.
|
||
(build_tm_vector_builtins): New.
|
||
(build_common_builtin_nodes): Call it.
|
||
|
||
2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
* doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
|
||
(arm_fp_ok): Likewise.
|
||
(arm_fp): Likewise.
|
||
(arm_crypto): Likewise.
|
||
|
||
2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69328
|
||
* tree-vect-stmts.c (vect_is_simple_cond): Check compared
|
||
vectors have same number of elements.
|
||
(vectorizable_condition): Fix masked version recognition.
|
||
|
||
2016-01-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69345
|
||
* tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
|
||
(VN_INFO_PTR_INFO): Likewise.
|
||
* tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
|
||
info when it is equal between non-dominating SSA names.
|
||
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
|
||
Make sure to look at original SSA infos.
|
||
|
||
2016-01-20 Jeff Law <law@redhat.com>
|
||
|
||
PR target/25114
|
||
* config/m68k/predicates.md (pow2_m1_operand): New predicate
|
||
extracted from ...
|
||
(reg_or_pow2_m1_operand): Call pow2_m1_operand.
|
||
(pc_or_label_operand): New predicate.
|
||
* config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
|
||
tests for small integers that are 2^n - 1.
|
||
|
||
2016-01-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (Options Summary): Add '.' after @xref.
|
||
|
||
2016-01-19 Jeff Law <law@redhat.com>
|
||
|
||
PR middle-end/69347
|
||
* tree-ssa-threadbackwards.c
|
||
(fsm_find_control_statement_thread_paths): Do not try to lookup
|
||
FSM paths for SSA_NAMEs appearing in abnormal PHIs.
|
||
|
||
2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
* doc/lto.texi: Remove text that says only Gold has linker plugin
|
||
support.
|
||
|
||
2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* dwarf2out.c (need_endianity_attribute_p): New inline predicate.
|
||
(base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
|
||
the DIE accordingly.
|
||
(modified_type_die): Add REVERSE parameter and pass it recursively,
|
||
as well as to base_type_die. Adjust presence check accordingly.
|
||
(base_type_for_mode): Adjust call to modified_type_die.
|
||
(add_type_attribute): Add REVERSE parameter and pass it to
|
||
modified_type_die.
|
||
(generic_parameter_die): Adjust call to add_type_attribute.
|
||
(add_scalar_info): Likewise.
|
||
(add_subscript_info): Likewise.
|
||
(gen_array_type_die): Likewise.
|
||
(gen_descr_array_type_die): Likewise.
|
||
(gen_entry_point_die): Likewise.
|
||
(gen_enumeration_type_die): Likewise.
|
||
(gen_formal_parameter_die): Likewise.
|
||
(gen_subprogram_die): Likewise.
|
||
(gen_variable_die ): Likewise.
|
||
(gen_const_die): Likewise.
|
||
(gen_field_die): Likewise.
|
||
(gen_pointer_type_die): Likewise.
|
||
(gen_reference_type_die): Likewise.
|
||
(gen_ptr_to_mbr_type_die): Likewise.
|
||
(gen_inheritance_die): Likewise.
|
||
(gen_subroutine_type_die): Likewise.
|
||
(gen_typedef_die): Likewise.
|
||
(force_type_die): Adjust call to modified_type_die.
|
||
|
||
2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/standards.texi: Copy-editing for grammar, markup, and sentence
|
||
flow throughout the file. Fix broken link to Objective-C 2.0
|
||
documentation.
|
||
* doc/invoke.texi: More copy-editing; fix numerous typos and spelling
|
||
errors.
|
||
|
||
2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/66223
|
||
* ipa-devirt.c (is_cxa_pure_virtual_p): New function.
|
||
(maybe_record_node): Record cxa_pure_virtual as the only possible
|
||
target if there are not ohter candidates.
|
||
(possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
|
||
|
||
2016-01-19 Richard Biener <rguenther@suse.de>
|
||
|
||
* hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
|
||
(get_memory_order): Likewise.
|
||
|
||
2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
* tree-vect-stmts.c (vectorizable_store): Check
|
||
rhs vectype.
|
||
|
||
2016-01-19 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR jit/68446
|
||
* gcc.c (driver::decode_argv): Add call to
|
||
init_opts_obstack before init_options_struct.
|
||
* opts.c (init_opts_obstack): Remove idempotency.
|
||
(init_options_struct): Replace call to init_opts_obstack
|
||
with a gcc_assert to verify that it has already been called.
|
||
* toplev.c (toplev::main): Add call to init_opts_obstack before
|
||
calls to init_options_struct.
|
||
(toplev::finalize): Move cleanup of opts_obstack next to
|
||
cleanup of save_decoded_options, clearing the latter, and
|
||
save_decoded_options_count.
|
||
|
||
2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/69135
|
||
* config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
|
||
attribute to unconditional. Remove %? from output template.
|
||
|
||
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
|
||
generated from different expand order.
|
||
|
||
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
|
||
Add support for CCMP costing.
|
||
|
||
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
|
||
* config/aarch64/aarch64.md (fccmp<mode>): New pattern.
|
||
(fccmpe<mode>): Likewise.
|
||
(fcmp): Rename to fcmp and globalize pattern.
|
||
(fcmpe): Likewise.
|
||
* config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
|
||
(aarch64_gen_ccmp_next): Add FP support.
|
||
|
||
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* target.def (gen_ccmp_first): Update documentation.
|
||
(gen_ccmp_next): Likewise.
|
||
* doc/tm.texi (gen_ccmp_first): Update documentation.
|
||
(gen_ccmp_next): Likewise.
|
||
* ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
|
||
expand_ccmp_expr_1. Improve comments.
|
||
* config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
|
||
(ccmp_ior<mode>): Remove pattern.
|
||
(cmp<mode>): Remove expand.
|
||
(cmp): Globalize pattern.
|
||
(cstorecc4): Use cc_register.
|
||
(mov<mode>cc): Remove ccmp_cc_register check.
|
||
* config/aarch64/aarch64.c (aarch64_get_condition_code_1):
|
||
Simplify after removal of CC_DNE/* modes.
|
||
(aarch64_ccmp_mode_to_code): Remove.
|
||
(aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
|
||
In 'k' case use integer as condition.
|
||
(aarch64_nzcv_codes): Remove inverted cases.
|
||
(aarch64_code_to_ccmode): Remove.
|
||
(aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
|
||
comparison with CC register to be used in folowing CCMP/branch/CSEL.
|
||
(aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
|
||
pattern. Return the comparison with CC register. Invert conditions
|
||
when bitcode is OR.
|
||
* config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
|
||
* config/aarch64/predicates.md (ccmp_cc_register): Remove.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* cgraphunit.c (cgraph_node::reset): Clear thunk info and
|
||
instrumented_version.
|
||
|
||
2016-01-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69336
|
||
* tree-ssa-scopedtables.c (avail_expr_hash): Handle all
|
||
handled components with get_ref_base_and_extent.
|
||
(equal_mem_array_ref_p): Adjust.
|
||
|
||
2016-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/65779
|
||
* shrink-wrap.c: Include valtrack.h.
|
||
(move_insn_for_shrink_wrap): Add DEBUG argument. If
|
||
MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
|
||
in between insn and where it will be moved to. Call
|
||
dead_debug_insert_temp.
|
||
(prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
|
||
first and dead_debug_local_finish at the end.
|
||
For uses and defs bitmap, handle all regs in between REGNO and
|
||
END_REGNO, not just the first one.
|
||
|
||
2016-01-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69352
|
||
* tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
|
||
(equal_mem_array_ref_p): Constrain size and max size properly.
|
||
Compare the reverse flag.
|
||
|
||
2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
* ira.c (ira): Update regstat data if we deleted insns.
|
||
|
||
2016-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/68955
|
||
PR rtl-optimization/64557
|
||
* dse.c (record_store, check_mem_read_rtx): Don't call get_addr
|
||
here. Fix up formatting.
|
||
* alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/69133
|
||
* cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
|
||
assume that the node has body.
|
||
* cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
|
||
check.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* lto-streamer-out.c (lto_output): Do not stream instrumentation
|
||
thunks.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* symtab.c (symtab_node::asm_name): Do not call printable name directly.
|
||
(symtab_node::name): Report name as unnamed if DECL_NAME is not set.
|
||
|
||
2016-01-19 Martin Jambor <mjambor@suse.cz>
|
||
Martin Liska <mliska@suse.cz>
|
||
Michael Matz <matz@suse.de>
|
||
|
||
* Makefile.in (OBJS): Add new source files.
|
||
(GTFILES): Add hsa.c.
|
||
* common.opt (disable_hsa): New variable.
|
||
(-Whsa): New warning.
|
||
* config.in (ENABLE_HSA): New.
|
||
* configure.ac: Treat hsa differently from other accelerators.
|
||
(OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
|
||
$enable_offloading.
|
||
(ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
|
||
* doc/install.texi (Configuration): Document --with-hsa-runtime,
|
||
--with-hsa-runtime-include, --with-hsa-runtime-lib and
|
||
--with-hsa-kmt-lib.
|
||
* doc/invoke.texi (-Whsa): Document.
|
||
(hsa-gen-debug-stores): Likewise.
|
||
* lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
|
||
to invoke offload compiler for hsa acclerator.
|
||
* opts.c (common_handle_option): Determine whether HSA offloading
|
||
should be performed.
|
||
* params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
|
||
* builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
|
||
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
|
||
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
|
||
* gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
|
||
* gimple-pretty-print.c (dump_gimple_omp_for): Also handle
|
||
GF_OMP_FOR_KIND_GRID_LOOP.
|
||
(dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
|
||
(pp_gimple_stmt_1): Likewise.
|
||
* gimple-walk.c (walk_gimple_stmt): Likewise.
|
||
* gimple.c (gimple_build_omp_grid_body): New function.
|
||
(gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
|
||
* gimple.def (GIMPLE_OMP_GRID_BODY): New.
|
||
* gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
|
||
GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
|
||
GF_OMP_TEAMS_GRID_PHONY.
|
||
(gimple_statement_omp_single_layout): Updated comments.
|
||
(gimple_build_omp_grid_body): New function.
|
||
(gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
|
||
(gimple_omp_for_grid_phony): New function.
|
||
(gimple_omp_for_set_grid_phony): Likewise.
|
||
(gimple_omp_parallel_grid_phony): Likewise.
|
||
(gimple_omp_parallel_set_grid_phony): Likewise.
|
||
(gimple_omp_teams_grid_phony): Likewise.
|
||
(gimple_omp_teams_set_grid_phony): Likewise.
|
||
(gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
|
||
* omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
|
||
(BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
|
||
(BUILT_IN_GOMP_TARGET): Updated type.
|
||
* omp-low.c: Include symbol-summary.h, hsa.h and params.h.
|
||
(adjust_for_condition): New function.
|
||
(get_omp_for_step_from_incr): Likewise.
|
||
(extract_omp_for_data): Moved parts to adjust_for_condition and
|
||
get_omp_for_step_from_incr.
|
||
(build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
|
||
(fixup_child_record_type): Bail out if receiver_decl is NULL.
|
||
(scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
|
||
(scan_omp_parallel): Do not create child functions for phony
|
||
constructs.
|
||
(check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
|
||
(scan_omp_1_op): Checking assert we are not remapping to
|
||
ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
|
||
(parallel_needs_hsa_kernel_p): New function.
|
||
(expand_parallel_call): Register apprpriate parallel child
|
||
functions as HSA kernels.
|
||
(grid_launch_attributes_trees): New type.
|
||
(grid_attr_trees): New variable.
|
||
(grid_create_kernel_launch_attr_types): New function.
|
||
(grid_insert_store_range_dim): Likewise.
|
||
(grid_get_kernel_launch_attributes): Likewise.
|
||
(get_target_argument_identifier_1): Likewise.
|
||
(get_target_argument_identifier): Likewise.
|
||
(get_target_argument_value): Likewise.
|
||
(push_target_argument_according_to_value): Likewise.
|
||
(get_target_arguments): Likewise.
|
||
(expand_omp_target): Call get_target_arguments instead of looking
|
||
up for teams and thread limit.
|
||
(grid_expand_omp_for_loop): New function.
|
||
(grid_arg_decl_map): New type.
|
||
(grid_remap_kernel_arg_accesses): New function.
|
||
(grid_expand_target_kernel_body): New function.
|
||
(expand_omp): Call it.
|
||
(lower_omp_for): Do not emit phony constructs.
|
||
(lower_omp_taskreg): Do not emit phony constructs but create for them
|
||
a temporary variable receiver_decl.
|
||
(lower_omp_taskreg): Do not emit phony constructs.
|
||
(lower_omp_teams): Likewise.
|
||
(lower_omp_grid_body): New function.
|
||
(lower_omp_1): Call it.
|
||
(grid_reg_assignment_to_local_var_p): New function.
|
||
(grid_seq_only_contains_local_assignments): Likewise.
|
||
(grid_find_single_omp_among_assignments_1): Likewise.
|
||
(grid_find_single_omp_among_assignments): Likewise.
|
||
(grid_find_ungridifiable_statement): Likewise.
|
||
(grid_target_follows_gridifiable_pattern): Likewise.
|
||
(grid_remap_prebody_decls): Likewise.
|
||
(grid_copy_leading_local_assignments): Likewise.
|
||
(grid_process_kernel_body_copy): Likewise.
|
||
(grid_attempt_target_gridification): Likewise.
|
||
(grid_gridify_all_targets_stmt): Likewise.
|
||
(grid_gridify_all_targets): Likewise.
|
||
(execute_lower_omp): Call grid_gridify_all_targets.
|
||
(make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
|
||
* tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
|
||
(tree_omp_clause): Added union field dimension.
|
||
* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
|
||
* tree.c (omp_clause_num_ops): Added number of arguments of
|
||
OMP_CLAUSE__GRIDDIM_.
|
||
(omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
|
||
(walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
|
||
* tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
|
||
(OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
|
||
(OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
|
||
(OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
|
||
* passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
|
||
* tree-pass.h (make_pass_gen_hsail): Declare.
|
||
(make_pass_ipa_hsa): Likewise.
|
||
* ipa-hsa.c: New file.
|
||
* lto-section-in.c (lto_section_name): Add hsa section name.
|
||
* lto-streamer.h (lto_section_type): Add hsa section.
|
||
* timevar.def (TV_IPA_HSA): New.
|
||
* hsa-brig-format.h: New file.
|
||
* hsa-brig.c: New file.
|
||
* hsa-dump.c: Likewise.
|
||
* hsa-gen.c: Likewise.
|
||
* hsa.c: Likewise.
|
||
* hsa.h: Likewise.
|
||
* toplev.c (compile_file): Call hsa_output_brig.
|
||
* hsa-regalloc.c: New file.
|
||
|
||
2016-01-18 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69320
|
||
* tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
|
||
ranged object, do nothing if the RHS constant is not [0..1].
|
||
(optimize_stmt): Comparing a boolean ranged object against a
|
||
constant outside [0..1] results in a compile-time constant.
|
||
|
||
* tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
|
||
test.
|
||
|
||
2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Invoking GCC): Add new section to menu.
|
||
(Option Summary): Update to reflect new section and moved options.
|
||
(C++ Dialect Options): Move -fstats to new section.
|
||
(Debugging Options): Move all dump, statistics, and other GCC
|
||
developer options to new section. Rewrite section introduction
|
||
and re-order remaining options to put the more basic ones first.
|
||
(Optimization Options): Move -fira-verbose and -flto-report* to
|
||
new section.
|
||
(Developer Options): New section incorporating moved options.
|
||
* doc/cppopts.texi (-dM): Update cross-reference.
|
||
|
||
2016-01-18 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/69176
|
||
* config/aarch64/aarch64.md (add<GPI>3): Move long immediate
|
||
operands to pseudo only if CSE is expected. Split long immediate
|
||
operands only after reload, and for the stack pointer.
|
||
(*add<GPI>3_pluslong): Remove.
|
||
(*addsi3_aarch64, *adddi3_aarch64): Merge into...
|
||
(*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
|
||
(*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
|
||
(*add<GPI>3 peepholes): New.
|
||
(*add<GPI>3 splitters): New.
|
||
* config/aarch64/constraints.md (Upl): New.
|
||
* config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
|
||
|
||
2016-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69297
|
||
* tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
|
||
stmt at most once.
|
||
(vect_bb_vectorization_profitable_p): Clear visited flag again.
|
||
|
||
2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR middle-end/68542
|
||
* fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
|
||
of mixind vector and scalar types.
|
||
(fold_relational_const): Add handling of vector
|
||
comparison with boolean result.
|
||
* tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
|
||
comparison of vector operands with boolean result for EQ/NE only.
|
||
(verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
|
||
(verify_gimple_cond): Likewise.
|
||
* tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
|
||
valid type of VAL.
|
||
|
||
2016-01-18 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
|
||
!TARGET_OCTEON.
|
||
|
||
2016-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69308
|
||
* gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
|
||
|
||
2016-01-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
|
||
|
||
2016-01-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* omp-low.c (set_oacc_fn_attrib): Make extern.
|
||
* omp-low.h (set_oacc_fn_attrib): Declare.
|
||
* tree-parloops.c (struct reduction_info): Add reduc_addr field.
|
||
(create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
|
||
(create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
|
||
Add and handle function parameter oacc_kernels_p.
|
||
(find_reduc_addr, get_omp_data_i_param): New function.
|
||
(ref_conflicts_with_region, oacc_entry_exit_ok_1)
|
||
(oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
|
||
(parallelize_loops): Add and handle function parameter oacc_kernels_p.
|
||
Calculate dominance info. Skip loops that are not in a kernels region
|
||
in oacc_kernels_p mode. Skip inner loops of parallelized loops.
|
||
(pass_parallelize_loops::execute): Call parallelize_loops with
|
||
oacc_kernels_p argument.
|
||
(pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
|
||
New member function.
|
||
(pass_parallelize_loops::bool oacc_kernels_p): New member var.
|
||
* passes.def: Add argument to pass_parallelize_loops instantation.
|
||
|
||
2016-01-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree-parloops.c (pass_parallelize_loops::execute): Allow
|
||
pass_parallelize_loops to be run outside the loop pipeline.
|
||
|
||
2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* tree-scalar-evolution.c (follow_copies_to_constant): New.
|
||
(analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
|
||
|
||
2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
PR target/63679
|
||
* tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
|
||
using get_ref_base_and_extent.
|
||
(equal_mem_array_ref_p): New.
|
||
(hashable_expr_equal_p): Add call to previous.
|
||
|
||
2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
PR target/63679
|
||
* tree-sra.c (disqualified_constants, constant_decl_p): New.
|
||
(sra_initialize): Allocate disqualified_constants.
|
||
(sra_deinitialize): Free disqualified_constants.
|
||
(disqualify_candidate): Update disqualified_constants when appropriate.
|
||
(create_access): Scan for constant-pool entries as we go along.
|
||
(scalarizable_type_p): Add check against type_contains_placeholder_p.
|
||
(maybe_add_sra_candidate): Allow constant-pool entries.
|
||
(load_assign_lhs_subreplacements): Bind debug for constant pool vars.
|
||
(initialize_constant_pool_replacements): New.
|
||
(sra_modify_assign): Avoid mangling assignments created by previous,
|
||
and don't generate writes into constant pool.
|
||
(sra_modify_function_body): Call initialize_constant_pool_replacements.
|
||
|
||
2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* config/i386/i386.c (scalar_to_vector_candidate_p): Support
|
||
andnot instruction.
|
||
(scalar_chain::convert_op): Likewise.
|
||
* config/i386/i386.md (*andndi3_doubleword): New.
|
||
|
||
2016-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69170
|
||
* tree-vect-slp.c (vect_build_slp_tree): Verify we are not
|
||
building a vector from scalar results of a pattern stmt.
|
||
|
||
2016-01-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* haifa-sched.c (autopref_multipass_init): Work around
|
||
-Wmaybe-uninitialized warning.
|
||
|
||
2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* config/arm/arm.c (thumb1_reorg): Check that the comparison is
|
||
against the constant 0.
|
||
|
||
2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR tree-optimization/68799
|
||
* gimple-ssa-strength-reduction.c (create_phi_basis): Directly
|
||
look up phi candidates in the statement-candidate map.
|
||
(phi_add_costs): Likewise.
|
||
(record_phi_increments): Likewise.
|
||
(phi_incr_cost): Likewise.
|
||
(ncd_with_phi): Likewise.
|
||
(all_phi_incrs_profitable): Likewise.
|
||
|
||
2016-01-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.c (mark_loops_in_oacc_kernels_region): Work around
|
||
-Wmaybe-uninitialized warning.
|
||
|
||
2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Invoking GCC): Add new section to menu.
|
||
(Option Summary): Update to reflect new section and moved options.
|
||
(C++ Dialect Options): Move -fvtable-verify and related options.
|
||
(Debugging Options): Move Sanitizer, Pointer Bounds Checker,
|
||
and profiling-related options.
|
||
(Optimization Options): Move profile generation options and
|
||
-fstack-protector and related options.
|
||
(Instrumentation Options): New section incorporating moved options.
|
||
(Code Generation Options): Move -finstrument-functions and
|
||
related options, -fstack-check, -fstack-limit*, and -fbounds-check.
|
||
|
||
2016-01-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
|
||
|
||
2016-01-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
|
||
|
||
2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* hash-table.h (hash_table::empty): Turn into an inline wrapper
|
||
that checks whether the table is already empty. Rename the
|
||
original implementation to...
|
||
(hash_table::empty_slot): ...this new private function.
|
||
|
||
2016-01-15 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR diagnostic/68899
|
||
* diagnostic-show-locus.c (layout::print_source_line): Move x
|
||
offset of line until after call to
|
||
get_line_width_without_trailing_whitespace.
|
||
|
||
2016-01-15 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69270
|
||
* tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
|
||
tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
|
||
* tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
|
||
* tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
|
||
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
|
||
ssa_name_has_boolean_range and constant_boolean_node.
|
||
|
||
2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/69030
|
||
* lra-spills.c (remove_pseudos): Check nrefs and make the function
|
||
returning bool.
|
||
(spill_pseudos): Delete debug insn for dead pseudo.
|
||
(lra_spill): Initiate spill_hard_reg and slots memory separately.
|
||
|
||
2016-01-15 Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
|
||
New.
|
||
(TYPES_UNOPUS): Likewise.
|
||
* config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
|
||
builtin type, from UNOP to UNOPUS.
|
||
(lbtruncuv4sf): Likewise.
|
||
(lbtruncuv2df): Likewise.
|
||
(lrounduv2sf): Likewise.
|
||
(lrounduv4sf): Likewise.
|
||
(lrounduv2df): Likewise.
|
||
(lroundusf): Likewise.
|
||
(lroundusf): Likewise.
|
||
(lceiluv2sf): Likewise.
|
||
(lceiluv4sf): Likewise.
|
||
(lceiluv2df): Likewise.
|
||
(lceilusf): Likewise.
|
||
(lceiludf): Likewise.
|
||
(lflooruv2sf): Likewise.
|
||
(lflooruv4sf): Likewise.
|
||
(lflooruv2df): Likewise.
|
||
(lfloorusf): Likewise.
|
||
(lfloorudf): Likewise.
|
||
(lfrintnuv2sf): Likewise.
|
||
(lfrintnuv4sf): Likewise.
|
||
(lfrintnuv2df): Likewise.
|
||
(lfrintnusf): Likewise.
|
||
(lfrintnudf): Likewise.
|
||
* config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
|
||
conversion.
|
||
(vcvtq_u32_f32): Likewise.
|
||
(vcvtq_u64_f64): Likewise.
|
||
(vcvta_u32_f32): Likewise.
|
||
(vcvtaq_u32_f32): Likewise.
|
||
(vcvtaq_u64_f64): Likewise.
|
||
(vcvtm_u32_f32): Likewise.
|
||
(vcvtmq_u32_f32): Likewise.
|
||
(vcvtmq_u64_f64): Likewise.
|
||
(vcvtn_u32_f32): Likwise.
|
||
(vcvtnq_u32_f32): Likewise.
|
||
(vcvtnq_u64_f64): Likewise.
|
||
(vcvtp_u32_f32): Likewise.
|
||
(vcvtpq_u32_f32): Likewise.
|
||
(vcvtpq_u64_f64): Likewise.
|
||
(vcvtmd_u64_f64): Likewise.
|
||
(vcvtms_u32_f32): Likewise.
|
||
(vcvtad_u64_f64): Likewise.
|
||
(vcvtas_u32_f32): Likewise.
|
||
(vcvtnd_u64_f64): Likewise.
|
||
(vcvtns_u32_f32): Likewise.
|
||
(vcvtpd_u64_f64): Likewise.
|
||
(vcvtps_u32_f32): Likewise.
|
||
|
||
2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
|
||
CSEL of zero_extended registers.
|
||
|
||
2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
|
||
Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
|
||
|
||
2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
|
||
false when argument string is not found in the attributes table
|
||
at all.
|
||
|
||
2016-01-15 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/68609
|
||
* config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
|
||
(rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
|
||
* config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
|
||
precision estimate.
|
||
|
||
2016-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66856
|
||
* tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
|
||
* tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
|
||
(vect_create_new_slp_node): Increment stmt reference count.
|
||
(vect_get_and_check_slp_defs): Make sure stmts are nor already in
|
||
an SLP tree before swapping operands.
|
||
(vect_build_slp_tree): Likewise.
|
||
(destroy_bb_vec_info): Free stmt info after SLP instances.
|
||
* tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
|
||
* tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
|
||
(STMT_VINFO_NUM_SLP_USES): New macro.
|
||
|
||
2016-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/69137
|
||
* dwarf2out.c (add_linkage_name_raw): New function split out from ...
|
||
(add_linkage_name): ... here.
|
||
(gen_typedef_die): Use add_linkage_name_raw instead of
|
||
add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
|
||
if necessary.
|
||
|
||
2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
* gimplify.c (oacc_default_clause): Decode reference and pointer
|
||
types for both kernels and parallel regions.
|
||
|
||
2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/69246
|
||
* calls.c (emit_call_1): Force n_popped to zero for sibcalls.
|
||
|
||
2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
|
||
(convert_scalars_to_vector): Likewise.
|
||
|
||
2016-01-15 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/extend.texi (Type Traits): Fix grammar.
|
||
|
||
2016-01-15 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* tree-inline.c (remap_decl): Use existing dclarations if
|
||
remapping a type and prevent_decl_creation_for_types.
|
||
(replace_locals_stmt): Do an initial remapping of non-VLA typed
|
||
decls first. Do real remapping with
|
||
prevent_decl_creation_for_types set.
|
||
* tree-inline.h (copy_body_data): New field
|
||
prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
|
||
padding.
|
||
|
||
2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.opt (mmvcle): More verbose help text.
|
||
|
||
2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.opt: Add period to -mzvector option text.
|
||
|
||
2016-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/68961
|
||
* tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
|
||
of invariants in stores again.
|
||
|
||
2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
|
||
|
||
2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* config/i386/i386.c (ix86_expand_branch): Don't split
|
||
DI mode xor instruction to SI mode.
|
||
|
||
2016-01-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/68148
|
||
* ipa-icf.c (sem_function::merge): Virtual functions may become
|
||
reachable even if they address is not taken and there are no
|
||
idrect calls.
|
||
|
||
2016-01-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* lto-streamer-out.c (subtract_estimated_size): New function.
|
||
(get_symbol_initial_value): Use it.
|
||
|
||
2016-01-15 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/65837
|
||
* config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
|
||
(arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
|
||
(arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
|
||
use add_builtin_function_ext_scope instead of add_builtin_function.
|
||
(neon_set_p, neon_crypto_set_p): Remove.
|
||
(arm_init_builtins): Always call arm_init_neon_builtins and
|
||
arm_init_crypto_builtins.
|
||
(arm_expand_builtin): Check that builtins are allowed for the arch.
|
||
* config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
|
||
* config/arm/arm.c (arm_valid_target_attribute_tree): Remove
|
||
arm_init_neon_builtins call.
|
||
|
||
2016-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69117
|
||
* tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
|
||
* tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
|
||
of the leader conservatively.
|
||
(free_scc_vn): Restore original SSA name infos.
|
||
|
||
2016-01-14 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69270
|
||
* tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
|
||
single bit of precision, verify it's also unsigned.
|
||
(record_edge_info): Use constant_boolean_node rather than fold_convert
|
||
to convert boolean_true/boolean_false to the right type.
|
||
|
||
2016-01-14 Richard Henderson <rth@redhat.com>
|
||
|
||
PR rtl-opt/69014
|
||
* loop-doloop.c (record_reg_sets): New.
|
||
(doloop_optimize): Reject the transform if the sequence
|
||
clobbers registers live at the end of the loop block.
|
||
(doloop_optimize_loops): Enable df_live if needed.
|
||
|
||
2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
|
||
* gcc/config/rs6000/rs6000.c: Likewise.
|
||
* gcc/config/rs6000/rs6000.h: Likewise.
|
||
* gcc/config/rs6000/rs6000.md: Likewise.
|
||
* gcc/doc/extend.texi: Likewsie.
|
||
|
||
2016-01-14 Jeff Law <law@redhat.com>
|
||
|
||
* tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
|
||
typo.
|
||
|
||
2016-01-14 Richard Henderson <rth@redhat.com>
|
||
|
||
PR c/69272
|
||
PR tree-opt/68964
|
||
* trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
|
||
* tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
|
||
instead of builtin_decl_declared_p to test for declaration.
|
||
|
||
2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
|
||
|
||
* doc/loop.texi (Loop Analysis and Representation): Document
|
||
loop_depth function.
|
||
|
||
2016-01-14 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/68773
|
||
* omp-low.c (expand_omp_target): Don't set force_output.
|
||
* varpool.c (varpool_node::get_create): Same.
|
||
* lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
|
||
offload_funcs with force_output.
|
||
|
||
2016-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/69244
|
||
* lra-eliminations.c (move_plus_up): Don't change anything if either
|
||
the outer or inner subreg mode is not MODE_INT.
|
||
* dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
|
||
integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
|
||
|
||
2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
|
||
reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
|
||
reduc_uplus_@var{m}): Remove.
|
||
* expr.c (expand_expr_real_2): Remove expansion path for
|
||
reduc_[us](min|max|plus) optabs.
|
||
* optabs-tree.c (scalar_reduc_to_vector): Remove.
|
||
* optabs-tree.h (scalar_reduc_to_vector): Remove.
|
||
* optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
|
||
reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
|
||
* tree-vect-loop.c (vectorizable_reduction): Remove test for
|
||
reduc_[us](min|max|plus) optabs.
|
||
|
||
2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
|
||
(reduc_plus_scal_v2sf): New.
|
||
(reduc_smax_v2sf): Rename to...
|
||
(reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
|
||
(reduc_smin_v2sf): Rename to...
|
||
(reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
|
||
|
||
2016-01-14 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* alias.c (compare_base_symbol_refs): New function.
|
||
(rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
|
||
it.
|
||
|
||
2016-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/68146
|
||
PR tree-optimization/69155
|
||
* tree-complex.c: Include cfganal.h.
|
||
(phis_to_revisit): New variable.
|
||
(extract_component): Add phiarg_p argument. Assert that returned
|
||
SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
|
||
(update_phi_components): Partly rewrite to use loop over real/imag
|
||
components instead of code duplication. If extract_component returns
|
||
SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
|
||
create_tmp_reg into the PHI node instead, and mention the phi triplet
|
||
in phis_to_revisit.
|
||
(tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
|
||
in phis_to_revisit at the end.
|
||
|
||
2016-01-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/68060
|
||
* tree-vect-loop.c (vect_is_simple_reduction): Check the
|
||
outer loop reduction is only used in the inner loop before
|
||
detecting a double reduction.
|
||
|
||
2016-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/68269
|
||
* combine.c (expand_field_assignment): Punt if compute_mode is
|
||
unsupported scalar mode.
|
||
|
||
2016-01-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66856
|
||
* tree-vect-slp.c (vect_build_slp_tree): Refactor to build
|
||
SLP node only if it built successfully.
|
||
(vect_analyze_slp_instance): Adjust.
|
||
|
||
2016-01-14 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69270
|
||
* tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
|
||
(record_edge_info): Use it. Convert boolean_{true,false}_node
|
||
to the type of op0.
|
||
|
||
2016-01-13 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/66487
|
||
* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
|
||
use block_ultimate_origin
|
||
(noncall-stmt_may_be_vtbl_ptr_store): Likewise.
|
||
|
||
2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Submodel Options): Rename section to
|
||
"Machine-Dependent Options" to better reflect its content.
|
||
Rewrite introductory text to remove archaic CPU names.
|
||
Update references.
|
||
|
||
2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Code Gen Options): Move section up in file,
|
||
before target-specific options. Update menu and option summary
|
||
to reflect the new section ordering.
|
||
|
||
2016-01-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
|
||
(C++ Dialect Options): Add cross-reference to -std option.
|
||
* doc/standards.texi (C++ Language): Document C++14 support.
|
||
|
||
2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
|
||
for pack/unpack functions for __ibm128.
|
||
(PACK_IF): Likewise.
|
||
(UNPACK_IF): Likewise.
|
||
|
||
* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
|
||
support for __ibm128 pack/unpack functions.
|
||
(rs6000_invalid_builtin): Likewise.
|
||
(rs6000_init_builtins): Likewise.
|
||
(rs6000_opt_masks): Likewise.
|
||
|
||
* config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
|
||
(RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
|
||
functions
|
||
(RS6000_BTM_COMMON): Likewise.
|
||
|
||
* config/rs6000/rs6000.md (f128_vsx): New mode attribute.
|
||
(unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
|
||
disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
|
||
128-bit floating point. Add support for the double values to be
|
||
in Altivec registers for TF/IF packing and unpacking, but restrict
|
||
TD packing sub-fields to be FPR registers. Don't allow overlapped
|
||
register support for packing. Allow pack inputs to be memory
|
||
locations. Don't build generator functions for unpack<mode>_dm
|
||
and unpack<mode>_nodm.
|
||
(unpack<mode>_dm): Likewise.
|
||
(unpack<mode>_nodm): Likewise.
|
||
(pack<mode>): Likewise.
|
||
|
||
* config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
|
||
built-in functions to pack/unpack explicit __ibm128 values.
|
||
(__builtin_unpack_ibm128): Likewise.
|
||
|
||
* doc/extend.texi (PowerPC Built-in Functions): Document
|
||
__builtin_pack_ibm128 and __builtin_unpack_ibm128.
|
||
|
||
2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR c/66208
|
||
* c-common.c (check_function_nonnull): Remove unnecessary declaration.
|
||
Add new arg loc and pass it down as context.
|
||
(check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
|
||
to the location to use for the warning.
|
||
(check_function_arguments): New arg loc. All callers changed. Pass
|
||
it to check_function_nonnull.
|
||
* c-common.h (check_function_arguments): Adjust declaration.
|
||
|
||
2016-01-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69156
|
||
* gimple.c (validate_type): Removed.
|
||
(gimple_builtin_call_types_compatible_p): Use
|
||
useless_type_conversion_p instead of validate_type.
|
||
* value-prof.c (gimple_stringop_fixed_value): Fold
|
||
icall_size to correct type.
|
||
|
||
2016-01-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/extend.texi (__atomic Builtins): Clarify compare_exchange
|
||
effects.
|
||
|
||
2016-01-13 Richard Henderson <rth@redhat.com>
|
||
|
||
PR tree-opt/68964
|
||
* target.def (builtin_tm_load, builtin_tm_store): Remove.
|
||
* config/i386/i386.c (ix86_builtin_tm_load): Remove.
|
||
(ix86_builtin_tm_store): Remove.
|
||
(TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
|
||
(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
|
||
* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
|
||
(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
|
||
* doc/tm.texi: Rebuild.
|
||
|
||
* gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
|
||
(BUILT_IN_TM_MEMCPY_RTWN): New.
|
||
* trans-mem.c (tm_log_emit_stmt): Rearrange code for better
|
||
fallback from vector to integer helpers.
|
||
(build_tm_load): Handle vector types directly, instead of
|
||
via target hook.
|
||
(build_tm_store): Likewise.
|
||
(expand_assign_tm): Prepare for register types not handled by
|
||
the above. Copy them to memory and use memcpy.
|
||
* tree.c (tm_define_builtin): New.
|
||
(find_tm_vector_type): New.
|
||
(build_tm_vector_builtins): New.
|
||
(build_common_builtin_nodes): Call it.
|
||
|
||
2016-01-13 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
|
||
TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
|
||
|
||
2016-01-13 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69169
|
||
* tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
|
||
handled_struct_type param.
|
||
(create_variable_info_for, intra_create_variable_infos): Call
|
||
create_variable_info_for_1 with extra arg.
|
||
|
||
2016-01-13 Yvan Roux <yvan.roux@linaro.org>
|
||
|
||
* config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
|
||
and "armv8.1-a+crc" entries.
|
||
|
||
2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
|
||
|
||
PR target/69228
|
||
* config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
|
||
Change first operand predicate from register_or_constm1_operand
|
||
to register_operand.
|
||
(define_expand "avx512pf_gatherpf<mode>df"): Likewise.
|
||
(define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
|
||
(define_expand "avx512pf_scatterpf<mode>df"): Likewise.
|
||
(define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
|
||
(define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
|
||
(define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
|
||
(define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
|
||
* config/i386/i386.c (ix86_expand_builtin): Remove first operand
|
||
comparison with constm1_rtx from vec_prefetch_gen part.
|
||
|
||
2016-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69013
|
||
* tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
|
||
Exchange assert for a test.
|
||
|
||
2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR target/69247
|
||
* config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
|
||
|
||
2016-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69242
|
||
* tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
|
||
assert with a check.
|
||
|
||
2016-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69186
|
||
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
|
||
Properly guard vect_update_misalignment_for_peel call.
|
||
|
||
2016-01-12 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/pr67755
|
||
* tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
|
||
"need_profile_correction".
|
||
(thread_block_1): Initialize new field to false by default. If we
|
||
have multiple thread paths through a common joiner to different
|
||
final targets, then set new field to true.
|
||
(compute_path_counts): Only do count adjustment when it's really
|
||
needed.
|
||
|
||
2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Spec Files): Move section down in file, past
|
||
all command-line option descriptions.
|
||
|
||
2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
PR middle-end/54809
|
||
* doc/gty.texi: Remove documentation of mark_hook.
|
||
* gengtype.c (struct write_types_data): Remove code to support
|
||
mark_hook attribute.
|
||
(walk_type): Likewise.
|
||
(write_func_for_structure): Likewise.
|
||
|
||
2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
|
||
Directory Options, and -specs= to Overall Options.
|
||
(Overall Options): Adjust similarly. Reorder to group related
|
||
options together. Make -specs= cross-reference the spec file details.
|
||
(Directory Options): Adjust similarly.
|
||
|
||
2016-01-12 Jeff Law <law@redhat.com>
|
||
|
||
* tree-ssa-threadupdate.c: Various whitespace and typo fixes.
|
||
|
||
2016-01-12 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc.c (spec_undefvar_allowed): New global.
|
||
(process_command): Set to true when running for --version or --help,
|
||
alone or together.
|
||
(getenv_spec_function): When the variable is not defined, use the
|
||
variable name as the variable value if we're allowed not to issue
|
||
a fatal error.
|
||
|
||
2016-01-12 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/68911
|
||
* tree-vrp.c (adjust_range_with_scev): Check overflow in range
|
||
information computed for expression "init + nit * step".
|
||
|
||
2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
|
||
about name of GCC executable. Remove deleted node from menu.
|
||
(Directory Options) <-B>: Remove cross-reference to deleted node.
|
||
(Target Options): Delete section.
|
||
|
||
2016-01-12 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/69180
|
||
* config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
|
||
for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
|
||
|
||
2016-01-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69198
|
||
* config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
|
||
aligned_mem is properly set for AVX512-VL floating point masked
|
||
stores.
|
||
|
||
PR target/69175
|
||
* ifcvt.c (cond_exec_process_if_block): When removing the last
|
||
insn from then_bb, remove also any possible barriers that follow it.
|
||
|
||
2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68456
|
||
PR target/69226
|
||
* config/i386/iamcu.h (SIZE_TYPE): New macro.
|
||
(PTRDIFF_TYPE): Likewise.
|
||
(WCHAR_TYPE): Likewise.
|
||
(WCHAR_TYPE_SIZE): Likewise.
|
||
(STDINT_LONG32): Likewise.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69053
|
||
* tree-vect-loop.c (get_initial_def_for_reduction): Properly
|
||
convert initial value for cond reductions.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69007
|
||
* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
|
||
widen_sum after dot_prod and sad.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69168
|
||
* tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
|
||
pattern stmt SLP type.
|
||
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
|
||
end up unused so cope with that case.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69157
|
||
* tree-vect-stmts.c (vectorizable_mask_load_store): Check
|
||
stmts def type only during analyze phase.
|
||
(vectorizable_call): Likewise.
|
||
(vectorizable_simd_clone_call): Likewise.
|
||
(vectorizable_conversion): Likewise.
|
||
(vectorizable_assignment): Likewise.
|
||
(vectorizable_shift): Likewise.
|
||
(vectorizable_operation): Likewise.
|
||
(vectorizable_store): Likewise.
|
||
(vectorizable_load): Likewise.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69174
|
||
* tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
|
||
space.
|
||
(vectorizable_load): Properly compute the number of loads needed
|
||
for permuted strided SLP loads and do not spuriously assign
|
||
to SLP_TREE_VEC_STMTS.
|
||
|
||
2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
|
||
|
||
* config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
|
||
(TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
|
||
(MD_EXEC_PREFIX): Remove.
|
||
(MD_STARTFILE_PREFIX) Removee.
|
||
(FILE_NAME_ABSOLUTE_P): Remove.
|
||
(CPP_SPEC): Do not read macros from sys/version.h.
|
||
(LINK_COMMAND_SPEC): Remove.
|
||
(LOCAL_INCLUDE_DIR): Remove.
|
||
(TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
|
||
(TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
|
||
(POST_LINK_SPEC): Define to invoke stubify after linker
|
||
(LIBSTDCXX): Remove define
|
||
(DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
|
||
(DEFAULT_PCC_STRUCT_RETURN): Define to 1.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
|
||
(IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
|
||
(i386_djgpp_asm_named_section): Add propotype of new procedure
|
||
|
||
* config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
|
||
(MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
|
||
(STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
|
||
in config/i386/djgpp.h).
|
||
(STANDARD_STARTFILE_PREFIX_2): Define identical to
|
||
STANDARD_STARTFILE_PREFIX_1.
|
||
(LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
|
||
(GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
|
||
installation errors.
|
||
(MAX_OFILE_ALIGNMENT): Define to 128.
|
||
(HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
|
||
|
||
* config/i386/djgpp.c: New file. Add implementation of
|
||
i386_djgpp_asm_named_section.
|
||
|
||
* config/i386/djgpp.opt: Remove obsolete option -mbnu210.
|
||
|
||
* config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
|
||
Add rule for building djgpp.o.
|
||
|
||
2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (v2df_reduction_p): New function.
|
||
(rtx_is_swappable_p): Reductions are swappable.
|
||
(insn_is_swappable_p): V2DF reductions are swappable.
|
||
|
||
2016-01-11 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.c (pa_emit_move_sequence): Handle floating point
|
||
reloads for other unsupported memory operands.
|
||
|
||
2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
PR target/69194
|
||
* config/arm/arm-builtins.c (arm_expand_neon_args): Call
|
||
copy_to_mode_reg instead of force_reg.
|
||
|
||
2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/69225
|
||
* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
|
||
TARGET_80387 is true.
|
||
|
||
2016-01-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69071
|
||
* lra-eliminations.c (move_plus_up): Only move plus up
|
||
if subreg of the constant can be simplified into constant
|
||
and use the simplified subreg of the constant instead of
|
||
the original constant.
|
||
|
||
* fold-const.c (fold_convertible_p): Don't return true
|
||
for conversion of VECTOR_TYPE to same sized integral type.
|
||
(fold_convert_loc): Fix up formatting. Fold conversion of
|
||
VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
|
||
instead of NOP_EXPR.
|
||
|
||
PR tree-optimization/69214
|
||
* tree-vrp.c (simplify_cond_using_ranges): Don't propagate
|
||
innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
|
||
Formatting fix.
|
||
|
||
PR tree-optimization/69207
|
||
* tree-vect-slp.c (vect_get_constant_vectors): For
|
||
VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
|
||
fold_convertible_p to vector_type's element type, and always
|
||
use VCE for non-VECTOR_BOOLEAN_TYPE_P.
|
||
|
||
2016-01-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69173
|
||
* tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
|
||
fixup the cycle if all stmts are in a pattern.
|
||
|
||
2016-01-11 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR middle-end/68999
|
||
* alias.c (base_alias_check): Move check for addresses with
|
||
alignment ANDs before the call for compare_base_decls.
|
||
(memrefs_conflict_p): Return -1 for different decls
|
||
that went through alignment adjustments.
|
||
|
||
2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/68796
|
||
* config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
|
||
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
|
||
and QImode comparisons against zero with CC_NZmode.
|
||
* config/aarch64/iterators.md (short_mask): New mode_attr.
|
||
|
||
2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
|
||
(<avx512>_store<mode>_mask): Likewise.
|
||
|
||
2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
|
||
Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/68841
|
||
* ifcvt.c (struct noce_if_info): Add orig_x field.
|
||
(bbs_ok_for_cmove_arith): Add to_rename parameter.
|
||
Don't record conflicts on to_rename if it's present.
|
||
Allow memory destinations in sets.
|
||
(noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
|
||
blocks, passing orig_x to the checks.
|
||
(noce_process_if_block): Set if_info->orig_x appropriately.
|
||
|
||
2016-01-11 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69069
|
||
* tree-parloops.c (create_parallel_loop): Add missing phi args.
|
||
|
||
2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR rtl-optimization/68920
|
||
* config/i386/i386.c (ix86_option_override_internal): Restrict number
|
||
of conditional moves for RTL if-conversion to 1 for
|
||
TARGET_ONE_IF_CONV_INSN.
|
||
* config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
|
||
* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
|
||
* params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
|
||
parameter to restirct number of conditional moves for
|
||
RTL if-conversion.
|
||
* doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
|
||
* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
|
||
conditionl moves.
|
||
|
||
2016-01-11 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR bootstrap/69123
|
||
* var-tracking.c (drop_overlapping_mem_locs): Operate on all
|
||
onepart vars. Fix typo in comment. Fix reversed condition in
|
||
unshare test.
|
||
(dataflow_set_remove_mem_locs): Operate on all onepart vars.
|
||
|
||
PR bootstrap/69123
|
||
* var-tracking.c (dump_onepart_variable_differences): New.
|
||
(dataflow_set_different): If a detailed dump is requested,
|
||
delay early returns and dump differences between onepart
|
||
variables present before and after, and added variables.
|
||
|
||
2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/69010
|
||
* expr.c (expand_expr_real_1): For boolean vector constants
|
||
with a scalar mode use const_scalar_mask_from_tree.
|
||
(const_scalar_mask_from_tree): New.
|
||
* optabs.c (expand_vec_cond_mask_expr): Use mask mode
|
||
assigned to a mask type to handle constants.
|
||
|
||
2016-01-11 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/69044
|
||
* ipa-cp.c (estimate_local_effects): Do not clone for removal of
|
||
useless parameters if we cannot change function signature.
|
||
|
||
2016-01-11 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/66616
|
||
* cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
|
||
flag.
|
||
|
||
2016-01-11 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69109
|
||
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
|
||
latch with phi.
|
||
|
||
2016-01-11 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69108
|
||
* tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
|
||
res is not used in a phi.
|
||
|
||
2016-01-11 Yury Gribov <y.gribov@samsung.com>
|
||
|
||
PR 67425
|
||
* common.opt (frandom-seed): Fix parameter name.
|
||
* doc/invoke.texi (frandom-seed): Ditto and describe parameter.
|
||
|
||
2016-01-11 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69058
|
||
* tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
|
||
not supported.
|
||
|
||
2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
* config/arc/arc.opt (mdiv-rem): Add period to the end.
|
||
(mcode-density): Likewise.
|
||
|
||
2016-01-10 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69062
|
||
* tree-parloops.c (loop_has_phi_with_address_arg): New function.
|
||
(parallelize_loops): Don't paralelize loop that has phi with address
|
||
arg.
|
||
|
||
2016-01-10 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69039
|
||
* tree-parloops.c (try_create_reduction_list): Only allow single exit
|
||
phi for reduction.
|
||
|
||
2016-01-09 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR middle-end/68743
|
||
* match.pd: Require target has function_c99_misc before doing
|
||
truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
|
||
|
||
2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* configure.ac (isl_options_set_schedule_serialize_sccs): Also
|
||
use GMPINC.
|
||
* configure: Regenerate.
|
||
|
||
2016-01-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/50865
|
||
PR tree-optimization/69097
|
||
* fold-const.h (expr_not_equal_to): New prototype.
|
||
* fold-const.c: Include stringpool.h and tree-ssanames.h.
|
||
(expr_not_equal_to): New function.
|
||
* match.pd (X % -Y is the same as X % Y): Don't optimize
|
||
unless X is known not to be equal to minimum or Y is known
|
||
not to be equal to -1.
|
||
* tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
|
||
fold TRUNC_MOD_EXPR if the second argument is not a power of two.
|
||
(simplify_stmt_using_ranges): Adjust caller.
|
||
(vrp_finalize): Call set_value_range on SSA_NAMEs before calling
|
||
substitute_and_fold.
|
||
|
||
2016-01-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
|
||
w/o DECL_NAME.
|
||
|
||
2016-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69167
|
||
* gimple-fold.c (replace_stmt_with_simplification): Also punt if
|
||
new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
|
||
ops[0] comparison.
|
||
* gimple-match-head.c (maybe_push_res_to_seq): Likewise.
|
||
|
||
2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/68707
|
||
* tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
|
||
instances that can be handled via vect_load_lanes.
|
||
|
||
2016-01-08 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
|
||
if we can't determine address equivalence.
|
||
* alias.c (compare_base_decl): Update for changed return value of
|
||
symtab_node::equal_address_to.
|
||
|
||
2016-01-08 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/68983
|
||
PR c++/67557
|
||
* function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
|
||
* expr.c (store_field): Not here.
|
||
* tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
|
||
call with TREE_ADDRESSABLE type.
|
||
* tree-cfg.c (verify_gimple_call): Adjust.
|
||
|
||
2016-01-08 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
|
||
libc_internal.
|
||
|
||
2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
|
||
(reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
|
||
(reduc_smin_v2sf): Rename to...
|
||
(reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
|
||
(reduc_splus_v2sf): Rename to...
|
||
(reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
|
||
|
||
2016-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69162
|
||
* gimplify.c (gimplify_va_arg_expr): Encode original type of
|
||
valist argument in another argument.
|
||
(gimplify_modify_expr): Adjust for the above change. Cleanup.
|
||
* tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
|
||
to determine the va_list type, build a MEM_REF instead of
|
||
build_fold_indirect_ref.
|
||
|
||
PR tree-optimization/69172
|
||
* gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
|
||
gimple_build.
|
||
|
||
2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR tree-optimization/67781
|
||
* tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
|
||
and cmpnop in two steps: first the ones not accessed in original
|
||
gimple expression in a endian independent way and then the ones not
|
||
accessed in the final result in an endian-specific way.
|
||
|
||
2016-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69083
|
||
* tree-vect-slp.c (vect_get_constant_vectors): For
|
||
VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
|
||
element type. If op is fold_convertible_p to vector_type's element
|
||
type, use NOP_EXPR instead of VCE.
|
||
|
||
2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/67778
|
||
PR rtl-optimization/68634
|
||
PR rtl-optimization/68909
|
||
* shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
|
||
block from the stack until done with it. Remove a superfluous
|
||
bitmap set. Remove a superfluous bitmap test.
|
||
|
||
2016-01-07 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/68966
|
||
* doc/extend.texi (__atomic Builtins, __sync Builtins): Document
|
||
constraint on the type of arguments.
|
||
|
||
2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
|
||
SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
|
||
unaligned_access on the gcc_options set.
|
||
* config/arm/arm.c (arm_option_override_internal): Use
|
||
SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
|
||
|
||
2016-01-07 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/69140
|
||
* config/i386/i386.c (ix86_frame_pointer_required): Enable
|
||
frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
|
||
|
||
2016-01-07 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Revert
|
||
2016-01-06 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/69140
|
||
* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
|
||
depending on frame_pointer_needed before remaining integer and SSE
|
||
registers are saved.
|
||
|
||
2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
* doc/extend.texi (Nvidia PDX Function Attributes): New section.
|
||
|
||
2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/69171
|
||
* config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
|
||
Use the "xBm" constraint.
|
||
(float<sseintvecmodelower><mode>2<mask_name><round_name):
|
||
Likewise.
|
||
(sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
|
||
(sse_cvtsi2ssq<round_name>): Likewise.
|
||
(sse_cvtss2si<round_name>): Likewise.
|
||
(sse_cvtss2siq<round_name>): Likewise.
|
||
(sse2_cvtsi2sdq<round_name>): Likewise.
|
||
(sse2_cvtsd2si<round_name>): Likewise.
|
||
(sse2_cvtsd2siq<round_name>): Likewise.
|
||
* config/i386/subst.md (round_nimm_scalar_predicate): New
|
||
predicate.
|
||
|
||
2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR middle-end/67639
|
||
* varasm.c (make_decl_rtl): Mark invalid register vars as
|
||
DECL_EXTERNAL.
|
||
|
||
PR rtl-optimization/66206
|
||
* bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
|
||
All callers changed.
|
||
|
||
2016-01-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69141
|
||
* tree-ssa-pre.c: Include langhooks.h.
|
||
(eliminate_dom_walker::before_dom_children): Use
|
||
lang_hooks.decl_printable_name instead of
|
||
cgraph_node::get ()->name ().
|
||
|
||
PR middle-end/68960
|
||
* gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
|
||
it and DECL_ALIGN too.
|
||
|
||
2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
|
||
|
||
* config/mips/mips-ftypes.def: Sort to lexicographical order.
|
||
|
||
2016-01-06 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/69140
|
||
* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
|
||
depending on frame_pointer_needed before remaining integer and SSE
|
||
registers are saved.
|
||
|
||
2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
|
||
mode iterator with VSX_M2.
|
||
(*p9_vecstore_<mode>): Likewise.
|
||
(*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
|
||
(*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
|
||
(*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
|
||
(define_split for VSX_LE128 stores): Likewise.
|
||
(define_peephole2 for TImode LE swaps): Likewise.
|
||
(define_split for VSX_LE128 post-reload stores): Likewise.
|
||
|
||
2016-01-06 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/69099
|
||
* convert.c (convert_to_integer_1): Adjust call to
|
||
ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
|
||
* ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
|
||
EXPR instead of ARG.
|
||
* ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
|
||
|
||
2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
* doc/extend.texi (RL78 Variable Attributes): New section.
|
||
|
||
2016-01-05 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/69104
|
||
* builtins.c (get_memmodel): Use expansion point location rather than
|
||
the input location. Call warning_at rather than warning.
|
||
(expand_builtin_atomic_compare_exchange): Likewise.
|
||
(expand_builtin_atomic_load): Likewise.
|
||
(expand_builtin_atomic_store): Likewise.
|
||
(expand_builtin_atomic_clear): Likewise.
|
||
|
||
2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68991
|
||
* config/i386/i386.c (ix86_expand_vector_logical_operator):
|
||
Replace nonimmediate_operand with vector_operand.
|
||
* config/i386/predicates.md (vector_operand): New predicate.
|
||
(general_vector_operand): Replace nonimmediate_operand with
|
||
vector_operand.
|
||
* config/i386/sse.md: Replace nonimmediate_operand with
|
||
vector_operand and m constraint with Bm constraint on SSE
|
||
patterns with 16-byte memory operand.
|
||
* config/i386/subst.md (round_nimm_predicate): Replace
|
||
nonimmediate_operand with vector_operand.
|
||
(round_saeonly_nimm_predicate): Likewise.
|
||
(round_saeonly_nimm_scalar_predicate): New.
|
||
|
||
2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68991
|
||
* config/i386/constraints.md (Bm): New constraint.
|
||
* config/i386/predicates.md (vector_memory_operand): New
|
||
predicate.
|
||
* config/i386/sse.md: Replace xm with xBm in plusminus and
|
||
any_logic patterns.
|
||
|
||
2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
* doc/extend.texi (V850 Function Attributes): New section.
|
||
(V850 Variable Attributes): New section.
|
||
|
||
2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
* doc/extend.texi (MicroBlaze Function Attributes): Document
|
||
interrupt_handler and fast_interrupt attributes.
|
||
|
||
2016-01-05 Sergei Trofimovich <siarheit@google.com>
|
||
|
||
PR other/60465
|
||
* config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
|
||
for local symbolic operands.
|
||
* config/ia64/predicates.md (local_symbolic_operand64): New
|
||
predicate.
|
||
|
||
2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/68651
|
||
* combine.c (combine_simplify_rtx): Canonicalize x + x into
|
||
x << 1.
|
||
|
||
2016-01-05 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* alias.c (compare_base_decls): Use symtab_node::get.
|
||
|
||
2016-01-05 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/68770
|
||
* ira-costs.c (copy_cost): Initialise the t_icode field of the
|
||
secondary_reload_info structure.
|
||
|
||
PR target/66655
|
||
* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
|
||
decls if weak support is available.
|
||
|
||
2016-01-04 Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
|
||
|
||
2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
|
||
OPTION_MASK_P9_DFORM.
|
||
|
||
* config/rs6000/constraints.md (wo constraint): New constraint for
|
||
ISA 3.0 (power9).
|
||
|
||
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
|
||
for wo constraint.
|
||
(rs6000_init_hard_regno_mode_ok): Likewise.
|
||
|
||
* config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
|
||
wo constraint.
|
||
|
||
* config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
|
||
expanders not to have constraints. Add support for ISA 3.0 xxperm
|
||
instruction. Add support for fusing xxlor with xxperm.
|
||
(altivec_vperm_<mode>_internal): Likewise.
|
||
(altivec_vperm_v8hiv16qi): Likewise.
|
||
(altivec_vperm_<mode>v16q): Likewise.
|
||
(altivec_vperm_<mode>_uns): Likewise.
|
||
(vperm_v8hiv4si): Likewise.
|
||
(vperm_v16qiv8hi): Likewise.
|
||
|
||
* doc/md.texi (RS/6000 constraints): Document wo constraint.
|
||
|
||
2016-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
* gcc.c (process_command): Update copyright notice dates.
|
||
* gcov-dump.c (print_version): Ditto.
|
||
* gcov.c (print_version): Ditto.
|
||
* gcov-tool.c (print_version): Ditto.
|
||
* gengtype.c (create_file): 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.
|
||
|
||
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
|
||
modes larger than TImode as TImode if NEON is not enabled.
|
||
|
||
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/69100
|
||
* config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
|
||
mode for %f0-%f31 only if TARGET_FPU.
|
||
|
||
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/69072
|
||
* config/sparc/sparc.c (scan_record_type): Take into account subfields
|
||
to compute the PACKED_P predicate.
|
||
(function_arg_record_value): Minor tweaks.
|
||
|
||
2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* doc/install.texi (--with-multilib-list): Describe the meaning of the
|
||
option for arm*-*-* targets.
|
||
|
||
2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Common Function Attributes): Move docs for
|
||
MSP430-specific attributes to....
|
||
(MSP430 Function Attributes): ...here. Delete the redundant
|
||
entries and copy-edit the remaining text.
|
||
(MSP430 Variable Attributes): Use uniform format for index
|
||
entries and add a cross-reference to the corresponding function
|
||
attribute docs.
|
||
|
||
2016-01-03 Vladimír Čunát <vcunat@gmail.com>
|
||
|
||
* doc/invoke.texi (RS/6000 and PowerPC Options): Fix
|
||
-finite-math typo.
|
||
(x86 Options): Likewise.
|
||
|
||
2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
|
||
* extend.texi (Common Function Attributes) <no_stack_limit>: New.
|
||
* invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
|
||
to corresponding attribute.
|
||
|
||
2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Common Function Attributes) <noplt>: Move
|
||
to correct alphabetization of table. Copy-edit and correct
|
||
markup.
|
||
<stack_protect>: Likewise.
|
||
<target_clones>: Likewise.
|
||
<simd>: Likewise.
|
||
* doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
|
||
Correct punctuation.
|
||
(Code Gen Options) <-fno-plt>: Copy-edit.
|
||
|
||
2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR target/68917
|
||
* config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
|
||
SI values. Explicitly convert SI to DI and vice-versa.
|
||
|
||
2016-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69070
|
||
* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
|
||
REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
|
||
|
||
PR sanitizer/69055
|
||
* ubsan.c (ubsan_instrument_float_cast): Call
|
||
initialize_sanitizer_builtins.
|
||
|
||
PR target/69015
|
||
* ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
|
||
|
||
Copyright (C) 2016 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.
|