15161 lines
508 KiB
Plaintext
15161 lines
508 KiB
Plaintext
2022-05-27 Release Manager
|
||
|
||
* GCC 9.5.0 released.
|
||
|
||
2022-05-16 Sebastian Pop <spop@amazon.com>
|
||
|
||
PR target/105162
|
||
* config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
|
||
of str array.
|
||
* config/aarch64/aarch64.c (aarch64_atomic_ool_func): Call
|
||
memmodel_from_int and handle MEMMODEL_SYNC_*.
|
||
(DEF0): Add __aarch64_*_sync functions.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-04-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/105396
|
||
* asan.c (asan_redzone_buffer::emit_redzone_byte): Handle the case
|
||
where offset is bigger than off but smaller than m_prev_offset + 32
|
||
bits by pushing one or more 0 bytes. Sink the
|
||
m_shadow_bytes.safe_push (value); flush_if_full (); statements from
|
||
all cases to the end of the function.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-04-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105257
|
||
* config/sparc/sparc.c (epilogue_renumber): If ORIGINAL_REGNO,
|
||
use gen_raw_REG instead of gen_rtx_REG and copy over also
|
||
ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105214
|
||
* config/i386/i386.c (ix86_emit_i387_log1p): Call
|
||
do_pending_stack_adjust.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/105211
|
||
* builtins.c (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
|
||
fails for TREE_TYPE (arg), retry it with
|
||
TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
|
||
fails, emit call normally.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-04-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105189
|
||
* fold-const.c (make_range_step): Fix up handling of
|
||
(unsigned) x +[low, -] ranges for signed x if low fits into
|
||
typeof (x).
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-04-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/104985
|
||
* combine.c (struct undo): Add where.regno member.
|
||
(do_SUBST_MODE): Rename to ...
|
||
(subst_mode): ... this. Change first argument from rtx * into int,
|
||
operate on regno_reg_rtx[regno] and save regno into where.regno.
|
||
(SUBST_MODE): Remove.
|
||
(try_combine): Use subst_mode instead of SUBST_MODE, change first
|
||
argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
|
||
regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
|
||
(undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
|
||
instead of *undo->where.r.
|
||
(simplify_set): Use subst_mode instead of SUBST_MODE, change first
|
||
argument from regno_reg_rtx[whatever] to whatever.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-04-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105123
|
||
* config/i386/i386.c (ix86_expand_vector_init_general): Avoid
|
||
using word as target for expand_simple_binop when doing ASHIFT and
|
||
IOR.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-03-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/105093
|
||
* ubsan.c (instrument_object_size): If t is equal to inner and
|
||
is a decl other than global var, punt. When emitting call to
|
||
UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/104971
|
||
* config/i386/i386.c
|
||
(ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
|
||
don't push/pop anything and just return const0_rtx.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/104711
|
||
* doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
|
||
is enabled by it only for C++11 to C++17 rather than for C++03 or
|
||
later.
|
||
(-Wshift-negative-value): Similarly (except here we stated
|
||
that it is enabled for C++11 or later).
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-03-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104775
|
||
* config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
|
||
S constraint instead of T in the last alternative.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR tree-optimization/104675
|
||
* match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
|
||
Restrict simplifications to INTEGRAL_TYPE_P.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104681
|
||
* config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104675
|
||
* match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
|
||
COMPLEX_TYPE.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-02-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/104557
|
||
* valtrack.c (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
|
||
if expr has VOIDmode.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-02-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/104517
|
||
* omp-low.c (task_cpyfns): New variable.
|
||
(delete_omp_context): Don't call finalize_task_copyfn from here.
|
||
(create_task_copyfn): Push task_stmt into task_cpyfns.
|
||
(execute_lower_omp): Call finalize_task_copyfn here on entries from
|
||
task_cpyfns vector and release the vector.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/104449
|
||
* asan.c: Include tree-eh.h.
|
||
(handle_builtin_alloca): Handle the case when __builtin_alloca or
|
||
__builtin_alloca_with_align can throw.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104502
|
||
* config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
|
||
and AVX512VL isn't available, move operands[1] to operands[0] first.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/104446
|
||
* combine.c (subst): Don't substitute CONST_INTs into RTX_AUTOINC
|
||
operands.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-02-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/102140
|
||
* config/rs6000/rs6000.c (vspltis_shifted): Return false also if
|
||
split1 pass has finished already.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-01-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/102478
|
||
* optabs.c (prepare_cmp_insn): If !can_create_pseudo_p (), don't
|
||
force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
|
||
would be needed.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/102860
|
||
* match.pd (x %[fl] y -> x % y): New simplification for
|
||
unsigned integral types.
|
||
* optabs-tree.c (optab_for_tree_code): Return unknown_optab
|
||
for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/103908
|
||
* ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
|
||
asm goto.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-12-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/103860
|
||
* shrink-wrap.c (try_shrink_wrapping): Make sure can_get_prologue is
|
||
called on pro even if nothing further is pushed into vec.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-12-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/103837
|
||
* loop-invariant.c (can_move_invariant_reg): Ignore DEBUG_INSNs in
|
||
the decisions whether to return false or continue and right before
|
||
returning true reset those debug insns that previously caused
|
||
returning false.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-11-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/103435
|
||
* gimple-ssa-store-merging.c (find_bswap_or_nop_finalize): Avoid UB if
|
||
n->range - rsize == 8, just clear both *cmpnop and *cmpxchg in that
|
||
case.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-11-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/103192
|
||
* tree-ssa-loop-im.c (move_computations_worker): Use
|
||
reset_flow_sensitive_info instead of manually clearing
|
||
SSA_NAME_RANGE_INFO and do it for all SSA_NAMEs, not just ones
|
||
with integral types.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-11-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/103205
|
||
* config/i386/sync.md (atomic_bit_test_and_set<mode>,
|
||
atomic_bit_test_and_complement<mode>,
|
||
atomic_bit_test_and_reset<mode>): Use OPTAB_WIDEN instead of
|
||
OPTAB_DIRECT.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-11-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/101378
|
||
* dwarf2out.c (field_byte_offset): Do the PCC_BITFIELD_TYPE_MATTERS
|
||
handling only for DECL_BIT_FIELD_TYPE decls.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-09-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/102498
|
||
* config/i386/i386.c (standard_80387_constant_p): Don't recognize
|
||
special 80387 instruction XFmode constants if flag_rounding_math.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-09-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/88578
|
||
PR c++/102295
|
||
* varasm.c (output_constructor_regular_field): Instead of assertion
|
||
that array_size_for_constructor result is equal to size of
|
||
TREE_TYPE (local->val) in bytes, assert that the type size is greater
|
||
or equal to array_size_for_constructor result and use type size as
|
||
fieldsize.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-09-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/102224
|
||
* config/i386/i386.md (xorsign<mode>3): If operands[1] is equal to
|
||
operands[2], emit abs<mode>2 instead.
|
||
(@xorsign<mode>3_1): Add early-clobber for output operand.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-08-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/101905
|
||
* dwarf2out.c (gen_variable_die): Add DW_AT_location for global
|
||
register variables already during early_dwarf if possible.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-07-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/101624
|
||
* ubsan.c (maybe_instrument_pointer_overflow,
|
||
instrument_object_size): Only test DECL_REGISTER on VAR_DECLs,
|
||
PARM_DECLs or RESULT_DECLs.
|
||
* sanopt.c (maybe_optimize_ubsan_ptr_ifn): Likewise.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-07-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/101562
|
||
* expmed.c (store_integral_bit_field): Only use movstrict_optab
|
||
if the operand isn't paradoxical.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-07-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/101535
|
||
* gimplify.c (omp_check_private): Properly skip ORT_TARGET_DATA
|
||
contexts in which decl isn't privatized and for ORT_TARGET return
|
||
false if decl is mapped.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-07-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/101384
|
||
* config/rs6000/rs6000.c (vspltis_constant): Accept EASY_VECTOR_MSB
|
||
only if step and copies are equal to 1.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-07-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/94366
|
||
* omp-low.c (lower_rec_input_clauses): Rename is_fp_and_or to
|
||
is_truth_op, set it for TRUTH_*IF_EXPR regardless of new_var's type,
|
||
use boolean_type_node instead of integer_type_node as NE_EXPR type.
|
||
(lower_reduction_clauses): Likewise.
|
||
|
||
2022-05-11 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
Backported from master:
|
||
2021-05-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* omp-low.c (lower_rec_input_clauses, lower_reduction_clauses): Handle
|
||
&& and || with floating-point and complex arguments.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-07-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR go/101407
|
||
* godump.c (godump_str_hash): New type.
|
||
(godump_container::pot_dummy_types): Use string_hash instead of
|
||
ptr_hash in the hash_set.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-07-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/101266
|
||
* dwarf2out.c (loc_list_from_tree_1): Handle COMPOUND_LITERAL_EXPR.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-06-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/101210
|
||
* match.pd ((intptr_t)x eq/ne CST to x eq/ne (typeof x) CST): Don't
|
||
perform the optimization in GENERIC when sanitizing and x has a
|
||
reference type.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-06-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/101167
|
||
* omp-low.c (lower_omp_regimplify_p): Regimplify also PARM_DECLs
|
||
and RESULT_DECLs that have DECL_HAS_VALUE_EXPR_P set.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-06-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR inline-asm/100785
|
||
* cfgexpand.c (expand_asm_stmt): If errors are emitted,
|
||
remove all inputs, outputs and clobbers from the asm and
|
||
set template to "".
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-06-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/101062
|
||
* stor-layout.c (finish_bitfield_layout): Don't add bitfield
|
||
representatives in QUAL_UNION_TYPE.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-06-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/101062
|
||
* stor-layout.c (finish_bitfield_representative): For fields in unions
|
||
assume nextf is always NULL.
|
||
(finish_bitfield_layout): Compute bit field representatives also in
|
||
unions, but handle it as if each bitfield was the only field in the
|
||
aggregate.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-06-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/101046
|
||
* expr.c (expand_expr_real_2) <case VEC_PACK_FIX_TRUNC_EXPR,
|
||
case VEC_PACK_TRUNC_EXPR>: Clear subtarget when changing mode.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-06-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/100898
|
||
* tree-inline.c (copy_bb): Only use gimple_call_arg_ptr if memcpy
|
||
should copy any arguments. Don't call gimple_call_num_args
|
||
on id->call_stmt or call_stmt more than once.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-06-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/100887
|
||
* config/i386/i386.c (ix86_expand_vector_init): Handle
|
||
concatenation from half-sized modes with TImode elements.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-05-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/100508
|
||
* cfgexpand.c (expand_debug_expr): For DEBUG_EXPR_DECL with vector
|
||
type, don't reuse DECL_RTL if it has different mode, instead force
|
||
creation of a new DEBUG_EXPR.
|
||
|
||
2022-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/100471
|
||
* omp-low.c (lower_omp_task_reductions): For OMP_TASKLOOP, if data
|
||
is 0, bypass the reduction loop including
|
||
GOMP_taskgroup_reduction_unregister call.
|
||
|
||
2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/105292
|
||
* config/sparc/sparc.c (sparc_vectorize_vec_perm_const): Return
|
||
true only for 8-byte vector modes.
|
||
|
||
2022-05-06 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2022-04-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105070
|
||
* tree-switch-conversion.h
|
||
(bit_test_cluster::hoist_edge_and_branch_if_true): Add location
|
||
argument.
|
||
* tree-switch-conversion.c
|
||
(bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
|
||
cond with location.
|
||
(bit_test_cluster::emit): Annotate all generated expressions
|
||
with location.
|
||
|
||
2022-05-06 Tom de Vries <tdevries@suse.de>
|
||
|
||
Backported from master:
|
||
2021-02-05 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR debug/98656
|
||
* tree-switch-conversion.c (jump_table_cluster::emit): Add loc
|
||
argument.
|
||
(bit_test_cluster::emit): Reuse location_t for newly created
|
||
gswitch statement.
|
||
(switch_decision_tree::try_switch_expansion): Preserve
|
||
location_t.
|
||
* tree-switch-conversion.h: Change function signatures.
|
||
|
||
2022-05-06 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2022-03-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/104786
|
||
* cfgexpand.c (expand_asm_stmt): Do not generate a copy
|
||
for VLAs without an upper size bound.
|
||
|
||
2022-05-06 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-11-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/103361
|
||
* gimple-loop-jam.c (adjust_unroll_factor): Use lambda_int
|
||
for the dependence distance.
|
||
* tree-data-ref.c (print_lambda_vector): Properly print a lambda_int.
|
||
|
||
2022-05-06 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2022-01-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/100786
|
||
* gimple-fold.c (get_symbol_constant_value): Only return
|
||
values of compatible type to the symbol.
|
||
|
||
2022-04-27 Hongyu Wang <hongyu.wang@intel.com>
|
||
|
||
Backported from master:
|
||
2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
|
||
|
||
PR target/105339
|
||
* config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
|
||
Add parentheses for parameters and djust format.
|
||
(_mm512_mask_scalef_round_pd): Ditto.
|
||
(_mm512_maskz_scalef_round_pd): Ditto.
|
||
(_mm512_scalef_round_ps): Ditto.
|
||
(_mm512_mask_scalef_round_ps): Ditto.
|
||
(_mm512_maskz_scalef_round_ps): Ditto.
|
||
(_mm_scalef_round_sd): Use _mm_undefined_pd.
|
||
(_mm_scalef_round_ss): Use _mm_undefined_ps.
|
||
(_mm_mask_scalef_round_sd): New macro.
|
||
(_mm_mask_scalef_round_ss): Ditto.
|
||
(_mm_maskz_scalef_round_sd): Ditto.
|
||
(_mm_maskz_scalef_round_ss): Ditto.
|
||
|
||
2022-04-06 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
PR target/99977
|
||
* config/arm/arm.c (arm_split_compare_and_swap): Fix up codegen
|
||
with negative immediates: ensure we expand cbranchsi4_scratch
|
||
correctly and ensure we satisfy its constraints.
|
||
* config/arm/sync.md
|
||
(@atomic_compare_and_swap<CCSI:arch><NARROW:mode>_1): Don't
|
||
attempt to tie two output operands together with constraints;
|
||
collapse two alternatives.
|
||
(@atomic_compare_and_swap<CCSI:arch><SIDI:mode>_1): Likewise.
|
||
* config/arm/thumb1.md (cbranchsi4_neg_late): New.
|
||
|
||
2022-03-30 Martin Jambor <mjambor@suse.cz>
|
||
|
||
Backported from master:
|
||
2020-10-19 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/97456
|
||
PR middle-end/105071
|
||
* tree-complex.c (set_component_ssa_name): Do not replace ignored decl
|
||
default definitions with new component vars. Reorder if conditions.
|
||
|
||
2022-03-16 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2022-02-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/104453
|
||
* config/i386/i386.c (ix86_gimple_fold_builtin): Guard shift
|
||
folding for NULL LHS.
|
||
|
||
2022-02-18 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-09-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/97043
|
||
* tree-vect-slp.c (vect_analyze_slp_instance): Do not
|
||
elide a load permutation if the current vectorization
|
||
factor is one.
|
||
|
||
2022-02-18 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-08-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/96522
|
||
* tree-ssa-address.c (copy_ref_info): Reset flow-sensitive
|
||
info of the copied points-to. Transfer bigger alignment
|
||
via the access type.
|
||
* tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt):
|
||
Reset all flow-sensitive info.
|
||
|
||
2022-02-17 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-11-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/102798
|
||
* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
|
||
Only copy points-to info to newly generated SSA names.
|
||
|
||
2022-02-17 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-11-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/103181
|
||
PR middle-end/103248
|
||
* tree-eh.c (operation_could_trap_helper_p): Properly
|
||
check vector constants for a zero element for integer
|
||
division. Separate floating point and integer division code.
|
||
Properly handle fixed-point RDIV_EXPR.
|
||
|
||
2022-02-17 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-11-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/103237
|
||
* tree-vect-loop.c (vect_is_simple_reduction): Fail for
|
||
double reductions with multiple inner loop LC PHI nodes.
|
||
|
||
2022-02-10 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Backported from master:
|
||
2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/104469
|
||
* config/i386/sse.md (vec_unpacks_float_lo_v4si):
|
||
Change operand 1 constraint to register_operand.
|
||
|
||
2022-02-09 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/104451
|
||
* config/i386/sse.md (<insn><mode>3): lowpart_subreg
|
||
operands[2] from SImode to QImode.
|
||
|
||
2022-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-11-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/97953
|
||
* gimple-ssa-evrp-analyze.c
|
||
(evrp_range_analyzer::record_ranges_from_incoming_edge): Make
|
||
sure the condition post-dominates the SSA definition before
|
||
recording into SSA_NAME_RANGE_INFO.
|
||
|
||
2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/103465
|
||
* coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
|
||
|
||
2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/invoke.texi (%X): Remove obsolete reference to -Wl.
|
||
|
||
2021-12-27 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR target/100985
|
||
* config/aarch64/arm_acle.h: Remove unclosed extern "C" block.
|
||
|
||
2021-12-15 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
Backported from master:
|
||
2021-11-30 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR target/102347
|
||
* config/rs6000/rs6000.c (rs6000_builtin_decl): Remove builtin mask
|
||
check.
|
||
|
||
2021-12-01 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/103267
|
||
* tree-sra.c (scan_function): Also check ECF_LOOPING_CONST_OR_PURE
|
||
flag.
|
||
|
||
2021-11-25 Jan Hubicka <jh@suse.cz>
|
||
|
||
Backported from master:
|
||
2021-11-20 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/103052
|
||
* ipa-pure-const.c (propagate_pure_const): Fix merging of loping flag.
|
||
|
||
2021-11-23 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
PR target/101985
|
||
* config/rs6000/altivec.h (vec_cpsgn): Swap operand order.
|
||
|
||
2021-11-22 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
|
||
|
||
Backported from master:
|
||
2021-11-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
|
||
|
||
* config/s390/s390.md (define_peephole2): Variable insn points
|
||
to the first matched insn. Use peep2_next_insn(1) to refer to
|
||
the second matched insn.
|
||
|
||
2021-11-09 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-05-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/100672
|
||
* fold-const.c (fold_negate_expr_1): Use element_precision.
|
||
(negate_expr_p): Likewise.
|
||
|
||
2021-11-08 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-08-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/101373
|
||
PR tree-optimization/101868
|
||
* tree-ssa-pre.c (prune_clobbered_mems): Also prune trapping
|
||
references when the BB may not return.
|
||
|
||
2021-11-08 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-08-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/101824
|
||
* tree-nested.c (get_frame_field): Mark the COMPONENT_REF as
|
||
volatile in case the variable was.
|
||
|
||
2021-11-08 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
Backported from master:
|
||
2021-10-26 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR tree-optimization/102789
|
||
* tree-vect-loop-manip.c (vect_update_inits_of_drs): Do not
|
||
update inits of simd_lane_access.
|
||
|
||
2021-10-26 Piotr Kubaj <pkubaj@FreeBSD.org>
|
||
|
||
Backported from master:
|
||
2021-10-16 Piotr Kubaj <pkubaj@FreeBSD.org>
|
||
|
||
* configure.ac: Treat powerpc64*-*-freebsd* the same as
|
||
powerpc64-*-freebsd*.
|
||
* configure: Regenerate.
|
||
|
||
2021-10-24 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.md: Don't use 'G' constraint in integer move patterns.
|
||
|
||
2021-10-21 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
Backported from master:
|
||
2021-10-21 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/98667
|
||
* doc/invoke.texi: Document -fcf-protection requires i686 or
|
||
new.
|
||
|
||
2021-10-15 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.md: Consistently use "rG" constraint for copy
|
||
instruction in move patterns.
|
||
|
||
2021-10-14 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.md (cbranchsf4): Disable if TARGET_SOFT_FLOAT.
|
||
(cbranchdf4): Likewise.
|
||
Add missing move patterns for TARGET_SOFT_FLOAT.
|
||
|
||
2021-10-13 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.md (muldi3): Add support for inlining 64-bit
|
||
multiplication on 32-bit PA 1.1 and 2.0 targets.
|
||
|
||
2021-10-13 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-07-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/101173
|
||
PR tree-optimization/101280
|
||
* gimple-loop-interchange.cc
|
||
(tree_loop_interchange::valid_data_dependences): Properly
|
||
guard all dependence checks with DDR_REVERSED_P or its
|
||
inverse.
|
||
|
||
2021-10-13 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-07-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/101394
|
||
* tree-ssa-pre.c (do_pre_regular_insertion): Avoid inserting
|
||
copies from abnormals for a full redundancy.
|
||
|
||
2021-10-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/101105
|
||
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
|
||
Only ignore steps when they are equal or scalar order is preserved.
|
||
|
||
2021-10-13 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-06-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/100934
|
||
* tree-ssa-dom.c (pass_dominator::execute): Properly
|
||
mark irreducible regions.
|
||
|
||
2021-10-13 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-05-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/100509
|
||
* gimple-fold.c (fold_gimple_assign): Only call
|
||
get_symbol_constant_value on register type symbols.
|
||
|
||
2021-10-11 Andrew Pinski <apinski@marvell.com>
|
||
|
||
Backported from master:
|
||
2021-10-11 Andrew Pinski <apinski@marvell.com>
|
||
|
||
PR tree-optimization/102622
|
||
* tree-ssa-phiopt.c (conditional_replacement): Set neg
|
||
to false for one bit signed types.
|
||
|
||
2021-10-11 Diane Meirowitz <diane.meirowitz@oracle.com>
|
||
|
||
Backported from master:
|
||
2021-10-11 Diane Meirowitz <diane.meirowitz@oracle.com>
|
||
|
||
* doc/invoke.texi: Add link to UndefinedBehaviorSanitizer
|
||
documentation, mention UBSAN_OPTIONS, similar to what is done
|
||
for AddressSanitizer.
|
||
|
||
2021-09-22 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
Backported from master:
|
||
2021-09-22 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
* ipa-fnsummary.c (inline_read_section): Unpack a dummy bit
|
||
to keep consistent with the side of streaming out.
|
||
|
||
2021-09-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/102306
|
||
* combine.c (try_combine): Abort the combination if we are about to
|
||
duplicate volatile references.
|
||
|
||
2021-09-08 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-09-08 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR c++/60318
|
||
* doc/trouble.texi (Copy Assignment): Fix description of
|
||
behaviour and fix code in example.
|
||
|
||
2021-08-31 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
Backported from master:
|
||
2021-08-31 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* tree.c (walk_tree_1) <OMP_CLAUSE_TILE>: Handle three operands.
|
||
|
||
2021-08-25 konglin1 <lingling.kong@intel.com>
|
||
|
||
PR target/101471
|
||
* config/i386/avx512dqintrin.h (_mm512_fpclass_ps_mask): Fix
|
||
macro define in O0.
|
||
(_mm512_mask_fpclass_ps_mask): Ditto.
|
||
|
||
2021-08-23 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
Backported from master:
|
||
2021-08-05 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/101723
|
||
* config/arm/arm-cpus.in (quirk_no_asmcpu): New feature bit.
|
||
(ALL_QUIRKS): Add it.
|
||
(generic-armv7-a): Add quirk to suppress writing .cpu directive in
|
||
asm output.
|
||
* config/arm/arm.c (arm_identify_fpu_from_isa): New variable.
|
||
(arm_last_printed_arch_string): Delete.
|
||
(arm_last-printed_fpu_string): Delete.
|
||
(arm_configure_build_target): If use of floating-point/SIMD is
|
||
disabled, remove all fp/simd related features from the target ISA.
|
||
(last_arm_targ_options): New variable.
|
||
(arm_print_asm_arch_directives): Add new parameters. Change order
|
||
of emitted directives and handle all cases here.
|
||
(arm_file_start): Always call arm_print_asm_arch_directives, move
|
||
all generation of .arch/.arch_extension here.
|
||
(arm_file_end): Call arm_print_asm_arch.
|
||
(arm_declare_function_name): Call arm_print_asm_arch_directives
|
||
instead of printing .arch/.fpu directives directly.
|
||
|
||
2021-08-23 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
Backported from master:
|
||
2021-08-05 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config/arm/arm.c (arm_configure_build_target): Don't call
|
||
arm_option_reconfigure_globals.
|
||
(arm_option_restore): Call arm_option_reconfigure_globals after
|
||
reconfiguring the target.
|
||
* config/arm/arm-c.c (arm_pragma_target_parse): Likewise.
|
||
|
||
2021-08-23 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
Backported from master:
|
||
2021-08-05 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config/arm/arm.c (arm_configure_build_target): Ensure the target's
|
||
arch_name is always set.
|
||
|
||
2021-08-23 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
Backported from master:
|
||
2019-12-11 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config/arm/arm-cpus.in (ALL_SIMD_EXTERNAL): New fgroup.
|
||
(ALL_SIMD): Use it.
|
||
(ALL_FPU_EXTERNAL): New fgroup.
|
||
(ALL_FP): Use it.
|
||
(cortex-a55, cortex-a75, cortex-a76): Remove redundant
|
||
+simd from architecture specification.
|
||
(neoverse-n1, cortex-a75.cortex-a55): Likewise.
|
||
* config/arm/arm.c (isa_all_fpubits, fpu_bitlist): Rename to ...
|
||
(isa_all_fpubits_internal, fpu_bitlist_internal): ... these.
|
||
(isa_all_fpbits): New bitmap.
|
||
(arm_option_override): Initialize it.
|
||
(arm_configure_build_target): If the target isa does not have any
|
||
FP enabled, do not warn about mismatches in FP-related feature bits.
|
||
|
||
2021-08-19 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
Backported from master:
|
||
2021-05-27 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/100767
|
||
* config/arm/arm.c (arm_configure_build_target): Remove parameter
|
||
opts_set, directly check opts parameters for being non-null.
|
||
(arm_option_restore): Update call to arm_configure_build_target.
|
||
(arm_option_override): Likewise.
|
||
(arm_can_inline_p): Likewise.
|
||
(arm_valid_target_attribute_tree): Likewise.
|
||
* config/arm/arm-c.c (arm_pragma_target_parse): Likewise.
|
||
* config/arm/arm-protos.h (arm_configure_build_target): Adjust
|
||
prototype.
|
||
|
||
2021-08-17 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backported from master:
|
||
2021-08-03 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* doc/invoke.texi: Document -mtune=neoverse-512tvb and
|
||
-mcpu=neoverse-512tvb.
|
||
* config/aarch64/aarch64-cores.def (neoverse-512tvb): New entry.
|
||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||
|
||
2021-07-31 Xi Ruoyao <xry111@mengyan1223.wang>
|
||
|
||
Backported from master:
|
||
2021-07-30 Xi Ruoyao <xry111@mengyan1223.wang>
|
||
|
||
PR target/94780
|
||
* config/mips/mips.c (mips_atomic_assign_expand_fenv): Use
|
||
TARGET_EXPR instead of MODIFY_EXPR.
|
||
|
||
2021-07-20 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/100182
|
||
* config/i386/sync.md (define_peephole2 atomic_storedi_fpu):
|
||
Remove.
|
||
(define_peephole2 atomic_loaddi_fpu): Ditto.
|
||
|
||
2021-07-19 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
PR target/101129
|
||
* config/rs6000/rs6000-p8swap.c (has_part_mult): New.
|
||
(rs6000_analyze_swaps): Insns containing a subreg of a mult are
|
||
not swappable.
|
||
|
||
2021-07-19 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backported from master:
|
||
2021-04-18 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/99927
|
||
* combine.c (distribute_notes) [REG_UNUSED]: If the register already
|
||
is dead, just drop it.
|
||
|
||
2021-06-24 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Backported from master:
|
||
2021-06-23 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/101175
|
||
* config/i386/i386.md (bsr_rex64): Add zero-flag setting RTX.
|
||
(bsr): Ditto.
|
||
(*bsrhi): Remove.
|
||
(clz<mode>2): Update RTX pattern for additions.
|
||
|
||
2021-06-17 Marius Hillenbrand <mhillen@linux.ibm.com>
|
||
|
||
Backported from master:
|
||
2021-06-17 Marius Hillenbrand <mhillen@linux.ibm.com>
|
||
|
||
PR target/100871
|
||
* config/s390/vecintrin.h (vec_doublee): Fix to use
|
||
__builtin_s390_vflls.
|
||
(vec_floate): Fix to use __builtin_s390_vflrd.
|
||
|
||
2021-06-01 Release Manager
|
||
|
||
* GCC 9.4.0 released.
|
||
|
||
2021-05-18 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-01-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/80960
|
||
* dse.c (check_mem_read_rtx): Call get_addr on the
|
||
offsetted address.
|
||
|
||
2021-05-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/96513
|
||
* tree-vect-slp.c (struct vdhs_data): New.
|
||
(vect_detect_hybrid_slp): New walker.
|
||
(vect_detect_hybrid_slp): Rewrite.
|
||
|
||
2021-05-18 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/96597
|
||
* tree-ssa-sccvn.c (vn_reference_lookup_call): Add missing
|
||
initialization of ::punned.
|
||
(vn_reference_insert): Use consistently false instead of 0.
|
||
(vn_reference_insert_pieces): Likewise.
|
||
|
||
2021-05-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/88240
|
||
* tree-ssa-sccvn.h (vn_reference_s::punned): New flag.
|
||
* tree-ssa-sccvn.c (vn_reference_insert): Initialize punned.
|
||
(vn_reference_insert_pieces): Likewise.
|
||
(visit_reference_op_call): Likewise.
|
||
(visit_reference_op_load): Track whether a ref was punned.
|
||
* tree-ssa-pre.c (do_hoist_insertion): Refuse to perform hoist
|
||
insertion on punned floating point loads.
|
||
|
||
2021-05-17 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-05-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/100566
|
||
* tree-ssa-sccvn.c (dominated_by_p_w_unex): Properly handle
|
||
allow_back for all edge queries.
|
||
|
||
2021-05-12 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
Backported from master:
|
||
2021-05-11 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
PR target/99988
|
||
* config/aarch64/aarch64-bti-insert.c (aarch64_bti_j_insn_p): New.
|
||
(rest_of_insert_bti): Avoid inserting duplicate bti j insns for
|
||
jump table targets.
|
||
|
||
2021-05-11 Geng Qi <gengqi@linux.alibaba.com>
|
||
|
||
Backported from master:
|
||
2021-04-30 Geng Qi <gengqi@linux.alibaba.com>
|
||
|
||
* config/riscv/riscv.opt (march=,mabi=): Negative itself.
|
||
|
||
2021-05-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/99037
|
||
PR target/100441
|
||
* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Use
|
||
aarch64_simd_or_scalar_imm_zero to match zeroes. Remove pattern
|
||
matching const_int 0.
|
||
(move_lo_quad_internal_be_<mode>): Likewise.
|
||
(move_lo_quad_<mode>): Update for the above.
|
||
* config/aarch64/iterators.md (VQ_2E): Delete.
|
||
|
||
2021-05-06 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
Backported from master:
|
||
2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
PR rtl-optimization/100225
|
||
PR rtl-optimization/84878
|
||
* modulo-sched.c (sms_schedule): Use note_stores to skip loops
|
||
where we have an instruction which touches (writes) any hard
|
||
register from df->regular_block_artificial_uses set.
|
||
Allow not-single-set instruction only right before basic block
|
||
tail.
|
||
|
||
2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/100402
|
||
* config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
|
||
always return the establisher frame for __builtin_frame_address (0).
|
||
|
||
2021-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
|
||
|
||
Backported from master:
|
||
2021-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
|
||
|
||
PR rtl-optimization/100263
|
||
* postreload.c (move2add_valid_value_p): Ensure register can
|
||
change mode.
|
||
|
||
2021-05-05 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-05-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/98786
|
||
* tree-ssa-phiopt.c (factor_out_conditional_conversion): Avoid
|
||
adding new uses of abnormals.
|
||
|
||
2021-05-04 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
Backported from master:
|
||
2021-04-23 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
PR rtl-optimization/100230
|
||
* early-remat.c (early_remat::sort_candidates): Use delete[]
|
||
instead of delete for array allocated with new[].
|
||
|
||
2021-05-04 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-04-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/100053
|
||
* tree-ssa-sccvn.c (vn_nary_op_get_predicated_value): Do
|
||
not use optimistic dominance queries for backedges to validate
|
||
predicated values.
|
||
(dominated_by_p_w_unex): Add parameter to ignore executable
|
||
state on backedges.
|
||
(rpo_elim::eliminate_avail): Adjust.
|
||
|
||
2021-05-04 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-01-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/98144
|
||
* df.h (df_mir_bb_info): Add con_visited member.
|
||
* df-problems.c (df_mir_alloc): Initialize con_visited,
|
||
do not fully populate IN and OUT.
|
||
(df_mir_reset): Likewise.
|
||
(df_mir_confluence_0): Set con_visited.
|
||
(df_mir_confluence_n): Properly handle implicitely
|
||
fully populated IN and OUT as designated by con_visited
|
||
and update con_visited accordingly.
|
||
|
||
2021-05-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-05-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/100375
|
||
* config/nvptx/nvptx.c (nvptx_sese_pseudo): Use NULL instead of 0
|
||
as first argument of pseudo_node_t constructors.
|
||
|
||
2021-05-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-04-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/100302
|
||
* config/aarch64/aarch64.c (aarch64_add_offset_1_temporaries): Use
|
||
absu_hwi instead of abs_hwi.
|
||
|
||
2021-05-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-04-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/100254
|
||
* cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION on
|
||
last1 and last2 insns rather than BB_END (bb1) and BB_END (bb2) insns.
|
||
|
||
2021-05-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-04-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/100255
|
||
* vmsdbgout.c (ASM_OUTPUT_DEBUG_STRING, vmsdbgout_begin_block,
|
||
vmsdbgout_end_block, lookup_filename, vmsdbgout_source_line): Remove
|
||
register keywords.
|
||
|
||
2021-05-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-04-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/100148
|
||
* cprop.c (constprop_register): Use next_nondebug_insn instead of
|
||
NEXT_INSN.
|
||
|
||
2021-05-04 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/91914
|
||
* expr.c (string_constant): Pass argument type to
|
||
fold_ctor_reference to guide it.
|
||
|
||
2021-05-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/97865
|
||
* configure: Regenerate.
|
||
|
||
2021-05-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backported from master:
|
||
2020-12-23 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin-driver.c (validate_macosx_version_min): Allow
|
||
MACOSX_DEPLOYMENT_TARGET=11.
|
||
(darwin_default_min_version): Adjust warning spelling to avoid
|
||
an apostrophe.
|
||
|
||
2021-05-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backported from master:
|
||
2020-12-21 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin-driver.c (darwin_find_version_from_kernel):
|
||
Compute the minor OS version from the minor kernel version.
|
||
|
||
2021-05-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backported from master:
|
||
2020-11-06 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin-c.c: Allow for Darwin20 to correspond to macOS 11.
|
||
* config/darwin-driver.c: Likewise.
|
||
|
||
2021-05-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backported from master:
|
||
2020-11-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/host-darwin.c: Align pch_address_space to 16384.
|
||
|
||
2021-05-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backported from master:
|
||
2021-03-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR target/44107
|
||
PR target/48097
|
||
* config/darwin-protos.h (darwin_should_restore_cfa_state): New.
|
||
* config/darwin.c (darwin_should_restore_cfa_state): New.
|
||
* config/darwin.h (TARGET_ASM_SHOULD_RESTORE_CFA_STATE): New.
|
||
* doc/tm.texi: Regenerated.
|
||
* doc/tm.texi.in: Document TARGET_ASM_SHOULD_RESTORE_CFA_STATE.
|
||
* dwarf2cfi.c (connect_traces): If the target requests, restore
|
||
the CFA expression after a DW_CFA_restore.
|
||
* target.def (TARGET_ASM_SHOULD_RESTORE_CFA_STATE): New hook.
|
||
|
||
2021-05-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backported from master:
|
||
2021-04-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (machopic_legitimize_pic_address): Check
|
||
that the current pic register is one of the hard reg set
|
||
before setting liveness.
|
||
|
||
2021-05-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backported from master:
|
||
2020-11-22 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin-c.c (struct f_align_stack): Rename
|
||
to type from align_stack to f_align_stack.
|
||
(push_field_alignment): Likewise.
|
||
(pop_field_alignment): Likewise.
|
||
|
||
2021-05-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backported from master:
|
||
2020-09-07 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (darwin_libc_has_function): Report sincos
|
||
available from 10.9.
|
||
|
||
2021-05-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c: Lookup Objective C metadata and force indirection
|
||
for IVAR refs.
|
||
|
||
2021-05-01 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.h (ASM_GENERATE_INTERNAL_LABEL):
|
||
Make ubsan_{data,type},ASAN symbols linker-visible.
|
||
|
||
2021-04-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
Backported from master:
|
||
2019-11-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
PR tree-optimization/92608
|
||
* tree-ssa-loop-unswitch.c (find_loop_guard): Use safe_dyn_cast instead
|
||
of dyn_cast.
|
||
|
||
2021-04-30 James Clarke <jrtc27@jrtc27.com>
|
||
|
||
PR bootstrap/87338
|
||
* dwarf2out.c (dwarf2out_inline_entry): Use ASM_OUTPUT_DEBUG_LABEL
|
||
instead of ASM_GENERATE_INTERNAL_LABEL and ASM_OUTPUT_LABEL.
|
||
|
||
2021-04-28 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Backported from master:
|
||
2021-04-23 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/100182
|
||
* config/i386/sync.md (FILD_ATOMIC/FIST_ATOMIC FP load peephole2):
|
||
Copy operand 3 to operand 4. Use sse_reg_operand
|
||
as operand 3 predicate.
|
||
(FILD_ATOMIC/FIST_ATOMIC FP load peephole2 with mem blockage): Ditto.
|
||
(LDX_ATOMIC/STX_ATOMIC FP load peephole2): Ditto.
|
||
(LDX_ATOMIC/LDX_ATOMIC FP load peephole2 with mem blockage): Ditto.
|
||
(FILD_ATOMIC/FIST_ATOMIC FP store peephole2):
|
||
Copy operand 1 to operand 0.
|
||
(FILD_ATOMIC/FIST_ATOMIC FP store peephole2 with mem blockage): Ditto.
|
||
(LDX_ATOMIC/STX_ATOMIC FP store peephole2): Ditto.
|
||
(LDX_ATOMIC/LDX_ATOMIC FP store peephole2 with mem blockage): Ditto.
|
||
|
||
2021-04-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/99954
|
||
* tree-loop-distribution.c: Include tree-affine.h.
|
||
(generate_memcpy_builtin): Try using tree-affine to prove
|
||
non-overlap.
|
||
(loop_distribution::classify_builtin_ldst): Always classify
|
||
as PKIND_MEMMOVE.
|
||
|
||
2021-04-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backported from master:
|
||
2021-04-14 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/99929
|
||
* rtl.h (same_vector_encodings_p): New function.
|
||
* cse.c (exp_equiv_p): Check that CONST_VECTORs have the same encoding.
|
||
* cselib.c (rtx_equal_for_cselib_1): Likewise.
|
||
* jump.c (rtx_renumbered_equal_p): Likewise.
|
||
* lra-constraints.c (operands_match_p): Likewise.
|
||
* reload.c (operands_match_p): Likewise.
|
||
* rtl.c (rtx_equal_p_cb, rtx_equal_p): Likewise.
|
||
|
||
2021-04-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backported from master:
|
||
2021-03-30 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR target/98136
|
||
* config/aarch64/aarch64.md (mov<mode>): Pass multi-instruction
|
||
CONST_INTs to aarch64_expand_mov_immediate when called after RA.
|
||
|
||
2021-04-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/96796
|
||
* lra-constraints.c (in_class_p): Add a default-false
|
||
allow_all_reload_class_changes_p parameter. Do not treat
|
||
reload moves specially when the parameter is true.
|
||
(get_reload_reg): Try to narrow the class of an existing OP_OUT
|
||
reload if we're reloading a reload pseudo in a reload instruction.
|
||
|
||
2021-04-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backported from master:
|
||
2020-12-31 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/98302
|
||
* tree-vect-patterns.c (vect_determine_precisions_from_users): Make
|
||
sure that the precision remains greater than the shift count.
|
||
|
||
2021-04-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backported from master:
|
||
2020-07-08 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/95694
|
||
* expr.c (expand_expr_real_2): Get the mode from the type rather
|
||
than the rtx, and assert that it is consistent with the mode of
|
||
the rtx (where known). Optimize all constant integers, not just
|
||
those that can be represented in poly_int64.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/99767
|
||
* tree-vect-loop.c (vect_transform_loop): Don't remove just
|
||
dead scalar .MASK_LOAD calls, but also dead .COND_* calls - replace
|
||
them by their last argument.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/99905
|
||
* combine.c (expand_compound_operation): If pos + len > modewidth,
|
||
perform the right shift by pos in inner_mode and then convert to mode,
|
||
instead of trying to simplify a shift of rtx with inner_mode by pos
|
||
as if it was a shift in mode.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/99830
|
||
* combine.c (simplify_and_const_int_1): Don't optimize varop
|
||
away if it has side-effects.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/99849
|
||
* expr.c (expand_expr_addr_expr_1): Test is_global_var rather than
|
||
just TREE_STATIC on COMPOUND_LITERAL_EXPR_DECLs.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/98601
|
||
* rtlanal.c (rtx_addr_can_trap_p_1): Allow in assert unknown size
|
||
not just for BLKmode, but also for VOIDmode. For STRICT_ALIGNMENT
|
||
unaligned_mems handle VOIDmode like BLKmode.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/99863
|
||
* dse.c (replace_read): Drop regs_live argument. Instead of
|
||
regs_live, use store_insn->fixed_regs_live if non-NULL,
|
||
otherwise punt if insns sequence clobbers or sets any hard
|
||
registers.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/99777
|
||
* fold-const.c (extract_muldiv_1): For conversions, punt on casts from
|
||
types other than scalar integral types.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/99334
|
||
* dwarf2out.h (struct dw_fde_node): Add rule18 member.
|
||
* dwarf2cfi.c (dwarf2out_frame_debug_expr): When handling (set hfp sp)
|
||
assignment with drap_reg active, queue reg save for hfp with offset 0
|
||
and flush queued reg saves. When handling a push with rule18,
|
||
defer queueing reg save for hfp and just assert the offset is 0.
|
||
(scan_trace): Assert that fde->rule18 is false.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/99388
|
||
* dwarf2out.c (insert_float): Change return type from void to
|
||
unsigned, handle GET_MODE_SIZE (mode) == 2 and return element size.
|
||
(mem_loc_descriptor, loc_descriptor, add_const_value_attribute):
|
||
Adjust callers.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/99542
|
||
* config/aarch64/aarch64.c
|
||
(aarch64_simd_clone_compute_vecsize_and_simdlen): If not a function
|
||
definition, walk TYPE_ARG_TYPES list if non-NULL for argument types
|
||
instead of DECL_ARGUMENTS. Ignore types for uniform arguments.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/93235
|
||
* expmed.c (store_bit_field_using_insv): Return false of xop0 is a
|
||
SUBREG and a SUBREG to op_mode can't be created.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/99225
|
||
* fold-const.c (fold_binary_loc) <case NE_EXPR>: In (x & (1 << y)) != 0
|
||
to ((x >> y) & 1) != 0 simplifications use build_one_cst instead of
|
||
build_int_cst (..., 1). Formatting fixes.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/99204
|
||
* fold-const.c (fold_read_from_constant_string): Check that
|
||
tree_fits_uhwi_p (index) rather than just that index is INTEGER_CST.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/99034
|
||
* tree-cfg.c (gimple_merge_blocks): If bb a starts with eh landing
|
||
pad or non-local label, put FORCED_LABELs from bb b after that label
|
||
rather than before it.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/99079
|
||
* match.pd (A % (pow2pcst << N) -> A & ((pow2pcst << N) - 1)): Remove
|
||
useless tree_nop_conversion_p (type, TREE_TYPE (@3)) check. Instead
|
||
require both type and TREE_TYPE (@1) to be integral types and either
|
||
type having smaller or equal precision, or TREE_TYPE (@1) being
|
||
unsigned type, or type being signed type. If TREE_TYPE (@1)
|
||
doesn't have wrapping overflow, perform the subtraction of one in
|
||
unsigned type.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/99035
|
||
* varasm.c (declare_weak): For -fsyntax-only, allow even
|
||
TREE_ASM_WRITTEN function decls.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/99007
|
||
* gimplify.c (gimplify_scan_omp_clauses): For MEM_REF on reductions,
|
||
temporarily disable gimplify_ctxp->into_ssa around gimplify_expr
|
||
calls.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/97487
|
||
* ifcvt.c (noce_can_force_operand): New function.
|
||
(noce_emit_move_insn): Use it.
|
||
(noce_try_sign_mask): Likewise. Formatting fix.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/97971
|
||
* lra-constraints.c (process_alt_operands): For inline asm, don't call
|
||
fatal_insn, but instead return false.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/98331
|
||
* cfgbuild.c (find_bb_boundaries): Reset debug_insn when seeing
|
||
a BARRIER.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/98853
|
||
* config/aarch64/aarch64.md (*aarch64_bfxilsi_uxtw): Use
|
||
%w0, %w1 and %2 instead of %0, %1 and %2.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/98681
|
||
* config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p):
|
||
Use UINTVAL (shft_amnt) and UINTVAL (mask) instead of INTVAL (shft_amnt)
|
||
and INTVAL (mask). Add && INTVAL (mask) > 0 condition.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR testsuite/97301
|
||
* config/rs6000/mmintrin.h (__m64): Add __may_alias__ attribute.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/90248
|
||
* match.pd (X cmp 0.0 ? 1.0 : -1.0 -> copysign(1, +-X),
|
||
X cmp 0.0 ? -1.0 : +1.0 -> copysign(1, -+X)): Remove
|
||
simplifications.
|
||
(X * (X cmp 0.0 ? 1.0 : -1.0) -> +-abs(X),
|
||
X * (X cmp 0.0 ? -1.0 : 1.0) -> +-abs(X)): New simplifications.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/98556
|
||
* tree-cfg.c (verify_gimple_assign_binary): Allow lhs of
|
||
POINTER_DIFF_EXPR to be any integral type.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/98474
|
||
* wide-int.cc (wi::to_mpz): If wide_int has MSB set, but type
|
||
is unsigned and excess negative, append set bits after len until
|
||
precision.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/98353
|
||
* gimplify.c (gimplify_init_ctor_eval_range): Gimplify value before
|
||
storing it into cref.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gimplify.c (struct gimplify_omp_ctx): Add has_depend member.
|
||
(gimplify_scan_omp_clauses): Set it to true if OMP_CLAUSE_DEPEND
|
||
appears on OMP_TASK.
|
||
(gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Force
|
||
GOVD_WRITTEN on shared variables if task construct has depend clause.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/98183
|
||
* omp-low.c (lower_omp_target): Don't add OMP_RETURN for
|
||
data regions.
|
||
* omp-expand.c (expand_omp_target): Don't try to remove
|
||
OMP_RETURN for data regions.
|
||
(build_omp_regions_1, omp_make_gimple_edges): Don't expect
|
||
OMP_RETURN for data regions.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/98205
|
||
* omp-expand.c (expand_omp_for_generic): Fix up broken_loop handling.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/98100
|
||
* cfgexpand.c (expand_gimple_basic_block): For vars with
|
||
vector type, use TYPE_MODE rather than DECL_MODE.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* dwarf2out.c (add_scalar_info): Only use add_AT_wide for 128-bit
|
||
constants and only in dwarf-5 or later, where DW_FORM_data16 is
|
||
available. Otherwise use DW_FORM_block*/DW_FORM_exprloc with
|
||
DW_OP_implicit_value to describe the constant.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/98063
|
||
* config/i386/i386.c (ix86_expand_call): Handle non-plt
|
||
CM_LARGE_PIC calls.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-11-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/97599
|
||
* dwarf2out.c (gen_subprogram_die): Call
|
||
gen_unspecified_parameters_die even if not early dwarf, but only
|
||
if subr_die is a newly created DIE.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-11-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* wide-int.cc (wi::set_bit_large): Call canonize unless setting
|
||
msb bit and clearing bits above it.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-10-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/97386
|
||
* combine.c (simplify_shift_const_1): Don't optimize nested ROTATEs if
|
||
they have different modes.
|
||
|
||
2021-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-10-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/97294
|
||
* tree-cfg.c (move_block_to_fn): Call notice_special_calls on
|
||
call stmts being moved into dest_cfun.
|
||
* omp-low.c (lower_rec_input_clauses): Set cfun->calls_alloca when
|
||
adding __builtin_alloca_with_align call without gimplification.
|
||
|
||
2021-04-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/i386/winnt.c (i386_pe_seh_cold_init): Properly deal with
|
||
frames larger than the SEH maximum frame size.
|
||
|
||
2021-04-15 Lili Cui <lili.cui@intel.com>
|
||
|
||
* common/config/i386/i386-common.c
|
||
(processor_names): Add tigerlake.
|
||
(processor_alias_table): Ditto.
|
||
* config.gcc (x86_64_archs): Ditto.
|
||
* config/i386/driver-i386.c
|
||
(host_detect_local_cpu): Detect tigerlake, add "has_avx" to
|
||
classify processor.
|
||
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
|
||
PROCESSOR_TIGERLAKE.
|
||
* config/i386/i386.c (m_TIGERLAKE): Define.
|
||
(m_CORE_AVX512): Add m_TIGERLAKE.
|
||
(processor_cost_table): Add skylake_cost for tigerlake.
|
||
(processor_model): Add M_INTEL_COREI7_TIGERLAKE.
|
||
(arch_names_table): Add tigerlake.
|
||
(get_builtin_code_for_version): Handle PROCESSOR_TIGERLAKE.
|
||
* config/i386/i386.h (TARGET_TIGERLAKE): Define.
|
||
(enum processor_type): Add PROCESSOR_TIGERLAKE.
|
||
(PTA_TIGERLAKE): Define.
|
||
* doc/extend.texi (__builtin_cpu_is): Add tigerlake.
|
||
* doc/invoke.texi (-march=cpu-type): Ditto.
|
||
|
||
2021-04-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
Backported from master:
|
||
2020-02-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
Kugan Vivekandarajah <kugan.vivekanandarajah@linaro.org>
|
||
|
||
PR driver/47785
|
||
* gcc.c (putenv_COLLECT_AS_OPTIONS): New function.
|
||
(driver::main): Call putenv_COLLECT_AS_OPTIONS.
|
||
* opts-common.c (parse_options_from_collect_gcc_options): New function.
|
||
(prepend_xassembler_to_collect_as_options): Likewise.
|
||
* opts.h (parse_options_from_collect_gcc_options): Declare prototype.
|
||
(prepend_xassembler_to_collect_as_options): Likewise.
|
||
* lto-opts.c (lto_write_options): Stream assembler options
|
||
in COLLECT_AS_OPTIONS.
|
||
* lto-wrapper.c (xassembler_options_error): New static variable.
|
||
(get_options_from_collect_gcc_options): Move parsing options code to
|
||
parse_options_from_collect_gcc_options and call it.
|
||
(merge_and_complain): Validate -Xassembler options.
|
||
(append_compiler_options): Handle OPT_Xassembler.
|
||
(run_gcc): Append command line -Xassembler options to
|
||
collect_gcc_options.
|
||
* doc/invoke.texi: Add documentation about using Xassembler
|
||
options with LTO.
|
||
|
||
2021-04-12 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-03-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/99694
|
||
* tree-ssa-sccvn.c (visit_phi): Ignore edges with the
|
||
PHI result.
|
||
|
||
2021-04-12 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-02-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR c/99224
|
||
* builtins.c (fold_builtin_next_arg): Avoid NULL arg.
|
||
|
||
2021-04-12 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-02-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/96591
|
||
* tree.c (walk_tree_1): Walk VECTOR_CST elements.
|
||
|
||
2021-04-08 Martin Jambor <mjambor@suse.cz>
|
||
|
||
Backported from master:
|
||
2021-04-01 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/97009
|
||
* tree-sra.c (access_or_its_child_written): New function.
|
||
(propagate_subaccesses_from_rhs): Use it instead of a simple grp_write
|
||
test.
|
||
|
||
2021-04-01 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-04-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/99856
|
||
* tree-vect-patterns.c (vect_recog_over_widening_pattern): Promote
|
||
precision to vector element precision.
|
||
|
||
2021-03-26 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
Backported from master:
|
||
2021-03-26 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR ipa/99466
|
||
* tree-emutls.c (get_emutls_init_templ_addr): Mark initializer of weak
|
||
TLS declarations as public.
|
||
|
||
2021-03-25 Xionghu Luo <luoxhu@linux.ibm.com>
|
||
|
||
Backported from master:
|
||
2021-03-25 Xionghu Luo <luoxhu@linux.ibm.com>
|
||
|
||
PR target/97329
|
||
* config/rs6000/rs6000.c (power8_costs): Change l2 cache
|
||
from 256 to 512.
|
||
|
||
2021-03-23 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
Backported from master:
|
||
2021-03-23 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/99704
|
||
* config/i386/cpuid.h (__cpuid): Add __volatile__.
|
||
(__cpuid_count): Likewise.
|
||
|
||
2021-03-22 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
Backported from master:
|
||
2021-03-22 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
PR target/99702
|
||
* config/riscv/riscv.c (riscv_expand_block_move): Get RTL value
|
||
after type checking.
|
||
|
||
2021-03-18 Sinan Lin <sinan@isrc.iscas.ac.cn>
|
||
|
||
Backported from master:
|
||
2021-03-18 Sinan Lin <sinan@isrc.iscas.ac.cn>
|
||
Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
* config/riscv/riscv.c (riscv_block_move_straight): Change type
|
||
to unsigned HOST_WIDE_INT for parameter and local variable with
|
||
HOST_WIDE_INT type.
|
||
(riscv_adjust_block_mem): Ditto.
|
||
(riscv_block_move_loop): Ditto.
|
||
(riscv_expand_block_move): Ditto.
|
||
|
||
2021-03-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2021-03-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.c (aarch64_expand_rng_builtin): Use EQ
|
||
to compare against CC_REG rather than NE.
|
||
|
||
2021-03-17 Martin Jambor <mjambor@suse.cz>
|
||
|
||
Backported from master:
|
||
2021-03-05 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/98078
|
||
* cgraph.c (cgraph_edge::set_call_stmt): Do not update all
|
||
corresponding speculative edges if we are about to resolve
|
||
speculation. Make edge direct (and so resolve speculations) before
|
||
removing it from call_site_hash.
|
||
(cgraph_edge::make_direct): Relax the initial assert to allow calling
|
||
the function on speculative direct edges.
|
||
|
||
2021-03-17 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-03-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/98758
|
||
* tree-data-ref.c (int_divides_p): Use lambda_int arguments.
|
||
(lambda_matrix_right_hermite): Avoid undefinedness with
|
||
signed integer abs and multiplication.
|
||
(analyze_subscript_affine_affine): Use lambda_int.
|
||
|
||
2021-03-17 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/98282
|
||
* tree-ssa-sccvn.c (vn_get_stmt_kind): Classify tcc_reference on
|
||
invariants as VN_NARY.
|
||
|
||
2021-03-17 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-01-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/98117
|
||
* tree-vect-loop-manip.c (vect_gen_vector_loop_niters):
|
||
Properly handle degenerate niter when setting the vector
|
||
loop IV range.
|
||
|
||
2021-03-17 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-03-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/93964
|
||
* graphite-isl-ast-to-gimple.c
|
||
(gcc_expression_from_isl_ast_expr_id): Add intermediate
|
||
conversion for pointer to integer converts.
|
||
* graphite-scop-detection.c (assign_parameter_index_in_region):
|
||
Relax assert.
|
||
|
||
2021-03-07 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR target/85074
|
||
* config/pa/pa.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define as
|
||
hook_bool_const_tree_hwi_hwi_const_tree_true.
|
||
(pa_asm_output_mi_thunk): Add support for nonzero vcall_offset.
|
||
|
||
2021-03-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/99234
|
||
* config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
|
||
point back the hard frame pointer to its default location when the
|
||
frame is larger than SEH_MAX_FRAME_SIZE.
|
||
|
||
2021-03-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/99234
|
||
* config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
|
||
point the hard frame pointer to the SSE register save area instead
|
||
of the general register save area. Perform only minimal adjustment
|
||
for small frames if it is initially not correctly aligned.
|
||
(ix86_expand_prologue): Remove early saves for a SEH target.
|
||
* config/i386/winnt.c (struct seh_frame_state): Document constraint.
|
||
|
||
2021-02-23 Qian Jianhua <qianjh@cn.fujitsu.com>
|
||
|
||
Backported from master:
|
||
2021-02-23 Qian Jianhua <qianjh@cn.fujitsu.com>
|
||
|
||
* config/aarch64/aarch64-cost-tables.h (a64fx_extra_costs): New.
|
||
* config/aarch64/aarch64.c (a64fx_addrcost_table): New.
|
||
(a64fx_regmove_cost, a64fx_vector_cost): New.
|
||
(a64fx_tunings): Use the new added cost tables.
|
||
|
||
2021-02-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* df-core.c (df_worklist_dataflow_doublequeue): Use proper cast.
|
||
|
||
2021-02-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/i386/winnt.c (i386_pe_seh_unwind_emit): When switching to
|
||
the cold section, emit a nop before the directive if the previous
|
||
active instruction can throw.
|
||
|
||
2021-02-05 Matthias Klose <doko@ubuntu.com>
|
||
|
||
Backported from master:
|
||
2020-10-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/97236
|
||
* tree-vect-stmts.c (get_group_load_store_type): Keep
|
||
VMAT_ELEMENTWISE for single-element vectors.
|
||
|
||
2021-02-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-11-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/97528
|
||
* config/arm/arm.c (neon_vector_mem_operand): For POST_MODIFY, require
|
||
first POST_MODIFY operand is a REG and is equal to the first operand
|
||
of PLUS.
|
||
|
||
2021-01-29 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2021-01-29 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/97627
|
||
* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
|
||
Do not analyze fake edges.
|
||
|
||
2021-01-21 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
Backported from master:
|
||
2019-10-16 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR target/98618
|
||
* config/aarch64/aarch64.c (aarch64_classify_symbol):
|
||
Apply reasonable limit to symbol offsets.
|
||
|
||
2021-01-13 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||
|
||
Backported from master:
|
||
2021-01-13 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||
|
||
* config.gcc [$target == *-*-gnu*]: Enable
|
||
'default_gnu_indirect_function'.
|
||
|
||
2021-01-06 2019-07-10 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR testsuite/90806
|
||
Backport from mainline
|
||
* wide-int.h (wi::lshift): Reject negative values for the fast path.
|
||
|
||
2020-12-28 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/96793
|
||
* config/i386/i386.c (ix86_expand_rint):
|
||
Remove the sign of the intermediate value for flag_rounding_math.
|
||
|
||
2020-12-28 Piotr Kubaj <pkubaj@FreeBSD.org>
|
||
|
||
Backported from master:
|
||
2020-12-16 Piotr Kubaj <pkubaj@FreeBSD.org>
|
||
|
||
* config.gcc (powerpc*le-*-freebsd*): Add.
|
||
* configure.ac (powerpc*le-*-freebsd*): Ditto.
|
||
* configure: Regenerate.
|
||
* config/rs6000/freebsd64.h (ASM_SPEC_COMMON): Use ENDIAN_SELECT.
|
||
(DEFAULT_ASM_ENDIAN): Add little endian support.
|
||
(LINK_OS_FREEBSD_SPEC64): Ditto.
|
||
|
||
2020-12-27 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/96793
|
||
* config/i386/i386.c (ix86_expand_truncdf_32):
|
||
Remove the sign of the intermediate value for flag_rounding_math.
|
||
|
||
2020-12-24 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
Backported from master:
|
||
2020-12-05 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
PR rtl-optimization/97421
|
||
* modulo-sched.c (generate_prolog_epilog): Remove forward
|
||
declaration, adjust last argument name and type.
|
||
(const_iteration_count): Add bool pointer parameter to return
|
||
whether count register is read in pre-header after its
|
||
initialization.
|
||
(sms_schedule): Fix count register initialization adjustment
|
||
procedure according to what const_iteration_count said.
|
||
|
||
2020-12-23 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/96793
|
||
* config/i386/i386.c (ix86_expand_floorceil):
|
||
Remove the sign of the intermediate value for flag_rounding_math.
|
||
(ix86_expand_floorceildf_32): Ditto.
|
||
|
||
2020-12-14 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config.gcc (aarch64*-*-*): Add --with-tune. Support --with-cpu=native.
|
||
* config/aarch64/aarch64.h (OPTION_DEFAULT_SPECS): Add --with-tune.
|
||
|
||
2020-12-14 Sebastian Pop <spop@amazon.com>
|
||
|
||
* config.gcc (aarch64*-*-*): Remove --with-{cpu,arch,tune}-32 flags.
|
||
|
||
2020-12-03 Uroš Bizjak <ubizjak@gmail.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/98086
|
||
* config/i386/i386.c (ix86_md_asm_adjustmd): Rewrite
|
||
zero-extension part to use convert_to_mode.
|
||
|
||
2020-12-02 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-07-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/96075
|
||
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use
|
||
TYPE_SIZE_UNIT of the vector component type instead of DR_STEP
|
||
for the misalignment calculation for negative step.
|
||
|
||
2020-12-02 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-07-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/96369
|
||
* fold-const.c (fold_range_test): Special-case constant
|
||
LHS for short-circuiting operations.
|
||
|
||
2020-12-02 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-11-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/97812
|
||
* tree-vrp.c (register_edge_assert_for_2): Extend the range
|
||
according to its sign before seeing whether it fits.
|
||
|
||
2020-12-02 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-10-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/97255
|
||
* tree-vect-patterns.c (vect_recog_bool_pattern): Also handle
|
||
VIEW_CONVERT_EXPR.
|
||
|
||
2020-12-02 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-09-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/97081
|
||
* tree-vect-patterns.c (vect_recog_rotate_pattern): Use the
|
||
precision of the shifted operand to determine the mask.
|
||
|
||
2020-12-02 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-08-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/96579
|
||
* tree-ssa-reassoc.c (linearize_expr_tree): If we expand
|
||
rhs via special ops make sure to swap operands.
|
||
|
||
2020-12-02 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-07-30 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/96370
|
||
* tree-ssa-reassoc.c (rewrite_expr_tree): Add operation
|
||
code parameter and use it instead of picking it up from
|
||
the stmt that is being rewritten.
|
||
(reassociate_bb): Pass down the operation code.
|
||
|
||
2020-12-02 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-08-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/96514
|
||
* tree-if-conv.c (if_convertible_bb_p): If the last stmt
|
||
is a call that is control-altering, fail.
|
||
|
||
2020-12-01 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-10-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/97554
|
||
* sbitmap.c (sbitmap_vector_alloc): Use size_t for byte
|
||
quantities to avoid overflow.
|
||
|
||
2020-11-30 Stam Markianos-Wright <stam.markianos-wright@arm.com>
|
||
|
||
* config/arm/arm-protos.h: New function arm_gen_far_branch prototype.
|
||
* config/arm/arm.c (arm_gen_far_branch): New function
|
||
arm_gen_far_branch.
|
||
* config/arm/arm.md: Update b<cond> for Thumb2 range checks.
|
||
|
||
2020-11-28 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/97939
|
||
* config/sparc/predicates.md (arith_double_add_operand): Comment.
|
||
* config/sparc/sparc.md (uaddvdi4): Use arith_double_operand.
|
||
(addvdi4): Use arith_double_add_operand.
|
||
(addsi3): Remove useless attributes.
|
||
(addvsi4): Use arith_add_operand.
|
||
(*cmp_ccv_plus): Likewise and add second alternative accordingly.
|
||
(*cmp_ccxv_plus): Likewise.
|
||
(*cmp_ccv_plus_set): Likewise.
|
||
(*cmp_ccxv_plus_set): Likewise.
|
||
(*cmp_ccv_plus_sltu_set): Likewise.
|
||
(usubvdi4): Use arith_double_operand.
|
||
(subvdi4): Use arith_double_add_operand.
|
||
(subsi3): Remove useless attributes.
|
||
(subvsi4): Use arith_add_operand.
|
||
(*cmp_ccv_minus): Likewise and add second alternative accordingly.
|
||
(*cmp_ccxv_minus): Likewise.
|
||
(*cmp_ccv_minus_set): Likewise.
|
||
(*cmp_ccxv_minus_set): Likewise.
|
||
(*cmp_ccv_minus_sltu_set): Likewise.
|
||
(negsi2): Use register_operand.
|
||
(unegvsi3): Likewise.
|
||
(negvsi3) Likewise.
|
||
(*cmp_ccnz_neg): Likewise.
|
||
(*cmp_ccxnz_neg): Likewise.
|
||
(*cmp_ccnz_neg_set): Likewise.
|
||
(*cmp_ccxnz_neg_set): Likewise.
|
||
(*cmp_ccc_neg_set): Likewise.
|
||
(*cmp_ccxc_neg_set): Likewise.
|
||
(*cmp_ccc_neg_sltu_set): Likewise.
|
||
(*cmp_ccv_neg): Likewise.
|
||
(*cmp_ccxv_neg): Likewise.
|
||
(*cmp_ccv_neg_set): Likewise.
|
||
(*cmp_ccxv_neg_set): Likewise.
|
||
(*cmp_ccv_neg_sltu_set): Likewise.
|
||
|
||
2020-11-28 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/96607
|
||
* config/sparc/sparc-protos.h (eligible_for_call_delay): Delete.
|
||
* config/sparc/sparc.c (eligible_for_call_delay): Likewise.
|
||
* config/sparc/sparc.md (in_call_delay): Likewise.
|
||
(tls_delay_slot): New attribute.
|
||
(define_delay [call]): Use in_branch_delay.
|
||
(tgd_call<P:mode>): Set type to call_no_delay_slot when
|
||
tls_delay_slot is false.
|
||
(tldm_call<P:mode>): Likewise.
|
||
|
||
2020-11-24 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/97918
|
||
* dwarf2out.c (dwarf2out_early_finish): flush_limbo_die_list
|
||
after gen_scheduled_generic_parms_dies.
|
||
|
||
2020-11-17 Sebastian Pop <spop@amazon.com>
|
||
|
||
Backported from master:
|
||
2020-11-17 Sebastian Pop <spop@amazon.com>
|
||
|
||
* config.gcc: add configure flags --with-{cpu,arch,tune}-{32,64}
|
||
as alias flags for --with-{cpu,arch,tune} on AArch64.
|
||
* doc/install.texi: Document new flags for aarch64.
|
||
|
||
2020-11-17 Sebastian Pop <spop@amazon.com>
|
||
|
||
Backported from master:
|
||
2020-11-17 Sebastian Pop <spop@amazon.com>
|
||
|
||
* config.gcc: Add --with-tune to AArch64 configure flags.
|
||
|
||
2020-11-17 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
Backported from master:
|
||
2020-10-27 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR target/97535
|
||
* config/aarch64/aarch64.c (aarch64_expand_cpymem): Use unsigned
|
||
arithmetic in check.
|
||
|
||
2020-11-17 Monk Chiang <monk.chiang@sifive.com>
|
||
|
||
Backported from master:
|
||
2020-11-14 Monk Chiang <monk.chiang@sifive.com>
|
||
|
||
PR target/97682
|
||
* config/riscv/riscv.h (RISCV_PROLOGUE_TEMP_REGNUM): Change register
|
||
to t0.
|
||
(RISCV_CALL_ADDRESS_TEMP_REGNUM): New Marco, define t1 register.
|
||
(RISCV_CALL_ADDRESS_TEMP): Use it for call instructions.
|
||
* config/riscv/riscv.c (riscv_legitimize_call_address): Use
|
||
RISCV_CALL_ADDRESS_TEMP.
|
||
(riscv_compute_frame_info): Change temporary register to t0 form t1.
|
||
(riscv_trampoline_init): Adjust comment.
|
||
|
||
2020-11-16 Cui,Lili <lili.cui@intel.com>
|
||
|
||
* config/i386/i386.h: Add PREFETCHW to march=broadwell.
|
||
* doc/invoke.texi: Put PREFETCHW back to relation arch.
|
||
|
||
2020-11-11 liuhongt <hongtao.liu@intel.com>
|
||
|
||
* config/i386/i386.c (ix86_option_override_internal):
|
||
Handle PTA_CLDEMOTE, PTA_MOVDIRI, PTA_MOVDIR64B.
|
||
* config/i386/i386.h (PTA_CLDEMOTE, PTA_MOVDIRI,
|
||
PTA_MOVDIR64B.): Define.
|
||
|
||
2020-11-09 Lili Cui <lili.cui@intel.com>
|
||
|
||
PR target/97685
|
||
* config/i386/i386.h:
|
||
(PTA_BROADWELL): Delete PTA_PRFCHW.
|
||
(PTA_SILVERMONT): Add PTA_PRFCHW.
|
||
(PTA_KNL): Add PTA_PREFETCHWT1.
|
||
(PTA_TREMONT): Add PTA_MOVDIRI, PTA_MOVDIR64B, PTA_CLDEMOTE and PTA_WAITPKG.
|
||
* doc/invoke.texi: Delete PREFETCHW for broadwell, skylake, knl, knm,
|
||
skylake-avx512, cannonlake, icelake-client, icelake-server, cascadelake,
|
||
cooperlake, tigerlake and sapphirerapids.
|
||
Add PREFETCHW for silvermont, goldmont, goldmont-plus and tremont.
|
||
Add XSAVEC and XSAVES for goldmont, goldmont-plus and tremont.
|
||
Add MOVDIRI, MOVDIR64B, CLDEMOTE and WAITPKG for tremont.
|
||
Add KEYLOCKER and HREST for alderlake.
|
||
Add AMX-BF16, AMX-TILE, AMX-INT8 and UINTR for sapphirerapids.
|
||
Add KEYLOCKER for tigerlake.
|
||
|
||
2020-10-22 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
Backported from master:
|
||
2020-10-22 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
PR rtl-optimization/97439
|
||
* dfp.c (decimal_real_maxval): Set the sign flag in the
|
||
generated number.
|
||
|
||
2020-10-16 Martin Liska <mliska@suse.cz>
|
||
|
||
Backported from master:
|
||
2020-10-16 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/97404
|
||
* ipa-prop.c (struct ipa_vr_ggc_hash_traits):
|
||
Compare types of VRP as we can merge ranges of different types.
|
||
|
||
2020-10-15 Martin Liska <mliska@suse.cz>
|
||
|
||
Backported from master:
|
||
2020-10-15 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/97295
|
||
* profile-count.c (profile_count::to_frequency): Move part of
|
||
gcc_assert to STATIC_ASSERT.
|
||
* regs.h (REG_FREQ_FROM_BB): Do not use count.to_frequency for
|
||
a function that does not have count_max initialized.
|
||
|
||
2020-10-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (neoversen2_tunings): Define.
|
||
* config/aarch64/aarch64-cores.def (neoverse-n2): Use it.
|
||
|
||
2020-10-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-10-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/97349
|
||
* config/aarch64/arm_neon.h (vdupq_n_p8, vdupq_n_p16,
|
||
vdupq_n_p64, vdupq_n_s8, vdupq_n_s16, vdupq_n_u8, vdupq_n_u16):
|
||
Fix argument type.
|
||
|
||
2020-10-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.md ("unspec"): Add UNSPEC_FRINT32Z,
|
||
UNSPEC_FRINT32X, UNSPEC_FRINT64Z, UNSPEC_FRINT64X.
|
||
(aarch64_<frintnzs_op><mode>): New define_insn.
|
||
* config/aarch64/aarch64.h (TARGET_FRINT): Define.
|
||
* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
|
||
__ARM_FEATURE_FRINT when appropriate.
|
||
* config/aarch64/aarch64-simd-builtins.def: Add builtins for frint32z,
|
||
frint32x, frint64z, frint64x.
|
||
* config/aarch64/arm_acle.h (__rint32zf, __rint32z, __rint64zf,
|
||
__rint64z, __rint32xf, __rint32x, __rint64xf, __rint64x): Define.
|
||
* config/aarch64/arm_neon.h (vrnd32z_f32, vrnd32zq_f32, vrnd32z_f64,
|
||
vrnd32zq_f64, vrnd32x_f32, vrnd32xq_f32, vrnd32x_f64, vrnd32xq_f64,
|
||
vrnd64z_f32, vrnd64zq_f32, vrnd64z_f64, vrnd64zq_f64, vrnd64x_f32,
|
||
vrnd64xq_f32, vrnd64x_f64, vrnd64xq_f64): Define.
|
||
* config/aarch64/iterators.md (VSFDF): Define.
|
||
(FRINTNZX): Likewise.
|
||
(frintnzs_op): Likewise.
|
||
|
||
2020-10-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-10-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/97150
|
||
* config/aarch64/arm_neon.h (vqrshlb_u8): Make second argument
|
||
signed.
|
||
(vqrshlh_u16): Likewise.
|
||
(vqrshls_u32): Likewise.
|
||
(vqrshld_u64): Likewise.
|
||
(vqshlb_u8): Likewise.
|
||
(vqshlh_u16): Likewise.
|
||
(vqshls_u32): Likewise.
|
||
(vqshld_u64): Likewise.
|
||
(vshld_u64): Likewise.
|
||
|
||
2020-10-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-10-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/96313
|
||
* config/aarch64/aarch64-simd-builtins.def (sqmovun): Use UNOPUS
|
||
qualifiers.
|
||
* config/aarch64/arm_neon.h (vqmovun_s16): Adjust builtin call.
|
||
Remove unnecessary result cast.
|
||
(vqmovun_s32): Likewise.
|
||
(vqmovun_s64): Likewise.
|
||
(vqmovunh_s16): Likewise. Fix return type.
|
||
(vqmovuns_s32): Likewise.
|
||
(vqmovund_s64): Likewise.
|
||
|
||
2020-10-08 Alan Modra <amodra@gmail.com>
|
||
|
||
Backported from master:
|
||
2020-10-01 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_legitimize_address): Use
|
||
gen_int_mode for high part of address constant.
|
||
|
||
2020-10-05 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
* config/arm/arm-cpus.in (neoverse-v1): Add missing vendor and
|
||
part numbers.
|
||
|
||
2020-10-02 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
* config/arm/arm-cpus.in (neoverse-n2): New.
|
||
* config/arm/arm-tables.opt: Regenerate.
|
||
* config/arm/arm-tune.md: Regenerate.
|
||
* doc/invoke.texi: Document support for Neoverse N2.
|
||
|
||
2020-10-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (neoversev1_tunings): Define.
|
||
* config/aarch64/aarch64-cores.def (zeus): Use it.
|
||
(neoverse-v1): Likewise.
|
||
|
||
2020-10-02 Martin Liska <mliska@suse.cz>
|
||
|
||
Backported from master:
|
||
2020-10-02 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/97193
|
||
* coverage.c (coverage_init): GCDA note files should not be
|
||
mangled and should end in output directory.
|
||
|
||
2020-10-02 Martin Liska <mliska@suse.cz>
|
||
|
||
Backported from master:
|
||
2020-09-25 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/64636
|
||
* value-prof.c (stream_out_histogram_value): Allow negative
|
||
values for HIST_TYPE_IOR.
|
||
|
||
2020-10-02 Martin Liska <mliska@suse.cz>
|
||
|
||
Backported from master:
|
||
2020-09-23 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/97069
|
||
* profile.c (branch_prob): Line number must be at least 1.
|
||
|
||
2020-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64-tuning-flags.def
|
||
(PREFER_ADVSIMD_AUTOVEC): Define.
|
||
* config/aarch64/aarch64.c (aarch64_preferred_simd_mode): Use
|
||
it.
|
||
(aarch64_autovectorize_vector_sizes): Likewise.
|
||
|
||
2020-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64-cores.def (zeus): Add AARCH64_FL_RNG to
|
||
features.
|
||
(neoverse-v1): Likewise.
|
||
|
||
2020-10-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-10-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/s390/s390.c (s390_atomic_assign_expand_fenv): Use
|
||
TARGET_EXPR instead of MODIFY_EXPR for the first assignments to
|
||
fenv_var and old_fpc. Formatting fixes.
|
||
|
||
2020-10-01 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
* config/aarch64/aarch64-cores.def: Add Neoverse N2.
|
||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||
* doc/invoke.texi: Document AArch64 support for Neoverse N2.
|
||
|
||
2020-09-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-09-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64-option-extensions.def (rng): Add
|
||
cpuinfo string.
|
||
|
||
2020-09-30 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
Backported from master:
|
||
2020-09-30 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/97184
|
||
* config/i386/i386.md (UNSPECV_MOVDIRI): Renamed to ...
|
||
(UNSPEC_MOVDIRI): This.
|
||
(UNSPECV_MOVDIR64B): Renamed to ...
|
||
(UNSPEC_MOVDIR64B): This.
|
||
(movdiri<mode>): Use SET operation.
|
||
(@movdir64b_<mode>): Likewise.
|
||
|
||
2020-09-29 Hongyu Wang <hongyu.wang@intel.com>
|
||
|
||
Backported from master:
|
||
2020-09-29 Hongyu Wang <hongyu.wang@intel.com>
|
||
|
||
PR target/97231
|
||
* config/i386/pconfigintrin.h: Add FSF copyright notes.
|
||
* config/i386/wbnoinvdintrin.h: Ditto.
|
||
|
||
2020-09-29 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
* config/arm/arm-cpus.in (neoverse-v1): New.
|
||
* config/arm/arm-tables.opt: Regenerate.
|
||
* config/arm/arm-tune.md: Regenerate.
|
||
* doc/invoke.texi: Document AArch32 support for Neoverse V1.
|
||
|
||
2020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/71233
|
||
* config/aarch64/arm_neon.h (vreinterpretq_f64_p128,
|
||
vreinterpretq_p128_f64): Define.
|
||
|
||
2020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/71233
|
||
* config/aarch64/aarch64-simd-builtins.def (frintn): Use BUILTIN_VHSDF_HSDF
|
||
for modes. Remove explicit hf instantiation.
|
||
* config/aarch64/arm_neon.h (vrndns_f32): Define.
|
||
|
||
2020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/71233
|
||
* config/aarch64/arm_neon.h (vtrn1q_p64, vtrn2q_p64, vuzp1q_p64,
|
||
vuzp2q_p64, vzip1q_p64, vzip2q_p64): Define.
|
||
|
||
2020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/71233
|
||
* config/aarch64/arm_neon.h (vldrq_p128): Define.
|
||
|
||
2020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/71233
|
||
* config/aarch64/arm_neon.h (vstrq_p128): Define.
|
||
|
||
2020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-09-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/71233
|
||
* config/aarch64/arm_neon.h (vcls_u8, vcls_u16, vcls_u32,
|
||
vclsq_u8, vclsq_u16, vclsq_u32): Define.
|
||
|
||
2020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-09-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/71233
|
||
* config/aarch64/arm_neon.h (vceqq_p64, vceqz_p64, vceqzq_p64): Define.
|
||
|
||
2020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-09-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/71233
|
||
* config/aarch64/arm_neon.h (vadd_p8, vadd_p16, vadd_p64, vaddq_p8,
|
||
vaddq_p16, vaddq_p64, vaddq_p128): Define.
|
||
|
||
2020-09-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-09-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/97073
|
||
* optabs.c (expand_binop, expand_absneg_bit, expand_unop,
|
||
expand_copysign_bit): Check reg_overlap_mentioned_p between target
|
||
and operand(s) and if it returns true, force a pseudo as target.
|
||
|
||
2020-09-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/71233
|
||
* config/aarch64/aarch64.md (UNSPEC_RNDR, UNSPEC_RNDRRS):
|
||
Define.
|
||
(aarch64_rndr): New define_insn.
|
||
(aarch64_rndrrs): Likewise.
|
||
* config/aarch64/aarch64.h (AARCH64_ISA_RNG): Define.
|
||
(TARGET_RNG): Likewise.
|
||
* config/aarch64/aarch64-builtins.c (enum aarch64_builtins):
|
||
Add AARCH64_BUILTIN_RNG_RNDR, AARCH64_BUILTIN_RNG_RNDRRS.
|
||
(aarch64_init_rng_builtins): Define.
|
||
(aarch64_init_builtins): Call aarch64_init_rng_builtins.
|
||
(aarch64_expand_rng_builtin): Define.
|
||
(aarch64_expand_builtin): Use IGNORE argument, handle
|
||
RNG builtins.
|
||
* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
|
||
Define __ARM_FEATURE_RNG when TARGET_RNG.
|
||
* config/aarch64/arm_acle.h (__rndr, __rndrrs): Define.
|
||
|
||
2020-09-24 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
Backported from master:
|
||
2020-09-16 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/97032
|
||
* cfgexpand.c (asm_clobber_reg_kind): Set sp_is_clobbered_by_asm
|
||
to true if the stack pointer is clobbered by asm statement.
|
||
* emit-rtl.h (rtl_data): Add sp_is_clobbered_by_asm.
|
||
* config/i386/i386.c (ix86_get_drap_rtx): Set need_drap to true
|
||
if the stack pointer is clobbered by asm statement.
|
||
|
||
2020-09-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backported from master:
|
||
2020-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
Andrea Corallo <andrea.corallo@arm.com>
|
||
|
||
PR target/71233
|
||
* config/aarch64/aarch64.md (UNSPEC_FJCVTZS): Define.
|
||
(aarch64_fjcvtzs): New define_insn.
|
||
* config/aarch64/aarch64.h (TARGET_JSCVT): Define.
|
||
* config/aarch64/aarch64-builtins.c (aarch64_builtins):
|
||
Add AARCH64_JSCVT.
|
||
(aarch64_init_builtins): Initialize __builtin_aarch64_jcvtzs.
|
||
(aarch64_expand_builtin): Handle AARCH64_JSCVT.
|
||
* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
|
||
__ARM_FEATURE_JCVT where appropriate.
|
||
* config/aarch64/arm_acle.h (__jcvt): Define.
|
||
* doc/sourcebuild.texi (aarch64_fjcvtzs_hw) Document new
|
||
target supports option.
|
||
|
||
2020-09-24 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
* config/aarch64/aarch64-cores.def: Add Neoverse V1.
|
||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||
* doc/invoke.texi: Document support for Neoverse V1.
|
||
|
||
2020-09-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/97053
|
||
* gimple-ssa-store-merging.c (check_no_overlap): Add FIRST_ORDER,
|
||
START, FIRST_EARLIER and LAST_EARLIER arguments. Return false if
|
||
any stores between FIRST_EARLIER inclusive and LAST_EARLIER exclusive
|
||
has order in between FIRST_ORDER and LAST_ORDER and overlaps the to
|
||
be merged store.
|
||
(imm_store_chain_info::try_coalesce_bswap): Add FIRST_EARLIER argument.
|
||
Adjust check_no_overlap caller.
|
||
(imm_store_chain_info::coalesce_immediate_stores): Add first_earlier
|
||
and last_earlier variables, adjust them during iterations. Adjust
|
||
check_no_overlap callers, call check_no_overlap even when extending
|
||
overlapping stores by extra INTEGER_CST stores.
|
||
|
||
2020-09-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backported from master:
|
||
2020-04-29 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv): Use
|
||
TARGET_EXPR instead of MODIFY_EXPR for the first assignments to
|
||
fenv_var and new_fenv_var.
|
||
|
||
2020-09-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backported from master:
|
||
2020-04-24 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/94710
|
||
* config/rs6000/vector.md (vec_shr_<mode> for VEC_L): Correct little
|
||
endian byteshift_val calculation.
|
||
|
||
2020-09-17 liuhongt <hongtao.liu@intel.com>
|
||
|
||
* common/config/i386/i386-common.c
|
||
(OPTION_MASK_ISA_AVX_UNSET): Remove OPTION_MASK_ISA_XSAVE_UNSET.
|
||
(OPTION_MASK_ISA_XSAVE_UNSET): Add OPTION_MASK_ISA_AVX_UNSET.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-08-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/96729
|
||
* dwarf2out.c (dwarf2out_next_real_insn): Adjust function comment.
|
||
(dwarf2out_var_location): Look for next_note only if next_real is
|
||
non-NULL, in that case look for the first non-deleted
|
||
NOTE_INSN_VAR_LOCATION between loc_note and next_real, if any.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-08-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/96722
|
||
* gimple.c (infer_nonnull_range): Formatting fix.
|
||
(infer_nonnull_range_by_dereference): Return false for clobber stmts.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-08-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/93553
|
||
* tree-nested.c (convert_nonlocal_omp_clauses): For
|
||
OMP_CLAUSE_REDUCTION, OMP_CLAUSE_LASTPRIVATE and OMP_CLAUSE_LINEAR
|
||
save info->new_local_var_chain around walks of the clause gimple
|
||
sequences and declare_vars if needed into the sequence.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-08-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/96459
|
||
* omp-low.c (lower_omp_taskreg): Call lower_reduction_clauses even in
|
||
for host teams.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-08-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/96426
|
||
* tree-vect-generic.c (expand_vector_conversion): Replace .VEC_CONVERT
|
||
call with GIMPLE_NOP if there is no lhs.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-07-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/96174
|
||
* config/i386/avx512fintrin.h (_mm512_cmpeq_pd_mask,
|
||
_mm512_mask_cmpeq_pd_mask, _mm512_cmplt_pd_mask,
|
||
_mm512_mask_cmplt_pd_mask, _mm512_cmple_pd_mask,
|
||
_mm512_mask_cmple_pd_mask, _mm512_cmpunord_pd_mask,
|
||
_mm512_mask_cmpunord_pd_mask, _mm512_cmpneq_pd_mask,
|
||
_mm512_mask_cmpneq_pd_mask, _mm512_cmpnlt_pd_mask,
|
||
_mm512_mask_cmpnlt_pd_mask, _mm512_cmpnle_pd_mask,
|
||
_mm512_mask_cmpnle_pd_mask, _mm512_cmpord_pd_mask,
|
||
_mm512_mask_cmpord_pd_mask, _mm512_cmpeq_ps_mask,
|
||
_mm512_mask_cmpeq_ps_mask, _mm512_cmplt_ps_mask,
|
||
_mm512_mask_cmplt_ps_mask, _mm512_cmple_ps_mask,
|
||
_mm512_mask_cmple_ps_mask, _mm512_cmpunord_ps_mask,
|
||
_mm512_mask_cmpunord_ps_mask, _mm512_cmpneq_ps_mask,
|
||
_mm512_mask_cmpneq_ps_mask, _mm512_cmpnlt_ps_mask,
|
||
_mm512_mask_cmpnlt_ps_mask, _mm512_cmpnle_ps_mask,
|
||
_mm512_mask_cmpnle_ps_mask, _mm512_cmpord_ps_mask,
|
||
_mm512_mask_cmpord_ps_mask): Move outside of __OPTIMIZE__ guarded
|
||
section.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-07-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/95857
|
||
* tree-cfg.c (group_case_labels_stmt): When removing an unreachable
|
||
base_bb, remember all forced and non-local labels on it and later
|
||
treat those as if they have NULL label_to_block. Formatting fix.
|
||
Fix a comment typo.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-06-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/95810
|
||
* fold-const.c (fold_cond_expr_with_comparison): Optimize
|
||
A <= 0 ? A : -A into (type)-absu(A) rather than -abs(A).
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-05-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/95108
|
||
* omp-simd-clone.c (struct modify_stmt_info): Add after_stmt member.
|
||
(ipa_simd_modify_stmt_ops): For PHIs, only add before first stmt in
|
||
entry block if info->after_stmt is NULL, otherwise add after that stmt
|
||
and update it after adding each stmt.
|
||
(ipa_simd_modify_function_body): Initialize info.after_stmt.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-05-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/95080
|
||
* cfgrtl.c (purge_dead_edges): Skip over debug and note insns even
|
||
if the last insn is a note.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-05-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94950
|
||
* config/riscv/riscv-builtins.c (riscv_atomic_assign_expand_fenv): Use
|
||
TARGET_EXPR instead of MODIFY_EXPR for first assignment to old_flags.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-05-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/94873
|
||
* combine.c (combine_instructions): Don't optimize using REG_EQUAL
|
||
note if SET_SRC (set) has side-effects.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-05-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/tilegx/tilegx.md
|
||
(insn_stnt<I124MODE:n>_add<I48MODE:bitsuffix>): Use <I124MODE:n>
|
||
rather than just <n>.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-04-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94832
|
||
* config/i386/avx512bwintrin.h (_mm512_alignr_epi8,
|
||
_mm512_mask_alignr_epi8, _mm512_maskz_alignr_epi8): Wrap macro operands
|
||
used in casts into parens.
|
||
* config/i386/avx512fintrin.h (_mm512_cvt_roundps_ph, _mm512_cvtps_ph,
|
||
_mm512_mask_cvt_roundps_ph, _mm512_mask_cvtps_ph,
|
||
_mm512_maskz_cvt_roundps_ph, _mm512_maskz_cvtps_ph,
|
||
_mm512_mask_cmp_epi64_mask, _mm512_mask_cmp_epi32_mask,
|
||
_mm512_mask_cmp_epu64_mask, _mm512_mask_cmp_epu32_mask,
|
||
_mm512_mask_cmp_round_pd_mask, _mm512_mask_cmp_round_ps_mask,
|
||
_mm512_mask_cmp_pd_mask, _mm512_mask_cmp_ps_mask): Likewise.
|
||
* config/i386/avx512vlbwintrin.h (_mm256_mask_alignr_epi8,
|
||
_mm256_maskz_alignr_epi8, _mm_mask_alignr_epi8, _mm_maskz_alignr_epi8,
|
||
_mm256_mask_cmp_epu8_mask): Likewise.
|
||
* config/i386/avx512vlintrin.h (_mm_mask_cvtps_ph, _mm_maskz_cvtps_ph,
|
||
_mm256_mask_cvtps_ph, _mm256_maskz_cvtps_ph): Likewise.
|
||
* config/i386/f16cintrin.h (_mm_cvtps_ph, _mm256_cvtps_ph): Likewise.
|
||
* config/i386/shaintrin.h (_mm_sha1rnds4_epu32): Likewise.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-04-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94832
|
||
* config/i386/avx2intrin.h (_mm_mask_i32gather_pd,
|
||
_mm256_mask_i32gather_pd, _mm_mask_i64gather_pd,
|
||
_mm256_mask_i64gather_pd, _mm_mask_i32gather_ps,
|
||
_mm256_mask_i32gather_ps, _mm_mask_i64gather_ps,
|
||
_mm256_mask_i64gather_ps, _mm_i32gather_epi64,
|
||
_mm_mask_i32gather_epi64, _mm256_i32gather_epi64,
|
||
_mm256_mask_i32gather_epi64, _mm_i64gather_epi64,
|
||
_mm_mask_i64gather_epi64, _mm256_i64gather_epi64,
|
||
_mm256_mask_i64gather_epi64, _mm_i32gather_epi32,
|
||
_mm_mask_i32gather_epi32, _mm256_i32gather_epi32,
|
||
_mm256_mask_i32gather_epi32, _mm_i64gather_epi32,
|
||
_mm_mask_i64gather_epi32, _mm256_i64gather_epi32,
|
||
_mm256_mask_i64gather_epi32): Surround macro parameter uses with
|
||
parens.
|
||
(_mm_i32gather_pd, _mm256_i32gather_pd, _mm_i64gather_pd,
|
||
_mm256_i64gather_pd, _mm_i32gather_ps, _mm256_i32gather_ps,
|
||
_mm_i64gather_ps, _mm256_i64gather_ps): Likewise. Don't use
|
||
as mask vector containing -1.0 or -1.0f elts, but instead vector
|
||
with all bits set using _mm*_cmpeq_p? with zero operands.
|
||
* config/i386/avx512fintrin.h (_mm512_i32gather_ps,
|
||
_mm512_mask_i32gather_ps, _mm512_i32gather_pd,
|
||
_mm512_mask_i32gather_pd, _mm512_i64gather_ps,
|
||
_mm512_mask_i64gather_ps, _mm512_i64gather_pd,
|
||
_mm512_mask_i64gather_pd, _mm512_i32gather_epi32,
|
||
_mm512_mask_i32gather_epi32, _mm512_i32gather_epi64,
|
||
_mm512_mask_i32gather_epi64, _mm512_i64gather_epi32,
|
||
_mm512_mask_i64gather_epi32, _mm512_i64gather_epi64,
|
||
_mm512_mask_i64gather_epi64, _mm512_i32scatter_ps,
|
||
_mm512_mask_i32scatter_ps, _mm512_i32scatter_pd,
|
||
_mm512_mask_i32scatter_pd, _mm512_i64scatter_ps,
|
||
_mm512_mask_i64scatter_ps, _mm512_i64scatter_pd,
|
||
_mm512_mask_i64scatter_pd, _mm512_i32scatter_epi32,
|
||
_mm512_mask_i32scatter_epi32, _mm512_i32scatter_epi64,
|
||
_mm512_mask_i32scatter_epi64, _mm512_i64scatter_epi32,
|
||
_mm512_mask_i64scatter_epi32, _mm512_i64scatter_epi64,
|
||
_mm512_mask_i64scatter_epi64): Surround macro parameter uses with
|
||
parens.
|
||
* config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
|
||
_mm512_prefetch_i32gather_ps, _mm512_mask_prefetch_i32gather_pd,
|
||
_mm512_mask_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
|
||
_mm512_prefetch_i64gather_ps, _mm512_mask_prefetch_i64gather_pd,
|
||
_mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd,
|
||
_mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd,
|
||
_mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd,
|
||
_mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd,
|
||
_mm512_mask_prefetch_i64scatter_ps): Likewise.
|
||
* config/i386/avx512vlintrin.h (_mm256_mmask_i32gather_ps,
|
||
_mm_mmask_i32gather_ps, _mm256_mmask_i32gather_pd,
|
||
_mm_mmask_i32gather_pd, _mm256_mmask_i64gather_ps,
|
||
_mm_mmask_i64gather_ps, _mm256_mmask_i64gather_pd,
|
||
_mm_mmask_i64gather_pd, _mm256_mmask_i32gather_epi32,
|
||
_mm_mmask_i32gather_epi32, _mm256_mmask_i32gather_epi64,
|
||
_mm_mmask_i32gather_epi64, _mm256_mmask_i64gather_epi32,
|
||
_mm_mmask_i64gather_epi32, _mm256_mmask_i64gather_epi64,
|
||
_mm_mmask_i64gather_epi64, _mm256_i32scatter_ps,
|
||
_mm256_mask_i32scatter_ps, _mm_i32scatter_ps, _mm_mask_i32scatter_ps,
|
||
_mm256_i32scatter_pd, _mm256_mask_i32scatter_pd, _mm_i32scatter_pd,
|
||
_mm_mask_i32scatter_pd, _mm256_i64scatter_ps,
|
||
_mm256_mask_i64scatter_ps, _mm_i64scatter_ps, _mm_mask_i64scatter_ps,
|
||
_mm256_i64scatter_pd, _mm256_mask_i64scatter_pd, _mm_i64scatter_pd,
|
||
_mm_mask_i64scatter_pd, _mm256_i32scatter_epi32,
|
||
_mm256_mask_i32scatter_epi32, _mm_i32scatter_epi32,
|
||
_mm_mask_i32scatter_epi32, _mm256_i32scatter_epi64,
|
||
_mm256_mask_i32scatter_epi64, _mm_i32scatter_epi64,
|
||
_mm_mask_i32scatter_epi64, _mm256_i64scatter_epi32,
|
||
_mm256_mask_i64scatter_epi32, _mm_i64scatter_epi32,
|
||
_mm_mask_i64scatter_epi32, _mm256_i64scatter_epi64,
|
||
_mm256_mask_i64scatter_epi64, _mm_i64scatter_epi64,
|
||
_mm_mask_i64scatter_epi64): Likewise.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-04-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94826
|
||
* config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): Use
|
||
TARGET_EXPR instead of MODIFY_EXPR for first assignment to
|
||
fenv_var, fenv_clear and old_fenv variables. For fenv_addr
|
||
take address of TARGET_EXPR of fenv_var with void_node initializer.
|
||
Formatting fixes.
|
||
|
||
2020-09-16 Haijian Zhang <z.zhanghaijian@huawei.com>
|
||
|
||
Backported from master:
|
||
2020-04-29 Haijian Zhang <z.zhanghaijian@huawei.com>
|
||
|
||
PR target/94820
|
||
* config/aarch64/aarch64-builtins.c
|
||
(aarch64_atomic_assign_expand_fenv): Use TARGET_EXPR instead of
|
||
MODIFY_EXPR for first assignment to fenv_cr, fenv_sr and
|
||
new_fenv_var.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-04-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/94809
|
||
* tree.c (build_call_expr_internal_loc_array): Call
|
||
process_call_operands.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-04-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94780
|
||
* config/i386/i386.c (ix86_atomic_assign_expand_fenv): Use
|
||
TARGET_EXPR instead of MODIFY_EXPR for first assignment to
|
||
sw_var, exceptions_var, mxcsr_orig_var and mxcsr_mod_var.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-04-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94710
|
||
* optabs.c (expand_vec_perm_const): For shift_amt const0_rtx
|
||
just return v2.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-04-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/94705
|
||
* attribs.c (decl_attribute): Don't diagnose attribute exclusions
|
||
if last_decl is error_mark_node or has such a TREE_TYPE.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-04-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/94641
|
||
* stor-layout.c (place_field, finalize_record_size): Don't emit
|
||
-Wpadded warning on TYPE_ARTIFICIAL rli->t.
|
||
* ubsan.c (ubsan_get_type_descriptor_type,
|
||
ubsan_get_source_location_type, ubsan_create_data): Set
|
||
TYPE_ARTIFICIAL.
|
||
* asan.c (asan_global_struct): Likewise.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-04-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/94618
|
||
* cfgrtl.c (delete_insn_and_edges): Set purge not just when
|
||
insn is the BB_END of its block, but also when it is only followed
|
||
by DEBUG_INSNs in its block.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-04-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/94621
|
||
* tree-inline.c (remap_type_1): Don't dereference NULL TYPE_DOMAIN.
|
||
Move id->adjust_array_error_bounds check first in the condition.
|
||
|
||
2020-09-16 Gustavo Romero <gromero@linux.ibm.com>
|
||
|
||
Backported from master:
|
||
2020-04-15 Gustavo Romero <gromero@linux.ibm.com>
|
||
|
||
PR bootstrap/89494
|
||
* dumpfile.c (selftest::temp_dump_context::temp_dump_context):
|
||
Don't construct a dump_context temporary to call static method.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-04-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/94524
|
||
* tree-vect-generic.c (expand_vector_divmod): If any elt of op1 is
|
||
negative for signed TRUNC_MOD_EXPR, multiply with absolute value of
|
||
op1 rather than op1 itself at the end. Punt for signed modulo by
|
||
most negative constant.
|
||
* tree-vect-patterns.c (vect_recog_divmod_pattern): Punt for signed
|
||
modulo by most negative constant.
|
||
|
||
2020-09-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-04-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94438
|
||
* config/i386/i386.c (ix86_get_mask_mode): Only use int mask for elem_size
|
||
1, 2, 4 and 8.
|
||
|
||
2020-09-16 Sylvia Taylor <sylvia.taylor@arm.com>
|
||
|
||
Backported from master:
|
||
2019-08-22 Sylvia Taylor <sylvia.taylor@arm.com>
|
||
|
||
* config/aarch64/aarch64-simd-builtins.def:
|
||
(ld1x4): New.
|
||
(st1x4): Likewise.
|
||
* config/aarch64/aarch64-simd.md:
|
||
(aarch64_ld1x4<VALLDIF:mode>): New pattern.
|
||
(aarch64_st1x4<VALLDIF:mode>): Likewise.
|
||
(aarch64_ld1_x4_<mode>): Likewise.
|
||
(aarch64_st1_x4_<mode>): Likewise.
|
||
* config/aarch64/arm_neon.h:
|
||
(vld1_s8_x4): New function.
|
||
(vld1q_s8_x4): Likewise.
|
||
(vld1_s16_x4): Likewise.
|
||
(vld1q_s16_x4): Likewise.
|
||
(vld1_s32_x4): Likewise.
|
||
(vld1q_s32_x4): Likewise.
|
||
(vld1_u8_x4): Likewise.
|
||
(vld1q_u8_x4): Likewise.
|
||
(vld1_u16_x4): Likewise.
|
||
(vld1q_u16_x4): Likewise.
|
||
(vld1_u32_x4): Likewise.
|
||
(vld1q_u32_x4): Likewise.
|
||
(vld1_f16_x4): Likewise.
|
||
(vld1q_f16_x4): Likewise.
|
||
(vld1_f32_x4): Likewise.
|
||
(vld1q_f32_x4): Likewise.
|
||
(vld1_p8_x4): Likewise.
|
||
(vld1q_p8_x4): Likewise.
|
||
(vld1_p16_x4): Likewise.
|
||
(vld1q_p16_x4): Likewise.
|
||
(vld1_s64_x4): Likewise.
|
||
(vld1_u64_x4): Likewise.
|
||
(vld1_p64_x4): Likewise.
|
||
(vld1q_s64_x4): Likewise.
|
||
(vld1q_u64_x4): Likewise.
|
||
(vld1q_p64_x4): Likewise.
|
||
(vld1_f64_x4): Likewise.
|
||
(vld1q_f64_x4): Likewise.
|
||
(vst1_s8_x4): Likewise.
|
||
(vst1q_s8_x4): Likewise.
|
||
(vst1_s16_x4): Likewise.
|
||
(vst1q_s16_x4): Likewise.
|
||
(vst1_s32_x4): Likewise.
|
||
(vst1q_s32_x4): Likewise.
|
||
(vst1_u8_x4): Likewise.
|
||
(vst1q_u8_x4): Likewise.
|
||
(vst1_u16_x4): Likewise.
|
||
(vst1q_u16_x4): Likewise.
|
||
(vst1_u32_x4): Likewise.
|
||
(vst1q_u32_x4): Likewise.
|
||
(vst1_f16_x4): Likewise.
|
||
(vst1q_f16_x4): Likewise.
|
||
(vst1_f32_x4): Likewise.
|
||
(vst1q_f32_x4): Likewise.
|
||
(vst1_p8_x4): Likewise.
|
||
(vst1q_p8_x4): Likewise.
|
||
(vst1_p16_x4): Likewise.
|
||
(vst1q_p16_x4): Likewise.
|
||
(vst1_s64_x4): Likewise.
|
||
(vst1_u64_x4): Likewise.
|
||
(vst1_p64_x4): Likewise.
|
||
(vst1q_s64_x4): Likewise.
|
||
(vst1q_u64_x4): Likewise.
|
||
(vst1q_p64_x4): Likewise.
|
||
(vst1_f64_x4): Likewise.
|
||
(vst1q_f64_x4): Likewise.
|
||
|
||
2020-09-15 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_init_builtin): Update V2DI_type_node
|
||
and unsigned_V2DI_type_node definitions.
|
||
|
||
2020-09-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-09-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/97028
|
||
* config/i386/sse.md (mul<mode>3<mask_name>_bcs,
|
||
<avx512>_div<mode>3<mask_name>_bcst): Use <avx512bcst> instead of
|
||
<<avx512bcst>>.
|
||
|
||
2020-09-11 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-05-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/94947
|
||
* tree-ssa-structalias.c (refered_from_nonlocal_fn): Use
|
||
DECL_EXTERNAL || TREE_PUBLIC instead of externally_visible.
|
||
(refered_from_nonlocal_var): Likewise.
|
||
(ipa_pta_execute): Likewise.
|
||
|
||
2020-09-11 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-05-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/94947
|
||
* tree-ssa-structalias.c (ipa_pta_execute): Use
|
||
varpool_node::externally_visible_p ().
|
||
(refered_from_nonlocal_var): Likewise.
|
||
|
||
2020-09-11 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-05-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/94964
|
||
* cfgloopmanip.c (create_preheader): Require non-complex
|
||
preheader edge for CP_SIMPLE_PREHEADERS.
|
||
|
||
2020-09-11 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-05-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/95049
|
||
* tree-ssa-sccvn.c (set_ssa_val_to): Reject lattice transition
|
||
between different constants.
|
||
|
||
2020-09-11 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-05-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/95133
|
||
* gimple-ssa-split-paths.c
|
||
(find_block_to_duplicate_for_splitting_paths): Check for
|
||
normal edges.
|
||
|
||
2020-09-11 Richard Biener <rguenther@suse.de>
|
||
|
||
Backported from master:
|
||
2020-06-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/95717
|
||
* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
|
||
Move BB SSA updating before exit/latch PHI current def copying.
|
||
|
||
2020-09-02 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
Backported from master:
|
||
2019-12-30 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
PR target/92923
|
||
* config/rs6000/rs6000-builtin.def (VAND, VANDC, VNOR, VOR, VXOR):
|
||
Delete.
|
||
(EQV_V16QI_UNS, EQV_V8HI_UNS, EQV_V4SI_UNS, EQV_V2DI_UNS, EQV_V1TI_UNS,
|
||
NAND_V16QI_UNS, NAND_V8HI_UNS, NAND_V4SI_UNS, NAND_V2DI_UNS,
|
||
NAND_V1TI_UNS, ORC_V16QI_UNS, ORC_V8HI_UNS, ORC_V4SI_UNS, ORC_V2DI_UNS,
|
||
ORC_V1TI_UNS, VAND_V16QI_UNS, VAND_V16QI, VAND_V8HI_UNS, VAND_V8HI,
|
||
VAND_V4SI_UNS, VAND_V4SI, VAND_V2DI_UNS, VAND_V2DI, VAND_V4SF,
|
||
VAND_V2DF, VANDC_V16QI_UNS, VANDC_V16QI, VANDC_V8HI_UNS, VANDC_V8HI,
|
||
VANDC_V4SI_UNS, VANDC_V4SI, VANDC_V2DI_UNS, VANDC_V2DI, VANDC_V4SF,
|
||
VANDC_V2DF, VNOR_V16QI_UNS, VNOR_V16QI, VNOR_V8HI_UNS, VNOR_V8HI,
|
||
VNOR_V4SI_UNS, VNOR_V4SI, VNOR_V2DI_UNS, VNOR_V2DI, VNOR_V4SF,
|
||
VNOR_V2DF, VOR_V16QI_UNS, VOR_V16QI, VOR_V8HI_UNS, VOR_V8HI,
|
||
VOR_V4SI_UNS, VOR_V4SI, VOR_V2DI_UNS, VOR_V2DI, VOR_V4SF, VOR_V2DF,
|
||
VXOR_V16QI_UNS, VXOR_V16QI, VXOR_V8HI_UNS, VXOR_V8HI,
|
||
VXOR_V4SI_UNS, VXOR_V4SI, VXOR_V2DI_UNS, VXOR_V2DI, VXOR_V4SF,
|
||
VXOR_V2DF): Add definitions.
|
||
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins)
|
||
<ALTIVEC_BUILTIN_VAND, ALTIVEC_BUILTIN_VANDC, ALTIVEC_BUILTIN_VNOR,
|
||
ALTIVEC_BUILTIN_VOR, ALTIVEC_BUILTIN_VXOR>: Remove.
|
||
<ALTIVEC_BUILTIN_VAND_V4SF, ALTIVEC_BUILTIN_VAND_V2DF,
|
||
ALTIVEC_BUILTIN_VAND_V2DI, ALTIVEC_BUILTIN_VAND_V2DI_UNS,
|
||
ALTIVEC_BUILTIN_VAND_V4SI_UNS, ALTIVEC_BUILTIN_VAND_V4SI,
|
||
ALTIVEC_BUILTIN_VAND_V8HI_UNS, ALTIVEC_BUILTIN_VAND_V8HI,
|
||
ALTIVEC_BUILTIN_VAND_V16QI, ALTIVEC_BUILTIN_VAND_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VANDC_V4SF, ALTIVEC_BUILTIN_VANDC_V2DF,
|
||
ALTIVEC_BUILTIN_VANDC_V2DI, ALTIVEC_BUILTIN_VANDC_V2DI_UNS,
|
||
ALTIVEC_BUILTIN_VANDC_V4SI_UNS, ALTIVEC_BUILTIN_VANDC_V4SI,
|
||
ALTIVEC_BUILTIN_VANDC_V8HI_UNS, ALTIVEC_BUILTIN_VANDC_V8HI,
|
||
ALTIVEC_BUILTIN_VANDC_V16QI, ALTIVEC_BUILTIN_VANDC_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VNOR_V4SF, ALTIVEC_BUILTIN_VNOR_V2DF,
|
||
ALTIVEC_BUILTIN_VNOR_V2DI, ALTIVEC_BUILTIN_VNOR_V2DI_UNS,
|
||
ALTIVEC_BUILTIN_VNOR_V4SI, ALTIVEC_BUILTIN_VNOR_V4SI_UNS,
|
||
ALTIVEC_BUILTIN_VNOR_V8HI, ALTIVEC_BUILTIN_VNOR_V8HI_UNS,
|
||
ALTIVEC_BUILTIN_VNOR_V16QI, ALTIVEC_BUILTIN_VNOR_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VOR_V4SF, ALTIVEC_BUILTIN_VOR_V2DF,
|
||
ALTIVEC_BUILTIN_VOR_V2DI, ALTIVEC_BUILTIN_VOR_V2DI_UNS,
|
||
ALTIVEC_BUILTIN_VOR_V4SI_UNS, ALTIVEC_BUILTIN_VOR_V4SI,
|
||
ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V8HI,
|
||
ALTIVEC_BUILTIN_VOR_V16QI, ALTIVEC_BUILTIN_VOR_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VXOR_V4SF, ALTIVEC_BUILTIN_VXOR_V2DF,
|
||
ALTIVEC_BUILTIN_VXOR_V2DI, ALTIVEC_BUILTIN_VXOR_V2DI_UNS,
|
||
ALTIVEC_BUILTIN_VXOR_V4SI_UNS, ALTIVEC_BUILTIN_VXOR_V4SI,
|
||
ALTIVEC_BUILTIN_VXOR_V8HI, ALTIVEC_BUILTIN_VXOR_V8HI_UNS,
|
||
ALTIVEC_BUILTIN_VXOR_V16QI, ALTIVEC_BUILTIN_VXOR_V16QI_UNS>: Add
|
||
definitions.
|
||
<P8V_BUILTIN_EQV_V16QI, P8V_BUILTIN_EQV_V8HI, P8V_BUILTIN_EQV_V4SI,
|
||
P8V_BUILTIN_EQV_V2DI, P8V_BUILTIN_NAND_V16QI, P8V_BUILTIN_NAND_V8HI,
|
||
P8V_BUILTIN_NAND_V4SI, P8V_BUILTIN_NAND_V2DI, P8V_BUILTIN_ORC_V16QI,
|
||
P8V_BUILTIN_ORC_V8HI, P8V_BUILTIN_ORC_V4SI,
|
||
P8V_BUILTIN_ORC_V2DI>: Change unsigned usages to use the new *_UNS
|
||
definition names.
|
||
* config/rs6000/rs6000.c
|
||
(rs6000_gimple_fold_builtin) <ALTIVEC_BUILTIN_VAND_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VAND_V16QI, ALTIVEC_BUILTIN_VAND_V8HI_UNS,
|
||
ALTIVEC_BUILTIN_VAND_V8HI, ALTIVEC_BUILTIN_VAND_V4SI_UNS,
|
||
ALTIVEC_BUILTIN_VAND_V4SI, ALTIVEC_BUILTIN_VAND_V2DI_UNS,
|
||
ALTIVEC_BUILTIN_VAND_V2DI, ALTIVEC_BUILTIN_VAND_V4SF,
|
||
ALTIVEC_BUILTIN_VAND_V2DF, ALTIVEC_BUILTIN_VANDC_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VANDC_V16QI, ALTIVEC_BUILTIN_VANDC_V8HI_UNS,
|
||
ALTIVEC_BUILTIN_VANDC_V8HI, ALTIVEC_BUILTIN_VANDC_V4SI_UNS,
|
||
ALTIVEC_BUILTIN_VANDC_V4SI, ALTIVEC_BUILTIN_VANDC_V2DI_UNS,
|
||
ALTIVEC_BUILTIN_VANDC_V2DI, ALTIVEC_BUILTIN_VANDC_V4SF,
|
||
ALTIVEC_BUILTIN_VANDC_V2DF, P8V_BUILTIN_NAND_V16QI_UNS,
|
||
P8V_BUILTIN_NAND_V8HI_UNS, P8V_BUILTIN_NAND_V4SI_UNS,
|
||
P8V_BUILTIN_NAND_V2DI_UNS, P8V_BUILTIN_NAND_V2DI,
|
||
ALTIVEC_BUILTIN_VOR_V16QI_UNS, ALTIVEC_BUILTIN_VOR_V16QI,
|
||
ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V8HI,
|
||
ALTIVEC_BUILTIN_VOR_V4SI_UNS, ALTIVEC_BUILTIN_VOR_V4SI,
|
||
ALTIVEC_BUILTIN_VOR_V2DI_UNS, ALTIVEC_BUILTIN_VOR_V2DI,
|
||
ALTIVEC_BUILTIN_VOR_V4SF, ALTIVEC_BUILTIN_VOR_V2DF,
|
||
P8V_BUILTIN_ORC_V16QI_UNS, P8V_BUILTIN_ORC_V8HI_UNS,
|
||
P8V_BUILTIN_ORC_V4SI_UNS, P8V_BUILTIN_ORC_V2DI_UNS,
|
||
P8V_BUILTIN_ORC_V2DI, ALTIVEC_BUILTIN_VXOR_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VXOR_V16QI, ALTIVEC_BUILTIN_VXOR_V8HI_UNS,
|
||
ALTIVEC_BUILTIN_VXOR_V8HI, ALTIVEC_BUILTIN_VXOR_V4SI_UNS,
|
||
ALTIVEC_BUILTIN_VXOR_V4SI, ALTIVEC_BUILTIN_VXOR_V2DI_UNS,
|
||
ALTIVEC_BUILTIN_VXOR_V2DI, ALTIVEC_BUILTIN_VXOR_V4SF,
|
||
ALTIVEC_BUILTIN_VXOR_V2DF, ALTIVEC_BUILTIN_VNOR_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VNOR_V16QI, ALTIVEC_BUILTIN_VNOR_V8HI_UNS,
|
||
ALTIVEC_BUILTIN_VNOR_V8HI, ALTIVEC_BUILTIN_VNOR_V4SI_UNS,
|
||
ALTIVEC_BUILTIN_VNOR_V4SI, ALTIVEC_BUILTIN_VNOR_V2DI_UNS,
|
||
ALTIVEC_BUILTIN_VNOR_V2DI, ALTIVEC_BUILTIN_VNOR_V4SF,
|
||
ALTIVEC_BUILTIN_VNOR_V2DF>: Use new definition names.
|
||
(builtin_function_type) <ALTIVEC_BUILTIN_VAND_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VAND_V8HI_UNS, ALTIVEC_BUILTIN_VAND_V4SI_UNS,
|
||
ALTIVEC_BUILTIN_VAND_V2DI_UNS, ALTIVEC_BUILTIN_VANDC_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VANDC_V8HI_UNS, ALTIVEC_BUILTIN_VANDC_V4SI_UNS,
|
||
ALTIVEC_BUILTIN_VANDC_V2DI_UNS, ALTIVEC_BUILTIN_VNOR_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VNOR_V8HI_UNS, ALTIVEC_BUILTIN_VNOR_V4SI_UNS,
|
||
ALTIVEC_BUILTIN_VNOR_V2DI_UNS, ALTIVEC_BUILTIN_VOR_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V4SI_UNS,
|
||
ALTIVEC_BUILTIN_VOR_V2DI_UNS, ALTIVEC_BUILTIN_VXOR_V16QI_UNS,
|
||
ALTIVEC_BUILTIN_VXOR_V8HI_UNS, ALTIVEC_BUILTIN_VXOR_V4SI_UNS,
|
||
ALTIVEC_BUILTIN_VXOR_V2DI_UNS, P8V_BUILTIN_EQV_V16QI_UNS,
|
||
P8V_BUILTIN_EQV_V8HI_UNS, P8V_BUILTIN_EQV_V4SI_UNS,
|
||
P8V_BUILTIN_EQV_V2DI_UNS, P8V_BUILTIN_EQV_V1TI_UNS,
|
||
P8V_BUILTIN_NAND_V16QI_UNS, P8V_BUILTIN_NAND_V8HI_UNS,
|
||
P8V_BUILTIN_NAND_V4SI_UNS, P8V_BUILTIN_NAND_V2DI_UNS,
|
||
P8V_BUILTIN_NAND_V1TI_UNS, P8V_BUILTIN_ORC_V16QI_UNS,
|
||
P8V_BUILTIN_ORC_V8HI_UNS, P8V_BUILTIN_ORC_V4SI_UNS,
|
||
P8V_BUILTIN_ORC_V2DI_UNS, P8V_BUILTIN_ORC_V1TI_UNS>: Handle unsigned
|
||
builtins.
|
||
|
||
2020-08-27 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
Backported from master:
|
||
2020-08-24 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
PR target/94538
|
||
PR target/94538
|
||
* config/arm/thumb1.md: Disable set-constant splitter when
|
||
TARGET_HAVE_MOVT.
|
||
(thumb1_movsi_insn): Fix -mpure-code
|
||
alternative.
|
||
|
||
2020-08-21 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backported from master:
|
||
2020-08-21 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* doc/extend.texi: Update links to Arm docs.
|
||
* doc/invoke.texi: Likewise.
|
||
|
||
2020-08-21 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
Backported from master:
|
||
2020-08-03 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/aarch64/driver-aarch64.c (readline): Check return value fgets.
|
||
|
||
2020-08-21 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
Backported from master:
|
||
2020-07-17 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* doc/sourcebuild.texi (dg-set-compiler-env-var,
|
||
dg-set-target-env-var): Document.
|
||
|
||
2020-08-21 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
Backported from master:
|
||
2020-07-17 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/arm/driver-arm.c (host_detect_local_cpu): Add GCC_CPUINFO.
|
||
|
||
2020-08-21 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
Backported from master:
|
||
2020-07-17 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/aarch64/driver-aarch64.c (host_detect_local_cpu):
|
||
Add GCC_CPUINFO.
|
||
|
||
2020-08-21 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
Backported from master:
|
||
2020-07-17 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/aarch64/driver-aarch64.c (INCLUDE_SET): New.
|
||
(parse_field): Use std::string.
|
||
(split_words, readline, find_field): New.
|
||
(host_detect_local_cpu): Fix truncation issues.
|
||
|
||
2020-08-18 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/96536
|
||
* config/i386/i386.md (restore_stack_nonlocal):
|
||
Add missing compare RTX.
|
||
|
||
2020-08-07 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backported from master:
|
||
2020-08-06 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR target/96191
|
||
* config/arm/arm.md (arm_stack_protect_test_insn): Zero out
|
||
operand 2 after use.
|
||
* config/arm/thumb1.md (thumb1_stack_protect_test_insn): Likewise.
|
||
|
||
2020-08-07 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backported from master:
|
||
2020-08-05 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR target/96191
|
||
* config/aarch64/aarch64.md (stack_protect_test_<mode>): Set the
|
||
CC register directly, instead of a GPR. Replace the original GPR
|
||
destination with an extra scratch register. Zero out operand 3
|
||
after use.
|
||
(stack_protect_test): Update accordingly.
|
||
|
||
2020-08-07 Qian Jianhua <qianjh@cn.fujitsu.com>
|
||
|
||
Backported from master:
|
||
2020-08-03 Qian jianhua <qianjh@cn.fujitsu.com>
|
||
|
||
* config/aarch64/aarch64-cores.def (a64fx): New core.
|
||
* config/aarch64/aarch64-tune.md: Regenerated.
|
||
* config/aarch64/aarch64.c (a64fx_prefetch_tune, a64fx_tunings): New.
|
||
* doc/invoke.texi: Add a64fx to the list.
|
||
|
||
2020-08-07 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backported from master:
|
||
2020-04-16 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/94605
|
||
* early-remat.c (early_remat::process_block): Handle insns that
|
||
set multiple candidate registers.
|
||
|
||
2020-08-07 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backported from master:
|
||
2020-07-13 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/95114
|
||
* tree.h (virtual_method_call_p): Add a default-false parameter
|
||
that indicates whether the function is being called from dump
|
||
routines.
|
||
(obj_type_ref_class): Likewise.
|
||
* tree.c (virtual_method_call_p): Likewise.
|
||
* ipa-devirt.c (obj_type_ref_class): Likewise. Lazily add ODR
|
||
type information for the type when the parameter is false.
|
||
* tree-pretty-print.c (dump_generic_node): Update calls to
|
||
virtual_method_call_p and obj_type_ref_class accordingly.
|
||
|
||
2020-08-04 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_indirect_call_asm):
|
||
New declaration.
|
||
* config/aarch64/aarch64.c (aarch64_regno_regclass): Handle new
|
||
stub registers class.
|
||
(aarch64_class_max_nregs): Likewise.
|
||
(aarch64_register_move_cost): Likewise.
|
||
(aarch64_sls_shared_thunks): Global array to store stub labels.
|
||
(aarch64_sls_emit_function_stub): New.
|
||
(aarch64_create_blr_label): New.
|
||
(aarch64_sls_emit_blr_function_thunks): New.
|
||
(aarch64_sls_emit_shared_blr_thunks): New.
|
||
(aarch64_asm_file_end): New.
|
||
(aarch64_indirect_call_asm): New.
|
||
(TARGET_ASM_FILE_END): Use aarch64_asm_file_end.
|
||
(TARGET_ASM_FUNCTION_EPILOGUE): Use
|
||
aarch64_sls_emit_blr_function_thunks.
|
||
* config/aarch64/aarch64.h (STB_REGNUM_P): New.
|
||
(enum reg_class): Add STUB_REGS class.
|
||
(machine_function): Introduce `call_via` array for
|
||
function-local stub labels.
|
||
* config/aarch64/aarch64.md (*call_insn, *call_value_insn): Use
|
||
aarch64_indirect_call_asm to emit code when hardening BLR
|
||
instructions.
|
||
* config/aarch64/constraints.md (Ucr): New constraint
|
||
representing registers for indirect calls. Is GENERAL_REGS
|
||
usually, and STUB_REGS when hardening BLR instruction against
|
||
SLS.
|
||
* config/aarch64/predicates.md (aarch64_general_reg): STUB_REGS class
|
||
is also a general register.
|
||
|
||
2020-08-04 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_sls_barrier): New.
|
||
* config/aarch64/aarch64.c (aarch64_output_casesi): Emit
|
||
speculation barrier after BR instruction if needs be.
|
||
(aarch64_trampoline_init): Handle ptr_mode value & adjust size
|
||
of code copied.
|
||
(aarch64_sls_barrier): New.
|
||
(aarch64_asm_trampoline_template): Add needed barriers.
|
||
* config/aarch64/aarch64.h (AARCH64_ISA_SB): New.
|
||
(TARGET_SB): New.
|
||
(TRAMPOLINE_SIZE): Account for barrier.
|
||
* config/aarch64/aarch64.md (indirect_jump, *casesi_dispatch,
|
||
simple_return, *do_return, *sibcall_insn, *sibcall_value_insn):
|
||
Emit barrier if needs be, also account for possible barrier using
|
||
"sls_length" attribute.
|
||
(sls_length): New attribute.
|
||
(length): Determine default using any non-default sls_length
|
||
value.
|
||
|
||
2020-08-04 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_harden_sls_retbr_p):
|
||
New.
|
||
(aarch64_harden_sls_blr_p): New.
|
||
* config/aarch64/aarch64.c (enum aarch64_sls_hardening_type):
|
||
New.
|
||
(aarch64_harden_sls_retbr_p): New.
|
||
(aarch64_harden_sls_blr_p): New.
|
||
(aarch64_validate_sls_mitigation): New.
|
||
(aarch64_override_options): Parse options for SLS mitigation.
|
||
* config/aarch64/aarch64.opt (-mharden-sls): New option.
|
||
* doc/invoke.texi: Document new option.
|
||
|
||
2020-08-03 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
Backported from master:
|
||
2020-08-03 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/cpp.texi (Variadic Macros): Use the exact ... token in
|
||
code examples.
|
||
|
||
2020-07-23 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
Backported from master:
|
||
2020-03-06 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/94065
|
||
* config/rs6000/aix61.h (TARGET_NO_SUM_IN_TOC): Set to 1 for
|
||
cmodel=large.
|
||
(TARGET_NO_FP_IN_TOC): Same.
|
||
* config/rs6000/aix71.h: Same.
|
||
* config/rs6000/aix72.h: Same.
|
||
|
||
2020-07-17 Romain Naour <romain.naour@gmail.com>
|
||
|
||
Backported from master:
|
||
2020-07-17 Romain Naour <romain.naour@gmail.com>
|
||
|
||
* Makefile.in (SELFTEST_DEPS): Move before including language makefile
|
||
fragments.
|
||
|
||
2020-07-16 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
Backported from master:
|
||
2020-07-13 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add
|
||
__ARM_FEATURE_PAC_DEFAULT support.
|
||
|
||
2020-07-16 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
Backported from master:
|
||
2020-07-13 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
PR target/94891
|
||
* doc/extend.texi: Update the text for __builtin_return_address.
|
||
|
||
2020-07-16 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
Backported from master:
|
||
2020-07-13 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
PR target/94891
|
||
* config/aarch64/aarch64.c (aarch64_return_address_signing_enabled):
|
||
Disable return address signing if __builtin_eh_return is used.
|
||
|
||
2020-07-16 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
Backported from master:
|
||
2020-07-13 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
PR target/94891
|
||
PR target/94791
|
||
* config/aarch64/aarch64-protos.h (aarch64_return_addr_rtx): Declare.
|
||
* config/aarch64/aarch64.c (aarch64_return_addr_rtx): New.
|
||
(aarch64_return_addr): Use aarch64_return_addr_rtx.
|
||
* config/aarch64/aarch64.h (PROFILE_HOOK): Likewise.
|
||
|
||
2020-07-16 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
|
||
|
||
Backported from master:
|
||
2020-06-16 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
|
||
|
||
* config.in: Regenerate.
|
||
* config/s390/s390.c (print_operand): Emit vector alignment hints
|
||
for target z13, if AS accepts them. For other targets the logic
|
||
stays the same.
|
||
* config/s390/s390.h (TARGET_VECTOR_LOADSTORE_ALIGNMENT_HINTS): Define
|
||
macro.
|
||
* configure: Regenerate.
|
||
* configure.ac: Check HAVE_AS_VECTOR_LOADSTORE_ALIGNMENT_HINTS_ON_Z13.
|
||
|
||
2020-07-10 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
* config/rs6000/altivec.h (vec_vmsumudm): New define.
|
||
* config/rs6000/altivec.md (UNSPEC_VMSUMUDM): New unspec.
|
||
(altivec_vmsumudm): New define_insn.
|
||
* config/rs6000/rs6000-builtin.def (altivec_vmsumudm): New BU_ALTIVEC_3
|
||
entry. (vmsumudm): New BU_ALTIVEC_OVERLOAD_3 entry.
|
||
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
|
||
entries for ALTIVEC_BUILTIN_VMSUMUDM variants of vec_msum.
|
||
* doc/extend.texi: Add document for vmsumudm behind vmsum.
|
||
|
||
2020-07-10 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
Backported from master:
|
||
2020-07-09 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/95804
|
||
* tree-loop-distribution.c (break_alias_scc_partitions): Force
|
||
negative post order to reduction partition.
|
||
|
||
2020-07-10 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
Backported from master:
|
||
2020-06-20 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/95638
|
||
* tree-loop-distribution.c (pg_edge_callback_data): New field.
|
||
(loop_distribution::break_alias_scc_partitions): Record and restore
|
||
postorder information. Fix memory leak.
|
||
|
||
2020-07-06 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
PR target/94954
|
||
* config/rs6000/altivec.h (vec_pack_to_short_fp32): Update.
|
||
* config/rs6000/altivec.md (UNSPEC_CONVERT_4F32_8F16): New unspec.
|
||
(convert_4f32_8f16): New define_expand
|
||
* config/rs6000/rs6000-builtin.def (convert_4f32_8f16): New builtin define
|
||
and overload.
|
||
* config/rs6000/rs6000-c.c (P9V_BUILTIN_VEC_CONVERT_4F32_8F16): New
|
||
overloaded builtin entry.
|
||
* config/rs6000/vsx.md (UNSPEC_VSX_XVCVSPHP): New unspec.
|
||
(vsx_xvcvsphp): New define_insn.
|
||
|
||
2020-06-30 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
Backported from master:
|
||
2020-05-18 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
* config/arm/arm.c (output_move_double): Fix codegen when loading into
|
||
a register pair with an odd base register.
|
||
|
||
2020-06-25 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
Backported from master:
|
||
2020-06-25 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/95874
|
||
* config/i386/i386.h (PTA_ICELAKE_CLIENT): Remove PTA_CLWB.
|
||
(PTA_ICELAKE_SERVER): Add PTA_CLWB.
|
||
|
||
2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
Backported from master:
|
||
2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* hsa-gen.c (gen_hsa_insns_for_call): Move 'function_decl ==
|
||
NULL_TREE' check earlier.
|
||
|
||
2020-06-12 Martin Liska <mliska@suse.cz>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/95634
|
||
* asan.c (asan_emit_stack_protection): Fix emission for ilp32
|
||
by using Pmode instead of ptr_mode.
|
||
|
||
2020-06-12 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/94910
|
||
* asan.c (asan_emit_stack_protection): Emit
|
||
also **SavedFlagPtr(FakeStack, class_id) = 0 in order to release
|
||
a stack frame.
|
||
|
||
2020-06-06 Carl Love <cel@us.ibm.com>
|
||
|
||
PR target/94833
|
||
* config/rs6000/vsx.md (define_expand): Fix instruction generation for
|
||
first_match_index_<mode>.
|
||
|
||
2020-06-05 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
* config/i386/driver-i386.c (host_detect_local_cpu): Support
|
||
Intel Airmont, Tremont, Comet Lake, Ice Lake and Tiger Lake
|
||
processor families.
|
||
|
||
2020-06-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64-cores.def (zeus): Define.
|
||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||
* doc/invoke.texi (AArch64 Options): Document zeus -mcpu option.
|
||
|
||
2020-05-31 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* config/i386/i386-c.c (ix86_target_macros): Define _ILP32 and
|
||
__ILP32__ for 32-bit targets.
|
||
|
||
2020-05-29 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
PR target/94591
|
||
* config/aarch64/aarch64.c (aarch64_evpc_rev_local): Don't match
|
||
identity permutation.
|
||
|
||
2020-05-29 Dong JianQiang <dongjianqiang2@huawei.com>
|
||
|
||
PR gcov-profile/95332
|
||
* gcov-io.c (gcov_var::endian): Move field.
|
||
(from_file): Add IN_GCOV_TOOL check.
|
||
* gcov-io.h (gcov_magic): Ditto.
|
||
|
||
2020-05-26 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
PR target/94812
|
||
* config/rs6000/rs6000.md (rs6000_mffsl): Copy result to
|
||
output operand in emulation. Don't overwrite pseudos.
|
||
|
||
2020-05-24 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/95258
|
||
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
|
||
AVX512VPOPCNTDQ.
|
||
|
||
2020-05-22 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
Backport from master
|
||
PR tree-optimization/94969
|
||
2020-05-13 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
* tree-data-ref.c (constant_access_functions): Rename to...
|
||
(invariant_access_functions): ...this. Add parameter. Check for
|
||
invariant access function, rather than constant.
|
||
(build_classic_dist_vector): Call above function.
|
||
* tree-loop-distribution.c (pg_add_dependence_edges): Add comment.
|
||
|
||
2020-05-21 Martin Liska <mliska@suse.cz>
|
||
|
||
* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
|
||
Use MASK_OUTLINE_ATOMICS for x_target_flags.
|
||
|
||
2020-05-21 Martin Liska <mliska@suse.cz>
|
||
|
||
* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
|
||
Handle OPT_moutline_atomics.
|
||
* config/aarch64/aarch64.c: Add outline-atomics to
|
||
aarch64_attributes.
|
||
* doc/extend.texi: Document the newly added target attribute.
|
||
|
||
2020-05-14 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
Backport from mainline.
|
||
2020-04-30 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
PR target/94748
|
||
* config/aarch64/aarch64-bti-insert.c (rest_of_insert_bti): Remove
|
||
the check for NOTE_INSN_DELETED_LABEL.
|
||
|
||
2020-05-14 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
Backport from mainline.
|
||
2020-04-23 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
PR target/94697
|
||
* config/aarch64/aarch64-bti-insert.c (rest_of_insert_bti): Swap
|
||
bti c and bti j handling.
|
||
|
||
2020-05-14 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
Backport from mainline.
|
||
2020-04-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
PR target/94515
|
||
* dwarf2cfi.c (struct GTY): Add ra_mangled.
|
||
(cfi_row_equal_p): Check ra_mangled.
|
||
(dwarf2out_frame_debug_cfa_window_save): Remove the argument,
|
||
this only handles the sparc logic now.
|
||
(dwarf2out_frame_debug_cfa_toggle_ra_mangle): New function for
|
||
the aarch64 specific logic.
|
||
(dwarf2out_frame_debug): Update to use the new subroutines.
|
||
(change_cfi_row): Check ra_mangled.
|
||
|
||
2020-05-12 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
Backport from mainline
|
||
2020-04-08 Clement Chigot <clement.chigot@atos.net>
|
||
|
||
* config/rs6000/aix61.h (LIB_SPEC): Add -lc128 with -mlong-double-128.
|
||
* config/rs6000/aix71.h (LIB_SPEC): Likewise.
|
||
* config/rs6000/aix72.h (LIB_SPEC): Likewise.
|
||
|
||
2020-05-12 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
Backport from mainline
|
||
2020-05-04 Clement Chigot <clement.chigot@atos.net>
|
||
David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_init_builtins): Override explicit
|
||
for fmodl, frexpl, ldexpl and modfl builtins.
|
||
|
||
2020-05-11 Xiong Hu Luo <luoxhu@linux.ibm.com>
|
||
|
||
Backport from master.
|
||
2020-04-27 Xiong Hu Luo <luoxhu@linux.ibm.com>
|
||
|
||
PR target/91518
|
||
* config/rs6000/rs6000.c (frame_pointer_needed_indeed):
|
||
New variable.
|
||
(rs6000_emit_prologue_components):
|
||
Check with frame_pointer_needed_indeed.
|
||
(rs6000_emit_epilogue_components): Likewise.
|
||
(rs6000_emit_prologue): Likewise.
|
||
(rs6000_emit_epilogue): Set frame_pointer_needed_indeed.
|
||
|
||
2020-05-07 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use
|
||
TARGET_EXPR instead of MODIFY_EXPR for the first assignments to
|
||
fenv_var and new_fenv_var.
|
||
|
||
2020-05-05 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
2020-04-30 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/constraints.md ("j>f", "jb4"): New constraints.
|
||
* config/s390/vecintrin.h (vec_load_len_r, vec_store_len_r): Fix
|
||
macro definitions.
|
||
* config/s390/vx-builtins.md ("vlrlrv16qi", "vstrlrv16qi"): Add a
|
||
separate expander.
|
||
("*vlrlrv16qi", "*vstrlrv16qi"): Add alternative for vl/vst.
|
||
Change constraint for vlrl/vstrl to jb4.
|
||
|
||
2020-05-04 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
2020-04-20 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/vector.md ("popcountv8hi2_vx", "popcountv4si2_vx")
|
||
("popcountv2di2_vx"): Use simplify_gen_subreg.
|
||
|
||
2020-05-04 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
2020-04-20 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
PR target/94613
|
||
* config/s390/s390-builtin-types.def: Add 3 new function modes.
|
||
* config/s390/s390-builtins.def: Add mode dependent low-level
|
||
builtin and map the overloaded builtins to these.
|
||
* config/s390/vx-builtins.md ("vec_selV_HW"): Rename to ...
|
||
("vsel<V_HW"): ... this and rewrite the pattern with bitops.
|
||
|
||
2020-05-04 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/93674
|
||
Backport from master
|
||
2020-04-09 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
* tree-ssa-loop-ivopts.c (langhooks.h): New include.
|
||
(add_iv_candidate_for_use): For iv_use of non integer or pointer type,
|
||
or non-mode precision type, add candidate in unsigned type with the
|
||
same precision.
|
||
|
||
2020-05-01 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/94145
|
||
Backport from master
|
||
2020-03-27 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_longcall_ref): Use unspec_volatile
|
||
for PLT16_LO.
|
||
* config/rs6000/rs6000.md (UNSPEC_PLT16_LO): Remove.
|
||
(UNSPECV_PLT16_LO): Define.
|
||
(pltseq_plt16_lo_): Use unspec_volatile.
|
||
|
||
2020-04-30 Carl Love <cel@us.ibm.com>
|
||
|
||
* config/rs6000/emmintrin.h (_mm_movemask_epi8): Fix comment.
|
||
|
||
2020-04-29 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
Backport from master
|
||
2020-04-29 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/93654
|
||
* config/i386/i386.c (ix86_set_indirect_branch_type): Allow
|
||
-fcf-protection with -mindirect-branch=thunk-extern and
|
||
-mfunction-return=thunk-extern.
|
||
* doc/invoke.texi: Update notes for -fcf-protection=branch with
|
||
-mindirect-branch=thunk-extern and -mindirect-return=thunk-extern.
|
||
|
||
2020-04-21 Martin Jambor <mjambor@suse.cz>
|
||
|
||
Backport from master
|
||
2020-04-09 Martin Jambor <mjambor@suse.cz>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/94482
|
||
* tree-sra.c (create_access_replacement): Dump new replacement with
|
||
TDF_UID.
|
||
(sra_modify_expr): Fix handling of cases when the original EXPR writes
|
||
to only part of the replacement.
|
||
* tree-ssa-forwprop.c (pass_forwprop::execute): Properly verify
|
||
the first operand of combinations into REAL/IMAGPART_EXPR and
|
||
BIT_FIELD_REF.
|
||
|
||
2020-04-20 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
Backport from master
|
||
2020-04-13 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/94556
|
||
* config/i386/i386.c (ix86_expand_epilogue): Restore the frame
|
||
pointer in word_mode for eh_return epilogues.
|
||
|
||
2020-04-20 Andrea Corallo <andrea.corallo@arm.com>
|
||
|
||
Backport from mainline.
|
||
2020-04-15 Andrea Corallo <andrea.corallo@arm.com>
|
||
|
||
PR target/94530
|
||
* config/aarch64/falkor-tag-collision-avoidance.c
|
||
(valid_src_p): Check for aarch64_address_info type before
|
||
accessing base field.
|
||
|
||
2020-04-20 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
Backport from mainline.
|
||
2020-04-03 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR target/94396
|
||
* common/config/aarch64/aarch64-common.c
|
||
(aarch64_get_extension_string_for_isa_flags): Handle default flags.
|
||
|
||
2020-04-20 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2020-04-17 Martin Liska <mliska@suse.cz>
|
||
Jonathan Yong <10walls@gmail.com>
|
||
|
||
PR gcov-profile/94570
|
||
* coverage.c (coverage_init): Use separator properly.
|
||
|
||
2020-04-17 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
Backport from master
|
||
2020-04-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/94417
|
||
* config/i386/i386.c (rest_of_insert_endbranch): Insert ENDBR at
|
||
function entry if function will be called indirectly.
|
||
|
||
2020-04-17 Kewen Lin <linkw@gcc.gnu.org>
|
||
|
||
Backport from mainline
|
||
2020-04-03 Kewen Lin <linkw@gcc.gnu.org>
|
||
|
||
PR tree-optimization/94443
|
||
* tree-vect-loop.c (vectorizable_live_operation): Use
|
||
gsi_insert_seq_before to replace gsi_insert_before.
|
||
|
||
2020-04-17 Kewen Lin <linkw@gcc.gnu.org>
|
||
|
||
Backport from mainline
|
||
2020-04-01 Kewen Lin <linkw@gcc.gnu.org>
|
||
|
||
PR tree-optimization/94043
|
||
* tree-vect-loop.c (vectorizable_live_operation): Generate loop-closed
|
||
phi for vec_lhs and use it for lane extraction.
|
||
|
||
2020-04-16 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
PR target/94557
|
||
* config/rs6000/rs6000.c (rs6000_adjust_vec_address): Fix
|
||
regression caused by PR target/93932 backport. Mask variable
|
||
vector extract index so it does not go beyond the vector when
|
||
extracting a vector element from memory.
|
||
|
||
2020-04-16 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2020-04-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/94479
|
||
* gimplify.c (gimplify_addr_expr): Also consider generated
|
||
MEM_REFs.
|
||
|
||
2020-04-15 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
Backport from mainline.
|
||
2020-04-14 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
PR target/94584
|
||
* config/xtensa/xtensa.md (zero_extendhisi2, zero_extendqisi2)
|
||
(extendhisi2_internal): Add %v1 before the load instructions.
|
||
|
||
2020-04-15 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
Backport from mainline.
|
||
2019-09-26 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
* config/xtensa/xtensa.c (hwloop_optimize): Insert zero overhead
|
||
loop instruction into new basic block before the loop when basic
|
||
block that precedes the loop is empty.
|
||
|
||
2020-04-15 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/94603
|
||
* config/i386/i386-builtin.def (__builtin_ia32_movq128):
|
||
Require OPTION_MASK_ISA_SSE2.
|
||
|
||
2020-04-11 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/94494
|
||
* config/i386/sse.md (REDUC_SSE_SMINMAX_MODE): Use TARGET_SSE2
|
||
condition for V4SI, V8HI and V16QI modes.
|
||
|
||
2020-04-10 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
Backport from trunk
|
||
2020-0-31 Vineet Gupta <vgupta@synopsys.com>
|
||
* config/arc/linux.h: GLIBC_DYNAMIC_LINKER support BE/arc700.
|
||
|
||
2020-04-09 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
Back port from trunk
|
||
2020-02-26 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
PR target/93932
|
||
* config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
|
||
Split the insn into two parts. This insn only does variable
|
||
extract from a register.
|
||
(vsx_extract_<mode>_var_load, VSX_D iterator): New insn, do
|
||
variable extract from memory.
|
||
(vsx_extract_v4sf_var): Split the insn into two parts. This insn
|
||
only does variable extract from a register.
|
||
(vsx_extract_v4sf_var_load): New insn, do variable extract from
|
||
memory.
|
||
(vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Split the insn
|
||
into two parts. This insn only does variable extract from a
|
||
register.
|
||
(vsx_extract_<mode>_var_load, VSX_EXTRACT_I iterator): New insn,
|
||
do variable extract from memory.
|
||
|
||
2020-04-07 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
Backport from mainline.
|
||
2020-03-23 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-call.c altivec_init_builtins(): Remove
|
||
code to skip defining builtins based on builtin_mask.
|
||
|
||
2020-04-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94509
|
||
* config/i386/i386.c (expand_vec_perm_pshufb): Fix the check
|
||
for inter-lane permutation for 64-byte modes.
|
||
|
||
PR target/94488
|
||
* config/aarch64/aarch64-simd.md (ashl<mode>3, lshr<mode>3,
|
||
ashr<mode>3): Force operands[2] into reg whenever it is not CONST_INT.
|
||
Assume it is a REG after that instead of testing it and doing FAIL
|
||
otherwise. Formatting fix.
|
||
|
||
Backported from mainline
|
||
2020-04-04 Hannes Domani <ssbssa@yahoo.de>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/94459
|
||
* dwarf2out.c (gen_subprogram_die): Look through references, pointers,
|
||
arrays, pointer-to-members, function types and qualifiers when
|
||
checking if in-class DIE had an 'auto' or 'decltype(auto)' return type
|
||
to emit type again on definition.
|
||
|
||
2020-04-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94460
|
||
* config/i386/sse.md (avx2_ph<plusminus_mnemonic>wv16hi3,
|
||
avx2_ph<plusminus_mnemonic>dv8si3): Fix up RTL pattern to do
|
||
second half of first lane from first lane of second operand and
|
||
first half of second lane from second lane of first operand.
|
||
|
||
2020-04-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/94423
|
||
* tree-object-size.c (pass_object_sizes::execute): Don't call
|
||
replace_uses_by for SSA_NAME_OCCURS_IN_ABNORMAL_PHI lhs, instead
|
||
call replace_call_with_value.
|
||
|
||
2020-03-31 Marc Glisse <marc.glisse@inria.fr>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/94412
|
||
* fold-const.c (fold_binary_loc) <case TRUNC_DIV_EXPR>: Use
|
||
ANY_INTEGRAL_TYPE_P instead of INTEGRAL_TYPE_P.
|
||
|
||
2020-03-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/93069
|
||
* config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Use
|
||
<store_mask_constraint> instead of m in output operand constraint.
|
||
(vec_extract_hi_<mode><mask_name>): Use <mask_operand2> instead of
|
||
%{%3%}.
|
||
|
||
2020-03-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/94329
|
||
* tree-ssa-reassoc.c (reassociate_bb): When calling reassoc_remove_stmt
|
||
on the last stmt in a bb, make sure gsi_prev isn't done immediately
|
||
after gsi_last_bb.
|
||
|
||
2020-03-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/94303
|
||
* varasm.c (output_constructor_array_range): If local->index
|
||
RANGE_EXPR doesn't start at the current location in the constructor,
|
||
skip needed number of bytes using assemble_zeros or assert we don't
|
||
go backwards.
|
||
|
||
2020-03-25 Richard Biener <rguenther@suse.de>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/94283
|
||
* tree-if-conv.c (ifcvt_local_dce): Delete dead statements backwards.
|
||
|
||
2020-03-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/94283
|
||
* tree-if-conv.c (ifcvt_local_dce): For gimple debug stmts, just set
|
||
GF_PLF_2, but don't add them to worklist. Don't add an assigment to
|
||
worklist or set GF_PLF_2 just because it is used in a debug stmt in
|
||
another bb. Formatting improvements.
|
||
|
||
PR debug/94277
|
||
* cgraphunit.c (check_global_declaration): For DECL_EXTERNAL and
|
||
non-TREE_PUBLIC non-DECL_ARTIFICIAL FUNCTION_DECLs, set TREE_PUBLIC
|
||
regardless of whether TREE_NO_WARNING is set on it or whether
|
||
warn_unused_function is true or not.
|
||
|
||
2020-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/94211
|
||
* tree-ssa-phiopt.c (value_replacement): Use estimate_num_insns_seq
|
||
instead of estimate_num_insns for bb_seq (middle_bb). Rename
|
||
emtpy_or_with_defined_p variable to empty_or_with_defined_p, adjust
|
||
all uses.
|
||
|
||
2020-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/94518
|
||
2019-09-23 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/atomics.md (aarch64_store_exclusive_pair): Fix
|
||
memmodel index.
|
||
|
||
2020-04-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94500
|
||
* config/i386/i386.c (emit_reduc_half): For V{64QI,32HI}mode
|
||
handle i < 64 using avx512bw_lshrv4ti3. Formatting fixes.
|
||
|
||
2020-04-02 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/93435
|
||
* params.def (PARAM_SRA_MAX_PROPAGATIONS): New parameter.
|
||
* tree-sra.c (propagation_budget): New variable.
|
||
(budget_for_propagation_access): New function.
|
||
(propagate_subaccesses_across_link): Use it.
|
||
(propagate_all_subaccesses): Set up and destroy propagation_budget.
|
||
* doc/invoke.texi (sra-max-propagations): New.
|
||
|
||
2020-04-03 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2020-04-03 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/94445
|
||
* ipa-icf-gimple.c (func_checker::compare_gimple_call):
|
||
Compare type attributes for gimple_call_fntypes.
|
||
|
||
2020-04-02 Fritz Reese <foreese@gcc.gnu.org>
|
||
|
||
Backport from master.
|
||
2020-04-02 Fritz Reese <foreese@gcc.gnu.org>
|
||
|
||
PR fortran/85982
|
||
* fortran/decl.c (match_attr_spec): Lump COMP_STRUCTURE/COMP_MAP into
|
||
attribute checking used by TYPE.
|
||
|
||
2020-04-02 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2020-03-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/94103
|
||
* tree-ssa-sccvn.c (visit_reference_op_load): Avoid type
|
||
punning when the mode precision is not sufficient.
|
||
|
||
2020-03-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/94206
|
||
* gimple-fold.c (gimple_fold_builtin_memset): Avoid using
|
||
partial int modes or not mode-precision integer types for
|
||
the store.
|
||
|
||
2020-04-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94435
|
||
* config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): For
|
||
y_mode E_[QH]Imode and y being a CONST_INT, change y_mode to SImode.
|
||
|
||
2020-04-01 Zackery Spytz <zspytz@gmail.com>
|
||
|
||
* doc/extend.texi: Fix a typo in the documentation of the
|
||
copy function attribute.
|
||
|
||
2020-04-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backport from mainline
|
||
2020-03-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94368
|
||
* config/aarch64/constraints.md (Uph): New constraint.
|
||
* config/aarch64/atomics.md (cas_short_expected_imm): New mode attr.
|
||
(@aarch64_compare_and_swap<mode>): Use it instead of n in operand 2's
|
||
constraint.
|
||
|
||
2020-04-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backport from mainline
|
||
2020-01-17 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR target/92692
|
||
* config/aarch64/atomics.md (aarch64_compare_and_swap<mode>)
|
||
Use epilogue_completed rather than reload_completed.
|
||
|
||
2020-04-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-09-19 Richard Henderson <richard.henderson@linaro.org>
|
||
|
||
* config/aarch64/aarch64.opt (-moutline-atomics): New.
|
||
* config/aarch64/aarch64.c (aarch64_atomic_ool_func): New.
|
||
(aarch64_ool_cas_names, aarch64_ool_swp_names): New.
|
||
(aarch64_ool_ldadd_names, aarch64_ool_ldset_names): New.
|
||
(aarch64_ool_ldclr_names, aarch64_ool_ldeor_names): New.
|
||
(aarch64_expand_compare_and_swap): Honor TARGET_OUTLINE_ATOMICS.
|
||
* config/aarch64/atomics.md (atomic_exchange<ALLI>): Likewise.
|
||
(atomic_<atomic_op><ALLI>): Likewise.
|
||
(atomic_fetch_<atomic_op><ALLI>): Likewise.
|
||
(atomic_<atomic_op>_fetch<ALLI>): Likewise.
|
||
* doc/invoke.texi: Document -moutline-atomics.
|
||
|
||
2020-04-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-09-19 Richard Henderson <richard.henderson@linaro.org>
|
||
|
||
* config/aarch64/aarch64 (aarch64_split_compare_and_swap): Disable
|
||
strong_zero_p for aarch64_track_speculation; unify some code paths;
|
||
use aarch64_gen_compare_reg instead of open-coding.
|
||
|
||
2020-04-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-09-19 Richard Henderson <richard.henderson@linaro.org>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_gen_compare_reg): Add support
|
||
for NE comparison of TImode values.
|
||
(aarch64_emit_load_exclusive): Add support for TImode.
|
||
(aarch64_emit_store_exclusive): Likewise.
|
||
(aarch64_split_compare_and_swap): Disable strong_zero_p for TImode.
|
||
* config/aarch64/atomics.md (@atomic_compare_and_swap<ALLI_TI>):
|
||
Change iterator from ALLI to ALLI_TI.
|
||
(@atomic_compare_and_swap<JUST_TI>): New.
|
||
(@atomic_compare_and_swap<JUST_TI>_lse): New.
|
||
(aarch64_load_exclusive_pair): New.
|
||
(aarch64_store_exclusive_pair): New.
|
||
* config/aarch64/iterators.md (JUST_TI): New.
|
||
|
||
2020-04-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-09-19 Richard Henderson <richard.henderson@linaro.org>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_print_operand): Allow integer
|
||
registers with %R.
|
||
|
||
2020-03-31 Carl Love <cel@us.ibm.com>
|
||
|
||
Backport of:
|
||
commit e97929e20b2f52e6cfc046c1302324d1b24d95e3
|
||
Author: Carl Love <carll@us.ibm.com>
|
||
Date: Wed Mar 25 18:33:37 2020 -0500
|
||
|
||
PR target/93819
|
||
* gcc/config/rs6000/altivec.h:
|
||
Fixed swapped arguments for vec_rlnm define.
|
||
|
||
2020-03-31 Carl Love <cel@us.ibm.com>
|
||
|
||
Backport from mainline
|
||
commit 68dd57808f7c0147acdb5ca72c88ff655afcb0ce
|
||
Author: Carl Love <carll@us.ibm.com>
|
||
Date: Fri Mar 20 18:15:05 2020 -0500
|
||
with ChangeLog typo fixed.
|
||
|
||
PR target/87583
|
||
* gcc/config/rs6000/rs6000.c (rs6000_option_override_internal):
|
||
Add check for TARGET_FPRND for Power 7 or newer.
|
||
|
||
2020-03-24 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR lto/94249
|
||
* config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Define __BIG_ENDIAN__.
|
||
|
||
2020-03-24 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR target/94052
|
||
* config/aarch64/aarch64-simd.md (mov<mode>): Remove paradoxical
|
||
subregs of VSTRUCT modes.
|
||
|
||
2020-03-24 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
Backport from mainline
|
||
2020-03-16 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/94125
|
||
* tree-loop-distribution.c
|
||
(loop_distribution::break_alias_scc_partitions): Update post order
|
||
number for merged scc.
|
||
|
||
2020-03-23 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2020-03-10 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
PR target/90763
|
||
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
|
||
Add clause to handle P9V_BUILTIN_VEC_LXVL with const arguments.
|
||
|
||
2020-03-23 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from master.
|
||
2020-03-22 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/i386/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Remove
|
||
references to Darwin.
|
||
* config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION): Define this
|
||
unconditionally and comment on why.
|
||
|
||
2020-03-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
Backport from mainline
|
||
2020-01-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR driver/92757
|
||
* doc/invoke.texi (Warning Options): Add caveat about some warnings
|
||
depending on optimization settings.
|
||
|
||
2020-03-19 Jiufu Guo <guojiufu@linux.ibm.com>
|
||
|
||
PR target/93709
|
||
* gcc/config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): Check
|
||
NAN and SIGNED_ZEROR for smax/smin.
|
||
|
||
2020-03-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/94189
|
||
* builtins.c (expand_builtin_strnlen): Do return NULL_RTX if we would
|
||
emit a warning if it was enabled and don't depend on TREE_NO_WARNING
|
||
for code-generation.
|
||
|
||
Backported from mainline
|
||
2020-03-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/94167
|
||
* tree-inline.c (insert_init_stmt): Don't gimple_regimplify_operands
|
||
DEBUG_STMTs.
|
||
|
||
2020-03-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/93566
|
||
* tree-nested.c (convert_nonlocal_omp_clauses,
|
||
convert_local_omp_clauses): Handle {,in_,task_}reduction clauses
|
||
with C/C++ array sections.
|
||
|
||
2020-03-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94121
|
||
* config/aarch64/aarch64.c (aarch64_add_offset_1): Use gen_int_mode
|
||
instead of GEN_INT.
|
||
|
||
2020-03-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* doc/tm.texi.in (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change
|
||
ASM_OUTPUT_ALIGNED_DECL in description to ASM_OUTPUT_ALIGNED_LOCAL
|
||
and ASM_OUTPUT_DECL to ASM_OUTPUT_LOCAL.
|
||
* doc/tm.texi: Regenerated.
|
||
|
||
PR tree-optimization/94130
|
||
* tree-ssa-dse.c: Include gimplify.h.
|
||
(increment_start_addr): If stmt has lhs, drop the lhs from call and
|
||
set it after the call to the original value of the first argument.
|
||
Formatting fixes.
|
||
(decrement_count): Formatting fix.
|
||
|
||
2020-03-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94134
|
||
* config/pdp11/pdp11.c (pdp11_asm_output_var): Call switch_to_section
|
||
at the start to switch to data section. Don't print extra newline if
|
||
.globl directive has not been emitted.
|
||
|
||
PR target/94121
|
||
* config/aarch64/aarch64.c (aarch64_add_offset_1): Use absu_hwi
|
||
instead of abs_hwi, change moffset type to unsigned HOST_WIDE_INT.
|
||
|
||
PR middle-end/94111
|
||
* dfp.c (decimal_to_binary): Only use decimal128ToString if from->cl
|
||
is rvc_normal, otherwise use real_to_decimal to print the number to
|
||
string.
|
||
|
||
PR tree-optimization/94114
|
||
* tree-loop-distribution.c (generate_memset_builtin): Call
|
||
rewrite_to_non_trapping_overflow even on mem.
|
||
(generate_memcpy_builtin): Call rewrite_to_non_trapping_overflow even
|
||
on dest and src.
|
||
|
||
2020-03-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/93399
|
||
* tree-pretty-print.h (pretty_print_string): Declare.
|
||
* tree-pretty-print.c (pretty_print_string): Remove forward
|
||
declaration, no longer static. Change nbytes parameter type
|
||
from unsigned to size_t.
|
||
* print-rtl.c (print_value) <case CONST_STRING>: Use
|
||
pretty_print_string and for shrink way too long strings.
|
||
|
||
2020-03-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/93888
|
||
* tree-inline.c (copy_decl_to_var): Copy DECL_BY_REFERENCE flag.
|
||
|
||
PR tree-optimization/94001
|
||
* tree-tailcall.c (process_assignment): Before comparing op1 to
|
||
*ass_var, verify *ass_var is non-NULL.
|
||
|
||
2020-03-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/94163
|
||
* tree-ssa-pre.c (create_expression_by_pieces): Check
|
||
whether alignment would be zero.
|
||
|
||
2020-03-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/94119
|
||
* resource.h (clear_hashed_info_until_next_barrier): Declare.
|
||
* resource.c (clear_hashed_info_until_next_barrier): New function.
|
||
* reorg.c (add_to_delay_list): Fix formatting.
|
||
(relax_delay_slots): Call clear_hashed_info_until_next_barrier on
|
||
the next instruction after removing a BARRIER.
|
||
|
||
2020-03-12 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
Backport from master
|
||
2020-03-02 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
PR target/87560
|
||
* rs6000-cpus.def (OTHER_ALTIVEC_MASKS): New #define.
|
||
* rs6000.c (rs6000_disable_incompatible_switches): Add table entry
|
||
for OPTION_MASK_ALTIVEC.
|
||
|
||
2020-03-12 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
Backport from master
|
||
2020-02-10 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/91913
|
||
* config/arm/arm.md (movsi_compare0): Allow SP as a source register
|
||
in Thumb state and also as a destination in Arm state. Add T16
|
||
variants.
|
||
|
||
2020-03-12 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2020-03-09 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/93800
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal):
|
||
Remove set of str_align_loops and str_align_jumps as these
|
||
should be set in previous 2 conditions in the function.
|
||
|
||
2020-03-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* BASE-VER: Set to 9.3.1.
|
||
|
||
2020-03-12 Release Manager
|
||
|
||
* GCC 9.3.0 released.
|
||
|
||
2020-03-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/94046
|
||
* config/i386/avx2intrin.h (_mm_mask_i32gather_ps): Fix first cast of
|
||
SRC and MASK arguments to __m128 from __m128d.
|
||
(_mm256_mask_i32gather_ps): Fix first cast of MASK argument to __m256
|
||
from __m256d.
|
||
(_mm_mask_i64gather_ps): Fix first cast of MASK argument to __m128
|
||
from __m128d.
|
||
* config/i386/xopintrin.h (_mm_permute2_pd): Fix first cast of C
|
||
argument to __m128i from __m128d.
|
||
(_mm256_permute2_pd): Fix first cast of C argument to __m256i from
|
||
__m256d.
|
||
(_mm_permute2_ps): Fix first cast of C argument to __m128i from __m128.
|
||
(_mm256_permute2_ps): Fix first cast of C argument to __m256i from
|
||
__m256.
|
||
|
||
2020-03-05 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/90311
|
||
Backport from master
|
||
2019-07-18 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config/arm/predicates.md (arm_borrow_operation): New predicate.
|
||
* config/arm/arm.c (subdi3_compare1): Use CCmode for the split.
|
||
(arm_subdi3, subdi_di_zesidi, subdi_di_sesidi): Likewise.
|
||
(subdi_zesidi_zesidi): Likewise.
|
||
(negdi2_compare, negdi2_insn): Likewise.
|
||
(negdi_extensidi): Likewise.
|
||
(negdi_zero_extendsidi): Likewise.
|
||
(arm_cmpdi_insn): Likewise.
|
||
(subsi3_carryin): Use arm_borrow_operation.
|
||
(subsi3_carryin_const): Likewise.
|
||
(subsi3_carryin_const0): Likewise.
|
||
(subsi3_carryin_compare): Likewise.
|
||
(subsi3_carryin_compare_const): Likewise.
|
||
(subsi3_carryin_compare_const0): Likewise.
|
||
(subsi3_carryin_shift): Likewise.
|
||
(rsbsi3_carryin_shift): Likewise.
|
||
(negsi2_carryin_compare): Likewise.
|
||
|
||
2020-03-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
Backport from mainline
|
||
2020-01-26 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/93436
|
||
* sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on
|
||
null DECL_NAME.
|
||
|
||
2020-03-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/94002
|
||
* explow.c (plus_constant): Punt if cst has VOIDmode and
|
||
get_pool_mode is different from mode.
|
||
|
||
2020-03-02 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/92601
|
||
* tree.c (verify_type_variant): Only verify TYPE_NEEDS_CONSTRUCTING
|
||
of complete types.
|
||
|
||
2020-02-29 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
Revert
|
||
2020-02-20 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
PR target/93658
|
||
* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX
|
||
vector modes.
|
||
|
||
2020-02-05 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
PR target/93568
|
||
* config/rs6000/rs6000.c (get_vector_offset): Fix Q constraint assert
|
||
to use "mem".
|
||
|
||
Backport from master
|
||
2020-02-03 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (get_vector_offset): New helper function
|
||
to calculate the offset in memory from the start of a vector of a
|
||
particular element. Add code to keep the element number in
|
||
bounds if the element number is variable.
|
||
(rs6000_adjust_vec_address): Move calculation of offset of the
|
||
vector element to get_vector_offset.
|
||
(rs6000_split_vec_extract_var): Do not do the initial AND of
|
||
element here, move the code to get_vector_offset.
|
||
|
||
2020-01-06 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
* config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
|
||
Use 'Q' for doing vector extract from memory.
|
||
(vsx_extract_v4sf_var): Use 'Q' for doing vector extract from
|
||
memory.
|
||
(vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Use 'Q' for
|
||
doing vector extract from memory.
|
||
(vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for doing vector
|
||
extract from memory.
|
||
|
||
2020-02-28 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2020-02-28 Martin Liska <mliska@suse.cz>
|
||
|
||
PR other/93965
|
||
* configure.ac: Improve detection of ld_date by requiring
|
||
either two dashes or none.
|
||
* configure: Regenerate.
|
||
|
||
2020-02-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/93949
|
||
* gimplify.c (gimplify_init_constructor): Don't promote readonly
|
||
DECL_REGISTER variables to TREE_STATIC.
|
||
|
||
2020-02-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/93945
|
||
* tree-ssa-sccvn.c (vn_reference_lookup_3): For memset with non-zero
|
||
second operand, require ref->size to be a multiple of BITS_PER_UNIT.
|
||
|
||
2020-02-26 Carl Love <cel@us.ibm.com>
|
||
|
||
PR target/91276
|
||
* doc/extend.texi (PowerPC AltiVec Built-in Functions Available on ISA
|
||
3.0): The builtin-function name __builtin_crypto_vpmsumb is only for
|
||
the vector unsigned short arguments. It is also listed as the name of
|
||
the built-in for arguments vector unsigned short,
|
||
vector unsigned int and vector unsigned long long built-ins. The
|
||
name of the builtins for these arguments should be:
|
||
__builtin_crypto_vpmsumh, __builtin_crypto_vpmsumw and
|
||
__builtin_crypto_vpmsumd respectively.
|
||
|
||
2020-02-26 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/92003
|
||
* symtab.c (symtab_node::nonzero_address): A DECL_COMDAT decl has
|
||
non-zero address even if weak and not yet defined.
|
||
|
||
2020-02-26 Jiufu Guo <guojiufu@linux.ibm.com>
|
||
|
||
PR target/93047
|
||
* config/rs6000/rs6000.md (untyped_call): Add emit_clobber.
|
||
|
||
2020-02-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/93820
|
||
* gimple-ssa-store-merging.c (check_no_overlap): Change RHS_CODE
|
||
argument to ALL_INTEGER_CST_P boolean.
|
||
(imm_store_chain_info::try_coalesce_bswap): Adjust caller.
|
||
(imm_store_chain_info::coalesce_immediate_stores): Likewise. Handle
|
||
adjacent INTEGER_CST store into merged_store->only_constants like
|
||
overlapping one.
|
||
|
||
2020-02-25 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
Backport from mainline
|
||
2020-02-25 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
* config/arm/arm.md (required_for_purecode): New attribute.
|
||
(enabled): Handle required_for_purecode.
|
||
* config/arm/thumb1.md (thumb1_movsi_insn): Add alternative to
|
||
work with -mpure-code.
|
||
|
||
2020-02-25 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
Backport from mainline
|
||
2019-12-17 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
* config/arm/arm-protos.h (thumb1_gen_const_int): Add new prototype.
|
||
* config/arm/arm.c (arm_option_check_internal): Remove restriction
|
||
on MOVT for -mpure-code.
|
||
(thumb1_gen_const_int): New function.
|
||
(thumb1_legitimate_address_p): Support -mpure-code.
|
||
(thumb1_rtx_costs): Likewise.
|
||
(thumb1_size_rtx_costs): Likewise.
|
||
(arm_thumb1_mi_thunk): Likewise.
|
||
* config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Likewise.
|
||
* config/arm/thumb1.md (thumb1_movsi_symbol_ref): New.
|
||
(*thumb1_movhf): Support -mpure-code.
|
||
* doc/invoke.texi (-mpure-code): Remove restriction on MOVT.
|
||
|
||
2020-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/93908
|
||
* combine.c (find_split_point): For store into ZERO_EXTRACT, and src
|
||
with mask.
|
||
|
||
2019-02-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* dwarf2out.c (dwarf2out_size_function): Run in early-DWARF mode.
|
||
|
||
2020-02-25 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
Backport from master
|
||
2020-02-24 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
* doc/install.texi (--enable-checking): Properly document current
|
||
behavior.
|
||
(--enable-stage1-checking): Minor clarification about bootstrap.
|
||
|
||
2020-02-24 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backport from mainline
|
||
2020-02-19 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/93767
|
||
* tree-vect-data-refs.c (vect_compile_time_alias): Remove the
|
||
access-size bias from the offset calculations for negative strides.
|
||
|
||
2020-02-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* collect2.c (tool_cleanup): Avoid calling not signal-safe
|
||
functions.
|
||
(maybe_run_lto_and_relink): Avoid possible signal handler
|
||
access to unintialzed memory (lto_o_files).
|
||
|
||
2020-02-23 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
Backport from master
|
||
2020-02-20 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
PR target/93658
|
||
* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX
|
||
vector modes.
|
||
|
||
2020-02-23 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
Backport from master
|
||
2020-02-05 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
PR target/93568
|
||
* config/rs6000/rs6000.c (get_vector_offset): Fix Q constraint assert
|
||
to use "mem".
|
||
|
||
Backport from master
|
||
2020-02-03 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (get_vector_offset): New helper function
|
||
to calculate the offset in memory from the start of a vector of a
|
||
particular element. Add code to keep the element number in
|
||
bounds if the element number is variable.
|
||
(rs6000_adjust_vec_address): Move calculation of offset of the
|
||
vector element to get_vector_offset.
|
||
(rs6000_split_vec_extract_var): Do not do the initial AND of
|
||
element here, move the code to get_vector_offset.
|
||
|
||
2020-02-23 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
Backport from master
|
||
2020-01-06 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
* config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
|
||
Use 'Q' for doing vector extract from memory.
|
||
(vsx_extract_v4sf_var): Use 'Q' for doing vector extract from
|
||
memory.
|
||
(vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Use 'Q' for
|
||
doing vector extract from memory.
|
||
(vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for doing vector
|
||
extract from memory.
|
||
|
||
2020-02-21 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* gcc/config/pa/pa.c (pa_function_value): Fix check for word and
|
||
double-word size when handling aggregate return values.
|
||
* gcc/config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Fix to indicate
|
||
that homogeneous SFmode and DFmode aggregates are passed and returned
|
||
in general registers.
|
||
|
||
2020-02-20 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/93828
|
||
* config/i386/mmx.md (*vec_extractv2sf_1): Match source operand
|
||
to destination operand for shufps alternative.
|
||
(*vec_extractv2si_1): Ditto.
|
||
|
||
2020-02-20 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
Backport from master
|
||
2020-02-13 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/93656
|
||
* config/i386/i386.c (ix86_trampoline_init): Skip ENDBR32 at
|
||
the target function entry.
|
||
|
||
2020-02-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-12-05 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/92768
|
||
* tree-core.h (OEP_BITWISE): New flag.
|
||
* fold-const.c (operand_compare::operand_equal_p): Handle it.
|
||
* tree-vector-builder.h (tree_vector_builder::equal_p): Pass it.
|
||
|
||
2020-02-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-08-09 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/90313
|
||
* tree-tailcall.c (find_tail_calls): Reject calls that might
|
||
read from an escaped RESULT_DECL.
|
||
|
||
2020-02-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backport from mainline
|
||
2020-01-28 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/93434
|
||
* tree-predcom.c (split_data_refs_to_components): Record which
|
||
components have had aliasing loads removed. Prevent store-store
|
||
commoning for all such components.
|
||
|
||
2020-02-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-11-29 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/92710
|
||
* tree-vect-stmts.c (vectorizable_simd_clone_call): Reject
|
||
vector mask arguments.
|
||
|
||
2020-02-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-11-11 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/92420
|
||
* tree-vect-stmts.c (get_negative_load_store_type): Move further
|
||
up file.
|
||
(get_group_load_store_type): Use it for reversed SLP accesses.
|
||
|
||
2020-02-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-08-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
PR target/90724
|
||
* config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): Force y
|
||
in reg if it fails aarch64_plus_operand predicate.
|
||
|
||
2020-02-14 Hongtao Liu <hongtao.liu@intel.com>
|
||
|
||
PR target/93724
|
||
* config/i386/avx512vbmi2intrin.h
|
||
(_mm512_shrdi_epi16, _mm512_mask_shrdi_epi16,
|
||
_mm512_maskz_shrdi_epi16, _mm512_shrdi_epi32,
|
||
_mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32,
|
||
_m512_shrdi_epi64, _m512_mask_shrdi_epi64,
|
||
_m512_maskz_shrdi_epi64, _mm512_shldi_epi16,
|
||
_mm512_mask_shldi_epi16, _mm512_maskz_shldi_epi16,
|
||
_mm512_shldi_epi32, _mm512_mask_shldi_epi32,
|
||
_mm512_maskz_shldi_epi32, _mm512_shldi_epi64,
|
||
_mm512_mask_shldi_epi64, _mm512_maskz_shldi_epi64): Fix typo
|
||
of lacking a closing parenthesis.
|
||
* config/i386/avx512vbmi2vlintrin.h
|
||
(_mm256_shrdi_epi16, _mm256_mask_shrdi_epi16,
|
||
_mm256_maskz_shrdi_epi16, _mm256_shrdi_epi32,
|
||
_mm256_mask_shrdi_epi32, _mm256_maskz_shrdi_epi32,
|
||
_m256_shrdi_epi64, _m256_mask_shrdi_epi64,
|
||
_m256_maskz_shrdi_epi64, _mm256_shldi_epi16,
|
||
_mm256_mask_shldi_epi16, _mm256_maskz_shldi_epi16,
|
||
_mm256_shldi_epi32, _mm256_mask_shldi_epi32,
|
||
_mm256_maskz_shldi_epi32, _mm256_shldi_epi64,
|
||
_mm256_mask_shldi_epi64, _mm256_maskz_shldi_epi64,
|
||
_mm_shrdi_epi16, _mm_mask_shrdi_epi16,
|
||
_mm_maskz_shrdi_epi16, _mm_shrdi_epi32,
|
||
_mm_mask_shrdi_epi32, _mm_maskz_shrdi_epi32,
|
||
_mm_shrdi_epi64, _mm_mask_shrdi_epi64,
|
||
_m_maskz_shrdi_epi64, _mm_shldi_epi16,
|
||
_mm_mask_shldi_epi16, _mm_maskz_shldi_epi16,
|
||
_mm_shldi_epi32, _mm_mask_shldi_epi32,
|
||
_mm_maskz_shldi_epi32, _mm_shldi_epi64,
|
||
_mm_mask_shldi_epi64, _mm_maskz_shldi_epi64): Ditto.
|
||
|
||
2020-02-16 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/93743
|
||
* config/i386/i386.md (atan2xf3): Swap operands 1 and 2.
|
||
(atan2<mode>3): Update operand order in the call to gen_atan2xf3.
|
||
|
||
2020-02-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/93744
|
||
* match.pd (((m1 >/</>=/<= m2) * d -> (m1 >/</>=/<= m2) ? d : 0): For
|
||
GENERIC, make sure @2 in the first and @1 in the other patterns has no
|
||
side-effects.
|
||
|
||
2020-02-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/93704
|
||
* config/sparc/sparc.c (eligible_for_call_delay): Test HAVE_GNU_LD in
|
||
conjunction with TARGET_GNU_TLS in early return.
|
||
|
||
2020-02-14 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
Backport from mainline
|
||
PR rtl-optimization/88879
|
||
* sel-sched.c (sel_target_adjust_priority): Remove assert.
|
||
|
||
2020-02-14 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2020-02-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/90648
|
||
* genmatch.c (dt_node::gen_kids_1): Emit number of argument
|
||
checks before matching calls.
|
||
|
||
2020-02-14 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2020-01-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/93381
|
||
* tree-ssa-structalias.c (find_func_aliases): Assume offsetting
|
||
throughout, handle all conversions the same.
|
||
|
||
2020-02-14 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2020-01-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/93439
|
||
* tree-parloops.c (create_loop_fn): Move clique bookkeeping...
|
||
* tree-cfg.c (move_sese_region_to_fn): ... here.
|
||
(verify_types_in_gimple_reference): Verify used cliques are
|
||
tracked.
|
||
|
||
2020-02-14 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2020-01-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/93054
|
||
* gimplify.c (gimplify_expr): Deal with NOP definitions.
|
||
|
||
2020-02-14 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2020-01-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/92763
|
||
* dwarf2out.c (prune_unused_types): Unconditionally mark
|
||
called function DIEs.
|
||
|
||
2020-02-14 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-11-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/92704
|
||
* tree-if-conv.c (combine_blocks): Deal with virtual PHIs
|
||
in loops performing only loads.
|
||
|
||
2020-02-14 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-11-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/92674
|
||
* tree-inline.c (expand_call_inline): Delay purging EH/abnormal
|
||
edges and instead record blocks in bitmap.
|
||
(gimple_expand_calls_inline): Adjust.
|
||
(fold_marked_statements): Delay EH cleanup until all folding is
|
||
done.
|
||
(optimize_inline_calls): Do EH/abnormal cleanup for calls after
|
||
inlining finished.
|
||
|
||
2020-02-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/93696
|
||
* config/i386/avx512bitalgintrin.h (_mm512_mask_popcnt_epi8,
|
||
_mm512_mask_popcnt_epi16, _mm256_mask_popcnt_epi8,
|
||
_mm256_mask_popcnt_epi16, _mm_mask_popcnt_epi8,
|
||
_mm_mask_popcnt_epi16): Rename __B argument to __A and __A to __W,
|
||
pass __A to the builtin followed by __W instead of __A followed by
|
||
__B.
|
||
* config/i386/avx512vpopcntdqintrin.h (_mm512_mask_popcnt_epi32,
|
||
_mm512_mask_popcnt_epi64): Likewise.
|
||
* config/i386/avx512vpopcntdqvlintrin.h (_mm_mask_popcnt_epi32,
|
||
_mm256_mask_popcnt_epi32, _mm_mask_popcnt_epi64,
|
||
_mm256_mask_popcnt_epi64): Likewise.
|
||
|
||
PR target/93673
|
||
* config/i386/sse.md (k<code><mode>): Drop mode from last operand and
|
||
use const_0_to_255_operand predicate instead of immediate_operand.
|
||
(avx512dq_fpclass<mode><mask_scalar_merge_name>,
|
||
avx512dq_vmfpclass<mode><mask_scalar_merge_name>,
|
||
vgf2p8affineinvqb_<mode><mask_name>,
|
||
vgf2p8affineqb_<mode><mask_name>): Drop mode from
|
||
const_0_to_255_operand predicated operands.
|
||
|
||
Backported from mainline
|
||
2020-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/93670
|
||
* config/i386/sse.md (VI48F_256_DQ): New mode iterator.
|
||
(avx512vl_vextractf128<mode>): Use it instead of VI48F_256. Remove
|
||
TARGET_AVX512DQ from condition.
|
||
(vec_extract_lo_<mode><mask_name>): Use <mask_avx512dq_condition>
|
||
instead of <mask_mode512bit_condition> in condition. If
|
||
TARGET_AVX512DQ is false, emit vextract*64x4 instead of
|
||
vextract*32x8.
|
||
(vec_extract_lo_<mode><mask_name>): Drop <mask_avx512dq_condition>
|
||
from condition.
|
||
|
||
2020-02-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/93637
|
||
* config/i386/sse.md (VI_256_AVX2): New mode iterator.
|
||
(vcond_mask_<mode><sseintvecmodelower>): Use it instead of VI_256.
|
||
Change condition from TARGET_AVX2 to TARGET_AVX.
|
||
|
||
2020-02-08 Uroš Bizjak <ubizjak@gmail.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/65782
|
||
* config/i386/i386.h (CALL_USED_REGISTERS): Make
|
||
xmm16-xmm31 call-used even in 64-bit ms-abi.
|
||
|
||
2020-02-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR libgomp/93515
|
||
* omp-low.c (use_pointer_for_field): For nested constructs, also
|
||
look for map clauses on target construct.
|
||
(scan_omp_1_stmt) <case GIMPLE_OMP_TARGET>: Bump temporarily
|
||
taskreg_nesting_level.
|
||
|
||
PR libgomp/93515
|
||
* gimplify.c (gimplify_scan_omp_clauses) <do_notice>: If adding
|
||
shared clause, call omp_notice_variable on outer context if any.
|
||
|
||
2020-02-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/93555
|
||
* omp-simd-clone.c (expand_simd_clones): If simd_clone_mangle or
|
||
simd_clone_create failed when i == 0, adjust clone->nargs by
|
||
clone->inbranch.
|
||
|
||
2020-01-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/93505
|
||
* combine.c (simplify_comparison) <case ROTATE>: Punt on out of range
|
||
rotate counts.
|
||
|
||
2020-01-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/93418
|
||
* config/i386/i386.c (ix86_fold_builtin) <do_shift>: If mask is not
|
||
-1 or is_vshift is true, use new_vector with number of elts npatterns
|
||
rather than new_unary_operation.
|
||
|
||
2020-01-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/93402
|
||
* postreload.c (reload_combine_recognize_pattern): Don't try to adjust
|
||
USE insns.
|
||
|
||
2020-02-11 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
Backport from mainline
|
||
2020-01-31 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR rtl-optimization/91838
|
||
* simplify-rtx.c (simplify_binary_operation_1): Update LSHIFTRT case
|
||
to truncate if allowed or reject combination.
|
||
|
||
2020-02-07 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
Backport from mainline
|
||
2020-02-07 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/85667
|
||
* config/i386/i386.c (function_arg_ms_64): Add a type argument.
|
||
Don't return aggregates with only SFmode and DFmode in SSE
|
||
register.
|
||
(ix86_function_arg): Pass type to function_arg_ms_64.
|
||
|
||
2020-01-30 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.c (pa_elf_select_rtx_section): Place function pointers
|
||
without a DECL in .data.rel.ro.local.
|
||
|
||
2020-01-30 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
Backport from mainline
|
||
2020-01-21 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
PR target/93304
|
||
* config/riscv/riscv-protos.h (riscv_hard_regno_rename_ok): New.
|
||
* config/riscv/riscv.c (riscv_hard_regno_rename_ok): New.
|
||
* config/riscv/riscv.h (HARD_REGNO_RENAME_OK): Defined.
|
||
|
||
2020-01-29 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
Backport from mainline
|
||
2020-01-21 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
PR target/92424
|
||
* config/aarch64/aarch64.c (aarch64_declare_function_name): Set
|
||
cfun->machine->label_is_assembled.
|
||
(aarch64_print_patchable_function_entry): New.
|
||
(TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): Define.
|
||
* config/aarch64/aarch64.h (struct machine_function): New field,
|
||
label_is_assembled.
|
||
|
||
2020-01-27 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR target/92692
|
||
* config/aarch64/aarch64.c (aarch64_split_compare_and_swap)
|
||
Add assert to ensure prolog has been emitted.
|
||
(aarch64_split_atomic_op): Likewise.
|
||
* config/aarch64/atomics.md (aarch64_compare_and_swap<mode>)
|
||
Use epilogue_completed rather than reload_completed.
|
||
(aarch64_atomic_exchange<mode>): Likewise.
|
||
(aarch64_atomic_<atomic_optab><mode>): Likewise.
|
||
(atomic_nand<mode>): Likewise.
|
||
(aarch64_atomic_fetch_<atomic_optab><mode>): Likewise.
|
||
(atomic_fetch_nand<mode>): Likewise.
|
||
(aarch64_atomic_<atomic_optab>_fetch<mode>): Likewise.
|
||
(atomic_nand_fetch<mode>): Likewise.
|
||
|
||
2020-01-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/93335
|
||
* config/aarch64/aarch64.c (aarch64_expand_subvti): Only use
|
||
gen_subdi3_compare1_imm if low_in2 satisfies aarch64_plus_immediate
|
||
predicate, not whenever it is CONST_INT. Otherwise, force_reg it.
|
||
Call force_reg on high_in2 unconditionally.
|
||
|
||
PR target/91298
|
||
* output.h (assemble_name_resolve): Declare.
|
||
* varasm.c (assemble_name_resolve): New function.
|
||
(assemble_name): Use it.
|
||
* config/i386/i386.h (ASM_OUTPUT_SYMBOL_REF): Define.
|
||
|
||
Backported from mainline
|
||
2020-01-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/93333
|
||
* config/riscv/riscv.c (riscv_rtx_costs) <case ZERO_EXTRACT>: Verify
|
||
the last two operands are CONST_INT_P before using them as such.
|
||
|
||
PR target/93073
|
||
* config/rs6000/rs6000.c (rs6000_emit_cmove): If using fsel, punt for
|
||
compare_mode other than SFmode or DFmode.
|
||
|
||
2020-01-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/93009
|
||
* config/i386/sse.md
|
||
(*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_1,
|
||
*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_1,
|
||
*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_1,
|
||
*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_1): Use
|
||
just a single alternative instead of two, make operands 1 and 2
|
||
commutative.
|
||
|
||
2020-01-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR inline-asm/93202
|
||
* config/riscv/riscv.c (riscv_print_operand_reloc): Use
|
||
output_operand_lossage instead of gcc_unreachable.
|
||
* doc/md.texi (riscv f constraint): Fix typo.
|
||
|
||
2020-01-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/93088
|
||
* loop-iv.c (find_single_def_src): Punt after looking through
|
||
128 reg copies for regs with single definitions. Move definitions
|
||
to first uses.
|
||
|
||
2020-01-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/93087
|
||
* predict.c (compute_function_frequency): Don't call
|
||
warn_function_cold on functions that already have cold attribute.
|
||
|
||
2020-01-20 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
PR middle-end/93246
|
||
* alias.c (record_component_aliases): Take superset to record
|
||
into, recurse for alias-set zero fields.
|
||
(record_component_aliases): New oveerload wrapping around the above.
|
||
|
||
2020-01-19 Eric S. Raymond <esr@thyrsus.com>
|
||
Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
Backport from mainline:
|
||
|
||
2020-01-19 Eric S. Raymond <esr@thyrsus.com>
|
||
|
||
* doc/contribute.texi: Update for SVN -> Git transition.
|
||
* doc/install.texi: Likewise.
|
||
|
||
2020-01-15 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/93254
|
||
* config/i386/i386.md (*movsf_internal): Require SSE2 ISA for
|
||
alternatives 9 and 10. Do not require SSE2 ISA for alternatives
|
||
14 and 15.
|
||
|
||
2020-01-14 Martin Jambor <mjambor@suse.cz>
|
||
|
||
Backport from mainline
|
||
2020-01-13 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/93223
|
||
* ipa-cp.c (devirtualization_time_bonus): Check whether isummary is
|
||
NULL.
|
||
|
||
2020-01-10 Martin Jambor <mjambor@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-12-17 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/92971
|
||
* Ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Fix
|
||
definition of values, release memory on exit.
|
||
|
||
2020-01-10 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
|
||
|
||
Backport from trunk
|
||
PR target/93188
|
||
* config/arm/t-multilib (MULTILIB_MATCHES): Add rules to match
|
||
armv7-a{+mp,+sec,+mp+sec} to appropriate armv7 multilib variants
|
||
when only building rm-profile multilibs.
|
||
|
||
2020-01-10 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
|
||
|
||
Backport from trunk
|
||
* config/arm/t-multilib: Use arm->thumb multilib reuse rules
|
||
on a-profile.
|
||
|
||
2020-01-09 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-12-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-prop.c (read_ipcp_transformation_info): Fix undefined ordering
|
||
of execution of function call parameters.
|
||
|
||
2020-01-08 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Backport from 2020-01-08 trunk r279995.
|
||
|
||
Add -nodevicespecs option for avr.
|
||
|
||
PR target/93182
|
||
* config/avr/avr.opt (-nodevicespecs): New driver option.
|
||
* config/avr/driver-avr.c (avr_devicespecs_file): Only issue
|
||
"-specs=device-specs/..." if that option is not set.
|
||
* doc/invoke.texi (AVR Options) <-nodevicespecs>: Document.
|
||
|
||
2020-01-06 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.md: Revert change to use ordered_comparison_operator
|
||
instead of cmpib_comparison_operator in cmpib patterns.
|
||
* config/pa/predicates.md (cmpib_comparison_operator): Revert removal
|
||
of cmpib_comparison_operator. Revise comment.
|
||
|
||
2020-01-01 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR target/67834
|
||
* config/pa/pa.c (pa_elf_select_rtx_section): New. Put references to
|
||
COMDAT group function labels in .data.rel.ro.local section.
|
||
* config/pa/pa32-linux.h (TARGET_ASM_SELECT_RTX_SECTION): Define.
|
||
|
||
PR target/93111
|
||
* config/pa/pa.md (scc): Use ordered_comparison_operator instead of
|
||
comparison_operator in B and S integer comparisons. Likewise, use
|
||
ordered_comparison_operator instead of cmpib_comparison_operator in
|
||
cmpib patterns.
|
||
* config/pa/predicates.md (cmpib_comparison_operator): Remove.
|
||
|
||
2019-12-25 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline.
|
||
2019-12-14 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.h (DARWIN_EXTRA_SPECS): Add new
|
||
bundle spec. (DARWIN_BUNDLE1_SPEC): New.
|
||
(STARTFILE_SPEC): Use darwin bundle spec.
|
||
* config/rs6000/darwin.h (DARWIN_BUNDLE1_SPEC): New.
|
||
(DARWIN_DYLIB1_SPEC): Delete duplicate.
|
||
|
||
2019-12-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/92756
|
||
* omp-low.c (check_omp_nesting_restrictions): If lang_GNU_Fortran,
|
||
diagnose teams not closely nested inside of target.
|
||
|
||
Backported from mainline
|
||
2019-12-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/92357
|
||
* ipa-fnsummary.c (ipa_fn_summary_write): Use
|
||
lto_symtab_encoder_iterator with lsei_start_function_in_partition and
|
||
lsei_next_function_in_partition instead of walking all cgraph nodes
|
||
in encoder.
|
||
|
||
PR tree-optimization/92930
|
||
* ipa-pure-const.c (special_builtin_state): Don't handle
|
||
BUILT_IN_APPLY.
|
||
|
||
2019-12-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/92904
|
||
* config/i386/i386.c (ix86_gimplify_va_arg): If need_intregs and
|
||
not need_temp, decrease alignment of the read because the GPR save
|
||
area only guarantees 8-byte alignment.
|
||
|
||
2019-12-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/92723
|
||
* tree-vect-patterns.c (vect_recog_rotate_pattern): If dt is not
|
||
vect_internal_def, use oprnd1 as is, without trying to cast it.
|
||
Formatting fix.
|
||
|
||
2019-11-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/92664
|
||
* dwarf2out.c (lookup_filename): Use "<stdin>" instead of "".
|
||
|
||
2019-11-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/92644
|
||
* tree-ssa-phiopt.c (minmax_replacement): Add INTEGRAL_TYPE_P check
|
||
next to INTEGER_CST checks.
|
||
|
||
2019-11-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/92615
|
||
* config/i386/i386.c (ix86_md_asm_adjust): If dest_mode is
|
||
GET_MODE (dest), is not QImode, using ZERO_EXTEND and dest is not
|
||
register_operand, force x into register before storing it into dest.
|
||
Formatting fix.
|
||
|
||
2019-12-20 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
Backport from mainline
|
||
2019-12-13 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
PR rtl-optimization/92591
|
||
* modulo-sched.c (ps_add_node_check_conflicts): Improve checking
|
||
for history > 0 case.
|
||
* params.def (sms-dfa-history): Limit to 16.
|
||
|
||
2019-12-19 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Backport support for some AVR devices from avrxmega3 family
|
||
from SVN trunk r279309, r278387, r278389, r278478.
|
||
|
||
PR target/92545
|
||
* config/avr/avr-arch.h (avr_mcu_t) <flash_pm_offset>: New field.
|
||
* config/avr/avr-devices.c (avr_mcu_types): Adjust initializers.
|
||
* config/avr/avr-mcus.def (AVR_MCU): Add respective field.
|
||
* config/avr/gen-avr-mmcu-specs.c (print_mcu)
|
||
<*cpp, *cpp_mcu, *cpp_avrlibc, *link_pm_base_address>: Emit code
|
||
for spec definitions.
|
||
* config/avr/gen-avr-mmcu-texi.c: Rewrite.
|
||
* doc/avr-mmcu.texi: Regenerate.
|
||
|
||
2019-12-17 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
2019-12-16 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
PR target/92950
|
||
* config/s390/vector.md ("mov<mode>" for V_8): Replace lh, lhy,
|
||
and lhrl with llc.
|
||
|
||
2019-12-12 Vineet Gupta <vgupta@synopsys.com>
|
||
|
||
Backport from mainline
|
||
* config/arc/arc-modes.def (CC_FPUE): New Mode CC_FPUE which
|
||
helps codegen generate exceptions even for quiet NaN.
|
||
* config/arc/arc.c (arc_init_reg_tables): Handle New CC_FPUE mode.
|
||
(get_arc_condition_code): Likewise.
|
||
(arc_select_cc_mode): LT, LE, GT, GE to use the New CC_FPUE mode.
|
||
* config/arc/arc.h (REVERSE_CONDITION): Handle New CC_FPUE mode.
|
||
* config/arc/predicates.md (proper_comparison_operator): Likewise.
|
||
* config/arc/fpu.md (cmpsf_fpu_trap): New Pattern for CC_FPUE.
|
||
(cmpdf_fpu_trap): Likewise.
|
||
|
||
2019-12-12 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
Backport from mainline
|
||
* config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE.
|
||
(cstoredi4): Use TARGET_HARD_FLOAT.
|
||
|
||
2019-12-10 Kewen Lin <linkw@gcc.gnu.org>
|
||
|
||
Backport from mainline
|
||
2019-11-27 Kewen Lin <linkw@gcc.gnu.org>
|
||
|
||
PR tree-optimization/91790
|
||
* gcc/tree-vect-stmts.c (vectorizable_load): Use the adjusted DR for
|
||
vect_setup_realignment when first_stmt_info is different from
|
||
first_stmt_info_for_drptr.
|
||
|
||
2019-12-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* tree.c (build_array_type_1): Add SET_CANONICAL parameter and compute
|
||
TYPE_CANONICAL from the element type only if it is true. Remove a few
|
||
obsolete lines and adjust recursive call.
|
||
(fld_process_array_type): Adjust call to build_array_type_1.
|
||
(build_array_type): Likewise.
|
||
(build_nonshared_array_type): Likewise.
|
||
|
||
2019-12-02 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
Fix bugs relating to flexibly-sized objects in nios2 backend.
|
||
|
||
PR target/92499
|
||
* config/nios2/nios2.c (nios2_in_small_data_p): Do not consider
|
||
objects of flexible types to be small if they have internal linkage
|
||
or are declared extern.
|
||
* config/nios2/nios2.h (ASM_OUTPUT_ALIGNED_LOCAL): Replace with...
|
||
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): ...this. Use targetm.in_small_data_p
|
||
instead of the size of the object initializer.
|
||
* tree.c (flexible_array_type_p): Move from C front end, and
|
||
generalize to handle fields in non-C structures.
|
||
* tree.h (flexible_array_type_p): Declare.
|
||
|
||
2019-12-02 Li Jia He <helijia@linux.ibm.com>
|
||
|
||
Partial backport from mainline
|
||
PR target/92098
|
||
2019-11-08 Kewen Lin <linkw@gcc.gnu.org>
|
||
|
||
PR target/92132
|
||
* config/rs6000/predicates.md
|
||
(signed_or_equality_comparison_operator): New predicate.
|
||
(unsigned_or_equality_comparison_operator): Likewise.
|
||
* config/rs6000/rs6000.md (one_cmpl<mode>2): Remove expand.
|
||
(one_cmpl<mode>3_internal): Rename to one_cmpl<mode>2.
|
||
* config/rs6000/vector.md
|
||
(vcond_mask_<mode><mode> for VEC_I and VEC_I): New expand.
|
||
(vec_cmp<mode><mode> for VEC_I and VEC_I): Likewise.
|
||
(vec_cmpu<mode><mode> for VEC_I and VEC_I): Likewise.
|
||
|
||
2019-11-27 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-10-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/92222
|
||
* tree-vect-slp.c (_slp_oprnd_info::first_pattern): Remove.
|
||
(_slp_oprnd_info::second_pattern): Likewise.
|
||
(_slp_oprnd_info::any_pattern): New.
|
||
(vect_create_oprnd_info): Adjust.
|
||
(vect_get_and_check_slp_defs): Compute whether any stmt is
|
||
in a pattern.
|
||
(vect_build_slp_tree_2): Avoid building up a node from scalars
|
||
if any of the operand defs, not just the first, is in a pattern.
|
||
|
||
2019-11-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/91355
|
||
* tree-ssa-sink.c (select_best_block): Use >= rather than >
|
||
for early_bb scaled count with best_bb count comparison.
|
||
|
||
2019-11-21 Richard Biener <rguenther@suse.de>
|
||
|
||
Revert
|
||
2019-09-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91790
|
||
* tree-vect-stmts.c (vectorizable_load): For BB vectorization
|
||
use the correct DR for setting up realignment.
|
||
|
||
2019-11-20 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
2019-11-07 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
PR other/92090
|
||
* config/rs6000/predicates.md (input_operand): Allow MODE_PARTIAL_INT
|
||
modes for integer constants.
|
||
|
||
2019-11-20 Michael Matz <matz@suse.de>
|
||
|
||
Backport from mainline
|
||
PR middle-end/90796
|
||
* gimple-loop-jam.c (any_access_function_variant_p): New function.
|
||
(adjust_unroll_factor): Use it to constrain safety, new parameter.
|
||
(tree_loop_unroll_and_jam): Adjust call and profitable unroll factor.
|
||
|
||
2019-11-20 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* doc/invoke.texi (-Wc11-c2x-compat): Document.
|
||
|
||
2019-11-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/90840
|
||
* expmed.c (store_bit_field_1): Handle the case where op0 is not a MEM
|
||
and has a mode that doesn't have corresponding integral type.
|
||
|
||
PR target/90867
|
||
* config/i386/i386.c (ix86_valid_target_attribute_tree): Don't
|
||
clear opts->x_ix86_isa_flags{,2} here...
|
||
(ix86_valid_target_attribute_inner_p): ... but here when seeing
|
||
arch=. Also clear opts->x_ix86_isa_flags{,2}_explicit.
|
||
|
||
PR c/90898
|
||
* tree-ssa-ccp.c (insert_clobber_before_stack_restore): Remove
|
||
assertion.
|
||
(insert_clobbers_for_var): Fix a typo in function comment.
|
||
|
||
2019-11-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/91450
|
||
* internal-fn.c (expand_mul_overflow): For s1 * s2 -> ur, if one
|
||
operand is negative and one non-negative, compare the non-negative
|
||
one against 0 rather than comparing s1 & s2 against 0. Otherwise,
|
||
don't compare (s1 & s2) == 0, but compare separately both s1 == 0
|
||
and s2 == 0, unless one of them is known to be negative. Remove
|
||
tem2 variable, use tem where tem2 has been used before.
|
||
|
||
2019-11-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/invoke.texi (-gno-internal-reset-location-views): Fix typo.
|
||
|
||
2019-11-18 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backport from trunk
|
||
2019-11-12 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md (rs6000_set_fpscr_drn): Use ULL on big
|
||
hexadecimal literal.
|
||
|
||
2019-11-15 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-09-24 Stamatis Markianos-Wright <stam.markianos-wright@arm.com>
|
||
|
||
* config/aarch64/aarch64-option-extensions.def (fp16fml):
|
||
Update hwcap string for fp16fml.
|
||
|
||
2019-11-15 Ilya Leoshkevich <iii@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
PR rtl-optimization/92430
|
||
* cfgcleanup.c (pass_jump_after_combine::gate): New function.
|
||
(pass_jump_after_combine::execute): Free
|
||
dominance info at the beginning.
|
||
|
||
2019-11-13 Claudiu Zissulescu <claziss@gmail.com>
|
||
|
||
Backport from mainline
|
||
* config/arc/arc.md (movsi_ne): Reorder instruction variants and
|
||
use new register constraint letters.
|
||
* config/arc/arc.c (arc_legitimize_pic_address): Consider UNSPECs
|
||
as well, if interesting recover the symbol and re-legitimize the
|
||
pic address.
|
||
|
||
2019-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/92389
|
||
* config/i386/i386.h: Add PTA_AVX512VPOPCNTDQ to
|
||
PTA_ICELAKE_CLIENT which is later interited by
|
||
PTA_ICELAKE_SERVER and PTA_TIGERLAKE.
|
||
|
||
2019-11-13 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
|
||
|
||
Backport from mainline
|
||
* config/mips/mips.md (rotr<mode>3): Sanitize the constant argument
|
||
instead of asserting its value.
|
||
|
||
2019-11-11 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-06-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90930
|
||
* tree-ssa-reassoc.c (reassociate_bb): Only rewrite expression
|
||
into parallel form in the last pass instance.
|
||
|
||
2019-11-11 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
Backport from trunk:
|
||
PR target/87833
|
||
* config/i386/intelmic-mkoffload.c (prepare_target_image): Put
|
||
-fPIC and -shared the last to create offload image.
|
||
|
||
2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
Backport from trunk:
|
||
* gimplify.c (gimplify_scan_omp_clauses): Assert 'offset2' instead
|
||
of 'offset'.
|
||
|
||
Backport from trunk:
|
||
* Makefile.in (LANG_CONFIGUREFRAGS): Define.
|
||
(config.status): Use/depend on it.
|
||
* configure.ac (all_lang_configurefrags): Track, 'AC_SUBST'.
|
||
* configure: Regenerate.
|
||
|
||
2019-11-09 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
Backport from mainline
|
||
2019-11-07 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.md (memory_barrier): Revise to use ldcw barriers.
|
||
Enhance comment.
|
||
(memory_barrier_coherent, memory_barrier_64, memory_barrier_32): New
|
||
insn patterns using ldcw instruction.
|
||
(memory_barrier): Remove insn pattern using sync instruction.
|
||
* config/pa/pa.opt (coherent-ldcw): New option.
|
||
(ordered): New option.
|
||
|
||
2019-11-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/92384
|
||
* function.c (assign_parm_setup_block, assign_parm_setup_stack): Don't
|
||
copy TYPE_EMPTY_P arguments from data->entry_parm to data->stack_parm
|
||
slot.
|
||
(assign_parms): For TREE_ADDRESSABLE parms with TYPE_EMPTY_P type
|
||
force creation of a unique data.stack_parm slot.
|
||
|
||
Backported from mainline
|
||
2019-10-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/92231
|
||
* tree.h (fndecl_built_in_p): Use fndecl_built_in_p instead of
|
||
DECL_BUILT_IN in comment. Remove redundant ()s around return
|
||
argument.
|
||
* tree.c (free_lang_data_in_decl): Check if var is FUNCTION_DECL
|
||
before calling fndecl_built_in_p.
|
||
* gimple-fold.c (gimple_fold_stmt_to_constant_1): Check if
|
||
TREE_OPERAND (fn, 0) is a FUNCTION_DECL before calling
|
||
fndecl_built_in_p on it.
|
||
|
||
PR c++/90947
|
||
* tree.h (type_initializer_zero_p): Remove.
|
||
* tree.c (type_initializer_zero_p): Remove.
|
||
|
||
2019-10-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* doc/install.texi (--enable-offload-targets): Fix up a typo in the
|
||
example, use actual names of supported offload targets.
|
||
|
||
2019-11-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/92095
|
||
* config/sparc/sparc-protos.h (output_load_pcrel_sym): Declare.
|
||
* config/sparc/sparc.c (sparc_cannot_force_const_mem): Revert latest
|
||
change.
|
||
(got_helper_needed): New static variable.
|
||
(output_load_pcrel_sym): New function.
|
||
(get_pc_thunk_name): Remove after inlining...
|
||
(load_got_register): ...here. Rework the initialization of the GOT
|
||
register and of the GOT helper.
|
||
(save_local_or_in_reg_p): Test the REGNO of the GOT register.
|
||
(sparc_file_end): Test got_helper_needed to decide whether the GOT
|
||
helper must be emitted. Use output_asm_insn instead of fprintf.
|
||
(sparc_init_pic_reg): In PIC mode, always initialize the PIC register
|
||
if optimization is enabled.
|
||
* config/sparc/sparc.md (load_pcrel_sym<P:mode>): Emit the assembly
|
||
by calling output_load_pcrel_sym.
|
||
|
||
2019-11-06 Ilya Leoshkevich <iii@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
* config/s390/s390.c (s390_canonicalize_comparison): Use XEXP
|
||
(*op0, 1) instead of XEXP (*op1, 0).
|
||
|
||
2019-11-05 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backport from trunk
|
||
2019-10-24 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/altivec.md (altivec_vavgu<VI_char>): Rename to...
|
||
(uavg<mode>3_ceil): ... This.
|
||
(altivec_vavgs<VI_char>): Rename to...
|
||
(avg<mode>3_ceil): ... This.
|
||
* config/rs6000/rs6000-builtin.def (VAVGUB, VAVGSB, VAVGUH, VAVGSH,
|
||
VAVGUW, VAVGSW): Adjust.
|
||
|
||
2019-11-05 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backport from trunk
|
||
2019-10-26 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/91289
|
||
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't add an
|
||
immediate to r0; use r11 instead. Save and restore r11 to r0 around
|
||
this.
|
||
|
||
2019-11-05 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
2019-11-05 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_vector_alignment): Check if the value
|
||
fits into uhwi before using it.
|
||
|
||
2019-11-01 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
Backport from mainline
|
||
2019-10-03 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.c (pa_output_call): Remove 64-bit sibcall sequence.
|
||
(pa_attr_length_call): Adjust length for 64-bit plabel sequence.
|
||
|
||
2019-11-01 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
Backport from mainline
|
||
2019-10-03 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.h (MAX_PCREL17F_OFFSET): Adjust.
|
||
|
||
2019-10-30 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-10-13 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (machopic_indirection_name): Rework the
|
||
function to emit linker-visible symbols only for indirections
|
||
in the data section. Clean up the code and update comments.
|
||
|
||
2019-10-30 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-10-09 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (darwin_override_options): Make the check for
|
||
Objective-C ABI version more specific for 64bit code.
|
||
|
||
Backport from mainline
|
||
2019-10-06 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (darwin_override_options): Adjust objective-c
|
||
ABI version error messages to avoid punctuation and contracted
|
||
negations.
|
||
|
||
2019-10-30 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-07-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.h (REAL_LIBGCC_SPEC): Adjust for earlier Darwin.
|
||
(STARTFILE_SPEC): Split crt3 into a separate spec.
|
||
(DARWIN_EXTRA_SPECS): Add crt2 and crt3 spec.
|
||
(DARWIN_CRT2_SPEC): New.
|
||
(DARWIN_CRT3_SPEC): New.
|
||
(MIN_LD64_OMIT_STUBS): Revise to 62.1.
|
||
* config/rs6000/darwin.h (DARWIN_CRT2_SPEC): Revise conditions.
|
||
(DARWIN_CRT3_SPEC): New.
|
||
|
||
2019-10-30 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-06-27 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/rs6000/darwin.h (ENDFILE_SPEC): Correct whitespace in the
|
||
spec.
|
||
|
||
Backport from mainline
|
||
2019-06-25 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/rs6000/darwin.h (ENDFILE_SPEC): New.
|
||
|
||
2019-10-30 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-06-18 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (darwin_emit_unwind_label): New.
|
||
(darwin_override_options): Set darwin_emit_unwind_label as needed.
|
||
|
||
2019-10-30 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-08-13 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (machopic_indirect_call_target): Rename symbol stub
|
||
flag.
|
||
(darwin_override_options): Likewise.
|
||
* config/darwin.h: Likewise.
|
||
* config/darwin.opt: Likewise.
|
||
* config/i386/i386.c (output_pic_addr_const): Likewise.
|
||
* config/rs6000/darwin.h: Likewise.
|
||
* config/rs6000/rs6000.c (rs6000_call_darwin_1): Likewise.
|
||
* config/i386/darwin.h (TARGET_MACHO_PICSYM_STUBS): Rename to ...
|
||
... this TARGET_MACHO_SYMBOL_STUBS.
|
||
(FUNCTION_PROFILER):Likewise.
|
||
* config/i386/i386.h: Likewise.
|
||
|
||
Backport from mainline
|
||
2019-06-16 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (machopic_indirect_call_target): Use renamed
|
||
darwin_picsymbol_stubs to decide on output.
|
||
(darwin_override_options): Handle darwin_picsymbol_stubs.
|
||
* config/darwin.h (MIN_LD64_OMIT_STUBS): New.
|
||
(LD64_VERSION): Revise default.
|
||
* config/darwin.opt: (mpic-symbol-stubs): New option.
|
||
(darwin_picsymbol_stubs): New variable.
|
||
* config/i386/darwin.h (TARGET_MACHO_BRANCH_ISLANDS):
|
||
rename to TARGET_MACHO_PICSYM_STUBS.
|
||
* config/i386/i386.c (output_pic_addr_const): Likewise.
|
||
* config/i386/i386.h Likewise.
|
||
* config/rs6000/darwin.h: Likewise.
|
||
* config/rs6000/rs6000.c (rs6000_call_darwin_1): Use renamed
|
||
darwin_picsymbol_stubs.
|
||
|
||
2019-10-30 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
|
||
|
||
Backport from mainline
|
||
2019-07-09 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
|
||
|
||
* cfgcleanup.c (old_insns_match_p): Check if used hard regs set is equal
|
||
for both call instructions.
|
||
|
||
2019-10-30 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
Backport from trunk:
|
||
|
||
2019-05-06 Richard Biener <rguenther@suse.de>
|
||
|
||
* dwarf2out.c (mem_loc_descriptor): Initialize int_mode.
|
||
|
||
2019-10-28 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/92225
|
||
* config/i386/sse.md (REDUC_SSE_SMINMAX_MODE): Use TARGET_SSE4_2
|
||
condition for V2DImode.
|
||
|
||
2019-10-28 Ilya Leoshkevich <iii@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
PR rtl-optimization/92007
|
||
* cfgcleanup.c (thread_jump): Add an assertion that we don't
|
||
call it after reload if hot/cold partitioning has been done.
|
||
(class pass_postreload_jump): Rename to
|
||
pass_jump_after_combine.
|
||
(make_pass_postreload_jump): Rename to
|
||
make_pass_jump_after_combine.
|
||
* passes.def(pass_postreload_jump): Move before reload, rename
|
||
to pass_jump_after_combine.
|
||
* tree-pass.h (make_pass_postreload_jump): Rename to
|
||
make_pass_jump_after_combine.
|
||
|
||
2019-10-28 Peter Bergner <bergner@linux.ibm.com>
|
||
Jiufu Guo <guojiufu@linux.ibm.com>
|
||
|
||
PR target/70010
|
||
* config/rs6000/rs6000.c (rs6000_can_inline_p): Prohibit inlining if
|
||
the callee explicitly disables some isa_flags the caller is using.
|
||
|
||
2019-10-27 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-10-17 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR target/65342
|
||
* config/rs6000/darwin.md (movdi_low, movsi_low_st): Delete.
|
||
(movdi_low_st): Delete.
|
||
* config/rs6000/rs6000.c
|
||
(darwin_rs6000_legitimate_lo_sum_const_p): New.
|
||
(mem_operand_gpr): Validate Mach-O LO_SUM cases separately.
|
||
* config/rs6000/rs6000.md (movsi_low): Delete.
|
||
|
||
2019-10-27 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-10-12 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR target/67183
|
||
* config/darwin.c (machopic_indirection): New field to flag
|
||
non-lazy-symbol-pointers in the data section.
|
||
(machopic_indirection_name): Compute if an indirection should
|
||
appear in the data section.
|
||
(machopic_output_data_section_indirection): New callback split
|
||
from machopic_output_indirection.
|
||
(machopic_output_stub_indirection): Likewise.
|
||
(machopic_output_indirection): Retain the code for non-lazy
|
||
symbol pointers in their regular section.
|
||
(machopic_finish): Use the new callbacks to order the indirection
|
||
output.
|
||
|
||
2019-10-27 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-10-12 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin-protos.h (machopic_finish): Delete.
|
||
* config/darwin.c (machopic_finish): Make static.
|
||
|
||
Backport from mainline
|
||
2019-10-09 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (machopic_indirect_data_reference): Set flag to
|
||
indicate that the new symbol is an indirection.
|
||
(machopic_indirect_call_target): Likewise.
|
||
* config/darwin.h (MACHO_SYMBOL_FLAG_INDIRECTION): New.
|
||
(MACHO_SYMBOL_INDIRECTION_P): New.
|
||
(MACHO_SYMBOL_FLAG_STATIC): Adjust bit number.
|
||
|
||
Backport from mainline
|
||
2019-10-08 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (machopic_indirect_data_reference): Check for
|
||
required indirections before making direct access to defined
|
||
values.
|
||
(machopic_output_indirection): Place the indirected pointes for
|
||
required indirections into the non-lazy symbol pointers section.
|
||
(darwin_encode_section_info):
|
||
* config/darwin.h (MACHO_SYMBOL_FLAG_MUST_INDIRECT): New.
|
||
(MACHO_SYMBOL_MUST_INDIRECT_P): New.
|
||
|
||
Backport from mainline
|
||
2019-10-07 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (machopic_output_indirection): Don't put
|
||
hidden symbol indirections into the .data section, use the
|
||
non-lazy symbol pointers section as normal.
|
||
(darwin_encode_section_info): Record if a symbol is hidden.
|
||
* config/darwin.h (MACHO_SYMBOL_FLAG_HIDDEN_VIS): New.
|
||
(MACHO_SYMBOL_HIDDEN_VIS_P): New.
|
||
|
||
Backport from mainline
|
||
2019-10-07 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (machopic_symbol_defined_p): Use symbol flag
|
||
predicates instead of accessing bits directly.
|
||
(machopic_indirect_call_target): Likewise.
|
||
(machopic_output_indirection): Likewise.
|
||
(darwin_encode_section_info): Improve description. Use renamed
|
||
symbol flags. Use predicate macros for variables and functions.
|
||
* config/darwin.h:
|
||
Rename MACHO_SYMBOL_VARIABLE to MACHO_SYMBOL_FLAG_VARIABLE.
|
||
Rename MACHO_SYMBOL_DEFINED to MACHO_SYMBOL_FLAG_DEFINED.
|
||
Rename MACHO_SYMBOL_STATIC to MACHO_SYMBOL_FLAG_STATIC.
|
||
(MACHO_SYMBOL_VARIABLE_P): New.
|
||
(MACHO_SYMBOL_DEFINED_P):New.
|
||
(MACHO_SYMBOL_STATIC_P): New.
|
||
* config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Delete.
|
||
(SYMBOL_FLAG_SUBT_DEP): New.
|
||
* config/rs6000/darwin.h (SYMBOL_FLAG_SUBT_DEP): New.
|
||
|
||
2019-10-25 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
Backport from mainline
|
||
2019-10-11 Jan Hubicka <hubicka@ucw.cz>
|
||
* gimple-streamer-out.c (output_gimple_stmt): Add explicit function
|
||
parameter.
|
||
* lto-streamer-out.c: Include tree-dfa.h.
|
||
(output_cfg): Do not use cfun.
|
||
(lto_prepare_function_for_streaming): New.
|
||
(output_function): Do not push cfun; do not initialize loop optimizer.
|
||
* lto-streamer.h (lto_prepare_function_for_streaming): Declare.
|
||
* passes.c (ipa_write_summaries): Use it.
|
||
(ipa_write_optimization_summaries): Do not modify bodies.
|
||
* tree-dfa.c (renumber_gimple_stmt_uids): Add function parameter.
|
||
* tree.dfa.h (renumber_gimple_stmt_uids): Update prototype.
|
||
* tree-ssa-dse.c (pass_dse::execute): Update use of
|
||
renumber_gimple_stmt_uids.
|
||
* tree-ssa-math-opts.c (pass_optimize_widening_mul::execute): Likewise.
|
||
|
||
2019-10-12 Jan Hubicka <hubicka@ucw.cz>
|
||
* lto-streamer-out.c (collect_block_tree_leafs): Renumber statements
|
||
so non-virutal are before virutals.
|
||
(output_function): Avoid body modifications.
|
||
|
||
2019-10-25 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-05-08 Mihail Ionescu <mihail.ionescu@arm.com>
|
||
Richard Earnshaw <rearnsha@arm.com>
|
||
PR target/88167
|
||
* config/arm/arm.c (thumb1_prologue_unused_call_clobbered_lo_regs): New
|
||
function.
|
||
(thumb1_epilogue_unused_call_clobbered_lo_regs): New function.
|
||
(thumb1_compute_save_core_reg_mask): Don't force a spare work
|
||
register if both the epilogue and prologue can use call-clobbered
|
||
regs.
|
||
(thumb1_unexpanded_epilogue): Use
|
||
thumb1_epilogue_unused_call_clobbered_lo_regs. Reverse the logic for
|
||
picking temporaries for restoring high regs to match that of the
|
||
prologue where possible.
|
||
(thumb1_expand_prologue): Add any usable call-clobbered low registers to
|
||
the list of work registers. Detect if the return address is still live
|
||
at the end of the prologue and avoid using it for a work register if so.
|
||
If the return address is not live, add LR to the list of pushable regs
|
||
after the first pass.
|
||
|
||
2019-10-25 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
Backport from mainline
|
||
2019-10-24 Jan Hubicka <hubicka@ucw.cz>
|
||
* symbols-summary.h (fast_function_summary<T *, V>::release,
|
||
fast_call_summary<T *, V>::release): Free m_vector.
|
||
|
||
2019-10-25 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
Backport from mainline
|
||
|
||
2019-10-18 Jakub Jelinek <jakub@redhat.com>
|
||
PR middle-end/92153
|
||
* ggc-page.c (release_pages): Read g->alloc_size before free rather
|
||
than after it.
|
||
|
||
2019-10-11 Jan Hubicka <hubicka@ucw.cz>
|
||
* ggc-page.c (release_pages): Output statistics when !quiet_flag.
|
||
(ggc_collect): Dump later to not interfere with release_page dump.
|
||
(ggc_trim): New function.
|
||
* ggc-none.c (ggc_trim): New.
|
||
* ggc.h (ggc_trim): Declare.
|
||
|
||
2019-10-24 Mihail Ionescu <mihail.ionescu@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/t-multilib: Add new multilib variants and new
|
||
mappings.
|
||
|
||
2019-10-24 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-10-23 Iain Sandoe <iain@sandoe.co.uk>
|
||
* config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Guard
|
||
against out of range max skip or log values.
|
||
|
||
2019-10-23 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
2019-10-08 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
|
||
|
||
* config.gcc: Move -L usage from LINK_OS_EXTRA_SPEC32 and
|
||
LINK_OS_EXTRA_SPEC64 to MD_STARTFILE_PREFIX and
|
||
MD_STARTFILE_PREFIX_1 when using --with-advance-toolchain.
|
||
|
||
2019-10-23 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-09-26 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/91885
|
||
* tree-vectorizer.c (try_vectorize_loop_1):
|
||
Add TODO_update_ssa_only_virtuals similarly to what slp
|
||
pass does.
|
||
|
||
2019-10-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR tree-optimization/92131
|
||
* tree-vrp.c (extract_range_from_plus_minus_expr): If the resulting
|
||
range would be symbolic, drop to varying for any explicit overflow
|
||
in the constant part or if neither range is a singleton.
|
||
|
||
2019-10-23 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-10-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/91887
|
||
* dwarf2out.c (gen_formal_parameter_die): Also try to match
|
||
context_die against a DW_TAG_GNU_formal_parameter_pack parent.
|
||
|
||
2019-10-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from mainline
|
||
2019-10-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/92056
|
||
* tree-object-size.c (cond_expr_object_size): Return early if then_
|
||
processing resulted in unknown size.
|
||
|
||
2019-10-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/91734
|
||
* generic-match-head.c: Include fold-const-call.h.
|
||
* match.pd (sqrt(x) cmp c): Check the boundary value and
|
||
in case inexact computation of c*c affects comparison of the boundary,
|
||
turn LT_EXPR into LE_EXPR, GE_EXPR into GT_EXPR, LE_EXPR into LT_EXPR
|
||
or GT_EXPR into GE_EXPR. Punt for sqrt comparisons against NaN and
|
||
for -frounding-math. For c2, try the next smaller or larger floating
|
||
point constant depending on comparison code and if it has the same
|
||
sqrt as c2, use it instead of c2.
|
||
|
||
2019-09-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/90543
|
||
* optc-save-gen.awk: Fix up printing string option differences.
|
||
|
||
2019-09-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/91920
|
||
* gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL
|
||
variables as shared.
|
||
|
||
2019-09-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/91723
|
||
* tree-vect-stmts.c (vectorizable_call): Use types_compatible_p check
|
||
instead of pointer equality when checking if argument vectypes are
|
||
the same.
|
||
|
||
2019-09-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/91665
|
||
* tree-vect-loop.c (vectorizable_reduction): Punt if base has type
|
||
incompatible with the type of PHI result.
|
||
|
||
2019-09-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* function.c (assign_parm_find_data_types): Use RECORD_OR_UNION_TYPE_P
|
||
before testing TYPE_TRANSPARENT_AGGR.
|
||
* calls.c (initialize_argument_information, load_register_parameters):
|
||
Likewise.
|
||
|
||
2019-09-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/91001
|
||
PR middle-end/91105
|
||
PR middle-end/91106
|
||
* calls.c (load_register_parameters): For TYPE_TRANSPARENT_AGGR
|
||
types, use type of their first field instead of type of
|
||
args[i].tree_value.
|
||
|
||
2019-09-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR go/91617
|
||
* fold-const.c (range_check_type): For enumeral and boolean
|
||
type, pass 1 to type_for_size langhook instead of
|
||
TYPE_UNSIGNED (etype). Return unsigned_type_for result whenever
|
||
etype isn't TYPE_UNSIGNED INTEGER_TYPE.
|
||
(build_range_check): Don't call unsigned_type_for for pointer types.
|
||
* match.pd (X / C1 op C2): Don't call unsigned_type_for on
|
||
range_check_type result.
|
||
|
||
2019-09-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/91623
|
||
* optabs.c (expand_vec_cond_expr): If op0 is a VECTOR_CST and only
|
||
EQ_EXPR/NE_EXPR is supported, verify that op0 only contains
|
||
zeros or negative elements and use NE_EXPR instead of LT_EXPR against
|
||
zero vector.
|
||
|
||
PR lto/91572
|
||
* tree.c (find_decls_types_in_node): Also walk TREE_PURPOSE of
|
||
GIMPLE_ASM TREE_LIST operands.
|
||
|
||
2019-08-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/91351
|
||
* tree-cfg.c (generate_range_test): Use range_check_type instead of
|
||
unsigned_type_for.
|
||
* tree-cfgcleanup.c (convert_single_case_switch): Punt if
|
||
range_check_type returns NULL.
|
||
* tree-switch-conversion.c (switch_conversion::build_one_array):
|
||
Use range_check_type instead of unsigned_type_for, don't perform
|
||
linear opt if it returns NULL.
|
||
(bit_test_cluster::find_bit_tests): Formatting fix.
|
||
(bit_test_cluster::emit): Use range_check_type instead of
|
||
unsigned_type_for.
|
||
(switch_decision_tree::try_switch_expansion): Punt if range_check_type
|
||
returns NULL.
|
||
|
||
2019-10-18 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Backport from 2019-10-18 trunk r277143.
|
||
|
||
PR target/86040
|
||
* config/avr/avr.c (avr_out_lpm): Do not shortcut-return.
|
||
|
||
2019-10-18 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-10-05 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR target/59888
|
||
* config/darwin.c (darwin_rodata_section): Add relocation flag,
|
||
choose const_data section for constants with relocations.
|
||
(machopic_select_section): Pass relocation flag to
|
||
darwin_rodata_section ().
|
||
|
||
2019-10-18 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-09-21 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (machopic_legitimize_pic_address): Check
|
||
for lra, rather than reload.
|
||
|
||
2019-10-17 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.c (pa_output_indirect_call): Fix typos in last change.
|
||
|
||
2019-10-17 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-05-03 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/89400
|
||
* config/arm/arm.md (unaligned_loadsi): Add variant for thumb1.
|
||
Restrict 'all' variant to 32-bit configurations.
|
||
(unaligned_loadhiu): Likewise.
|
||
(unaligned_storehi): Likewise.
|
||
(unaligned_storesi): Likewise.
|
||
(unaligned_loadhis): Disable when compiling for thumb1.
|
||
|
||
2019-10-16 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-10-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR target/87243
|
||
* config/darwin-driver.c (maybe_get_sysroot_from_sdkroot): New.
|
||
(darwin_driver_init): Use the sysroot provided by SDKROOT when that
|
||
is available and the user has not set one on the command line.
|
||
|
||
2019-10-16 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-07-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.h (DRIVER_SELF_SPECS): Remove the linker cases.
|
||
(RDYNAMIC): Rename to, DARWIN_RDYNAMIC.
|
||
(DARWIN_PIE_SPEC, DARWIN_NOPIE_SPEC): Adjust to remove the Xlinker
|
||
clauses.
|
||
(LINK_COMMAND_SPEC_A): Add DARWIN_RDYNAMIC, DARWIN_PIE_SPEC and
|
||
DARWIN_NOPIE_SPEC.
|
||
|
||
Backport from mainline
|
||
2019-06-19 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.h (DRIVER_SELF_SPECS): Add RDYNAMIC, DARWIN_PIE_SPEC
|
||
and DARWIN_NOPIE_SPEC.
|
||
(RDYNAMIC): New, modified from DARWIN_EXPORT_DYNAMIC.
|
||
(DARWIN_PIE_SPEC): Collate from darwin.h and darwin9.h.
|
||
(DARWIN_NOPIE_SPEC): Collate from darwin10.h.
|
||
(DARWIN_NOCOMPACT_UNWIND): New from darwin10.h
|
||
(DARWIN_EXPORT_DYNAMIC): Delete.
|
||
* config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move no_compact_unwind
|
||
and pie options processing to darwin.h.
|
||
* config/darwin9.h (DARWIN_PIE_SPEC): Move pie processing to darwin.h
|
||
|
||
2019-10-16 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-10-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/91968
|
||
* tree.c (find_decls_types_r): Do not remove LABEL_DECLs from
|
||
BLOCK_VARS.
|
||
|
||
2019-09-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91812
|
||
* tree-ssa-phiprop.c (propagate_with_phi): Do not replace
|
||
volatile loads.
|
||
|
||
2019-09-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/91772
|
||
* dwarf2out.c (dwarf2out_late_global_decl): If early dwarf
|
||
was missing generate locations only once.
|
||
|
||
2019-09-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91790
|
||
* tree-vect-stmts.c (vectorizable_load): For BB vectorization
|
||
use the correct DR for setting up realignment.
|
||
|
||
2019-10-14 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
Backport from trunk
|
||
2019-09-26 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtin.def: (LVSL, LVSR, LVEBX, LVEHX,
|
||
LVEWX, LVXL, LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI,
|
||
LVXL_V16QI, LVX, LVX_V1TI, LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI,
|
||
LVX_V8HI, LVX_V16QI, LVLX, LVLXL, LVRX, LVRXL, LXSDX, LXVD2X_V1TI,
|
||
LXVD2X_V2DF, LXVD2X_V2DI, LXVDSX, LXVW4X_V4SF, LXVW4X_V4SI,
|
||
LXVW4X_V8HI, LXVW4X_V16QI, LD_ELEMREV_V1TI, LD_ELEMREV_V2DF,
|
||
LD_ELEMREV_V2DI, LD_ELEMREV_V4SF, LD_ELEMREV_V4SI, LD_ELEMREV_V8HI,
|
||
LD_ELEMREV_V16QI): Use the PURE attribute.
|
||
|
||
2019-10-10 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/92022
|
||
* config/alpha/alpha.c (alpha_handle_trap_shadows): Skip DEBUG_INSN.
|
||
|
||
2019-10-10 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
Backport from mainline
|
||
2019-10-10 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/88630
|
||
* config/sh/sh.h (TARGET_FPU_SH4_300): New macro.
|
||
* config/sh/sh.c (sh_option_override): Enable fsca and fsrra insns
|
||
also for TARGET_FPU_SH4_300.
|
||
(sh_emit_mode_set): Check for TARGET_FPU_SH4_300 instead of
|
||
TARGET_SH4_300.
|
||
* config/sh/sh.md (toggle_pr): Add TARGET_FPU_SH4_300 condition.
|
||
(negsf2): Expand to either negsf2_fpscr or negsf2_no_fpscr.
|
||
(*negsf2_i): Split into ...
|
||
(negsf2_fpscr, negsf2_no_fpscr): ... these new patterns.
|
||
(abssf2): Expand to either abssf2_fpsc or abssf2_no_fpsc.
|
||
(**abssf2_i): Split into ...
|
||
(abssf2_fpscr, abssf2_no_fpscr): ... these new patterns.
|
||
(negdf2): Expand to either negdf2_fpscr or negdf2_no_fpscr.
|
||
(*negdf2_i): Split into ...
|
||
(negdf2_fpscr, negdf2_no_fpscr): ... these new patterns.
|
||
(absdf2): Expand to either absdf2_fpscr or absdf2_no_fpsc.
|
||
(**abssf2_i): Split into ...
|
||
(absdf2_fpscr, absdf2_no_fpscr): ... these new patterns.
|
||
|
||
2019-10-10 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
2019-10-10 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* common/config/s390/s390-common.c (PF_ARCH13): Rename to...
|
||
(PF_Z15): ... this.
|
||
* config.gcc: Add z15 as option for --with-arch and --with-tune
|
||
configure switches.
|
||
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Add
|
||
error reporting for unsupported builtins.
|
||
* config/s390/s390-opts.h (enum processor_type): Rename
|
||
PROCESSOR_8561_ARCH13 to PROCESSOR_8561_Z15.
|
||
* config/s390/8561.md: Rename arch13 to z15 throughout the file.
|
||
* config/s390/driver-native.c (s390_host_detect_local_cpu):
|
||
Likewise.
|
||
* config/s390/s390-builtins.def: Likewise.
|
||
* config/s390/s390.c (processor_table): Add z15 as option and keep arch13 as alternative.
|
||
(s390_expand_builtin): Add missing check for unsupported builtins.
|
||
(s390_canonicalize_comparison): Rename TARGET_ARCH13 to TARGET_Z15.
|
||
(s390_rtx_costs): Likewise.
|
||
(s390_get_sched_attrmask): Rename arch13 to z15.
|
||
(s390_get_unit_mask): Likewise.
|
||
(s390_is_fpd): Likewise.
|
||
(s390_is_fxd): Likewise.
|
||
* config/s390/s390.h (enum processor_flags): Likewise.
|
||
* config/s390/s390.md: Likewise.
|
||
* config/s390/vector.md: Likewise.
|
||
* config/s390/vx-builtins.md: Likewise.
|
||
* config/s390/s390.opt: Add z15 to processor_type value.
|
||
|
||
2019-10-07 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
2019-10-01 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
PR target/91275
|
||
* config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Don't swap
|
||
vpmsumd.
|
||
|
||
2019-10-05 Andrea Corallo <andrea.corallo@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-10-03 Andrea Corallo <andrea.corallo@arm.com>
|
||
* gcc/ipa-cp.c (ipa_cp_c_finalize): Release ipcp_transformation_sum
|
||
when finished.
|
||
* ipa-prop.c (ipcp_free_transformation_sum): New function.
|
||
* ipa-prop.h (ipcp_free_transformation_sum): Add declaration.
|
||
|
||
2019-10-04 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
|
||
|
||
Backport from mainline
|
||
2019-10-03 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
|
||
|
||
PR target/91769
|
||
* config/mips/mips.c (mips_split_move): Use reg_overlap_mentioned_p
|
||
instead of REGNO equality check on addr.reg.
|
||
|
||
2019-10-04 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
|
||
|
||
Backport from mainline
|
||
2019-07-07 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/mips/mips.c (mips_split_move): Zero-initialize addr
|
||
and check whether addr.reg is nonnull before using it.
|
||
|
||
2019-10-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
Backport from mainline
|
||
|
||
2019-09-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR fortran/91716
|
||
* trans-array.c (gfc_conv_array_initializer): Always assign the
|
||
array type of the field to the string constant.
|
||
|
||
2019-10-01 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
Backport from mainline
|
||
|
||
2019-10-01 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/88562
|
||
* config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use
|
||
sh_check_add_incdec_notes to preserve REG_INC notes when replacing
|
||
a memory access insn.
|
||
|
||
|
||
2019-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-09-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (mov<mode>): Don't call
|
||
aarch64_split_dimode_const_store on volatile MEM.
|
||
|
||
2019-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-09-26 Matt Turner <mattst88@gmail.com>
|
||
|
||
PR driver/69471
|
||
* config/aarch64/aarch64.opt (march=): Add Negative(march=).
|
||
(mtune=): Add Negative(mtune=).
|
||
(mcpu=): Add Negative(mcpu=).
|
||
* config/arm/arm.opt: Likewise.
|
||
|
||
2019-09-28 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
Backport from mainline
|
||
2019-09-28 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/86805
|
||
* config/sh/sh.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define.
|
||
|
||
2019-09-28 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
Backport from mainline
|
||
2019-09-28 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/80672
|
||
* config/sh/sh.c (parse_validate_atomic_model_option): Use
|
||
std::string::compare instead of std::string::find.
|
||
|
||
2019-09-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-08-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm_acle.h: Use arch=armv8-a+crc+simd pragma for CRC32
|
||
intrinsics if __ARM_FP.
|
||
Use __ARM_FEATURE_CRC32 ifdef guard.
|
||
|
||
2019-09-23 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
Backport from mainline
|
||
2019-06-18 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
* config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack
|
||
pointer adjustment for the case of no callee-saved registers and
|
||
stack frame bigger than 128 bytes.
|
||
|
||
2019-09-22 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-06-16 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.opt (prebind, noprebind, seglinkedit,
|
||
noseglinkedit): Add RejectNegative.
|
||
|
||
Backport from mainline
|
||
2019-06-14 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.opt: Add RejectNegative where needed, reorder
|
||
and add minimal functional descriptions.
|
||
|
||
2019-09-20 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.c (pa_trampoline_init): Remove spurious extended
|
||
character.
|
||
|
||
2019-09-20 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
2019-06-06 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
PR rtl-optimization/88751
|
||
* ira.c (ira): Use the number of the actually referenced registers
|
||
when calculating the threshold.
|
||
|
||
2019-09-20 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
Backport from mainline
|
||
2019-09-18 Jim Wilson <jimw@sifive.com>
|
||
|
||
PR target/91683
|
||
* config/riscv/riscv-protos.h (riscv_split_symbol): New bool parameter.
|
||
(riscv_move_integer): Likewise.
|
||
* config/riscv/riscv.c (riscv_split_integer): Pass FALSE for new
|
||
riscv_move_integer arg.
|
||
(riscv_legitimize_move): Likewise.
|
||
(riscv_force_temporary): New parameter in_splitter. Don't call
|
||
force_reg if true.
|
||
(riscv_unspec_offset_high): Pass FALSE for new riscv_force_temporary
|
||
arg.
|
||
(riscv_add_offset): Likewise.
|
||
(riscv_split_symbol): New parameter in_splitter. Pass to
|
||
riscv_force_temporary.
|
||
(riscv_legitimize_address): Pass FALSE for new riscv_split_symbol
|
||
arg.
|
||
(riscv_move_integer): New parameter in_splitter. New local
|
||
can_create_psuedo. Don't call riscv_split_integer or force_reg when
|
||
in_splitter TRUE.
|
||
(riscv_legitimize_const_move): Pass FALSE for new riscv_move_integer,
|
||
riscv_split_symbol, and riscv_force_temporary args.
|
||
* config/riscv/riscv.md (low<mode>+1): Pass TRUE for new
|
||
riscv_move_integer arg.
|
||
(low<mode>+2): Pass TRUE for new riscv_split_symbol arg.
|
||
|
||
2019-09-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/91269
|
||
* config/sparc/sparc.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
|
||
|
||
2019-09-19 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
Backport from mainline
|
||
2019-09-05 Jakub Jelinek <jakub@redhat.com>
|
||
Jim Wilson <jimw@sifive.com>
|
||
|
||
PR target/91635
|
||
* config/riscv/riscv.md (zero_extendsidi2, zero_extendhi<GPR:mode>2,
|
||
extend<SHORT:mode><SUPERQI:mode>2): Don't split if
|
||
paradoxical_subreg_p (operands[0]).
|
||
(*lshrsi3_zero_extend_3+1, *lshrsi3_zero_extend_3+2): Add clobber and
|
||
use as intermediate value.
|
||
|
||
2019-09-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/89795
|
||
* rtlanal.c (nonzero_bits1) <SUBREG>: Do not propagate results from
|
||
inner REGs to paradoxical SUBREGs if WORD_REGISTER_OPERATIONS is set.
|
||
|
||
2019-09-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/87853
|
||
* config/i386/emmintrin.h (_mm_cmpeq_epi8): Use casts to __v16qi
|
||
instead of __v16qs.
|
||
|
||
PR target/91704
|
||
* config/i386/avxintrin.h (__v32qs): New typedef.
|
||
* config/i386/avx2intrin.h (_mm256_cmpgt_epi8): Use casts to __v32qs
|
||
instead of __v32qi.
|
||
|
||
2019-09-04 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-08-13 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR target/81800
|
||
* gcc/config/aarch64/aarch64.md (lrint): Disable lrint pattern if GPF
|
||
operand is larger than a long int.
|
||
|
||
2019-09-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/91597
|
||
* tree-vrp.c (extract_range_from_binary_expr): Remove unsafe
|
||
BIT_AND_EXPR optimization for pointers, even if both operand
|
||
ranges don't include NULL, the result can be NULL.
|
||
|
||
2019-09-02 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-09-02 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/91601
|
||
* gcov.c (path_contains_zero_cycle_arc): Rename to ...
|
||
(path_contains_zero_or_negative_cycle_arc): ... this and handle
|
||
also negative edges.
|
||
(circuit): Handle also negative edges as they can happen
|
||
in some situations.
|
||
|
||
2019-09-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/91472
|
||
* config/sparc/sparc.c (sparc_cannot_force_const_mem): Return true
|
||
during LRA/reload in PIC mode if the PIC register hasn't been used yet.
|
||
(sparc_pic_register_p): Test reload_in_progress for consistency's sake.
|
||
|
||
2019-08-31 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-08-23 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR pch/61250
|
||
* ggc-page.c (ggc_pch_read): Read the ggc_pch_ondisk structure
|
||
and issue any diagnostics needed before collecting the pre-PCH
|
||
state.
|
||
|
||
2019-08-30 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backport from trunk
|
||
2019-08-22 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/91481
|
||
* config/rs6000/rs6000.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
|
||
and UNSPEC_DARN_RAW.
|
||
(unspecv): New enumerator values UNSPECV_DARN, UNSPECV_DARN_32, and
|
||
UNSPECV_DARN_RAW.
|
||
(darn_32): Use an unspec_volatile, and UNSPECV_DARN_32.
|
||
(darn_raw): Use an unspec_volatile, and UNSPECV_DARN_RAW.
|
||
(darn): Use an unspec_volatile, and UNSPECV_DARN.
|
||
|
||
2019-08-30 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backport from trunk
|
||
2019-08-22 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/altivec.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
|
||
UNSPEC_DARN_RAW, UNSPEC_CMPRB, UNSPEC_CMPRB2, UNSPEC_CMPEQB; move to...
|
||
* config/rs6000/rs6000.md (unspec): ... here.
|
||
* config/rs6000/altivec.md (darn_32, darn_raw, darn, cmprb,
|
||
*cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal,
|
||
cmpeqb, *cmpeqb_internal): Delete, move to...
|
||
* config/rs6000/rs6000.md (darn_32, darn_raw, darn, cmprb,
|
||
*cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal,
|
||
cmpeqb, *cmpeqb_internal): ... here.
|
||
|
||
2019-08-30 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-04-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90278
|
||
* tree-ssa-forwprop.c (pass_forwprop::execute): Transfer/clean
|
||
EH on comparison simplification.
|
||
|
||
2019-08-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91568
|
||
* tree-vectorizer.h (_slp_tree::max_nunits): Add.
|
||
(vect_update_max_nunits): Add overload for poly_uint64.
|
||
* tree-vect-slp.c (vect_create_new_slp_node): Initialize it.
|
||
(vect_build_slp_tree): Record max_nunits into the subtree
|
||
and merge it upwards.
|
||
(vect_print_slp_tree): Print max_nunits.
|
||
|
||
2019-08-28 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-05-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90637
|
||
* tree-ssa-sink.c (statement_sink_location): Honor the
|
||
computed sink location for single-uses.
|
||
|
||
2019-08-26 Xiong Hu Luo <luoxhu@linux.ibm.com>
|
||
|
||
Backport r274411 from trunk to gcc-9-branch.
|
||
2019-08-14 Xiong Hu Luo <luoxhu@linux.ibm.com>
|
||
|
||
PR lto/91287
|
||
* builtins.c (builtin_with_linkage_p): New function.
|
||
* builtins.h (builtin_with_linkage_p): New function.
|
||
* symtab.c (write_symbol): Remove redundant assert.
|
||
* lto-streamer-out.c (symtab_node::output_to_lto_symbol_table_p):
|
||
Remove FIXME and use builtin_with_linkage_p.
|
||
|
||
2019-08-25 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/91533
|
||
Backport from mainline
|
||
2019-06-30 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/sse.md (ssse3_abs<mode>2): Rename from abs<mode>2.
|
||
* config/i386/i386-builtin.def (__builtin_ia32_pabsb):
|
||
Use CODE_FOR_ssse3_absv8qi2.
|
||
(__builtin_ia32_pabsw): Use CODE_FOR_ssse3_absv4hi2.
|
||
(__builtin_ia32_pabsd): Use CODE_FOR_ssse3_absv2si2.
|
||
|
||
2019-08-23 Mihailo Stojanovic <mistojanovic@wavecomp.com>
|
||
|
||
Backport from mainline
|
||
2019-08-23 Mihailo Stojanovic <mistojanovic@wavecomp.com>
|
||
|
||
* config/mips/mips.md (mips_get_fcsr, *mips_get_fcsr): Use SI
|
||
machine mode for unspec_volatile operand.
|
||
|
||
2019-08-23 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/91508
|
||
Backport from mainline
|
||
2019-08-15 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/91438
|
||
* cgraph.c (cgraph_node::remove): When setting
|
||
n->origin = NULL for all nested functions, reset
|
||
also next_nested.
|
||
|
||
2019-08-23 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-08-15 Martin Liska <mliska@suse.cz>
|
||
|
||
* cgraph.c (cgraph_node::verify_node): Verify origin, nested
|
||
and next_nested.
|
||
|
||
2019-08-23 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-08-15 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/91404
|
||
* passes.c (order): Remove.
|
||
(uid_hash_t): Likewise).
|
||
(remove_cgraph_node_from_order): Remove from set
|
||
of pointers (cgraph_node *).
|
||
(insert_cgraph_node_to_order): New.
|
||
(duplicate_cgraph_node_to_order): New.
|
||
(do_per_function_toporder): Register all 3 cgraph hooks.
|
||
Skip removed_nodes now as we know about all of them.
|
||
|
||
2019-08-21 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-08-18 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Add asserts
|
||
for cpu and machine. Factor 64/32b builtins.
|
||
|
||
2019-08-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/91347
|
||
* dse.c (scan_insn): Call add_wild_read for non-const/memset tail calls
|
||
before reload if HARD_FRAME_POINTER_IS_ARG_POINTER.
|
||
|
||
2019-08-19 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-09-09 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/91386
|
||
* config/aarch64/aarch64.c (aarch64_gen_adjusted_ldpstp): Use copy_rtx
|
||
to preserve the contents of the original insns.
|
||
|
||
2019-08-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
Backport from mainline
|
||
2019-08-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR tree-optimization/91109
|
||
* lra-int.h (lra_need_for_scratch_reg_p): Declare.
|
||
* lra.c (lra): Use lra_need_for_scratch_reg_p.
|
||
* lra-spills.c (lra_need_for_scratch_reg_p): New function.
|
||
|
||
2019-08-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR tree-optimization/91109
|
||
* lra-remat.c (update_scratch_ops): Remove assignment of the
|
||
hard register.
|
||
|
||
2019-08-15 Steve Ellcey <sellcey@marvell.com>
|
||
|
||
Backport from mainline
|
||
2019-08-02 Steve Ellcey <sellcey@marvell.com>
|
||
|
||
* omp-simd-clone.c (simd_clone_adjust_return_type): Remove call to
|
||
build_distinct_type_copy.
|
||
(simd_clone_adjust_argument_types): Ditto.
|
||
(simd_clone_adjust): Call build_distinct_type_copy here.
|
||
(expand_simd_clones): Ditto.
|
||
|
||
2019-08-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91445
|
||
Backport from mainline
|
||
2019-07-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91091
|
||
* tree-ssa-alias.h (get_continuation_for_phi): Add tbaa_p parameter.
|
||
(walk_non_aliased_vuses): Likewise.
|
||
* tree-ssa-alias.c (maybe_skip_until): Pass down tbaa_p.
|
||
(get_continuation_for_phi): New tbaa_p parameter and pass
|
||
it down.
|
||
(walk_non_aliased_vuses): Likewise.
|
||
* tree-ssa-pre.c (translate_vuse_through_block): Likewise.
|
||
* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr):
|
||
Likewise.
|
||
* tree-ssa-sccvn.c (struct vn_walk_cb_data): Add tbaa_p flag.
|
||
(vn_reference_lookup_3): Handle and pass down tbaa_p flag.
|
||
(vn_reference_lookup_pieces): Adjust.
|
||
(vn_reference_lookup): Remove alias-set altering, instead pass
|
||
down false as tbaa_p.
|
||
|
||
2019-07-04 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-sccvn.h (vn_reference_lookup): Add last_vuse_ptr
|
||
argument.
|
||
* tree-ssa-sccvn.c (last_vuse_ptr, vn_walk_kind): Move
|
||
globals into...
|
||
(struct vn_walk_cb_data): New callback data struct.
|
||
(vn_reference_lookup_2): Adjust.
|
||
(vn_reference_lookup_3): Likewise.
|
||
(vn_reference_lookup_pieces): Likewise.
|
||
(vn_reference_lookup): Likewise, get last_vuse_ptr argument.
|
||
(visit_reference_op_load): Adjust.
|
||
|
||
2019-08-14 Martin Sebor <msebor@redhat.com>
|
||
|
||
Backport from mainline
|
||
|
||
2019-08-01 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/90947
|
||
* tree.c (type_initializer_zero_p): Define.
|
||
* tree.h (type_initializer_zero_p): New function.
|
||
|
||
2019-08-05 Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/extend.texi (Common Variable Attributes): Document alias
|
||
attribute.
|
||
|
||
2019-08-12 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-08-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/91375
|
||
* tree.c (free_lang_data_in_type): Do not free TYPE_BINFO dependent on
|
||
flag_devirtualize.
|
||
|
||
2019-08-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR driver/91130
|
||
* lto-wrapper.c (get_options_from_collect_gcc_options): Remove
|
||
lang_mask option, always use CL_DRIVER.
|
||
(find_and_merge_options): Adjust.
|
||
(run_gcc): Likewise.
|
||
|
||
2019-08-07 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR driver/91130
|
||
* lto-wrapper.c (find_and_merge_options): Use CL_DRIVER when
|
||
processing COLLECT_GCC_OPTIONS.
|
||
(run_gcc): Likewise.
|
||
|
||
2019-08-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* BASE-VER: Set to 9.2.1.
|
||
|
||
2019-08-12 Release Manager
|
||
|
||
* GCC 9.2.0 released.
|
||
|
||
2019-08-05 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
Backport from mainline
|
||
2019-08-05 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
* config/riscv/riscv.c (riscv_promote_function_mode): New.
|
||
(TARGET_PROMOTE_FUNCTION_MODE): Use riscv_promote_function_mode.
|
||
|
||
2019-08-05 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/91349
|
||
* config/rs6000/freebsd64.h (CPLUSPLUS_CPP_SPEC),
|
||
(LINK_GCC_C_SEQUENCE_SPEC): Undef.
|
||
|
||
2019-08-04 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backport from trunk
|
||
2019-05-02 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_dbx_register_number): Return the
|
||
correct numbers for TFHAR, TFIAR, TEXASR.
|
||
|
||
2019-08-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-07-24 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR bootstrap/87030
|
||
* config/i386/darwin.h (REAL_LIBGCC_SPEC): Revert change from r273749.
|
||
|
||
PR bootstrap/87030
|
||
* config/i386/darwin.h (REAL_LIBGCC_SPEC): Move from here...
|
||
* config/i386/darwin32-biarch.h .. to here.
|
||
* config/i386/darwin64-biarch.h: Adjust comments.
|
||
* config/rs6000/darwin32-biarch.h: Likewise.
|
||
* config/rs6000/darwin64-biarch.h: Likewise.
|
||
* config.gcc: Missed commit from r273746
|
||
(*-*-darwin*): Don't include CPU t-darwin here.
|
||
(i[34567]86-*-darwin*): Adjust to use biarch files. Produce
|
||
an error message if i686-darwin configuration is attempted for
|
||
Darwin >= 18.
|
||
|
||
Backport from mainline
|
||
2019-07-23 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR bootstrap/87030
|
||
* config.gcc (*-*-darwin*): Don't include CPU t-darwin here.
|
||
(i[34567]86-*-darwin*): Adjust to use biarch files. Produce
|
||
an error message if i686-darwin configuration is attempted for
|
||
Darwin >= 18.
|
||
(x86_64-*-darwin*): Switch to single multilib for Darwin >= 18.
|
||
(powerpc-*-darwin*): Use biarch files where needed.
|
||
(powerpc64-*-darwin*): Likewise.
|
||
* config/i386/darwin.h (REAL_LIBGCC_SPEC): Move to new biarch file.
|
||
(DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single
|
||
arch case.
|
||
* config/i386/darwin32-biarch.h: New.
|
||
* config/i386/darwin64.h: Rename.
|
||
* gcc/config/i386/darwin64-biarch.h: To this.
|
||
* config/i386/t-darwin: Rename.
|
||
* gcc/config/i386/t-darwin32-biarch: To this.
|
||
* config/i386/t-darwin64: Rename.
|
||
* gcc/config/i386/t-darwin64-biarch: To this.
|
||
* config/rs6000/darwin32-biarch.h: New.
|
||
* config/rs6000/darwin64.h: Rename.
|
||
* config/rs6000/darwin64-biarch.h: To this.
|
||
(DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single
|
||
arch case.
|
||
* config/rs6000/t-darwin8: Rename.
|
||
* config/rs6000/t-darwin32-biarch: To this.
|
||
* config/rs6000/t-darwin64 Rename.
|
||
* config/rs6000/t-darwin64-biarch: To this.
|
||
|
||
2019-08-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-07-07 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (darwin_override_options): Make a final check on PIC
|
||
options.
|
||
|
||
2019-08-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-07-07 Iain Sandoe <iain@sandoe.co.uk>
|
||
* config/darwin.c (darwin_override_options): Don't jam symbol stubs
|
||
on for kernel code.
|
||
|
||
2019-08-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-06-28 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Remove
|
||
override on extra_headers.
|
||
|
||
2019-08-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-06-27 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/rs6000/rs6000.c (darwin_rs6000_override_options): Honour
|
||
user-specified float mode choice for kernel mode code.
|
||
|
||
2019-08-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-06-27 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/rs6000/rs6000.c (darwin_rs6000_override_options): Do not
|
||
use longcall for 64b code.
|
||
|
||
2019-08-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-06-23 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/rs6000/darwin.h: Handle GCC target pragma.
|
||
|
||
2019-08-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-06-23 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/rs6000/darwin.h: (__PPC__, __PPC64__): New.
|
||
|
||
2019-08-02 Martin Sebor <msebor@redhat.com>
|
||
|
||
Backport from mainline
|
||
2019-07-09 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/90989
|
||
* tree-ssa-strlen.c (handle_char_store): Constrain a single character
|
||
optimization to just single character stores.
|
||
|
||
2019-08-02 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-06-19 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin-driver.c (darwin_driver_init): Fix off-by-one errors
|
||
in computing the number of options to be moved.
|
||
|
||
Backport from mainline
|
||
2019-06-13 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin-driver.c (validate_macosx_version_min): New.
|
||
(darwin_default_min_version): Cleanup and validate supplied version.
|
||
(darwin_driver_init): Likewise and push cleaned version into opts.
|
||
|
||
2019-08-02 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-05-31 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
|
||
|
||
2019-08-02 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-05-18 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin-c.c (darwin_register_objc_includes): Do not
|
||
prepend the sysroot when building gnu-runtime header search
|
||
paths.
|
||
|
||
2019-08-02 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline
|
||
2019-05-18 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.c (darwin_file_end): Use switch_to_section ()
|
||
instead of direct output of the asm.
|
||
|
||
2019-08-02 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-07-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91280
|
||
* tree-ssa-structalias.c (get_constraint_for_component_ref):
|
||
Decompose MEM_REF manually for offset handling.
|
||
|
||
2019-07-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91293
|
||
* tree-vect-slp.c (vect_build_slp_tree_2): Do not swap operands
|
||
of reduction stmts.
|
||
|
||
2019-08-02 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-07-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91178
|
||
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
|
||
Use tail-recursion.
|
||
|
||
2019-07-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91178
|
||
* tree-ssa.c (release_defs_bitset): Iterate from higher to
|
||
lower SSA names to avoid quadratic behavior in the common case.
|
||
* tree-data-ref.c (split_constant_offset): Add limit argument
|
||
and pass it down. Initialize it from PARAM_SSA_NAME_DEF_CHAIN_LIMIT.
|
||
(split_constant_offset_1): Add limit argument and use it to
|
||
limit SSA def walking. Optimize the common plus/minus case.
|
||
|
||
2019-07-12 Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/invoke.texi (ssa-name-def-chain-limit): Document new --param.
|
||
* params.def (PARAM_SSA_NAME_DEF_CHAIN_LIMIT): Add new --param.
|
||
* tree-vrp.c (vrp_prop::check_mem_ref): Use
|
||
PARAM_SSA_NAME_DEF_CHAIN_LIMIT.
|
||
|
||
2019-08-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from mainline
|
||
2019-07-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/91301
|
||
* gimplify.c (gimplify_omp_for): If for class iterator on
|
||
distribute parallel for there is no data sharing clause
|
||
on inner_for_stmt, look for private clause on combined
|
||
parallel too and if found, move it to inner_for_stmt.
|
||
|
||
2019-07-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/91216
|
||
* omp-low.c (global_nonaddressable_vars): New variable.
|
||
(use_pointer_for_field): For global decls, if they are non-addressable,
|
||
remember it in the global_nonaddressable_vars bitmap, if they are
|
||
addressable and in the global_nonaddressable_vars bitmap, ignore their
|
||
TREE_ADDRESSABLE bit.
|
||
(omp_copy_decl_2): Clear TREE_ADDRESSABLE also on private copies of
|
||
vars in global_nonaddressable_vars bitmap.
|
||
(execute_lower_omp): Free global_nonaddressable_vars bitmap.
|
||
|
||
PR target/91150
|
||
* config/i386/i386.c (expand_vec_perm_blend): Change mask type
|
||
from unsigned to unsigned HOST_WIDE_INT. For E_V64QImode cast
|
||
comparison to unsigned HOST_WIDE_INT before shifting it left.
|
||
|
||
2019-07-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/91157
|
||
* tree-vect-generic.c (expand_vector_comparison): Handle lhs being
|
||
a vector boolean with scalar mode.
|
||
(expand_vector_condition): Handle first operand being a vector boolean
|
||
with scalar mode.
|
||
(expand_vector_operations_1): For comparisons, don't bail out early
|
||
if the return type is vector boolean with scalar mode, but comparison
|
||
operand type is not.
|
||
|
||
2019-08-01 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/91135
|
||
* config/rs6000/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Don't
|
||
define.
|
||
* config/rs6000/linux64.h (TARGET_OS_CPP_BUILTINS): Invoke
|
||
GNU_USER_TARGET_OS_CPP_BUILTINS for aixdesc abi.
|
||
(GNU_USER_TARGET_D_OS_VERSIONS): Don't define.
|
||
|
||
2019-07-31 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
Backport from mainline
|
||
2019-06-24 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG, LDBL_DECIMAL_DIG)
|
||
(FLT_HAS_SUBNORM, DBL_HAS_SUBNORM, LDBL_HAS_SUBNORM, FLT_TRUE_MIN)
|
||
(DBL_TRUE_MIN, LDBL_TRUE_MIN): Also define for C++17.
|
||
|
||
2019-07-31 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-07-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91200
|
||
* tree-ssa-phiopt.c (cond_store_replacement): Check we have
|
||
no PHI nodes in middle-bb.
|
||
|
||
2019-07-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/91162
|
||
* tree-cfg.c (move_block_to_fn): When releasing a virtual PHI
|
||
node make sure to replace all uses with something valid.
|
||
|
||
2019-07-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91145
|
||
* tree-vect-slp.c (vect_build_slp_tree_2): Fix reduction
|
||
chain check.
|
||
|
||
2019-07-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/91131
|
||
* gimplify.c (gimplify_compound_literal_expr): Force a temporary
|
||
when the object is volatile and we have not cleared it even though
|
||
there are no nonzero elements.
|
||
|
||
2019-07-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91126
|
||
* tree-ssa-sccvn.c (n_walk_cb_data::push_partial_def): Adjust
|
||
native encoding offset for BYTES_BIG_ENDIAN.
|
||
(vn_reference_lookup_3): Likewise.
|
||
|
||
2019-07-30 Jan Hubicka <jh@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-07-23 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* i386-common.c: Use PROCESSOR_ZNVER2 scheduler for znver2.
|
||
* config/i386/znver1.md: Enable patterns for znver2 and add store
|
||
variants which use extra AGU unit.
|
||
|
||
2019-07-30 Jan Hubicka <jh@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-07-23 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* config/i386/i386.c (ix86_option_override_internal): Default
|
||
PARAM_AVOID_FMA_MAX_BITS to 256 for znver2.
|
||
* config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Set
|
||
for ZNVER2.
|
||
|
||
2019-07-30 Jan Hubicka <jh@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-07-23 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* config/i386/x86-tune-costs.h (znver2_memcpy): Update.
|
||
(znver2_costs): Update 256 bit SSE costs and multiplication.
|
||
|
||
2019-07-24 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
Backport from mainline
|
||
2019-07-18 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/91137
|
||
* tree-ssa-loop-ivopts.c (struct ivopts_data): New field.
|
||
(tree_ssa_iv_optimize_init, alloc_iv, tree_ssa_iv_optimize_finalize):
|
||
Init, use and fini the above new field.
|
||
(determine_base_object_1): New function.
|
||
(determine_base_object): Reimplement using walk_tree.
|
||
|
||
2019-07-23 Matthew Beliveau <mbelivea@redhat.com>
|
||
|
||
Backported from mainline
|
||
2019-07-16 Jeff Law <law@redhat.com>
|
||
|
||
PR rtl-optimization/91173
|
||
* tree-ssa-address.c (addr_for_mem_ref): If the base is an
|
||
SSA_NAME with a constant value, fold its value into the offset
|
||
and clear the base before calling gen_addr_rtx.
|
||
* g++.dg/pr91173.C: New test.
|
||
|
||
2019-07-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/91231
|
||
* lto-streamer-in.c (input_function): Drop inline-entry markers
|
||
that ended up with an unknown location block.
|
||
|
||
2019-07-22 Paul A. Clarke <pc@us.ibm.com>
|
||
|
||
Backport from mainline
|
||
* config/rs6000/smmintrin.h (_mm_blend_epi16): New.
|
||
(_mm_blendv_epi8): New.
|
||
|
||
2019-07-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-07-22 Martin Liska <mliska@suse.cz>
|
||
|
||
PR driver/91172
|
||
* opts-common.c (decode_cmdline_option): Decode
|
||
argument of -Werror and check it for a wrong language.
|
||
* opts-global.c (complain_wrong_lang): Remove such case.
|
||
|
||
2019-07-22 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
Backport from mainline.
|
||
* config/arc/arc.c (prepare_move_operands): Always use an
|
||
intermediate register when storing a TLS symbols.
|
||
|
||
2019-07-20 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-07-10 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* fold-const.c (fold_relational_const): Fix folding of
|
||
vector-to-scalar NE_EXPRs.
|
||
(test_vector_folding): Add more tests.
|
||
|
||
2019-07-19 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/82081 - tail call optimization breaks noexcept
|
||
* tree-tailcall.c (find_tail_calls): Don't turn a call from a
|
||
nothrow function to a might-throw function into a tail call.
|
||
|
||
2019-07-18 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
Backport from mainline
|
||
2019-07-08 Andrew Waterman <andrew@sifive.com>
|
||
Jim Wilson <jimw@sifive.com>
|
||
|
||
* config/riscv/riscv.md (lshrsi3_zero_extend_3+1): Use operands[1]
|
||
bitsize instead of BITS_PER_WORD.
|
||
gcc/testsuite/
|
||
|
||
2019-07-17 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.c (pa_som_asm_init_sections): Don't force all constant
|
||
data into data section when generating PIC code.
|
||
(pa_select_section): Use pa_reloc_rw_mask() to qualify relocs.
|
||
(pa_reloc_rw_mask): Return 3 when generating PIC code and when
|
||
generating code for SOM targets earlier than HP-UX 11. Otherwise,
|
||
return 2 for SOM and 0 for other targets.
|
||
|
||
2019-07-17 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
Backport from mainline
|
||
2019-07-01 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/vector.md: Fix shift count operand printing.
|
||
|
||
2019-07-16 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-05-30 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR driver/90684
|
||
* gcc/opts.c (parse_and_check_align_values): Allow 4 alignment values.
|
||
|
||
2019-07-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from mainline
|
||
2019-07-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/78884
|
||
* gimplify.c (struct gimplify_omp_ctx): Add add_safelen1 member.
|
||
(gimplify_bind_expr): If seeing TREE_ADDRESSABLE VLA inside of simd
|
||
loop body, set ctx->add_safelen1 instead of making it GOVD_PRIVATE.
|
||
(gimplify_adjust_omp_clauses): Add safelen (1) clause if
|
||
ctx->add_safelen1 is set.
|
||
|
||
PR rtl-optimization/90756
|
||
* explow.c (promote_ssa_mode): Always use TYPE_MODE, don't bypass it
|
||
for VECTOR_TYPE_P.
|
||
|
||
2019-07-12 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-07-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/91063
|
||
* tree-vect-stmts.c (vect_init_vector): Call gsi_remove to remove
|
||
stmt from stmts sequence before calling vect_init_vector_1.
|
||
Formatting fix.
|
||
|
||
2019-07-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/91062
|
||
* tree-pass.h (execute_all_ipa_transforms): Add a flag
|
||
parameter whether to disable GC collection.
|
||
* passes.c (execute_one_ipa_transform_pass): Likewise, and
|
||
honor it.
|
||
(execute_all_ipa_transforms): Likewise and pass it down.
|
||
* cgraph.c (cgraph_node::get_body): Do not invoke garbage
|
||
collection from applying IPA transforms.
|
||
* cgraphunit.c (cgraph_node::expand): Allow garbage collection
|
||
from applying IPA transforms.
|
||
|
||
2019-06-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/90982
|
||
* tree-inline.c (remap_ssa_name): Copy SSA range info.
|
||
|
||
2019-06-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90972
|
||
* tree-vect-stmts.c (vect_init_vector): Handle CONSTANT_CLASS_P
|
||
in common code, dealing with STRING_CST properly.
|
||
|
||
2019-06-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/90914
|
||
* dwarf2out.c (prune_unused_types_walk): Always consider
|
||
function-local extern declarations as used.
|
||
|
||
2019-06-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/90900
|
||
* cfgexpand.c (expand_debug_expr): Treat NOTE_P DECL_RTL
|
||
as if optimized away.
|
||
|
||
2019-05-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/90369
|
||
* lto-wrapper.c (debug_objcopy): Use the original filename
|
||
including archive offset for the filename used for -save-temps.
|
||
|
||
2019-07-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/91136
|
||
* df-core.c (ACCESSING REFS): Fix typos in comment.
|
||
* resource.c (mark_target_live_reg): Add artificial defs that occur at
|
||
the beginning of the block to the initial set of live registers.
|
||
|
||
2019-07-11 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
Backport from mainline
|
||
2019-07-06 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/i386/sse.md (*andnot<mode>3_bcst): Fix VI/VI48_AVX512VL typo.
|
||
|
||
2019-07-11 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Handle
|
||
Modula-2.
|
||
|
||
2019-07-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/91108
|
||
* tree-ssa-sccvn.c: Include builtins.h.
|
||
(vn_reference_lookup_3): Use only alignment constraints to
|
||
verify same-valued store disambiguation.
|
||
|
||
2019-07-05 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
Backport from mainline
|
||
2019-06-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_asm_output_alias): Declare.
|
||
(aarch64_asm_output_external): Declare.
|
||
* config/aarch64/aarch64.c (aarch64_asm_output_variant_pcs): New.
|
||
(aarch64_declare_function_name): Call aarch64_asm_output_variant_pcs.
|
||
(aarch64_asm_output_alias): New.
|
||
(aarch64_asm_output_external): New.
|
||
* config/aarch64/aarch64.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
|
||
(ASM_OUTPUT_EXTERNAL): Define.
|
||
|
||
2019-06-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_asm_output_external): Remove
|
||
const.
|
||
* config/aarch64/aarch64.c (aarch64_asm_output_external): Call
|
||
default_elf_asm_output_external.
|
||
|
||
2019-07-04 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-07-03 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/90892
|
||
* builtins.c (inline_expand_builtin_string_cmp): Handle '\0'
|
||
in string constants.
|
||
|
||
2019-07-04 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-07-03 Martin Liska <mliska@suse.cz>
|
||
|
||
PR middle-end/90899
|
||
* multiple_target.c (create_dispatcher_calls): Add to comdat
|
||
group only if set for ifunc.
|
||
|
||
2019-07-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* dwarf2out.c (add_scalar_info): Add back refererence to existing DIE
|
||
if it has the DW_AT_data_member_location attribute.
|
||
|
||
2019-07-02 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
Backport from mainline:
|
||
2019-07-02 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config/gcn/gcn.md (movdi_symbol_save_scc): Convert to define_insn
|
||
with inlined save and restore.
|
||
|
||
2019-07-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR middle-end/64242
|
||
* config/sparc/sparc.md (nonlocal_goto): Restore frame pointer last.
|
||
Add frame clobber and schedule blockage.
|
||
|
||
2019-06-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from mainline
|
||
2019-06-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/91024
|
||
* gimplify.c (collect_fallthrough_labels): Ignore GIMPLE_PREDICT
|
||
statements.
|
||
|
||
2019-06-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/90991
|
||
* config/i386/sse.md
|
||
(*<extract_type>_vinsert<shuffletype><extract_suf>_0): Use vmovupd,
|
||
vmovups, vmovdqu, vmovdqu32 or vmovdqu64 instead of the aligned
|
||
insns if operands[2] is misaligned_operand.
|
||
|
||
2019-06-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/90760
|
||
* symtab.c (symtab_node::set_section): Allow being called on aliases
|
||
as long as they aren't analyzed yet.
|
||
|
||
2019-06-28 Jeff Law <law@redhat.com>
|
||
|
||
Backport from mainline
|
||
2019-06-21 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/90949
|
||
* tree-ssa-copy.c (fini_copy_prop): Use reset_flow_sensitive_info.
|
||
* tree-ssanames.c (reset_flow_sensitive_info): Reset non-null state.
|
||
|
||
2019-06-28 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
Backport from mainline:
|
||
2019-05-22 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config/gcn/gcn.c (gcn_trampoline_init): Call "sorry" on GCN5.
|
||
|
||
2019-06-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-06-25 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/90939
|
||
* ipa-cp.c (ipcp_bits_lattice::meet_with): Remove assert.
|
||
|
||
2019-06-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
Backport from mainline
|
||
2019-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* configure.ac (ld_vers) <*-*-solaris2*>: Remove support for
|
||
alternative Solaris 11.4 format.
|
||
* configure: Regenerate.
|
||
|
||
2019-06-25 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
Backport from mainline
|
||
2019-06-25 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (arc_symbol_binds_local_p): New function.
|
||
(arc_legitimize_pic_address): Simplify and cleanup the function.
|
||
(SYMBOLIC_CONST): Remove.
|
||
(prepare_pic_move): Likewise.
|
||
(prepare_move_operands): Handle complex mov cases here.
|
||
(arc_legitimize_address_0): Remove call to
|
||
arc_legitimize_pic_address.
|
||
(arc_legitimize_address): Remove call to
|
||
arc_legitimize_tls_address.
|
||
* config/arc/arc.md (movqi_insn): Allow Cm3 match.
|
||
(movhi_insn): Likewise.
|
||
|
||
2019-06-25 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
Backport from mainline
|
||
2019-05-24 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config/gcn/gcn-run.c (main): Set a non-zero return value if the
|
||
kernel does not exit cleanly.
|
||
* config/gcn/gcn.md (gcn_return): Insert s_waitcnt before s_dcache_wb.
|
||
|
||
2019-06-25 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
Backport from mainline
|
||
2019-05-24 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config/gcn/gcn.c (gcn_expand_prologue): Use gen_addsi3_scalar_carry
|
||
for lo-part.
|
||
|
||
2019-06-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90930
|
||
* tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Set visited
|
||
flag on new stmts to avoid re-processing them.
|
||
|
||
2019-06-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90930
|
||
PR tree-optimization/90316
|
||
* tree-ssa-alias.c (walk_non_aliased_vuses): Add missing
|
||
decrement of limit.
|
||
|
||
2019-06-16 Jeff Law <law@redhat.com>
|
||
|
||
Backport from mainline
|
||
2019-06-16 Prachi Godbole <prachi.godbole@imgtec.com>
|
||
Robert Suchanek <robert.suchanek@mips.com>
|
||
* config/mips/mips.c (mips_expand_builtin_insn): Swap the 1st
|
||
and 3rd operands of the fmadd/fmsub/maddv builtin.
|
||
|
||
2019-06-16 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR middle-end/64242
|
||
* config/pa/pa.md (nonlocal_goto): Restore frame pointer last. Add
|
||
frame clobbers and schedule block.
|
||
(builtin_longjmp): Likewise.
|
||
|
||
2019-06-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/90811
|
||
* config/nvptx/nvptx.c (nvptx_output_softstack_switch): Use and.b%d
|
||
instead of and.u%d.
|
||
|
||
2019-06-07 John David Anglin <danglin@gcc.gnu.orig>
|
||
|
||
PR target/90751
|
||
* config/pa/pa-linux.h (ASM_DECLARE_FUNCTION_NAME): Update comment.
|
||
Call pa_output_function_label.
|
||
(TARGET_ASM_FUNCTION_PROLOGUE): define.
|
||
* config/pa/pa-protos.h (pa_output_function_label): Declare.
|
||
* config/pa/pa.c (pa_output_function_prologue): Add ATTRIBUTE_UNUSED
|
||
to declaration.
|
||
(pa_linux_output_function_prologue): Declare.
|
||
(TARGET_ASM_FUNCTION_PROLOGUE): Delete define.
|
||
(pa_output_function_label): New.
|
||
(pa_output_function_prologue): Revise to use pa_output_function_label.
|
||
(pa_linux_output_function_prologue): New.
|
||
* config/pa/pa.h (TARGET_ASM_FUNCTION_PROLOGUE): Define.
|
||
|
||
2019-06-06 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-05-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90450
|
||
* tree-ssa-loop-im.c (struct im_mem_ref): Add ref_decomposed.
|
||
(mem_ref_hasher::equal): Check it.
|
||
(mem_ref_alloc): Initialize it.
|
||
(gather_mem_refs_stmt): Set it.
|
||
|
||
2019-05-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90402
|
||
* tree-if-conv.c (tree_if_conversion): Value number only
|
||
the loop body by making the latch an exit of the region
|
||
as well.
|
||
* tree-ssa-sccvn.c (process_bb): Add flag whether to skip
|
||
processing PHIs.
|
||
(do_rpo_vn): Deal with multiple edges into the entry block
|
||
that are not backedges inside the region by skipping PHIs
|
||
of the entry block.
|
||
|
||
2019-05-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90328
|
||
* tree-data-ref.h (dr_may_alias_p): Pass in the actual loop nest.
|
||
* tree-data-ref.c (dr_may_alias_p): Check whether the clique
|
||
is valid in the loop nest before using it.
|
||
(initialize_data_dependence_relation): Adjust.
|
||
* graphite-scop-detection.c (build_alias_set): Pass the SCOP enclosing
|
||
loop as loop-nest to dr_may_alias_p.
|
||
|
||
2019-06-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* fold-const.c (extract_muldiv_1) <PLUS_EXPR>: Do not distribute a
|
||
multiplication by a power-of-two value.
|
||
(fold_plusminus_mult_expr): Use pow2p_hwi to spot a power-of-two value
|
||
and turn the modulo operation into a masking operation.
|
||
|
||
2019-06-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/90733
|
||
* var-tracking.c (vt_expand_loc_callback): Don't create raw subregs
|
||
with VOIDmode inner operands.
|
||
|
||
2019-06-05 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline.
|
||
2019-05-23 Iain Sandoe <iain@sandoe.co.uk>
|
||
* doc/sourcebuild.texi: Document mfentry target support.
|
||
|
||
2019-05-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-predcom.c (is_inv_store_elimination_chain): Fix a typo - lenght
|
||
to length.
|
||
|
||
2019-05-30 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline.
|
||
2019-05-23 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/i386/darwin.h: Reject -mfentry*.
|
||
|
||
2019-05-30 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline.
|
||
2019-05-12 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR target/82920
|
||
* config/i386/darwin.h (CC1_SPEC): Report -mx32 as an error for
|
||
Darwin.
|
||
|
||
2019-05-30 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
Backport from mainline.
|
||
2019-05-12 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR target/82920
|
||
* config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): New.
|
||
(ix86_output_indirect_branch_via_reg): Use output mechanism
|
||
accounting for __USER_LABEL_PREFIX__.
|
||
(ix86_output_indirect_branch_via_push): Likewise.
|
||
(ix86_output_function_return): Likewise.
|
||
(ix86_output_indirect_function_return): Likewise.
|
||
|
||
2019-05-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/90329
|
||
* lto-streamer.h (LTO_minor_version): Bump to 1.
|
||
|
||
Backported from mainline
|
||
2019-05-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/90329
|
||
* tree-core.h (struct tree_decl_common): Document
|
||
decl_nonshareable_flag for PARM_DECLs.
|
||
* tree.h (DECL_HIDDEN_STRING_LENGTH): Define.
|
||
* calls.c (expand_call): Don't try tail call if caller
|
||
has any DECL_HIDDEN_STRING_LENGTH PARM_DECLs that are or might be
|
||
passed on the stack and callee needs to pass any arguments on the
|
||
stack.
|
||
* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
|
||
else if instead of series of mutually exclusive ifs. Handle
|
||
DECL_HIDDEN_STRING_LENGTH for PARM_DECLs.
|
||
* tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
|
||
|
||
2019-05-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/90543
|
||
* optc-save-gen.awk: In cl_optimization_print, use correct condition
|
||
for var_opt_string printing. In cl_optimization_print_diff, print
|
||
(null) instead of invoking undefined behavior if one of the
|
||
var_opt_string pointers is NULL and use && instead of first || in the
|
||
guarding condition. For var_target_other options, handle const char *
|
||
target variables similarly to const char * optimize node variables.
|
||
|
||
2019-05-28 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.c (hppa_profile_hook): Remove offset adjustment.
|
||
|
||
2019-05-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* dwarf2out.c (resolve_args_picking_1): Deal with DW_OP_GNU_addr_index
|
||
and DW_OP_GNU_const_index opcodes.
|
||
|
||
2019-05-24 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR target/90530
|
||
* config/pa/pa.c (pa_can_change_mode_class): Accept mode changes from
|
||
DImode to SImode in floating-point registers on 64-bit target.
|
||
* config/pa/pa.md (umulsidi3): Change nonimmediate_operand to
|
||
register_operand in xmpyu patterns.
|
||
|
||
2019-05-24 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-05-23 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/90570
|
||
* gimplify.c (gimplify_target_expr): Skip TREE_STATIC target
|
||
expression similarly to gimplify_decl_expr.
|
||
|
||
2019-05-22 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
Backported from mainline
|
||
2019-05-21 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/cpuid.h (__cpuid): For 32bit targets, zero
|
||
%ebx and %ecx bafore calling cpuid with leaf 1 or
|
||
non-constant leaf argument.
|
||
|
||
2019-05-21 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/90547
|
||
* config/i386/i386.md (anddi_1 to andsi_1_zext splitter):
|
||
Avoid calling gen_lowpart with CONST operand.
|
||
|
||
2019-05-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
Backported from mainline
|
||
2019-05-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/arm/t-rtems: Replace ARMv7-M multilibs with Cortex-M
|
||
multilibs.
|
||
|
||
2019-05-20 Jeff Law <law@redhat.com>
|
||
|
||
Backported from mainline
|
||
2019-05-17 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
|
||
|
||
* config/mips/mips.c (mips_dwarf_frame_reg_mode): Replace
|
||
TARGET_FLOAT64 with !TARGET_FLOAT32, thus handling both fp64
|
||
and fpxx modes.
|
||
|
||
2019-05-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from mainline
|
||
2019-05-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/90484
|
||
* tree-ssa-scopedtables.c (equal_mem_array_ref_p): Don't assert that
|
||
sz0 is equal to sz1, instead return false in that case.
|
||
|
||
* omp-low.c (lower_rec_input_clauses): If OMP_CLAUSE_IF
|
||
has non-constant expression, force sctx.lane and use two
|
||
argument IFN_GOMP_SIMD_LANE instead of single argument.
|
||
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Don't DCE
|
||
two argument IFN_GOMP_SIMD_LANE without lhs.
|
||
* tree-vectorizer.h (struct _loop_vec_info): Add simd_if_cond
|
||
member.
|
||
(LOOP_VINFO_SIMD_IF_COND, LOOP_REQUIRES_VERSIONING_FOR_SIMD_IF_COND):
|
||
Define.
|
||
(LOOP_REQUIRES_VERSIONING): Or in
|
||
LOOP_REQUIRES_VERSIONING_FOR_SIMD_IF_COND.
|
||
* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
|
||
simd_if_cond.
|
||
(vect_analyze_loop_2): Punt if LOOP_VINFO_SIMD_IF_COND is constant 0.
|
||
* tree-vect-loop-manip.c (vect_loop_versioning): Add runtime check
|
||
from simd if clause if needed.
|
||
|
||
2019-05-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.c (lower_rec_input_clauses): For if (0) or simdlen (1) set
|
||
max_vf to 1.
|
||
* omp-expand.c (expand_omp_simd): For if (0) or simdlen (1) clear
|
||
safelen_int and set loop->dont_vectorize.
|
||
|
||
2019-05-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/90385
|
||
* tree-parloops.c (try_create_reduction_list): Punt on non-SSA_NAME
|
||
arguments of the exit phis.
|
||
|
||
PR c++/90383
|
||
* tree-inline.h (struct copy_body_data): Add do_not_fold member.
|
||
* tree-inline.c (remap_gimple_op_r): Avoid folding expressions if
|
||
id->do_not_fold.
|
||
(copy_tree_body_r): Likewise.
|
||
(copy_fn): Set id.do_not_fold to true.
|
||
|
||
2019-05-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/90303
|
||
* ipa-devirt.c (obj_type_ref_class, get_odr_type): Don't use
|
||
TYPE_CANONICAL for TYPE_STRUCTURAL_EQUALITY_P types in !in_lto_p mode.
|
||
|
||
2019-05-17 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2019-05-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90316
|
||
* tree-ssa-alias.h (get_continuation_for_phi): Take walking
|
||
limit by reference.
|
||
(walk_non_aliased_vuses): Take walking limit argument.
|
||
* tree-ssa-alias.c (maybe_skip_until): Take limit and abort
|
||
walking if it is reached instead of just counting.
|
||
(get_continuation_for_phi): Likewise.
|
||
(walk_non_aliased_vuses): Likewise, instead of leaving counter
|
||
limiting to the callback.
|
||
* tree-ssa-sccvn.c (vn_reference_lookup_2): Adjust.
|
||
(vn_reference_lookup_3): Likewise.
|
||
(vn_reference_lookup_pieces): Likewise.
|
||
(vn_reference_lookup): Likewise.
|
||
* tree-ssa-pre.c (translate_vuse_through_block): Limit walking.
|
||
* tree-ssa-scopedtables.c (vuse_eq): Adjust.
|
||
(avail_exprs_stack::lookup_avail_expr): Likewise.
|
||
|
||
2019-05-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90316
|
||
* tree-ssa-alias.c (maybe_skip_until): Pass in target BB,
|
||
compute target on demand.
|
||
(get_continuation_for_phi): Remove code walking stmts to
|
||
get to a target virtual operand which could end up being
|
||
quadratic.
|
||
|
||
2019-05-15 Li Jia He <helijia@linux.ibm.com>
|
||
|
||
Backport from mainline.
|
||
2019-05-07 Li Jia He <helijia@linux.ibm.com>
|
||
|
||
* tree-ssa-phiopt.c (two_value_replacement): Fix a typo in parameter
|
||
detection.
|
||
|
||
2019-05-14 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-05-13 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/90416
|
||
* tree-vect-stmts.c (vect_check_load_store_mask): Concatenate
|
||
string instead of passing the second part as va_arg argument.
|
||
|
||
2019-05-14 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-05-13 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/90380
|
||
* gcov.c (handle_cycle): Do not support zero cycle count,
|
||
it should not be possible.
|
||
(path_contains_zero_cycle_arc): New function.
|
||
(circuit): Ignore zero cycle arc counts.
|
||
|
||
2019-05-14 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-05-13 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/90380
|
||
* gcov.c (enum loop_type): Remove the enum and
|
||
the operator.
|
||
(handle_cycle): Assert that we should not reach
|
||
a negative count.
|
||
(circuit): Use loop_found instead of a tri-state loop_type.
|
||
(get_cycles_count): Do not handle NEGATIVE_LOOP as it can't
|
||
happen.
|
||
|
||
2019-05-14 Chenghua Xu <paul.hua.gm@gmail.com>
|
||
|
||
Backport from mainline.
|
||
2019-05-14 Chenghua Xu <paul.hua.gm@gmail.com>
|
||
|
||
PR target/90357
|
||
* config/mips/mips.c (mips_split_move): Skip forward SRC into
|
||
next insn when the SRC reg is dead.
|
||
|
||
2019-05-11 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
Backport from mainline.
|
||
2019-04-25 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config/i386/freebsd64.h: Add bits for 32-bit multilib support.
|
||
* config/i386/t-freebsd64: New file.
|
||
* config.gcc: Add the t-freebsd64 for multilib support.
|
||
|
||
2019-05-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
Backport from mainline.
|
||
2019-05-07 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
PR target/89765
|
||
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
|
||
In handling of ALTIVEC_BUILTIN_VEC_INSERT, use modular arithmetic
|
||
to compute vector element selector for both constant and variable
|
||
operands.
|
||
|
||
2019-05-10 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-sccvn.c (visit_reference_op_call): Initialize value-id.
|
||
(do_rpo_vn): Initialize next_value_id.
|
||
|
||
2019-05-09 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* cif-code.def (CHKP): Remove.
|
||
|
||
2019-05-07 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
Backport from mainline.
|
||
2019-05-06 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
PR target/89424
|
||
* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
|
||
handling of V1TImode.
|
||
|
||
2019-05-06 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-05-06 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/90312
|
||
* config/i386/i386-options.c (ix86_option_override_internal): Error only
|
||
when -mabi is selected to a non-default version.
|
||
|
||
2019-05-04 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
* ChangeLog.ibm: Delete unintentional commit on the wrong branch.
|
||
* REVISION: Likewise.
|
||
|
||
2019-05-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90316
|
||
* tree-ssa-pre.c (pass_pre::execute): Re-compute DOM fast queries
|
||
before running VN.
|
||
|
||
2019-05-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* BASE-VER: Set to 9.1.1.
|
||
|
||
2019-05-03 Release Manager
|
||
|
||
* GCC 9.1.0 released.
|
||
|
||
2019-04-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
Backport from mainline.
|
||
2019-04-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
PR target/86538
|
||
* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
|
||
Define __ARM_FEATURE_ATOMICS.
|
||
|
||
2019-04-30 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-04-30 Martin Liska <mliska@suse.cz>
|
||
|
||
PR translation/90274
|
||
* opts.c (print_filtered_help): Wrap string in _(...).
|
||
|
||
2019-04-30 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2019-04-27 Martin Liska <mliska@suse.cz>
|
||
|
||
PR middle-end/90258
|
||
* opt-suggestions.c (option_proposer::build_option_suggestions):
|
||
When get_valid_option_values returns empty values, add the
|
||
misspelling candidate.
|
||
|
||
2019-04-30 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90273
|
||
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Eliminate
|
||
useless debug stmts.
|
||
|
||
2019-04-27 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* config/netbsd-d.c: Include memmodel.h. Remove unused tree.h,
|
||
varasm.h, and netbsd-protos.h.
|
||
|
||
2019-04-26 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR other/90257
|
||
Revert the revert:
|
||
2019-04-21 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/90178
|
||
Revert:
|
||
2018-11-21 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Revert the revert:
|
||
2013-10-26 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
Revert:
|
||
2013-10-25 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
* lra-spills.c (lra_final_code_change): Remove useless move insns.
|
||
|
||
2019-04-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/90240
|
||
Revert:
|
||
2019-04-23 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/90078
|
||
* tree-ssa-loop-ivopts.c (comp_cost::operator +,-,+=,-+,/=,*=): Add
|
||
checks for infinite_cost overflow.
|
||
|
||
2019-04-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* DEV-PHASE: Set to prerelease.
|
||
|
||
2019-04-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/89765
|
||
* gimplify.c (gimplify_expr): Avoid turning a lvalue
|
||
VIEW_CONVERT_EXPR into one operating on an rvalue.
|
||
|
||
2019-04-25 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/89929
|
||
* config/i386/i386.c (feature_priority): Moved to file scope.
|
||
(processor_features): Likewise.
|
||
(processor_model): Likewise.
|
||
(_arch_names_table): Likewise.
|
||
(arch_names_table): Likewise.
|
||
(_feature_list): Removed.
|
||
(feature_list): Likewise.
|
||
(_isa_names_table): Moved to file scope. Add priority.
|
||
(isa_names_table): Likewise.
|
||
(get_builtin_code_for_version): Replace feature_list with
|
||
isa_names_table. Update error message for P_ZERO priority.
|
||
|
||
2019-04-25 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-pass.h (make_pass_phi_only_cprop): Remove.
|
||
* timevar.def (TV_TREE_PHI_CPROP): Likewise.
|
||
|
||
2019-04-24 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/90037
|
||
* Makefile.in (OBJS): Remove tree-ssa-phionlycprop.c
|
||
* passes.def: Replace all instance of phi-only cprop with the
|
||
lattice propagator. Move propagation pass from after erroneous
|
||
path isolation to before erroneous path isolation.
|
||
* tree-ssa-phionlycprop.c: Remove.
|
||
|
||
2019-04-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/90213
|
||
* gimple-fold.c (fold_const_aggregate_ref_1): Do multiplication
|
||
by size and BITS_PER_UNIT on poly-wide-ints.
|
||
|
||
2019-04-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/90194
|
||
* match.pd: Add pattern to simplify view-conversion of an
|
||
empty constructor.
|
||
|
||
2019-04-24 Clement Chigot <clement.chigot@atos.net>
|
||
|
||
* config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Disable
|
||
OPTION_MASK_VSX and OPTION_MASK_ALTIVEC from rs6000_isa_flags
|
||
for Go on 32 bit AIX.
|
||
* config/rs6000/aix72.h: Likewise.
|
||
|
||
2019-04-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/90193
|
||
* rtl.c (classify_insn): Return JUMP_INSN for asm goto.
|
||
* emit-rtl.c (try_split): Copy over REG_LABEL_TARGET.
|
||
|
||
2019-04-24 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
PR target/89952
|
||
* config/s390/s390.c (s390_restore_gprs_from_fprs): Restore GPRs
|
||
from FPRs in reverse order. Generate REG_CFA_DEF_CFA note also
|
||
for restored hard frame pointer.
|
||
(s390_sched_dependencies_evaluation): Implement new target hook.
|
||
(TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New macro definition.
|
||
|
||
2019-04-24 Claudiu Zissulescu <claziss@sysnopsys.com>
|
||
|
||
* config/arc/arc-options.def: Fix typos and spelling mistakes.
|
||
* config/arc/arc.c (arc_init): Cleanup warning message.
|
||
(arc_override_options): Likewise.
|
||
|
||
2019-04-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/90187
|
||
* config/i386/i386.c (ix86_expand_sse_fp_minmax): Force if_true into
|
||
a register if both if_true and if_false are MEMs.
|
||
|
||
PR tree-optimization/90208
|
||
* tree-cfg.c (remove_bb): Move forced labels from removed bbs
|
||
after labels of new_bb, not before them.
|
||
|
||
PR tree-optimization/90211
|
||
* tree-parloops.c (try_create_reduction_list): Ignore phi arguments
|
||
which are not SSA_NAMEs.
|
||
|
||
2018-04-23 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define for
|
||
AArch64.
|
||
(aarch64_file_end_indicate_exec_stack): Add gnu note section.
|
||
|
||
2019-04-23 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
PR rtl-optimization/87979
|
||
* modulo-sched.c (sms_schedule): Start ii value "mii" should
|
||
not equal zero.
|
||
|
||
2019-04-23 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
PR rtl-optimization/84032
|
||
* modulo-sched.c (ps_insn_find_column): Change condition so that
|
||
branch will always be the last insn in a row inside partial
|
||
schedule.
|
||
|
||
2019-04-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/90131
|
||
* tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Add
|
||
dest_single_pred_p argument.
|
||
(remove_forwarder_block): Adjust.
|
||
(remove_forwarder_block_with_phi): Likewise.
|
||
|
||
2019-04-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89093
|
||
* config/arm/arm.c (aapcs_vfp_is_call_or_return_candidate): Diagnose
|
||
if used with general-regs-only.
|
||
(arm_conditional_register_usage): Don't add non-general regs if
|
||
general-regs-only.
|
||
(arm_valid_target_attribute_rec): Handle general-regs-only.
|
||
* config/arm/arm.h (TARGET_HARD_FLOAT): Return false if
|
||
general-regs-only.
|
||
(TARGET_HARD_FLOAT_SUB): Define.
|
||
(TARGET_SOFT_FLOAT): Define as negation of TARGET_HARD_FLOAT_SUB.
|
||
(TARGET_REALLY_IWMMXT): Add && !TARGET_GENERAL_REGS_ONLY.
|
||
(TARGET_REALLY_IWMMXT2): Likewise.
|
||
* config/arm/arm.opt: Add -mgeneral-regs-only.
|
||
* doc/extend.texi: Document ARM general-regs-only target.
|
||
* doc/invoke.texi: Document ARM -mgeneral-regs-only.
|
||
|
||
2019-04-23 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/90078
|
||
* tree-ssa-loop-ivopts.c (comp_cost::operator +,-,+=,-+,/=,*=): Add
|
||
checks for infinite_cost overflow.
|
||
|
||
2019-04-23 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/90021
|
||
* tree-chrec.c (evolution_function_is_univariate_p): New parameter
|
||
and check univariate against it.
|
||
* tree-chrec.h (evolution_function_is_univariate_p): New parameter.
|
||
* tree-data-ref.c (add_other_self_distances): Pass new argument.
|
||
|
||
2019-04-21 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/90178
|
||
Revert:
|
||
2018-11-21 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Revert the revert:
|
||
2013-10-26 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
Revert:
|
||
2013-10-25 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
* lra-spills.c (lra_final_code_change): Remove useless move insns.
|
||
|
||
2019-04-21 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/rs6000/rs6000.md (group_end_nop): Emit insn register
|
||
names using operand format, rather than hard-wired.
|
||
(speculation_barrier): Likewise.
|
||
|
||
2019-04-19 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR tree-optimization/88055
|
||
* tree-call-cdce.c (comparison_code_if_no_nans): New function.
|
||
(gen_one_condition): Use it if !HONOR_NANS.
|
||
|
||
2019-04-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/90139
|
||
* tree-outof-ssa.c (get_temp_reg): If reg_mode is BLKmode, return
|
||
assign_temp instead of gen_reg_rtx.
|
||
|
||
2019-04-19 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
PR translation/90118
|
||
* config/aarch64/aarch64.c (aarch64_override_options_internal):
|
||
Add missing space before %<.
|
||
|
||
2019-04-18 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
PR rtl-optimization/87871
|
||
* ira-lives.c (make_object_dead): Don't add conflicts to
|
||
TOTAL_CONFLICT_HARD_REGS for register ignore_reg_for_conflicts.
|
||
|
||
2019-04-18 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/89797
|
||
* tree.h (TYPE_VECTOR_SUBPARTS): Use HOST_WIDE_INT_1U.
|
||
* config/aarch64/aarch64.c (aarch64_simd_vector_alignment): Avoid
|
||
assuming type size fits in SHWI.
|
||
|
||
2019-04-18 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/85051
|
||
* ipa-inline.c (flatten_function): New parameter UPDATE.
|
||
(ipa_inline, early_inliner): Use it.
|
||
|
||
2019-04-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* fold-const.c (int_const_binop): Return early on failure.
|
||
|
||
2019-04-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/85164
|
||
* combine.c (force_int_to_mode): Cast the argument rather than
|
||
the result of known_alignment.
|
||
* rtlanal.c (rtx_addr_can_trap_p_1): Use known_subrange_p.
|
||
|
||
2019-04-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/90131
|
||
* tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Split
|
||
out from ...
|
||
(remove_forwarder_block): ... here.
|
||
(remove_forwarder_block_with_phi): Also move debug stmts here.
|
||
|
||
2019-04-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR translation/79183
|
||
* gimple-ssa-sprintf.c (format_directive): Use inform_n instead of
|
||
inform where appropriate.
|
||
|
||
2019-04-18 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree.c (get_qualified_type): Put found type variants at the
|
||
head of the variant list.
|
||
|
||
2018-04-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_register_move_cost): Fix typo.
|
||
|
||
2019-04-17 Hongtao Liu <hongtao.liu@intel.com>
|
||
|
||
PR target/90125
|
||
* config/i386/avx512fintrin.h (_mm_maskz_fmadd_round_sd,
|
||
_mm_maskz_fmadd_round_ss, _mm_maskz_fmsub_round_sd,
|
||
_mm_maskz_fmsub_round_ss, _mm_maskz_fnmadd_round_sd,
|
||
_mm_maskz_fnmadd_round_ss, _mm_maskz_fnmsub_round_sd,
|
||
_mm_maskz_fnmsub_round_ss): Use _maskz builtin instead of _mask3.
|
||
|
||
2019-04-17 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
* ira-conflicts.c (print_allocno_conflicts): Always print something,
|
||
even for allocno's with no conflicts.
|
||
(print_conflicts): Print an extra newline.
|
||
|
||
2019-04-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* auto-inc-dec.c (attempt_change): Set the alignment of the
|
||
temporary memory to that of the original.
|
||
|
||
2019-04-17 Joao Moreira <jmoreira@suse.de>
|
||
|
||
* targhooks.c (default_print_patchable_function_entry): Emit
|
||
__patchable_function_entries section with writable flags to allow
|
||
relocation resolution.
|
||
|
||
2019-04-17 Jonny Grant <jg@jguk.org>
|
||
|
||
* collect2.c (main): Change gcc.gnu.org URL to HTTPS.
|
||
|
||
2019-04-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/90095
|
||
* internal-fn.c (expand_mul_overflow): Don't set SUBREG_PROMOTED_VAR_P
|
||
on lowpart SUBREGs.
|
||
|
||
2019-04-17 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (arc_init): Format diagnostic string.
|
||
(arc_override_options): Likewise.
|
||
(check_if_valid_regno_const): Likewise.
|
||
(arc_reorg): Likewise.
|
||
|
||
2019-04-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/17108
|
||
* config/rs6000/rs6000.c (rs6000_split_multireg_move): Adjust pattern
|
||
name.
|
||
(rs6000_emit_allocate_stack_1): Simplify condition. Adjust pattern
|
||
name.
|
||
* config/rs6000/rs6000.md (bits): Add entries for SF and DF.
|
||
(*movdi_update1): Use Pmode.
|
||
(movdi_<mode>_update): Fix argument to avoiding_indexed_address_p.
|
||
(movdi_<mode>_update_stack): Rename to ...
|
||
(movdi_update_stack): ... this. Fix comment. Change condition. Don't
|
||
use Pmode.
|
||
(*movsi_update1): Use Pmode.
|
||
(*movsi_update2): Use Pmode.
|
||
(movsi_update): Rename to ...
|
||
(movsi_<mode>_update): ... this. Use Pmode.
|
||
(movsi_update_stack): Fix condition.
|
||
(*movhi_update1): Use Pmode. Fix argument to
|
||
avoiding_indexed_address_p.
|
||
(*movhi_update2): Ditto.
|
||
(*movhi_update3): Ditto.
|
||
(*movhi_update4): Ditto.
|
||
(*movqi_update1): Ditto.
|
||
(*movqi_update2): Ditto.
|
||
(*movqi_update3): Ditto.
|
||
(*movsf_update1, *movdf_update1): Merge, rename to...
|
||
(*mov<mode>_update1): This. Use Pmode. Fix argument to
|
||
avoiding_indexed_address_p. Add "size" attribute.
|
||
(*movsf_update2, *movdf_update2): Merge, rename to...
|
||
(*mov<mode>_update2): This. Ditto.
|
||
(*movsf_update3): Use Pmode. Fix argument to
|
||
avoiding_indexed_address_p.
|
||
(*movsf_update4): Ditto.
|
||
(allocate_stack): Simplify condition. Adjust pattern names.
|
||
|
||
2019-04-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89093
|
||
* config/arm/arm.c (arm_valid_target_attribute_rec): Don't skip
|
||
whitespace at the start of target attribute string.
|
||
|
||
2019-04-16 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
PR target/84369
|
||
* config/rs6000/power9.md: Add store forwarding bypass.
|
||
|
||
2019-04-16 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/89528
|
||
* valtrack.c (dead_debug_insert_temp): Reset debug references
|
||
to the return value of a call being removed.
|
||
|
||
2019-04-16 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc-protos.h (arc_register_move_cost): Remove.
|
||
* config/arc/arc.c (arc_register_move_cost): Re-purpose it to
|
||
implement target hook.
|
||
(arc_memory_move_cost): New function.
|
||
(TARGET_REGISTER_MOVE_COST): Define.
|
||
(TARGET_MEMORY_MOVE_COST): Likewise.
|
||
* config/arc/arc.h (REGISTER_MOVE_COST): Remove.
|
||
(MEMORY_MOVE_COST): Likewise.
|
||
|
||
2019-04-16 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.md (sibcall_insn): Use Rcd constraint.
|
||
(sibcall_value_insn): Likewise.
|
||
* config/arc/constraints.md (Rs5): Remove.
|
||
|
||
2019-04-16 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (arc_hard_regno_modes): Add two missing modes
|
||
for last two fake registers.
|
||
(arc_conditional_register_usage): Make sure fake frame and arg
|
||
pointer regs are in general regs class.
|
||
(FRAME_POINTER_MASK): Remove.
|
||
(RETURN_ADDR_MASK): Remove.
|
||
(arc_must_save_register): Use hard frame regnum.
|
||
(frame_restore_reg): Use hard_frame_pointer_rtx.
|
||
(arc_save_callee_saves): Likewise.
|
||
(arc_restore_callee_saves): Likewise.
|
||
(arc_save_callee_enter): Likewise.
|
||
(arc_restore_callee_leave): Likewise.
|
||
(arc_save_callee_milli): Likewise.
|
||
(arc_eh_return_address_location): Likewise.
|
||
(arc_check_multi): Use hard frame regnum.
|
||
(arc_can_eliminate): Likewise.
|
||
* config/arc/arc.h (FIXED_REGISTERS): Make FP register available
|
||
for register allocator.
|
||
(REG_CLASS_CONTENTS): Update GENERAL_REGS.
|
||
(REGNO_OK_FOR_BASE_P): Consider FRAME_POINTER_REGNUM.
|
||
(FRAME_POINTER_REGNUM): Change it to a fake register.
|
||
(HARD_FRAME_POINTER_REGNUM): Defined.
|
||
(ARG_POINTER_REGNUM): Change it to a new fake register.
|
||
(ELIMINABLE_REGS): Update.
|
||
(REGISTER_NAMES): Update names.
|
||
* config/arc/arc.md (LP_START): Remove.
|
||
(LP_END): Likewise.
|
||
(shift_si3_loop): Update pattern.
|
||
|
||
2019-04-16 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (arc_expand_prologue): Emit blockage regardless
|
||
to avoid delay slot scheduling.
|
||
(arc_must_save_register): Don't save SP.
|
||
* config/arc/arc.md (stack_tie): Remove.
|
||
(UNSPEC_ARC_STKTIE): Likewise.
|
||
|
||
2019-04-16 Kito Cheng <kito.cheng@gmail.com>
|
||
Shiva Chen <shiva0217@gmail.com>
|
||
|
||
* config/nds32/nds32-md-auxiliary.c (nds32_split_ashiftdi3): Fix wrong
|
||
code gen with large shift amount.
|
||
|
||
2019-04-16 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32-pipelines-auxiliary.c (wext_odd_dep_p): Handle
|
||
subreg.
|
||
|
||
2019-04-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/90096
|
||
* config/i386/i386.c (ix86_target_string): Add ADD_ABI_P argument, only
|
||
print -m64/-mx32/-m32 if it is true.
|
||
(ix86_debug_options, ix86_function_specific_print): Pass true as
|
||
ADD_ABI_P to ix86_target_string.
|
||
(ix86_expand_builtin): Adjust ix86_target_string caller, pass true as
|
||
ADD_ABI_P only if OPTION_MASK_ISA_64BIT is set in bisa and in that case
|
||
or into it OPTION_MASK_ISA_ABI_64 or OPTION_MASK_ISA_ABI_X32.
|
||
|
||
PR rtl-optimization/90082
|
||
* dce.c (can_delete_call): New function.
|
||
(deletable_insn_p, mark_insn): Use it.
|
||
|
||
PR tree-optimization/90090
|
||
* tree-ssa-math-opts.c (is_division_by): Ignore divisions that can
|
||
throw internally.
|
||
(is_division_by_square): Likewise. Formatting fix.
|
||
|
||
2019-04-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/56049
|
||
* tree-ssa-loop-im.c (mem_ref_hasher::equal): Elide alias-set
|
||
equality check if alias-set zero will prevail.
|
||
|
||
2019-04-15 Jeff Law <law@redhat.com>
|
||
|
||
* config/microblaze/microblaze.c (microblaze_expand_block_move): Treat
|
||
size and alignment as unsigned.
|
||
|
||
2019-04-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/90074
|
||
* tree-loop-distribution.c (destroy_loop): Preserve correct
|
||
debug info.
|
||
|
||
2019-04-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90071
|
||
* tree-ssa-reassoc.c (init_range_entry): Do not pick up
|
||
abnormal operands from def stmts.
|
||
|
||
2019-04-15 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/89794
|
||
* combine.c (count_auto_inc): New function.
|
||
(try_combine): Count how many auto_inc expressions there were in the
|
||
original instructions. Ensure we have the same number in the new
|
||
instructions. Remove the code that tried to ensure auto_inc side
|
||
effects on i1 and i0 are not lost.
|
||
|
||
2019-04-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/88936
|
||
* tree.h (auto_var_p): Declare.
|
||
* tree.c (auto_var_p): New function, split out from ...
|
||
(auto_var_in_fn_p): ... here.
|
||
* tree-ssa-structalias.c (struct variable_info): Add shadow_var_uid
|
||
member.
|
||
(new_var_info): Initialize it.
|
||
(set_uids_in_ptset): Also set the shadow variable uid if required.
|
||
(ipa_pta_execute): Postprocess points-to solutions assigning
|
||
shadow variable uids for locals that may reach their containing
|
||
function recursively.
|
||
* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Do not
|
||
assert but instead check whether the points-to solution is
|
||
a singleton.
|
||
|
||
2019-04-15 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/pr89693
|
||
* cgraph.c (clone_of_p): Loop over clone chain for each step in
|
||
the thunk chain.
|
||
|
||
2019-04-15 Monk Chiang <sh.chiang04@gmail.com>
|
||
|
||
* config.gcc (nds32*-*-linux*): Set gcc_cv_initfini_array to yes.
|
||
|
||
2019-04-15 Monk Chiang <sh.chiang04@gmail.com>
|
||
Kito Cheng <kito.cheng@gmail.com>
|
||
Shiva Chen <shiva0217@gmail.com>
|
||
|
||
* config/nds32/nds32-md-auxiliary.c
|
||
(nds32_legitimize_pic_address): Use new PIC pattern.
|
||
(nds32_legitimize_tls_address): Use new TLS pattern.
|
||
(nds32_output_symrel): New.
|
||
* config/nds32/nds32-protos.h (nds32_output_symrel): Declare.
|
||
(nds32_alloc_relax_group_id): Ditto.
|
||
* config/nds32/nds32-relax-opt.c (nds32_alloc_relax_group_id): New.
|
||
(nds32_group_insns): Use nds32_alloc_relax_group_id instead of use
|
||
relax_group_id.
|
||
(nds32_group_tls_insn): Ditto.
|
||
(nds32_group_float_insns): Ditto.
|
||
* config/nds32/nds32.md (tls_le): New.
|
||
(sym_got): Ditto.
|
||
|
||
2019-04-15 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* configure: Add nds32 target for dwarf2 debug_line checking.
|
||
* configure.ac: Regenerated.
|
||
|
||
2019-04-14 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/89358
|
||
* ipa-devirt.c (skip_in_fields_list_p): New.
|
||
(odr_types_equivalent_p): Use it.
|
||
|
||
2019-04-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89093
|
||
* config/arm/arm.c (arm_valid_target_attribute_rec): Use strcmp
|
||
instead of strncmp when checking for thumb and arm. Formatting fixes.
|
||
|
||
2019-04-12 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* doc/install.texi: Document --with-target-system-zlib.
|
||
|
||
2019-04-12 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/88383
|
||
PR c/89288
|
||
PR c/89798
|
||
PR c/89797
|
||
* targhooks.c (default_vector_alignment): Avoid assuming
|
||
argument fits in SHWI.
|
||
* tree.h (TYPE_VECTOR_SUBPARTS): Avoid sign overflow in
|
||
a shift expression.
|
||
* doc/extend.texi (__builtin_has_attribute): Add a clarifying note.
|
||
|
||
2019-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/89965
|
||
* dce.c: Include rtl-iter.h.
|
||
(struct check_argument_load_data): New type.
|
||
(check_argument_load): New function.
|
||
(find_call_stack_args): Check for loads from stack slots still tracked
|
||
in sp_bytes and punt if any is found.
|
||
|
||
* config/mips/loongson-mmiintrin.h: Fix up #error message.
|
||
|
||
2019-04-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* params.def (PARAM_MAX_LTO_STREAMING_PARALLELISM): New parameter.
|
||
* doc/invoke.texi (max-lto-streaming-paralellism): New --param.
|
||
|
||
2019-04-12 Martin Liska <mliska@suse.cz>
|
||
|
||
PR middle-end/89970
|
||
* multiple_target.c (create_dispatcher_calls): Wrap ifunc
|
||
in error message.
|
||
(separate_attrs): Handle multiple 'default's.
|
||
(expand_target_clones): Rework error handling code.
|
||
|
||
2019-04-12 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
PR target/87532
|
||
* config/rs6000/rs6000.c (rs6000_split_vec_extract_var): Use inner
|
||
mode of vector rather than mode of destination for move instruction.
|
||
* config/rs6000/vsx.md (*vsx_extract_<mode>_<VS_scalar>mode_var):
|
||
Use QI inner mode with V16QI vector mode.
|
||
|
||
2019-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/52726
|
||
* config/tilepro/tilepro.c (tilepro_print_operand): Use just
|
||
"invalid %%t operand" in output_operand_lossage message.
|
||
|
||
2019-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/predicates.md (permute_pattern_operand): New
|
||
predicate.
|
||
* config/s390/vector.md ("*vec_splats_bswap_vec<mode>"): Add USE
|
||
operand for the permute pattern.
|
||
("*vec_perm<mode>"): New insn definition.
|
||
("bswap<mode>"): Generate the permute pattern operand in the
|
||
expander and perform the operand reloads for pre arch13 level
|
||
already.
|
||
("*bswap<mode>_emu"): Rename to ...
|
||
("*bswap<mode>"): ... this. And make the splitter vxe2 only.
|
||
* config/s390/vx-builtins.md ("*vec_insert_and_zero_bswap<mode>"):
|
||
Add the USE operand for the permute pattern.
|
||
("*vec_set_bswap_vec<mode>"): Likewise.
|
||
|
||
2019-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/89946
|
||
* varasm.c (assemble_start_function): Don't use tree_fits_uhwi_p
|
||
and gcc_unreachable if it fails, just call tree_to_uhwi which
|
||
verifies that too. Test TREE_CHAIN instead of list_length > 1.
|
||
Start warning message with a lower-case letter. Formatting fixes.
|
||
|
||
PR rtl-optimization/90026
|
||
* cfgcleanup.c (try_optimize_cfg): When removing empty bb with no
|
||
successors, look for BARRIERs inside of the whole BB_FOOTER chain
|
||
rather than just at the start of it. If e->src BB_FOOTER is not NULL
|
||
in cfglayout mode, use emit_barrier_after_bb.
|
||
|
||
2018-04-11 Steve Ellcey <sellcey@marvell.com>
|
||
|
||
PR rtl-optimization/87763
|
||
* config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode>4_noshift_alt):
|
||
New Instruction.
|
||
|
||
2019-04-11 Tom de Vries <tdevries@suse.de>
|
||
|
||
* doc/extend.texi (@node Statement Exprs): Note variable shadowing at
|
||
max macro using statement expression.
|
||
|
||
2019-04-11 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* xcoffout.h (xcoff_private_rodata_section_name): Declare.
|
||
* xcoffout.c (xcoff_private_rodata_section_name): Define.
|
||
* config/rs6000/rs6000.c (rs6000_xcoff_asm_init_sections): Create
|
||
read_only_private_data_section using xcoff_private_rodata_section_name.
|
||
(rs6000_xcoff_file_start): Generate xcoff_private_rodata_section_name.
|
||
|
||
2019-04-11 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
PR target/90016
|
||
* config/aarch64/aarch64.opt (msve-vector-bits): Add missing final '.'.
|
||
|
||
2019-04-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/89965
|
||
* dce.c (sp_based_mem_offset): New function.
|
||
(find_call_stack_args): Use sp_based_mem_offset.
|
||
|
||
2019-04-11 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (Optimize Options): Clarify -flive-patching docs.
|
||
|
||
2019-04-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90020
|
||
* tree-ssa-sccvn.c (vn_reference_may_trap): New function.
|
||
* tree-ssa-sccvn.h (vn_reference_may_trap): Declare.
|
||
* tree-ssa-pre.c (compute_avail): Use it to not put
|
||
possibly trapping references after a call that might not
|
||
return into EXP_GEN.
|
||
* gcse.c (compute_hash_table_work): Do not elide
|
||
marking a block containing a call if the call might not
|
||
return.
|
||
|
||
2019-04-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90018
|
||
* tree-vect-data-refs.c (vect_preserves_scalar_order_p):
|
||
Test both SLP and interleaving variants.
|
||
|
||
2019-04-11 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* config/s390/8561.md: New file.
|
||
* config/s390/driver-native.c (s390_host_detect_local_cpu):
|
||
Add arch13 cpu model.
|
||
* config/s390/s390-opts.h (enum processor_type): Likewise.
|
||
* config/s390/s390.c (s390_get_sched_attrmask): Add arch13.
|
||
(s390_get_unit_mask): Likewise.
|
||
(s390_is_fpd): Likewise.
|
||
(s390_is_fxd): Likewise.
|
||
* config/s390/s390.h (s390_tune_attr): Likewise.
|
||
* config/s390/s390.md: Include arch13 pipeline description.
|
||
* config/s390/s390.opt: Add arch13.
|
||
|
||
2018-04-10 Steve Ellcey <sellcey@marvell.com>
|
||
|
||
PR rtl-optimization/87763
|
||
* config/aarch64/aarch64-protos.h (aarch64_masks_and_shift_for_bfi_p):
|
||
New prototype.
|
||
* config/aarch64/aarch64.c (aarch64_masks_and_shift_for_bfi_p):
|
||
New function.
|
||
* config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode>5_shift):
|
||
New instruction.
|
||
(*aarch64_bfi<GPI:mode>5_shift_alt): Ditto.
|
||
(*aarch64_bfi<GPI:mode>4_noand): Ditto.
|
||
(*aarch64_bfi<GPI:mode>4_noand_alt): Ditto.
|
||
(*aarch64_bfi<GPI:mode>4_noshift): Ditto.
|
||
|
||
2019-04-10 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (Optimize Options): Change "Nevertheless" to
|
||
"Although" in -fipa-icf documentation.
|
||
|
||
* doc/invoke.texi (Debugging Options): Explicitly state the semantics
|
||
of using multiple -g options.
|
||
|
||
2019-04-10 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/89959
|
||
* doc/gcov.texi: Make documentation of -x option
|
||
more precise.
|
||
|
||
2019-04-10 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vectorizer.h (_stmt_vec_info): Remove same_dr_stmt
|
||
member.
|
||
(DR_GROUP_SAME_DR_STMT): Remove.
|
||
* tree-vect-stmts.c (vectorizable_load): Remove unreachable code.
|
||
* tree-vect-data-refs.c (vect_analyze_group_access_1): Likewise,
|
||
replace with assert.
|
||
(vect_analyze_data_ref_accesses): Fix INTEGER_CST comparison.
|
||
(vect_record_grouped_load_vectors): Remove unreachable code.
|
||
|
||
2019-04-10 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/90016
|
||
* config/aarch64/aarch64.opt (msve-vector-bits): Remove redundant and
|
||
obsolete reference to N.
|
||
|
||
2019-04-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/90025
|
||
* expr.c (store_expr): Set properly size on the MEM passed to
|
||
clear_storage.
|
||
|
||
PR c++/90010
|
||
* gimple-ssa-sprintf.c (target_to_host): Fix handling of targstr
|
||
with strlen in between hostsz-3 and hostsz-1 inclusive when no
|
||
translation is needed, and when translation is needed, only append
|
||
... if the string length is hostsz or more bytes long. Avoid using
|
||
strncpy or strcat.
|
||
|
||
2019-04-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
PR target/90024
|
||
* config/arm/arm.c (neon_valid_immediate): Disallow VOIDmode parameter.
|
||
* config/arm/constraints.md (Dm, DN, Dn): Split previous Dn constraint
|
||
into three.
|
||
* config/arm/neon.md (*neon_mov<mode>): Account for TImode and DImode
|
||
differences directly.
|
||
(*smax<mode>3_neon, vashl<mode>3, vashr<mode>3_imm): Use Dm constraint.
|
||
|
||
2019-04-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR translation/90011
|
||
* ipa-devirt.c (compare_virtual_tables): Remove two trailing spaces
|
||
from diagnostics.
|
||
* config/arm/freebsd.h (LINK_SPEC): Remove trailing space from -p
|
||
diagnostics.
|
||
* config/riscv/freebsd.h (LINK_SPEC): Likewise.
|
||
* config/aarch64/aarch64-freebsd.h (FBSD_TARGET_LINK_SPEC): Likewise.
|
||
* config/darwin.h (DRIVER_SELF_SPECS, ASM_FINAL_SPEC): Remove
|
||
trailing space from -gsplit-dwarf diagnostics.
|
||
|
||
PR tree-optimization/89998
|
||
* gimple-ssa-sprintf.c (try_substitute_return_value): Use lhs type
|
||
instead of integer_type_node if possible, don't add ranges if return
|
||
type is not compatible with int.
|
||
* gimple-fold.c (gimple_fold_builtin_sprintf,
|
||
gimple_fold_builtin_snprintf): Use lhs type instead of hardcoded
|
||
integer_type_node.
|
||
|
||
2019-04-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* Makefile.in: Use GENERATOR_CFLAGS for all generators.
|
||
* doc/install.texi: Document the new config.
|
||
|
||
2019-04-09 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* tree-vect-data-refs.c (vect_get_smallest_scalar_type): Always
|
||
use gimple_expr_type for load and store calls. Skip over the
|
||
condition argument in a conditional internal function.
|
||
Protect use of TREE_INT_CST_LOW.
|
||
|
||
2019-04-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/90015
|
||
* config/riscv/riscv.c (riscv_get_interrupt_type): Fix comment typo.
|
||
(riscv_merge_decl_attributes): Fix typo in diagnostics. Remove
|
||
trailing period from it too.
|
||
|
||
2019-04-08 wu yuan <wuyuan5@huawei.com>
|
||
|
||
* config/aarch64/aarch64-cores.def (tsv1100): Change scheduling model.
|
||
* config/aarch64/aarch64.md : Add "tsv110.md"
|
||
* config/aarch64/tsv110.md: New file.
|
||
|
||
2019-04-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/90006
|
||
* tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle
|
||
calls like lrint.
|
||
|
||
2019-04-08 Andrea Corallo <andrea.corallo@arm.com>
|
||
|
||
PR target/83033
|
||
* config/aarch64/cortex-a57-fma-steering.c (fma_forest): Prohibit copy
|
||
construction.
|
||
(fma_root_node): Likewise.
|
||
(func_fma_steering): Likewise.
|
||
|
||
2019-04-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/89865
|
||
* config/i386/i386.md: Add peepholes for z = x; x ^= y; x != z.
|
||
|
||
PR rtl-optimization/89865
|
||
* config/i386/i386.md
|
||
(SWI12 peephole for mem {+,-,&,|,^}= x; mem != 0): Fix up operand
|
||
numbers not to clash with the additional operands[4].
|
||
(peepholes for mem {+,-,&,|,^}= x; mem != 0): New peephole2s
|
||
with extra register copy in the middle.
|
||
|
||
2019-04-08 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/89961
|
||
* doc/gcov.texi: Document data_file.
|
||
* gcov.c (generate_results): Add data_info into JSON output.
|
||
|
||
2019-04-01 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/89725
|
||
* tree-chrec.c (chrec_contains_symbols): New parameter. Handle outer
|
||
loop's chrec as invariant symbol.
|
||
* tree-chrec.h (chrec_contains_symbols): New parameter.
|
||
* tree-data-ref.c (analyze_miv_subscript): Pass new argument.
|
||
(build_classic_dist_vector_1, add_other_self_distances): Bypass access
|
||
function of loops not in DDR's loop_nest.
|
||
* tree-data-ref.h (index_in_loop_nest): Add unreachable check.
|
||
|
||
2019-04-08 Chenghua Xu <paul.hua.gm@gmail.com>
|
||
|
||
PR target/89623
|
||
* config/mips/mips.opt (LOONGSON_EXT2): Use Var instead of
|
||
Mask.
|
||
|
||
2019-04-07 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/89945
|
||
* config/i386/i386.md (anddi_1 to andsi_1_zext splitter):
|
||
Avoid calling gen_lowpart with SYMBOL_REF and LABEL_REF operand.
|
||
|
||
2019-04-05 Joern Rennecke <joern.rennecke@embecosm.com>
|
||
|
||
* sched-deps.c (sched_macro_fuse_insns): Check return value of
|
||
targetm.fixed_condition_code_regs.
|
||
|
||
2019-04-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/89892
|
||
PR debug/89905
|
||
* tree-cfgcleanup.c (remove_forwarder_block): Always move
|
||
debug bind stmts but reset them if they are not valid at the
|
||
destination.
|
||
|
||
2019-04-05 Martin Liska <mliska@suse.cz>
|
||
|
||
PR translation/89936
|
||
* collect-utils.c (collect_execute): Use %< and %>, or %qs in
|
||
order to wrap keywords or arguments.
|
||
* collect2.c (main): Likewise.
|
||
(scan_prog_file): Likewise.
|
||
(scan_libraries): Likewise.
|
||
* common/config/riscv/riscv-common.c
|
||
(riscv_subset_list::parsing_subset_version): Likewise.
|
||
(riscv_subset_list::parse_std_ext): Likewise.
|
||
* config/aarch64/aarch64.c (aarch64_override_options_internal):
|
||
Likewise.
|
||
* config/arm/arm.c (arm_option_override): Likewise.
|
||
* config/cris/cris.c (cris_print_operand): Likewise.
|
||
* config/darwin-c.c (darwin_pragma_options): Likewise.
|
||
(darwin_pragma_unused): Likewise.
|
||
(darwin_pragma_ms_struct): Likewise.
|
||
* config/ft32/ft32.c (ft32_print_operand): Likewise.
|
||
* config/i386/i386.c (print_reg): Likewise.
|
||
(ix86_print_operand): Likewise.
|
||
* config/i386/xm-djgpp.h: Likewise.
|
||
* config/iq2000/iq2000.c (iq2000_print_operand): Likewise.
|
||
* config/m32c/m32c.c (m32c_option_override): Likewise.
|
||
* config/msp430/msp430.c (msp430_option_override): Likewise.
|
||
* config/nds32/nds32.c (nds32_option_override): Likewise.
|
||
* config/nvptx/mkoffload.c (main): Likewise.
|
||
* config/rx/rx.c (rx_print_operand): Likewise.
|
||
(valid_psw_flag): Likewise.
|
||
* config/vms/vms-c.c (vms_pragma_member_alignment): Likewise.
|
||
(vms_pragma_nomember_alignment): Likewise.
|
||
(vms_pragma_extern_model): Likewise.
|
||
* lto-wrapper.c (compile_offload_image): Likewise.
|
||
* omp-offload.c (oacc_parse_default_dims): Likewise.
|
||
* symtab.c (symtab_node::verify_base): Likewise.
|
||
* tlink.c (recompile_files): Likewise.
|
||
(start_tweaking): Likewise.
|
||
* tree-profile.c (parse_profile_filter): Likewise.
|
||
|
||
2019-04-05 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/89956
|
||
* tree-ssa-math-opts.c (convert_mult_to_fma): Protect against
|
||
multiple negates of the same value.
|
||
|
||
2019-04-04 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/89957
|
||
PR middle-end/89911
|
||
* builtins.c (expand_builtin_strnlen): Make sure wi::ltu_p operands
|
||
have the same precision since the function crashes otherwise.
|
||
* calls.c (maybe_warn_nonstring_arg): Avoid assuming strnlen() call
|
||
has non-zero arguments.
|
||
|
||
2019-04-04 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/89934
|
||
* gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Bail
|
||
out if the number of arguments is less than expected.
|
||
|
||
2019-04-04 Jeff Law <law@redhat.com>
|
||
|
||
PR rtl-optimization/89399
|
||
* ree.c (combine_set_extension): Use single_set rather than
|
||
digging into PATTERN for items on the candidate list.
|
||
(combine_reaching_defs): Likewise.
|
||
|
||
2019-04-04 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/46590
|
||
* loop-invariant.c (find_defs): Move df_remove_problem and
|
||
df_process_deferred_rescans to move_invariants.
|
||
Move df_live_add_problem and df_live_set_all_dirty calls
|
||
to move_invariants.
|
||
(move_invariants): Likewise.
|
||
(move_loop_invariants): Likewise, making the df_live calls
|
||
conditional on -O. Remove the problem again if we added it
|
||
locally.
|
||
|
||
2019-04-03 qing zhao <qing.zhao@oracle.com>
|
||
|
||
PR tree-optimization/89730
|
||
* ipa-inline.c (can_inline_edge_p): Delete the checking for
|
||
-flive-patching=inline-only-static.
|
||
(can_inline_edge_by_limits_p): Add the checking for
|
||
-flive-patching=inline-only-static and grant always_inline
|
||
even when -flive-patching=inline-only-static is specified.
|
||
|
||
2019-04-03 Jeff Law <law@redhat.com>
|
||
|
||
PR rtl-optimization/81025
|
||
* reorg.c (skip_consecutive_labels): Do not skip past a BARRIER.
|
||
|
||
2019-04-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/84101
|
||
* tree-vect-stmts.c: Include explow.h for hard_function_value,
|
||
regs.h for hard_regno_nregs.
|
||
(cfun_returns): New helper.
|
||
(vect_model_store_cost): When vectorizing a store to a decl
|
||
we return and the function ABI returns in a multi-reg location
|
||
account for the possible spilling that will happen.
|
||
|
||
2019-04-03 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_legitimate_address_p): Reject long
|
||
displacement addresses for vector mode operands.
|
||
|
||
2019-04-03 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (GMASK_LEN): Define.
|
||
(arc_restore_callee_saves): Restore first blink when
|
||
!optimize_size.
|
||
|
||
2019-04-03 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* doc/extend.texi: Add deprecated comment on sign-return-address
|
||
function attribute and add mbranch-protection.
|
||
* doc/invoke.texi: Add bti to the options for mbranch-protection.
|
||
|
||
2019-04-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/89896
|
||
* lto-wrapper.c (run_gcc): Avoid implicit rules making
|
||
the all target phony.
|
||
|
||
2019-04-02 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/89902
|
||
PR target/89903
|
||
* config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
|
||
Return false for variable DImode shifts.
|
||
(dimode_scalar_chain::compute_convert_gain): Do not handle
|
||
register count operand in variable DImode shifts.
|
||
(dimode_scalar_chain::make_vector_copies): Remove support to copy
|
||
count argument of a variable shift instruction to a vector register.
|
||
(dimode_scalar_chain::convert_reg): Remove support to convert
|
||
count argument of a variable shift instruction.
|
||
|
||
2019-04-02 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR rtl-optimization/84206
|
||
* sel-sched-ir.h (get_all_loop_exits): Avoid the outer loop when
|
||
iterating over loop headers.
|
||
|
||
2019-04-02 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR rtl-optimization/85876
|
||
* sel-sched.c (code_motion_path_driver): Avoid unwinding first_insn
|
||
beyond the original fence.
|
||
|
||
2019-04-02 Ulrich Weigand <uweigand@de.ibm.com>
|
||
|
||
* config.gcc: Mark spu* targets as deprecated/obsolete.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390-builtin-types.def: New builtin function type
|
||
definitions. Remove unused types.
|
||
* config/s390/s390-builtins.def (s390_vcdgb, s390_vcdlgb)
|
||
(s390_vcgdb, s390_vclgdb): Remove low-level builtin definitions.
|
||
(s390_vec_float, s390_vec_signed, s390_vec_unsigned): New
|
||
overloaded builtins.
|
||
(s390_vcefb, s390_vcdgb, s390_vcelfb, s390_vcdlgb, s390_vcfeb)
|
||
(s390_vcgdb, s390_vclfeb, s390_vclgdb): New low-level builtins.
|
||
* config/s390/vecintrin.h (vec_float): New builtin macro definition.
|
||
(vec_double, vec_signed, vec_unsigned): Define to use the new
|
||
overloaded builtins.
|
||
* config/s390/vx-builtins.md ("vec_double_s64", "vec_double_u64"):
|
||
Remove expanders.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390-builtin-types.def: New builtin function type
|
||
definitions.
|
||
* config/s390/s390-builtins.def (s390_vec_search_string_cc)
|
||
(s390_vec_search_string_until_zero_cc): New overloaded builtins.
|
||
(s390_vstrsb, s390_vstrsh, s390_vstrsf, s390_vstrszb)
|
||
(s390_vstrszh, s390_vstrszf): New low-level builtins.
|
||
* config/s390/s390.md (UNSPEC_VEC_VSTRS, UNSPEC_VEC_VSTRSCC): New
|
||
constant definitions.
|
||
* config/s390/vecintrin.h (vec_search_string_cc)
|
||
(vec_search_string_until_zero_cc): New builtin name definitions.
|
||
* config/s390/vx-builtins.md ("vstrs<mode>", "vstrsz<mode>"): New
|
||
expanders.
|
||
("vec_vstrs<mode>"): New insn definition.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390-builtin-types.def: Add new builtin function
|
||
types.
|
||
* config/s390/s390-builtins.def (s390_vec_sldb, s390_vec_srdb):
|
||
New overloaded builtins.
|
||
(s390_vec_sldb, s390_vec_srdb): New low-level builtins. and
|
||
s390_vsrd.
|
||
* config/s390/s390.md (UNSPEC_VEC_SLDB): Rename to ...
|
||
(UNSPEC_VEC_SLDBYTE): ... this.
|
||
(UNSPEC_VEC_SLDBIT, UNSPEC_VEC_SRDBIT): New constant definitions.
|
||
* config/s390/vecintrin.h (vec_sldb, vec_srdb): New builtin name
|
||
definitions.
|
||
* config/s390/vx-builtins.md ("vec_sld<mode>", "vec_sldw<mode>"):
|
||
Rename UNSPEC_VEC_SLDB to UNSPEC_VEC_SLDBYTE.
|
||
("vec_sldb<mode>", "vec_srdb<mode>"): New insn definitions.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
("*vec_splats_bswap_vec<mode>", "*vec_splats_bswap_elem<mode>"):
|
||
New insn definition.
|
||
* config/s390/vx-builtins.md (V_HW_HSD): Move to ...
|
||
* config/s390/vector.md (V_HW_HSD): ... here.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/vecintrin.h: Map vec_vster low-level builtins to vec_vler.
|
||
* config/s390/vx-builtins.md ("*vec_insert_and_zero_bswap<mode>")
|
||
("*vec_set_bswap_elem<mode>", "*vec_set_bswap_vec<mode>")
|
||
("*vec_extract_bswap_vec<mode>", "*vec_extract_bswap_elem<mode>"):
|
||
New insn definitions.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390-builtin-types.def: Add new builtin function type.
|
||
* config/s390/s390-builtins.def: Add overloaded builtin
|
||
s390_vec_reve and low-level builtins for s390_vler and s390_vster.
|
||
* config/s390/s390.md (UNSPEC_VEC_ELTSWAP): New constant definition.
|
||
* config/s390/vecintrin.h (vec_reve): New builtin name definition.
|
||
* config/s390/vx-builtins.md (V_HW_HSD): New mode iterator.
|
||
("eltswap<mode>"): New expander.
|
||
("*eltswapv16qi", "*eltswap<mode>", "*eltswap<mode>_emu"): New
|
||
insn definitions.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390-builtin-types.def: Add new builtin function types.
|
||
* config/s390/s390-builtins.def: Add overloaded builtin
|
||
s390_vec_revb. Add low-level builtins for vlbr and vstbr
|
||
instructions.
|
||
* config/s390/vecintrin.h (vec_revb): New builtin name definition.
|
||
* config/s390/vector.md (VT_HW_HSDT): New mode iterator.
|
||
("bswap<mode>"): New expander.
|
||
("*bswap<mode>", "*bswap<mode>_emu"): New insn definitions.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390-builtins.def (B_VXE2): New builtin flag definition.
|
||
* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Increment
|
||
vector builtin version number in __VEC__.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390.md (VX_CONV_BFP, VX_CONV_INT): New mode
|
||
iterators.
|
||
(SFSI): New mode attribute.
|
||
("*fixuns_truncdfdi2_vx", "*fix_truncdfdi2_bfp_z13")
|
||
("*floatunsdidf2_z13", ): Add support for 32 bit conversions and
|
||
rename to ...
|
||
("*fixuns_trunc<VX_CONV_BFP:mode><VX_CONV_INT:mode>2_z13")
|
||
("*fix_trunc<VX_CONV_BFP:mode><VX_CONV_INT:mode>2_bfp_z13")
|
||
("*floatuns<VX_CONV_INT:mode><VX_CONV_BFP:mode>2_z13"): ... these.
|
||
("floatsi<mode>2"): Add wcefb instruction.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390.md ("xde"): Extend mode attribute to vector types.
|
||
* config/s390/vector.md (VX_VEC_CONV_BFP, VX_VEC_CONV_INT): New
|
||
mode iterators.
|
||
("floatv2div2df2", "floatunsv2div2df2", "fix_truncv2dfv2di2")
|
||
("fixuns_truncv2dfv2di2"): Enhance with mode iterator to also
|
||
support 32 bit fp-int conversions. Rename to ...
|
||
("float<VX_VEC_CONV_INT:mode><VX_VEC_CONV_BFP:mode>2")
|
||
("floatuns<VX_VEC_CONV_INT:mode><VX_VEC_CONV_BFP:mode>2")
|
||
("fix_trunc<VX_VEC_CONV_BFP:mode><VX_VEC_CONV_INT:mode>2")
|
||
("fixuns_trunc<VX_VEC_CONV_BFP:mode><VX_VEC_CONV_INT:mode>2"):
|
||
... to these.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_rtx_costs): Do not add extra costs for
|
||
if-then-else constructs if we can use the select instruction.
|
||
* config/s390/s390.md ("*mov<mode>cc"): Add the new instructions.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390.md ("*popcountdi_arch13_cc")
|
||
("*popcountdi_arch13_cconly", "*popcountdi_arch13"): New insn
|
||
definition.
|
||
("*popcount<mode>", "popcountdi2", "popcountsi2", "popcounthi2"):
|
||
Append _z196 to make it ...
|
||
("*popcount<mode>_z196", "popcountdi2_z196", "popcountsi2_z196")
|
||
("popcounthi2_z196"): ... this.
|
||
("popcountdi2_z196"): Remove TARGET_64BIT from the insn condition.
|
||
("popcountdi2", "popcountsi2", "popcounthi2"): New expanders.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_canonicalize_comparison): Convert
|
||
certain compares for arch13 in order to make use of the condition
|
||
code result produced by the new instructions.
|
||
(s390_rtx_costs): Adjust the costs for nnrk, nngrk, nork, nogrk,
|
||
nxrk, and nxgrk instruction patterns.
|
||
* config/s390/s390.md (ANDOR, bitops_name, inv_bitops_name)
|
||
(inv_no): Add new code iterator together with some attributes.
|
||
("*andc_split_<mode>"): Disable splitter for arch13.
|
||
("*<ANDOR:bitops_name>c<GPR:mode>_cc")
|
||
("*<ANDOR:bitops_name>c<GPR:mode>_cconly")
|
||
("*<ANDOR:bitops_name>c<GPR:mode>")
|
||
("*n<ANDOR:inv_bitops_name><GPR:mode>_cc")
|
||
("*n<ANDOR:inv_bitops_name><mode>_cconly")
|
||
("*n<ANDOR:inv_bitops_name><mode>", "*nxor<GPR:mode>_cc")
|
||
("*nxor<mode>_cconly", "*nxor<mode>"): New insn definitions.
|
||
|
||
2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* common/config/s390/s390-common.c (processor_flags_table): New
|
||
entry for arch13.
|
||
* config.gcc: Support arch13 with the --with-arch= configure flag.
|
||
* config/s390/driver-native.c (s390_host_detect_local_cpu):
|
||
* config/s390/s390-opts.h (enum processor_type): Add PROCESSOR_ARCH13.
|
||
* config/s390/s390.c (s390_get_sched_attrmask)
|
||
(s390_get_unit_mask): Add PROCESSOR_ARCH13.
|
||
* config/s390/s390.h (enum processor_flags): Add PF_VXE2 and PF_ARCH13.
|
||
* config/s390/s390.md (TARGET_CPU_ARCH13, TARGET_CPU_ARCH13_P)
|
||
(TARGET_CPU_VXE2, TARGET_CPU_VXE2_P, TARGET_ARCH13)
|
||
(TARGET_ARCH13_P, TARGET_VXE2, TARGET_VXE2_P): New macro
|
||
definitions.
|
||
* config/s390/s390.opt: Support arch13 as processor type in
|
||
command line options.
|
||
|
||
2019-04-02 Martin Liska <mliska@suse.cz>
|
||
|
||
PR translation/89912
|
||
* params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP):
|
||
Fix param description of graphite-max-arrays-per-scop.
|
||
|
||
2019-04-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/sparc/linux64.h (ASAN_REJECT_SPEC): New macro.
|
||
(ASAN_CC1_SPEC): Use it in 64-bit mode.
|
||
* config/sparc/sol2.h (ASAN_REJECT_SPEC): Remove superfluous colon.
|
||
|
||
2019-04-01 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR rtl-optimization/85412
|
||
* sel-sched.c (sel_sched_region): Assign reset_sched_cycles_p before
|
||
sel_sched_region_1, not after.
|
||
|
||
2019-04-01 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR rtl-optimization/86928
|
||
* sel-sched-ir.c (sel_redirect_edge_and_branch_force): Invoke
|
||
compute_live if necessary.
|
||
(sel_redirect_edge_and_branch): Likewise.
|
||
|
||
2019-04-01 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/89865
|
||
* ira-costs.c (process_bb_node_for_hard_reg_moves): Skip hard
|
||
register if it is a part of small class.
|
||
|
||
2019-04-01 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR rtl-optimization/87273
|
||
* sel-sched-ir.c (merge_fences): Remove assert.
|
||
|
||
2019-04-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/46590
|
||
* domwalk.h (dom_walker::dom_walker): Consolidate constructors.
|
||
(dom_walker::m_reachability): Add in place of...
|
||
(dom_walker::m_skip_unreachable_blocks): ...this.
|
||
* domwalk.c (dom_walker::dom_walker): Consoliate constructors.
|
||
Move complex initialization ...
|
||
(dom_walker::walk): Here. Especially compute m_bb_to_rpo
|
||
lazily and initialize edge flags on each invocation.
|
||
(dom_walker::bb_reachable): Use m_reachability.
|
||
|
||
2019-04-01 Martin Liska <mliska@suse.cz>
|
||
|
||
PR driver/89861
|
||
* opt-suggestions.c (option_proposer::build_option_suggestions):
|
||
Add variant without any argument in order to provide better
|
||
hints.
|
||
|
||
2019-04-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR c/71598
|
||
* gimple.c: Include langhooks.h.
|
||
(gimple_get_alias_set): Treat enumeral types as the underlying
|
||
integer type.
|
||
|
||
2019-03-29 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/89862
|
||
* rtl.h (word_register_operation_p): Exclude CONST_INT from operations
|
||
that operates on the full registers for WORD_REGISTER_OPERATIONS
|
||
architectures.
|
||
|
||
2019-03-29 Jim Wilson <jimw@sifive.com>
|
||
|
||
* common/config/riscv/riscv-common.c (riscv_parse_arch_string):
|
||
Clear MASK_RVC and then set if C subset supported.
|
||
|
||
2019-03-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/89872
|
||
* gimplify.c (gimplify_compound_literal_expr): Don't optimize a
|
||
non-addressable complit into its initializer if it is volatile.
|
||
|
||
2019-03-29 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
* opts-common.c (integral_argument): Set errno properly in one case.
|
||
|
||
2019-03-29 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/invoke.texi: Remove -Wchkp from documentation.
|
||
|
||
2019-03-29 Martin Liska <mliska@suse.cz>
|
||
|
||
* dbgcnt.c (print_limit_reach): New function.
|
||
(dbg_cnt): Use it.
|
||
|
||
2019-03-29 Martin Liska <mliska@suse.cz>
|
||
|
||
* dbgcnt.c (dbg_cnt_process_single_pair): Fix GNU coding style.
|
||
(dbg_cnt_process_opt): Parse first tokens aas
|
||
dbg_cnt_process_single_pair is also using strtok.
|
||
|
||
2019-03-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/87485
|
||
* function.c (expand_function_end): Move stack_protect_epilogue
|
||
before loading of return value into hard register(s).
|
||
|
||
2019-03-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/89621
|
||
* tree-inline.h (struct copy_body_data): Add
|
||
dont_remap_vla_if_no_change flag.
|
||
* tree-inline.c (remap_type_3, remap_type_2): New functions.
|
||
(remap_type): Don't remap vla types if id->dont_remap_vla_if_no_change
|
||
and remap_type_2 returns false.
|
||
* omp-low.c (new_omp_context): Set ctx->cb.dont_remap_vla_if_no_change.
|
||
Move ctx->cb.adjust_array_error_bounds setting to the outermost ctx
|
||
only from where it is copied to nested contexts.
|
||
|
||
2019-03-28 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/89865
|
||
* config/i386/i386.md (RMW operation with LEA peephole):
|
||
Use LEAMODE mode attribute instead of SWI mode iterator for
|
||
LEA pattern.
|
||
|
||
2019-03-28 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/89848
|
||
* config/i386/i386.c (dimode_scalar_chain::make_vector_copies):
|
||
Also process XEXP (src, 0) of a shift insn.
|
||
|
||
2019-03-28 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR middle-end/89725
|
||
* optinfo-emit-json.cc (optrecord_json_writer::optinfo_to_json):
|
||
Use DECL_ASSEMBLER_NAME rather than get_fnname_from_decl.
|
||
|
||
2019-03-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* regcprop.c (copyprop_hardreg_forward_1): Remove redundant INSN_P
|
||
test.
|
||
(cprop_hardreg_bb, cprop_hardreg_debug): New functions.
|
||
(pass_cprop_hardreg::execute): Use those. Don't repeat bb processing
|
||
immediately after first one with df_analyze in between, but rather
|
||
process all bbs, queueing ones that need second pass in a worklist,
|
||
df_analyze, process queued debug insn changes and if second pass is
|
||
needed, process bbs from worklist, df_analyze, process queued debug
|
||
insns again.
|
||
|
||
* rtl.h (NONDEBUG_INSN_P): Define as NONJUMP_INSN_P or JUMP_P
|
||
or CALL_P instead of INSN_P && !DEBUG_INSN_P.
|
||
(INSN_P): Define using NONDEBUG_INSN_P or DEBUG_INSN_P.
|
||
|
||
2019-03-28 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR c/79022
|
||
* gengtype.h (create_nested_ptr_option): Fix parameter names to match
|
||
definition.
|
||
|
||
2019-03-27 Mateusz B <mateuszb@poczta.onet.pl>
|
||
|
||
PR target/85667
|
||
* config/i386/i386.c (ix86_function_value_1): Call the newly added
|
||
function for 32-bit MS_ABI.
|
||
(function_value_ms_32): New function.
|
||
|
||
2019-03-27 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config/gcn/gcn.md (CC_SAVE_REG): New constant.
|
||
(movdi): Call gen_movdi_symbol_save_scc.
|
||
(gen_movdi_symbol_save_scc): New insn and split.
|
||
|
||
2019-03-27 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
PR rtl-optimization/89313
|
||
* function.c (matching_constraint_num): New static function.
|
||
(match_asm_constraints_1): Use it. Fixup white space and comment.
|
||
Don't replace inputs with non-matching constraints which conflict
|
||
with early clobber outputs.
|
||
|
||
2019-03-27 Jeff Law <law@redhat.com>
|
||
|
||
|
||
PR rtl-optimization/87761
|
||
PR rtl-optimization/89826
|
||
* regcprop.c (copyprop_hardreg_forward_1): Move may_trap_p test
|
||
slightly later.
|
||
(pass_cprop_hardreg::execute): Call df_analyze after adding the
|
||
note problem to get REG_DEAD/REG_UNUSED notes updated.
|
||
|
||
2019-03-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89463
|
||
* tree-ssa-dce.c (remove_dead_stmt): Take output vector to
|
||
queue edges to remove.
|
||
(eliminate_unnecessary_stmts): Remove dead PHIs alongside
|
||
dead stmts. Delay edge removal until PHIs are removed to
|
||
make debug-stmt creation not confused by seemingly degenerate
|
||
PHIs.
|
||
|
||
2019-03-27 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.h: Rename NON_SPECIAL_REGS to GEN_OR_FLOAT_REGS
|
||
throughout file.
|
||
* config/rs6000/darwin.h: Likewise.
|
||
* config/rs6000/rs6000.c: Likewise.
|
||
|
||
2019-03-27 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Always
|
||
assign rs6000_hard_regno_mode_ok_p[m][r]. Formatting.
|
||
|
||
2019-03-26 Andrew Waterman <andrew@sifive.com>
|
||
Jim Wilson <jimw@sifive.com>
|
||
|
||
* config/riscv/generic.md (generic_alu, generic_load, generic_store)
|
||
(generic_xfer, generic_branch, generic_imul, generic_idivsi)
|
||
(generic_idivdi, generic_fmul_single, generic_fmul_double)
|
||
(generic_fdiv, generic_fsqrt): Add check for generic tune.
|
||
(generic_alu): Add auipc to type list.
|
||
* config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): New.
|
||
(riscv_microarchitecture): Declare.
|
||
* config/riscv/riscv-protos.h (riscv_store_data_bypass_p): Declare.
|
||
* config/riscv/riscv.c (struct riscv_cpu_info): Add microarchitecture
|
||
field.
|
||
(riscv_microarchitecture): New.
|
||
(sifive_7_tune_info): New.
|
||
(riscv_cpu_info_table): Add microarchitecture value for rocket and
|
||
size. Add sifive-3-series, sifive-5-series, and sifive-7-series
|
||
entries.
|
||
(riscv_store_data_bypass_p): New.
|
||
(riscv_option_override): Set riscv_microarchitecture from
|
||
cpu->microarchitecture.
|
||
* config/riscv/riscv.md: Include sifive-7.md.
|
||
(type): Add auipc.
|
||
(tune): New.
|
||
(auipc<mode>): Change type to auipc.
|
||
(restore_stack_nonlocal): New.
|
||
* config/riscv/sifive-7.md: New.
|
||
* doc/invoke.texi (RISC-V Options): Update mtune docs.
|
||
|
||
2019-03-26 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/89827
|
||
* config/i386/i386.c (dimode_scalar_chain::convert_reg):
|
||
Also process XEXP (src, 0) of a shift insn.
|
||
|
||
2019-03-26 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-inline.c (remap_gimple_stmt): Cache gimple_block.
|
||
(copy_debug_stmt): Likewise.
|
||
(expand_call_inline): Likewise.
|
||
(copy_bb): Avoid redundant lookup & set of gimple_block.
|
||
* gimple-low.c (lower_gimple_return): Likewise.
|
||
(lower_builtin_setjmp): Likewise.
|
||
|
||
2019-03-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* hash-table.h (hash_table::m_gather_mem_stats): If GATHER_STATISTICS
|
||
is constant 0, turn into static const data member initialized to false.
|
||
(hash_table::hash_table): Only initialize m_gather_mem_stats #if
|
||
GATHER_STATISTICS. Add ATTRIBUTE_UNUSED to gather_mem_stats param.
|
||
|
||
2019-03-26 Jason Merrill <jason@redhat.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* mem-stats.h (mem_alloc_description::unregister_descriptor): New
|
||
method.
|
||
(mem_alloc_description::release_object_overhead): Fix comment typos.
|
||
* hash-table.h (hash_table::~hash_table): Call
|
||
release_instance_overhead only if m_entries is non-NULL, otherwise
|
||
call unregister_descriptor.
|
||
|
||
2019-03-26 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/81740
|
||
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
|
||
In case of outer loop vectorization, check for backward dependence
|
||
at the inner loop if outer loop dependence is reversed.
|
||
|
||
2019-03-26 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Correct
|
||
rs6000_vector_mem init. Correct wI and wJ comment.
|
||
|
||
2019-03-25 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
PR rtl-optimization/88347
|
||
PR rtl-optimization/88423
|
||
* sched-deps.c (sched_analyze_insn): Take into account that for
|
||
tablejumps the barrier appears after a label and a jump_table_data.
|
||
|
||
2019-03-25 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/89812
|
||
* c-common.c (check_user_alignment): Rename local. Correct maximum
|
||
alignment in diagnostic. Avoid assuming argument fits in SHWI,
|
||
convert it to UHWI when it fits.
|
||
|
||
2019-03-25 Johan Karlsson <johan.karlsson@enea.com>
|
||
|
||
PR debug/86964
|
||
* dwarf2out.c (premark_used_variables): New function.
|
||
(prune_unused_types_walk): Do not mark not premarked external
|
||
variables.
|
||
(prune_unused_types): Call premark_used_variables.
|
||
|
||
2019-03-25 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/89676
|
||
* lra-constraints.c (curr_insn_transform): Do match reload for
|
||
early clobbers when the match was successful only for different
|
||
registers.
|
||
|
||
2019-03-25 Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/extend.texi (Common Type Attributes): Document vector_size.
|
||
(Common Variable Attributes): Mention size constraint. Correct
|
||
quoting and typos.
|
||
(Vector Extensions): Use @dfn when defining bas type. Clarify
|
||
base type and size constraints.
|
||
|
||
2019-03-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89789
|
||
* tree-ssa-sccvn.c (set_ssa_val_to): Do not allow lattice
|
||
changes from non-undefined back to undefined.
|
||
|
||
2019-03-25 Thomas Otto <thomas.otto@pdv-fs.de>
|
||
|
||
* dwarf2out.c (comp_dir_string): cached_wd could be set to both a
|
||
heap string and a gc string, but since this variable is unknown to
|
||
ggc the gc string might get reused and corrupted. Fixed by always
|
||
using a heap string.
|
||
|
||
2019-03-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89779
|
||
* tree-ssa-loop-ivopts.c (remove_unused_ivs): Return
|
||
to remove IV defs, delay actual removal.
|
||
(tree_ssa_iv_optimize_loop): Likewise. Avoid SCEV reset.
|
||
(tree_ssa_iv_optimize): Remove eliminated IV defs at the
|
||
very end, properly also reset loop control IV information.
|
||
|
||
2019-03-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89802
|
||
* tree-ssa-math-opts.c (convert_mult_to_fma_1): Properly
|
||
move EH data to folded stmt.
|
||
|
||
2019-03-25 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390-builtin-types.def: Remove few unused types and
|
||
fix sort order for others.
|
||
|
||
2019-03-25 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390-c.c (s390_fn_types_compatible): Print the
|
||
expected and found types with -mdebug during builtin matching.
|
||
|
||
2019-03-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/89790
|
||
* fold-const.c (operand_equal_p): Revert last change with
|
||
updated comment.
|
||
|
||
2019-03-24 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Add REG_EQUAL
|
||
notes for the result of the __tls_get_addr calls.
|
||
* config/rs6000/rs6000.md (unspec UNSPEC_TLS_GET_ADDR): New.
|
||
|
||
2019-03-24 Jeff Law <law@redhat.com>
|
||
|
||
* config/bfin/bfin.md (movpdi): Fix length for alternative 1.
|
||
|
||
PR rtl-optimization/87761
|
||
* regcprop.c (copyprop_hardreg_forward_1): Check may_trap_p on SET,
|
||
not INSN. Also check RTX_FRAME_RELATED_P. Queue insns for DF rescan
|
||
as needed.
|
||
(pass_cprop_hardreg::execute): Add df note problem and defer insn
|
||
rescans. Reprocess blocks as needed, calling df_analyze before
|
||
reprocessing. Always call df_analyze before fixing up debug bind
|
||
insns.
|
||
|
||
2019-03-23 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/xmmintrin.h (_mm_movemask_pi8): Implement for 32-bit
|
||
big endian.
|
||
|
||
2019-03-22 Andrew Pinski <apinski@marvell.com>
|
||
|
||
* config/aarch64/aarch64.md (zero_extendsidi2_aarch64): Fix type
|
||
attrribute for uxtw.
|
||
|
||
2019-03-26 Jeff Law <law@redhat.com>
|
||
|
||
PR rtl-optimization/87761
|
||
* config/mips/mips-protos.h (mips_split_move): Add new argument.
|
||
(mips_emit_move_or_split): Pass NULL for INSN into mips_split_move.
|
||
(mips_split_move): Accept new INSN argument. Try to forward SRC
|
||
into the next instruction.
|
||
(mips_split_move_insn): Pass INSN through to mips_split_move.
|
||
|
||
2019-03-22 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/89676
|
||
* lra-constraints.c (curr_insn_transform): Do match reload for
|
||
early clobbers even if the match was successful.
|
||
|
||
2019-03-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/87481
|
||
* doc/invoke.texi (-fconstexpr-ops-limit=): Document.
|
||
|
||
2019-03-22 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
* config/rs6000/mmintrin.h (_mm_sub_pi32): Fix typo.
|
||
|
||
2019-03-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/sse.md (<avx512>_fmadd_<mode>_mask3<round_name>,
|
||
<avx512>_fmsub_<mode>_mask3<round_name>,
|
||
<avx512>_fnmadd_<mode>_mask3<round_name>,
|
||
<avx512>_fnmsub_<mode>_mask3<round_name>,
|
||
avx512f_vmfmadd_<mode>_mask3<round_name>,
|
||
avx512f_vmfmsub_<mode>_mask3<round_name>,
|
||
*avx512f_vmfnmadd_<mode>_mask3<round_name>): Use <round_nimm_predicate>
|
||
instead of register_operand and %v instead of v for match_operand 1.
|
||
(avx512f_vmfnmsub_<mode>_mask3<round_name>): Rename to ...
|
||
(*avx512f_vmfnmsub_<mode>_mask3<round_name>): ... this. Use
|
||
<round_nimm_predicate> instead of register_operand and %v instead of v
|
||
for match_operand 1.
|
||
|
||
* config/i386/sse.md (<avx512>_fmadd_<mode>_mask<round_name>,
|
||
<avx512>_fmadd_<mode>_mask3<round_name>,
|
||
<avx512>_fmsub_<mode>_mask<round_name>,
|
||
<avx512>_fmsub_<mode>_mask3<round_name>,
|
||
<avx512>_fnmadd_<mode>_mask<round_name>,
|
||
<avx512>_fnmadd_<mode>_mask3<round_name>,
|
||
<avx512>_fnmsub_<mode>_mask<round_name>,
|
||
<avx512>_fnmsub_<mode>_mask3<round_name>,
|
||
<avx512>_fmaddsub_<mode>_mask<round_name>,
|
||
<avx512>_fmaddsub_<mode>_mask3<round_name>,
|
||
<avx512>_fmsubadd_<mode>_mask<round_name>,
|
||
<avx512>_fmsubadd_<mode>_mask3<round_name>): Use
|
||
<round_nimm_predicate> instead of nonimmediate_operand.
|
||
(fmai_vmfmadd_<mode><round_name>, fmai_vmfmsub_<mode><round_name>,
|
||
fmai_vmfnmadd_<mode><round_name>, fmai_vmfnmsub_<mode><round_name>):
|
||
Use register_operand instead of <round_nimm_predicate> for the
|
||
operand that needs to match output.
|
||
(*fmai_fmadd_<mode>, *fmai_fmsub_<mode>,
|
||
*fmai_fnmadd_<mode><round_name>, *fmai_fnmsub_<mode><round_name>):
|
||
Likewise. Formatting fixes.
|
||
|
||
PR target/89784
|
||
* config/i386/i386.c (enum ix86_builtins): Remove
|
||
IX86_BUILTIN_VFMSUBSD3_MASK3 and IX86_BUILTIN_VFMSUBSS3_MASK3.
|
||
* config/i386/i386-builtin.def (__builtin_ia32_vfmaddsd3_mask,
|
||
__builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz,
|
||
__builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmaddss3_mask,
|
||
__builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz,
|
||
__builtin_ia32_vfmsubss3_mask3): New builtins.
|
||
* config/i386/sse.md (avx512f_vmfmadd_<mode>_mask<round_name>,
|
||
avx512f_vmfmadd_<mode>_mask3<round_name>,
|
||
avx512f_vmfmadd_<mode>_maskz_1<round_name>,
|
||
*avx512f_vmfmsub_<mode>_mask<round_name>,
|
||
avx512f_vmfmsub_<mode>_mask3<round_name>,
|
||
*avx512f_vmfmasub_<mode>_maskz_1<round_name>,
|
||
*avx512f_vmfnmadd_<mode>_mask<round_name>,
|
||
*avx512f_vmfnmadd_<mode>_mask3<round_name>,
|
||
*avx512f_vmfnmadd_<mode>_maskz_1<round_name>,
|
||
*avx512f_vmfnmsub_<mode>_mask<round_name>,
|
||
avx512f_vmfnmsub_<mode>_mask3<round_name>,
|
||
*avx512f_vmfnmsub_<mode>_maskz_1<round_name>): New define_insns.
|
||
(avx512f_vmfmadd_<mode>_maskz<round_expand_name>): New define_expand.
|
||
* config/i386/avx512fintrin.h (_mm_mask_fmadd_sd, _mm_mask_fmadd_ss,
|
||
_mm_mask3_fmadd_sd, _mm_mask3_fmadd_ss, _mm_maskz_fmadd_sd,
|
||
_mm_maskz_fmadd_ss, _mm_mask_fmsub_sd, _mm_mask_fmsub_ss,
|
||
_mm_mask3_fmsub_sd, _mm_mask3_fmsub_ss, _mm_maskz_fmsub_sd,
|
||
_mm_maskz_fmsub_ss, _mm_mask_fnmadd_sd, _mm_mask_fnmadd_ss,
|
||
_mm_mask3_fnmadd_sd, _mm_mask3_fnmadd_ss, _mm_maskz_fnmadd_sd,
|
||
_mm_maskz_fnmadd_ss, _mm_mask_fnmsub_sd, _mm_mask_fnmsub_ss,
|
||
_mm_mask3_fnmsub_sd, _mm_mask3_fnmsub_ss, _mm_maskz_fnmsub_sd,
|
||
_mm_maskz_fnmsub_ss, _mm_mask_fmadd_round_sd, _mm_mask_fmadd_round_ss,
|
||
_mm_mask3_fmadd_round_sd, _mm_mask3_fmadd_round_ss,
|
||
_mm_maskz_fmadd_round_sd, _mm_maskz_fmadd_round_ss,
|
||
_mm_mask_fmsub_round_sd, _mm_mask_fmsub_round_ss,
|
||
_mm_mask3_fmsub_round_sd, _mm_mask3_fmsub_round_ss,
|
||
_mm_maskz_fmsub_round_sd, _mm_maskz_fmsub_round_ss,
|
||
_mm_mask_fnmadd_round_sd, _mm_mask_fnmadd_round_ss,
|
||
_mm_mask3_fnmadd_round_sd, _mm_mask3_fnmadd_round_ss,
|
||
_mm_maskz_fnmadd_round_sd, _mm_maskz_fnmadd_round_ss,
|
||
_mm_mask_fnmsub_round_sd, _mm_mask_fnmsub_round_ss,
|
||
_mm_mask3_fnmsub_round_sd, _mm_mask3_fnmsub_round_ss,
|
||
_mm_maskz_fnmsub_round_sd, _mm_maskz_fnmsub_round_ss): New intrinsics.
|
||
|
||
2019-03-21 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/89350
|
||
* builtins.c (compute_objsize): Also ignore offsets whose upper
|
||
bound is negative.
|
||
* gimple-ssa-warn-restrict.c (builtin_memref): Add new member.
|
||
(builtin_memref::builtin_memref): Initialize new member.
|
||
Allow EXPR to be null.
|
||
(builtin_memref::extend_offset_range): Replace local with a member.
|
||
Avoid assuming pointer offsets are unsigned.
|
||
(builtin_memref::set_base_and_offset): Determine base object
|
||
before computing offset range.
|
||
(builtin_access::builtin_access): Handle memset.
|
||
(builtin_access::generic_overlap): Replace local with a member.
|
||
(builtin_access::strcat_overlap): Same.
|
||
(builtin_access::overlap): Same.
|
||
(maybe_diag_overlap): Same.
|
||
(maybe_diag_access_bounds): Same.
|
||
(wrestrict_dom_walker::check_call): Handle memset.
|
||
(check_bounds_or_overlap): Same.
|
||
|
||
2019-03-21 Jan Hubicka <hubicka@ucw.cz>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/89692
|
||
* tree.c (fld_type_variant, fld_incomplete_type_of,
|
||
fld_process_array_type): Call fld->pset.add and don't call
|
||
add_tree_to_fld_list if it returns true.
|
||
(free_lang_data_in_type): Similarly with self-recursive call. Purge
|
||
non-marked types from TYPE_NEXT_VARIANT list.
|
||
(find_decls_types_r): Call fld_worklist_push for TYPE_CANONICAL (t).
|
||
|
||
2019-03-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* hash-table.h (hash_table): Add Lazy template parameter defaulted
|
||
to false, if true, don't alloc_entries during construction, but defer
|
||
it to the first method that needs m_entries allocated.
|
||
(hash_table::hash_table, hash_table::~hash_table,
|
||
hash_table::alloc_entries, hash_table::find_empty_slot_for_expand,
|
||
hash_table::too_empty_p, hash_table::expand, hash_table::empty_slow,
|
||
hash_table::clear_slot, hash_table::traverse_noresize,
|
||
hash_table::traverse, hash_table::iterator::slide): Adjust all methods.
|
||
* hash-set.h (hash_set): Add Lazy template parameter defaulted to
|
||
false.
|
||
(hash_set::contains): If Lazy is true, use find_slot_with_hash with
|
||
NO_INSERT instead of find_with_hash.
|
||
(hash_set::traverse, hash_set::iterator, hash_set::iterator::m_iter,
|
||
hash_set::m_table): Add Lazy to template params of hash_table.
|
||
(gt_ggc_mx, gt_pch_nx): Use false as Lazy in hash_set template param.
|
||
* attribs.c (test_attribute_exclusions): Likewise.
|
||
* hash-set-tests.c (test_set_of_strings): Add iterator tests for
|
||
hash_set. Add tests for hash_set with Lazy = true.
|
||
|
||
2019-03-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89779
|
||
* tree.c (tree_nop_conversion): Consolidate and fix defensive
|
||
checks with respect to released SSA names now having error_mark_node
|
||
type.
|
||
* fold-const.c (operand_equal_p): Likewise.
|
||
|
||
2019-03-20 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
PR target/89775
|
||
* config/s390/s390.c (global_not_special_regno_p): Move to make it
|
||
available to ...
|
||
(s390_optimize_register_info): Use global_not_special_regno_p to
|
||
check for global regs.
|
||
|
||
2019-03-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89752
|
||
* lra-constraints.c (process_alt_operands) <reg>: For BLKmode, don't
|
||
update this_alternative nor this_alternative_set.
|
||
|
||
2019-03-19 Jim Wilson <jimw@sifive.com>
|
||
|
||
PR target/89411
|
||
* config/riscv/riscv.c (riscv_valid_lo_sum_p): New arg x. New locals
|
||
align, size, offset. Use them to handle a BLKmode reference. Update
|
||
comment.
|
||
(riscv_classify_address): Pass info->offset to riscv_valid_lo_sum_p.
|
||
|
||
2019-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/89768
|
||
* loop-unroll.c (unroll_loop_constant_iterations): Use gen_int_mode
|
||
instead of GEN_INT.
|
||
(unroll_loop_runtime_iterations): Likewise.
|
||
|
||
2019-03-19 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/89644
|
||
* tree-ssa-strlen.c (handle_builtin_stxncpy): Use full_string_p
|
||
rather than endptr as an indicator of nul-termination.
|
||
|
||
PR tree-optimization/89644
|
||
* tree-ssa-strlen.c (handle_builtin_stxncpy): Consider unterminated
|
||
arrays in determining sequence sizes in strncpy and stpncpy.
|
||
|
||
2019-03-19 Martin Liska <mliska@suse.cz>
|
||
|
||
PR middle-end/89737
|
||
* predict.c (combine_predictions_for_bb): Empty likely_edges and
|
||
unlikely_edges if there's an edge that belongs to both these sets.
|
||
|
||
2018-03-19 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/89746
|
||
* config/rs6000/rs6000.md (fix_trunc<mode>si2_stfiwx): If we have a
|
||
non-TARGET_MFCRF target, and the dest is memory but not 32-bit aligned,
|
||
go via a stack temporary.
|
||
|
||
2019-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89378
|
||
* config/mips/mips.c (mips_expand_vec_cond_expr): Use gen_lowpart
|
||
instead of gen_rtx_SUBREG.
|
||
* config/mips/mips-msa.md (vec_extract<mode><unitmode>): Likewise.
|
||
|
||
2019-03-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/88389
|
||
* opts.c (finish_options): Disable -gsplit-dwarf when doing LTO.
|
||
|
||
2019-03-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/87809
|
||
PR lto/89335
|
||
* tree.c (free_lang_data_in_decl): Do not free context of C++
|
||
destrutors.
|
||
|
||
2019-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89506
|
||
* config/arm/arm.md (cmpsi2_addneg): Swap the alternatives and use
|
||
subs for the first alternative except when operands[3] is 1.
|
||
|
||
PR target/89752
|
||
* gimplify.c (gimplify_asm_expr): For output argument with
|
||
TREE_ADDRESSABLE type, clear allows_reg if it allows memory, otherwise
|
||
diagnose error.
|
||
|
||
2019-03-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/89753
|
||
* loop-unroll.c (decide_unroll_constant_iterations): Make guard for
|
||
explicit unrolling factor even more robust.
|
||
|
||
2019-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89726
|
||
* config/i386/i386.c (ix86_expand_floorceildf_32): In ceil
|
||
compensation use x2 += 1 instead of x2 -= -1 and when honoring
|
||
signed zeros, do another copysign after the compensation.
|
||
|
||
2019-03-18 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/89720
|
||
* tree-vrp.c (vrp_prop::check_mem_ref): Treat range with max < min
|
||
more conservatively, the same as anti-range.
|
||
|
||
2019-03-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/88945
|
||
* tree-ssanames.c (release_ssa_name_fn): For released SSA names
|
||
use a TREE_TYPE of error_mark_node to avoid ICEs when dumping
|
||
basic-blocks that are removed. Remove restoring SSA_NAME_VAR.
|
||
* tree-outof-ssa.c (eliminate_useless_phis): Remove redundant checking.
|
||
|
||
2019-03-18 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config/gcn/gcn-run.c (struct output): Make next_output unsigned.
|
||
Extend queue to 1024 entries.
|
||
Add "consumed" field.
|
||
(gomp_print_output): Remove print_index parameter.
|
||
Add final parameter.
|
||
Change limit to unsigned.
|
||
Use consumed field to implement circular buffer.
|
||
Detect interrupted print in final pass.
|
||
Flush output at the end.
|
||
(run): Update gomp_print_output usage.
|
||
(main): Initialize kernargs->output_data.consumed.
|
||
|
||
2019-03-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Fix the
|
||
calculation of the minimum number of scalar iterations for
|
||
fully-predicated loops.
|
||
|
||
2019-03-18 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/89546
|
||
* tree-sra.c (propagate_subaccesses_across_link): Requeue new_acc if
|
||
any propagation to its children took place.
|
||
|
||
2019-03-18 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
PR target/89627
|
||
* config/riscv/riscv.c (riscv_pass_fpr_single): Add offset
|
||
parameter, and make use of it.
|
||
(riscv_get_arg_info): Pass offset to riscv_pass_fpr_single.
|
||
|
||
2019-03-18 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.opt (mcode-density-frame): Get the inital value
|
||
from TARGET_CODE_DENSITY_FRAME_DEFAULT.
|
||
* config/arc/elf.h (TARGET_CODE_DENSITY_FRAME_DEFAULT): Define.
|
||
* config/arc/linux.h (TARGET_CODE_DENSITY_FRAME_DEFAULT): Define.
|
||
* config/arc/arc.md (pop_multi_fp_blink): Adjust constraints to
|
||
match what the ops is doing.
|
||
(push_multi_fp_blink): Likewise.
|
||
* config/arc/arc.c (arc_override_options): Enable enter/leave when
|
||
compiling for size and elf target.
|
||
(arc_save_callee_enter): Adjust note to match what enter/leave
|
||
operation does.
|
||
|
||
2019-03-18 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.md (tst_movb): Fix constraint.
|
||
|
||
2019-03-18 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define.
|
||
|
||
2019-03-18 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc-protos.h (arc_adjust_reg_alloc_order): Declare.
|
||
* config/arc/arc.c (arc_conditional_register_usage): Remove all
|
||
reg_alloc_order references.
|
||
(size_alloc_order): Define.
|
||
(arc_adjust_reg_alloc_order): New function.
|
||
* config/arc/arc.h (REG_ALLOC_ORDER): Proper define the register
|
||
order.
|
||
(ADJUST_REG_ALLOC_ORDER): Define.
|
||
(HONOR_REG_ALLOC_ORDER): Likewise.
|
||
|
||
2019-03-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/87561
|
||
* config/i386/i386.c (ix86_add_stmt_cost): Pessimize strided
|
||
loads and stores a bit more.
|
||
|
||
2019-03-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/87561
|
||
* config/i386/i386.c (ix86_add_stmt_cost): Apply strided
|
||
load pessimization to stores as well.
|
||
|
||
2019-03-18 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR middle-end/86979
|
||
* sel-sched.c (compute_av_set_at_bb_end): When we have an ineligible
|
||
successor, use NULL as its av set.
|
||
|
||
2019-03-15 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/89721
|
||
* lra-constraints (invariant_p): Return false if side_effects_p holds.
|
||
|
||
2019-03-15 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
PR target/87532
|
||
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
|
||
When handling vec_extract, use modular arithmetic to allow
|
||
constant selectors greater than vector length.
|
||
* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Allow
|
||
V1TImode vectors to have constant selector values greater than 0.
|
||
Use modular arithmetic to compute vector index.
|
||
(rs6000_split_vec_extract_var): Use modular arithmetic to compute
|
||
index for in-memory vectors. Correct code generation for
|
||
in-register vectors.
|
||
(altivec_expand_vec_ext_builtin): Use modular arithmetic to
|
||
compute index.
|
||
|
||
2019-03-15 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR c++/88534
|
||
PR c++/88537
|
||
* dwarf2out.c (generic_parameter_die): Follow DECL_INITIAL of
|
||
VAR_DECL args.
|
||
|
||
2019-03-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/89709
|
||
* tree.c (inchash::add_expr): Strip any location wrappers.
|
||
* fold-const.c (operand_equal_p): Move stripping of location wrapper
|
||
after hash verification.
|
||
|
||
PR debug/89704
|
||
* dwarf2out.c (add_const_value_attribute): Return false for MINUS,
|
||
SIGN_EXTEND and ZERO_EXTEND.
|
||
|
||
2019-03-14 Jason Merrill <jason@redhat.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* hash-table.h (remove_elt_with_hash): Return if slot is NULL rather
|
||
than if is_empty (*slot).
|
||
* hash-set-tests.c (test_set_of_strings): Add tests for addition of
|
||
existing elt and for elt removal.
|
||
* hash-map-tests.c (test_map_of_strings_to_int): Add test for removal
|
||
of already removed elt.
|
||
|
||
2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/89650
|
||
* config/i386/i386.c (remove_partial_avx_dependency): Handle
|
||
REG_EH_REGION note.
|
||
|
||
2019-03-14 Martin Liska <mliska@suse.cz>
|
||
|
||
PR other/89712
|
||
* doc/invoke.texi: Remove -fdump-class-hierarchy option.
|
||
|
||
2019-03-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/89711
|
||
* config/i386/i386.c (make_resolver_func): Properly set
|
||
DECL_CONTEXT on the RESULT_DECL.
|
||
* config/rs6000/rs6000.c (make_resolver_func): Likewise.
|
||
|
||
2019-03-14 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-pretty-print.c: Include cfgloop.h.
|
||
(dump_gimple_phi): Adjust.
|
||
(dump_gimple_bb_header): Dump loop header for GIMPLE.
|
||
(pp_cfg_jump): Adjust.
|
||
(dump_implicit_edges): Dump fallthru to next block for GIMPLE as well.
|
||
* tree-cfg.c (build_gimple_cfg): Remove lower_phi_internal_fn call.
|
||
(lower_phi_internal_fn): Remove.
|
||
(verify_gimple_call): Remove IFN_PHI special-casing.
|
||
(dump_function_to_file): Dump IL state.
|
||
* tree-into-ssa.c (rewrite_add_phi_arguments): Revert changes
|
||
done to deal with PHI nodes being present in non-SSA state.
|
||
|
||
2019-03-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/89684
|
||
* multiple_target.c (create_dispatcher_calls): Change
|
||
references_to_redirect from vector of ipa_ref * to vector of ipa_ref.
|
||
In the node->iterate_referring loop, push *ref rather than ref, call
|
||
ref->remove_reference () and always pass 0 to iterate_referring.
|
||
|
||
PR rtl-optimization/89679
|
||
* expmed.c (expand_mult_const): Don't add a REG_EQUAL note if it
|
||
would contain a paradoxical SUBREG.
|
||
|
||
2019-03-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89710
|
||
* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use
|
||
safe_dyn_cast.
|
||
|
||
2019-03-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* coverage.c (coverage_begin_function): Stream also
|
||
end_column.
|
||
* doc/gcov.texi: Document 2 new fields in JSON file. Improve
|
||
documentation about function declaration location.
|
||
* gcov-dump.c (tag_function): Print whole range
|
||
of function declaration.
|
||
* gcov.c (struct function_info): Add end_column field.
|
||
(function_info::function_info): Initialize it.
|
||
(output_json_intermediate_file): Output {start,end}_column
|
||
fields.
|
||
(read_graph_file): Read end_column.
|
||
|
||
2019-03-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/89698
|
||
* fold-const.c (operand_equal_p): For INDIRECT_REF check
|
||
that the access types are similar.
|
||
|
||
2019-03-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/89703
|
||
* tree-ssa-strlen.c (valid_builtin_call): Punt if stmt call types
|
||
aren't compatible also with builtin_decl_explicit. Check pure
|
||
or non-pure status of BUILT_IN_STR{{,N}CMP,N{LEN,{CAT,CPY}{,_CHK}}}
|
||
and BUILT_IN_STPNCPY{,_CHK}.
|
||
|
||
2019-03-14 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/89523
|
||
* config/i386/i386.c (ix86_print_operand): Handle 'M' to add
|
||
addr32 prefix to VSIB address for X32.
|
||
* config/i386/sse.md (*avx512pf_gatherpf<mode>sf_mask): Prepend
|
||
"%M2" to opcode.
|
||
(*avx512pf_gatherpf<mode>df_mask): Likewise.
|
||
(*avx512pf_scatterpf<mode>sf_mask): Likewise.
|
||
(*avx512pf_scatterpf<mode>df_mask): Likewise.
|
||
(*avx2_gathersi<mode>): Prepend "%M3" to opcode.
|
||
(*avx2_gathersi<mode>_2): Prepend "%M2" to opcode.
|
||
(*avx2_gatherdi<mode>): Prepend "%M3" to opcode.
|
||
(*avx2_gatherdi<mode>_2): Prepend "%M2" to opcode.
|
||
(*avx2_gatherdi<mode>_3): Prepend "%M3" to opcode.
|
||
(*avx2_gatherdi<mode>_4): Prepend "%M2" to opcode.`
|
||
(*avx512f_gathersi<mode>): Prepend "%M4" to opcode.
|
||
(*avx512f_gathersi<mode>_2): Prepend "%M3" to opcode.
|
||
(*avx512f_gatherdi<mode>): Prepend "%M4" to opcode.
|
||
(*avx512f_gatherdi<mode>_2): Prepend "%M3" to opcode.
|
||
(*avx512f_scattersi<mode>): Prepend "%M0" to opcode.
|
||
(*avx512f_scatterdi<mode>): Likewise.
|
||
|
||
2019-03-13 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/85860
|
||
* lra-constraints.c (inherit_in_ebb): Update
|
||
potential_reload_hard_regs along with live_hard_regs.
|
||
|
||
2019-03-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/89498
|
||
* dwarf2out.c (size_of_die): For dw_val_class_view_list always use
|
||
DWARF_OFFSET_SIZE.
|
||
(value_format): For dw_val_class_view_list never use DW_FORM_loclistx.
|
||
|
||
2019-03-13 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/89662
|
||
* tree-vrp.c (vrp_prop::check_mem_ref): Avoid assuming every type
|
||
has a size.
|
||
|
||
2019-03-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/89677
|
||
* tree-scalar-evolution.c (simplify_peeled_chrec): Do not
|
||
throw FP expressions at tree-affine.
|
||
|
||
2019-03-14 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-pretty-print.c (dump_generic_node): For -gimple properly
|
||
dump negative integer constants using _Literal (type) -num.
|
||
|
||
2019-03-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* ipa-param-manipulation.h (struct ipa_parm_adjustment): Remove
|
||
nonlocal_value member.
|
||
|
||
PR middle-end/88588
|
||
* omp-simd-clone.c (ipa_simd_modify_stmt_ops): Handle PHI args.
|
||
(ipa_simd_modify_function_body): Handle PHIs.
|
||
|
||
2019-03-12 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_option_override_internal): Use more
|
||
aggressive inlining parameters.
|
||
|
||
2019-03-12 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* config/s390/3906.md: New file.
|
||
* config/s390/s390.c (MAX_SCHED_UNITS): Increase.
|
||
(LONGRUNNING_THRESHOLD): Remove.
|
||
(MAX_SCHED_MIX_SCORE): Decrease.
|
||
(MAX_SCHED_MIX_DISTANCE): Decrease.
|
||
(s390_bb_fallthru_entry_likely): Assume fallthru for less than likely.
|
||
(struct s390_sched_state): New struct to hold scheduling state.
|
||
(S390_SCHED_STATE_NORMAL): Remove.
|
||
(S390_SCHED_STATE_CRACKED): Remove.
|
||
(S390_SCHED_ATTR_MASK_GROUPOFTWO): Add.
|
||
(s390_get_sched_attrmask): Use new attribute.
|
||
(s390_get_unit_mask): Use new units.
|
||
(s390_is_fpd): New function.
|
||
(s390_is_fxd): New function.
|
||
(s390_is_longrunning): New function.
|
||
(s390_sched_score): Use new functions.
|
||
(s390_sched_reorder): Likewise.
|
||
(s390_sched_variable_issue): Rework and use new functions.
|
||
(s390_sched_init): Use new functions.
|
||
* config/s390/s390.h (s390_tune_attr): Add z14.
|
||
* config/s390/s390.md: Add z14.
|
||
|
||
2019-03-12 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* config/s390/2964.md: Update pipeline description.
|
||
* config/s390/s390.c (MAX_SCHED_UNITS): Increase.
|
||
(LONGRUNNING_THRESHOLD): Remove.
|
||
(LATENCY_FACTOR): Remove.
|
||
(s390_get_unit_mask): Add unit.
|
||
(s390_sched_score): Use fxd/fpd.
|
||
(s390_sched_variable_issue): Use fxd/fpd.
|
||
|
||
2019-03-12 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/i386/i386.c: Reword an error message.
|
||
|
||
2019-03-12 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* cgraph.c (cgraph_node::dump): Dump more info for former thunks,
|
||
terminate with newline.
|
||
|
||
2019-03-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/52726
|
||
* config/s390/s390.md (tabort): Use %wd instead of
|
||
HOST_WIDE_INT_PRINT_DEC in error message, reword to avoid two capital
|
||
letters and periods.
|
||
* config/tilepro/tilepro.c (tilepro_print_operand): Use %wd in
|
||
output_operand_lossage instead of HOST_WIDE_INT_PRINT_DEC, replace
|
||
's with %< and %>.
|
||
|
||
PR middle-end/89663
|
||
* builtins.c (expand_builtin_int_roundingfn,
|
||
expand_builtin_int_roundingfn_2): Return NULL_RTX instead of
|
||
gcc_unreachable if validate_arglist fails.
|
||
|
||
2019-03-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89664
|
||
* tree-ssa-math-opts.c (execute_cse_reciprocals_1): Properly
|
||
free the occurance tree after the early out.
|
||
|
||
2019-03-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/89655
|
||
PR bootstrap/89656
|
||
* vr-values.c (vr_values::update_value_range): If
|
||
old_vr->varying_p (), don't update it, make new_vr also VARYING
|
||
and return false.
|
||
|
||
2019-03-11 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_override_options_internal):
|
||
Fix double string quoting.
|
||
|
||
2019-03-11 Martin Liska <mliska@suse.cz>
|
||
|
||
* collect-utils.c (collect_wait): Wrap apostrophes
|
||
in gcc internal format with %'.
|
||
* collect2.c (main): Likewise.
|
||
(scan_prog_file): Likewise.
|
||
(scan_libraries): Likewise.
|
||
* config/i386/i386.c (ix86_expand_call): Likewise.
|
||
(ix86_handle_interrupt_attribute): Likewise.
|
||
* config/nds32/nds32-intrinsic.c (nds32_expand_builtin_impl): Likewise.
|
||
* config/nds32/nds32.c (nds32_insert_attributes): Likewise.
|
||
* config/rl78/rl78.c (rl78_handle_saddr_attribute): Likewise.
|
||
* lto-wrapper.c (find_crtoffloadtable): Likewise.
|
||
* symtab.c (symtab_node::verify_base): Likewise.
|
||
* tree-cfg.c (verify_gimple_label): Likewise.
|
||
* tree.c (verify_type_variant): Likewise.
|
||
|
||
2019-03-11 Martin Liska <mliska@suse.cz>
|
||
|
||
* builtins.c (expand_builtin_thread_pointer): Wrap an option name
|
||
in a string format message and fix GNU coding style.
|
||
(expand_builtin_set_thread_pointer): Likewise.
|
||
* common/config/aarch64/aarch64-common.c
|
||
(aarch64_rewrite_selected_cpu): Likewise.
|
||
* common/config/alpha/alpha-common.c (alpha_handle_option): Likewise.
|
||
* common/config/arc/arc-common.c (arc_handle_option): Likewise.
|
||
* common/config/arm/arm-common.c (arm_parse_fpu_option): Likewise.
|
||
* common/config/bfin/bfin-common.c (bfin_handle_option): Likewise.
|
||
* common/config/i386/i386-common.c (ix86_handle_option): Likewise.
|
||
* common/config/ia64/ia64-common.c (ia64_handle_option): Likewise.
|
||
* common/config/m68k/m68k-common.c (m68k_handle_option): Likewise.
|
||
* common/config/msp430/msp430-common.c (msp430_handle_option): Likewise.
|
||
* common/config/nds32/nds32-common.c (nds32_handle_option): Likewise.
|
||
* common/config/powerpcspe/powerpcspe-common.c (rs6000_handle_option):
|
||
Likewise.
|
||
* common/config/riscv/riscv-common.c
|
||
(riscv_subset_list::parsing_subset_version): Likewise.
|
||
(riscv_subset_list::parse_std_ext): Likewise.
|
||
(riscv_subset_list::parse_sv_or_non_std_ext): Likewise.
|
||
(riscv_subset_list::parse): Likewise.
|
||
* common/config/rs6000/rs6000-common.c (rs6000_handle_option): Likewise.
|
||
* config/aarch64/aarch64.c (aarch64_parse_one_option_token): Likewise.
|
||
(aarch64_override_options_internal): Likewise.
|
||
(aarch64_validate_mcpu): Likewise.
|
||
(aarch64_validate_march): Likewise.
|
||
(aarch64_validate_mtune): Likewise.
|
||
(aarch64_override_options): Likewise.
|
||
* config/alpha/alpha.c (alpha_option_override): Likewise.
|
||
* config/arc/arc.c (arc_init): Likewise.
|
||
(parse_mrgf_banked_regs_option): Likewise.
|
||
(arc_override_options): Likewise.
|
||
(arc_expand_builtin_aligned): Likewise.
|
||
* config/arm/arm-builtins.c (arm_expand_neon_builtin): Likewise.
|
||
(arm_expand_builtin): Likewise.
|
||
* config/arm/arm.c (arm_option_check_internal): Likewise.
|
||
(arm_configure_build_target): Likewise.
|
||
(arm_option_override): Likewise.
|
||
(arm_options_perform_arch_sanity_checks): Likewise.
|
||
(arm_handle_cmse_nonsecure_entry): Likewise.
|
||
(arm_handle_cmse_nonsecure_call): Likewise.
|
||
(arm_tls_referenced_p): Likewise.
|
||
(thumb1_expand_prologue): Likewise.
|
||
* config/avr/avr.c (avr_option_override): Likewise.
|
||
* config/bfin/bfin.c (bfin_option_override): Likewise.
|
||
* config/c6x/c6x.c (c6x_option_override): Likewise.
|
||
* config/cr16/cr16.c (cr16_override_options): Likewise.
|
||
* config/cris/cris.c (cris_option_override): Likewise.
|
||
* config/csky/csky.c (csky_handle_isr_attribute): Likewise.
|
||
* config/darwin-c.c (macosx_version_as_macro): Likewise.
|
||
* config/darwin.c (darwin_override_options): Likewise.
|
||
* config/frv/frv.c (frv_expand_builtin): Likewise.
|
||
* config/h8300/h8300.c (h8300_option_override): Likewise.
|
||
* config/i386/i386.c (parse_mtune_ctrl_str): Likewise.
|
||
(ix86_option_override_internal): Likewise.
|
||
(warn_once_call_ms2sysv_xlogues): Likewise.
|
||
(ix86_expand_prologue): Likewise.
|
||
(split_stack_prologue_scratch_regno): Likewise.
|
||
(ix86_warn_parameter_passing_abi): Likewise.
|
||
* config/ia64/ia64.c (fix_range): Likewise.
|
||
* config/m68k/m68k.c (m68k_option_override): Likewise.
|
||
* config/microblaze/microblaze.c (microblaze_option_override): Likewise.
|
||
* config/mips/mips.c (mips_emit_probe_stack_range): Likewise.
|
||
(mips_set_compression_mode): Likewise.
|
||
* config/mmix/mmix.c (mmix_option_override): Likewise.
|
||
* config/mn10300/mn10300.c (mn10300_option_override): Likewise.
|
||
* config/msp430/msp430.c (msp430_option_override): Likewise.
|
||
* config/nds32/nds32.c (nds32_option_override): Likewise.
|
||
* config/nios2/nios2.c (nios2_custom_check_insns): Likewise.
|
||
(nios2_option_override): Likewise.
|
||
(nios2_expand_custom_builtin): Likewise.
|
||
* config/nvptx/mkoffload.c (main): Likewise.
|
||
* config/nvptx/nvptx.c (diagnose_openacc_conflict): Likewise.
|
||
* config/pa/pa.c (fix_range): Likewise.
|
||
(pa_option_override): Likewise.
|
||
* config/riscv/riscv.c (riscv_parse_cpu): Likewise.
|
||
(riscv_option_override): Likewise.
|
||
* config/rl78/rl78.c (rl78_option_override): Likewise.
|
||
* config/rs6000/aix61.h: Likewise.
|
||
* config/rs6000/aix71.h: Likewise.
|
||
* config/rs6000/aix72.h: Likewise.
|
||
* config/rs6000/driver-rs6000.c (elf_platform): Likewise.
|
||
* config/rs6000/freebsd64.h: Likewise.
|
||
* config/rs6000/linux64.h: Likewise.
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise.
|
||
(rs6000_expand_zeroop_builtin): Likewise.
|
||
(rs6000_expand_mtfsb_builtin): Likewise.
|
||
(rs6000_expand_set_fpscr_rn_builtin): Likewise.
|
||
(rs6000_expand_set_fpscr_drn_builtin): Likewise.
|
||
(rs6000_invalid_builtin): Likewise.
|
||
(rs6000_expand_split_stack_prologue): Likewise.
|
||
* config/rs6000/rtems.h: Likewise.
|
||
* config/rx/rx.c (valid_psw_flag): Likewise.
|
||
(rx_expand_builtin): Likewise.
|
||
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Likewise.
|
||
* config/s390/s390.c (s390_expand_builtin): Likewise.
|
||
(s390_function_profiler): Likewise.
|
||
(s390_option_override_internal): Likewise.
|
||
(s390_option_override): Likewise.
|
||
* config/sh/sh.c (sh_option_override): Likewise.
|
||
(sh_builtin_saveregs): Likewise.
|
||
(sh_fix_range): Likewise.
|
||
* config/sh/vxworks.h: Likewise.
|
||
* config/sparc/sparc.c (sparc_option_override): Likewise.
|
||
* config/spu/spu.c (spu_option_override): Likewise.
|
||
(fix_range): Likewise.
|
||
* config/visium/visium.c (visium_option_override): Likewise.
|
||
(visium_handle_interrupt_attr): Likewise.
|
||
* config/xtensa/xtensa.c (xtensa_option_override): Likewise.
|
||
* dbgcnt.c (dbg_cnt_set_limit_by_name): Likewise.
|
||
(dbg_cnt_process_opt): Likewise.
|
||
* dwarf2out.c (output_dwarf_version): Likewise.
|
||
* except.c (expand_eh_return): Likewise.
|
||
* gcc.c (defined): Likewise.
|
||
(driver_handle_option): Likewise.
|
||
(process_command): Likewise.
|
||
(compare_files): Likewise.
|
||
(driver::prepare_infiles): Likewise.
|
||
(driver::do_spec_on_infiles): Likewise.
|
||
(driver::maybe_run_linker): Likewise.
|
||
* omp-offload.c (oacc_parse_default_dims): Likewise.
|
||
* opts-global.c (handle_common_deferred_options): Likewise.
|
||
* opts.c (parse_sanitizer_options): Likewise.
|
||
(common_handle_option): Likewise.
|
||
(enable_warning_as_error): Likewise.
|
||
* passes.c (enable_disable_pass): Likewise.
|
||
* plugin.c (parse_plugin_arg_opt): Likewise.
|
||
(default_plugin_dir_name): Likewise.
|
||
* targhooks.c (default_expand_builtin_saveregs): Likewise.
|
||
(default_pch_valid_p): Likewise.
|
||
* toplev.c (init_asm_output): Likewise.
|
||
(process_options): Likewise.
|
||
(toplev::run_self_tests): Likewise.
|
||
* tree-cfg.c (verify_gimple_call): Likewise.
|
||
* tree-inline.c (inline_forbidden_p_stmt): Likewise.
|
||
(tree_inlinable_function_p): Likewise.
|
||
* var-tracking.c (vt_find_locations): Likewise.
|
||
|
||
2019-03-11 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_expand_builtin): Do the copy_to_reg not
|
||
only on the else branch.
|
||
|
||
2019-03-11 Martin Liska <mliska@suse.cz>
|
||
|
||
* gcov.c (output_intermediate_json_line): Print function
|
||
name of each line.
|
||
(output_json_intermediate_file): Add new argument.
|
||
* doc/gcov.texi: Document the change.
|
||
|
||
2019-03-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/89588
|
||
* loop-unroll.c (decide_unroll_constant_iterations): Make guard for
|
||
explicit unrolling factor more robust.
|
||
|
||
2019-03-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89649
|
||
* tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
|
||
* tree-vect-loop-manip.c (vect_do_peeling): Unset force_vectorize
|
||
on the prolog and epilog loops.
|
||
(vect_loop_versioning): Return copy of loop.
|
||
* tree-vect-loop.c (vect_transform_loop): Unset force_vectorize
|
||
on the non-vectorized version of the loop.
|
||
|
||
2019-03-10 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/68924
|
||
* config/i386/sse.md (*vec_extractv2di_0_sse):
|
||
Add (=r,x) alternative and corresponding splitter.
|
||
|
||
2019-03-10 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/85762
|
||
PR tree-optimization/87008
|
||
PR tree-optimization/85459
|
||
* tree-sra.c (contains_vce_or_bfcref_p): New parameter, set the bool
|
||
it points to if there is a type changing MEM_REF. Adjust all callers.
|
||
(build_accesses_from_assign): Disable total scalarization if
|
||
contains_vce_or_bfcref_p returns true through the new parameter, for
|
||
both rhs and lhs.
|
||
|
||
2019-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/88568
|
||
* attribs.c (handle_dll_attribute): Don't clear TREE_STATIC for
|
||
dllimport on VAR_DECLs with RECORD_TYPE or UNION_TYPE DECL_CONTEXT.
|
||
|
||
PR target/79645
|
||
* common.opt (fdiagnostics-show-labels,
|
||
fdiagnostics-show-line-numbers, fdiagnostics-format=,
|
||
fdiagnostics-minimum-margin-width=, fgnat-encodings=, gas-loc-support,
|
||
gas-locview-support, ginline-points, ginternal-reset-location-views):
|
||
Terminate description text with a dot.
|
||
* config/microblaze/microblaze.opt (mxl-prefetch): Likewise.
|
||
* config/mcore/mcore.opt (m210, m340): Likewise.
|
||
* config/epiphany/epiphany.opt (mprefer-short-insn-regs, mcmove,
|
||
mnops=): Start description text with a capital letter.
|
||
* config/arc/arc.opt (msize-level=): Likewise.
|
||
* config/sh/sh.opt (minline-ic_invalidate): Likewise.
|
||
* config/rs6000/sysv4.opt (mno-toc, mtoc, mno-traceback, mshlib,
|
||
mnewlib): Likewise.
|
||
* config/ft32/ft32.opt (msim): Likewise.
|
||
(mft32b, mcompress): Likewise. Terminate description text with a dot.
|
||
(mnodiv, mnopm): Terminate description text with a dot.
|
||
* config/c6x/c6x.opt (c6x_sdata): Terminate Enum description with
|
||
a colon.
|
||
* config/i386/i386.opt (prefer_vector_width, instrument_return):
|
||
Likewise.
|
||
* config/rx/rx.opt (nofpu): Remove trailing spaces from description
|
||
text.
|
||
|
||
PR rtl-optimization/89634
|
||
* cfgcleanup.c (thread_jump): Punt if registers mentioned in cond1
|
||
are modified in BB_END (e->src) instruction.
|
||
|
||
2019-03-08 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR target/79926
|
||
* config/i386/i386.c (ix86_set_current_function): Make "sorry"
|
||
messages more amenable to translation, and improve wording.
|
||
|
||
2019-03-08 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild
|
||
ud- and du-chains between phases.
|
||
|
||
2019-03-08 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR debug/89631
|
||
* dwarf2cfi.c (dwarf2out_frame_debug_expr): Use CONST_POLY_INT
|
||
instead of POLY_INT_CST.
|
||
|
||
2019-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm.h (TARGET_FP16_TO_DOUBLE): Add TARGET_VFP_DOUBLE
|
||
requirement.
|
||
|
||
2019-03-08 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/68924
|
||
PR target/78782
|
||
PR target/87558
|
||
* config/i386/emmintrin.h (_mm_loadu_si64): New intrinsic.
|
||
(_mm_storeu_si64): Ditto.
|
||
|
||
2019-03-08 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/86952
|
||
* config/i386/i386.c (ix86_option_override_internal): Disable
|
||
jump tables when retpolines are used.
|
||
|
||
2019-03-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR go/63560
|
||
* ipa-split.c (execute_split_functions): Do not split
|
||
'noinline' or 'section' function.
|
||
|
||
2019-03-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/79846
|
||
* config/s390/s390.c (s390_const_operand_ok): Use %wu instead of
|
||
HOST_WIDE_INT_PRINT_UNSIGNED and %wd instead of
|
||
HOST_WIDE_INT_PRINT_DEC. Formatting fixes.
|
||
|
||
PR ipa/80000
|
||
* ipa-devirt.c (compare_virtual_tables): Remove two trailing spaces
|
||
from diagnostics. Formatting fixes.
|
||
|
||
PR target/85665
|
||
* ipa-devirt.c (odr_types_equivalent_p): Fix grammar in
|
||
warn_odr diagnostics.
|
||
|
||
PR other/80058
|
||
* lra-constraints.c (process_alt_operands): Avoid one space before
|
||
" at the end of line and another after " on another line in a string
|
||
literal.
|
||
* attribs.c (handle_dll_attribute): Likewise.
|
||
* config/avr/avr-devices.c (avr_texinfo): Likewise.
|
||
|
||
* gimple-ssa-warn-alloca.c (pass_walloca::execute): Don't wrap
|
||
warning_at or inform messages in G_() if there is no ?:.
|
||
|
||
PR tree-optimization/89550
|
||
* builtins.c (c_strlen): Only set TREE_NO_WARNING if warning_at
|
||
returned true. Formatting fixes.
|
||
(expand_builtin_strnlen): Formatting fixes.
|
||
* tree-vrp.c (vrp_prop::check_mem_ref): Only set TREE_NO_WARNING
|
||
if warning_at returned true.
|
||
* tree-cfg.c (pass_warn_function_return::execute): Likewise.
|
||
|
||
2019-03-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/89578
|
||
* cfgloop.h (struct loop): Add owned_clique field.
|
||
* cfgloopmanip.c (copy_loop_info): Copy it.
|
||
* tree-cfg.c (gimple_duplicate_bb): Do not remap owned_clique
|
||
cliques.
|
||
* tree-inline.c (copy_loops): Remap owned_clique.
|
||
* lto-streamer-in.c (input_cfg): Stream owned_clique.
|
||
* lto-streamer-out.c (output_cfg): Likewise.
|
||
|
||
2019-03-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/80190
|
||
* config/darwin.c: Include intl.h.
|
||
(darwin_build_constant_cfstring): Improve i18n of diagnostics by not
|
||
composing the message out of two separate parts.
|
||
|
||
2019-03-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/80003
|
||
* config/i386/i386.c (ix86_set_func_type): Make sure diagnostics
|
||
doesn't start with a capital letter and doesn't end with a dot.
|
||
(ix86_function_arg_boundary): Make sure diagnostics doesn't start
|
||
with a capital letter.
|
||
(ix86_mangle_function_version_assembler_name): Likewise.
|
||
(ix86_generate_version_dispatcher_body): Likewise.
|
||
(fold_builtin_cpu): Likewise.
|
||
(get_builtin_code_for_version): Likewise. Remove extraneous space.
|
||
(ix86_handle_interrupt_attribute): Make the diagnostics easier for
|
||
translators, wrap full type name in %qs.
|
||
|
||
PR translation/79999
|
||
* gimplify.c (gimplify_omp_ordered): Reword diagnostics to talk about
|
||
depend clause with source (or sink) modifier.
|
||
* omp-expand.c (expand_omp_ordered_sink): Likewise.
|
||
|
||
PR target/89602
|
||
* config/i386/sse.md (avx512f_mov<ssescalarmodelower>_mask,
|
||
*avx512f_load<mode>_mask, avx512f_store<mode>_mask): New define_insns.
|
||
(avx512f_load<mode>_mask): New define_expand.
|
||
* config/i386/i386-builtin.def (__builtin_ia32_loadsd_mask,
|
||
__builtin_ia32_loadss_mask, __builtin_ia32_storesd_mask,
|
||
__builtin_ia32_storess_mask, __builtin_ia32_movesd_mask,
|
||
__builtin_ia32_movess_mask): New builtins.
|
||
* config/i386/avx512fintrin.h (_mm_mask_load_ss, _mm_maskz_load_ss,
|
||
_mm_mask_load_sd, _mm_maskz_load_sd, _mm_mask_move_ss,
|
||
_mm_maskz_move_ss, _mm_mask_move_sd, _mm_maskz_move_sd,
|
||
_mm_mask_store_ss, _mm_mask_store_sd): New intrinsics.
|
||
|
||
2019-03-07 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR lto/87525
|
||
* ipa-cp.c (perform_estimation_of_a_value): Account zero time benefit
|
||
for extern inline functions.
|
||
|
||
2019-03-07 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/88235
|
||
* cgraph.h (cgraph_node): New inline method former_thunk_p.
|
||
* cgraph.c (cgraph_node::dump): Dump a note if node is a former thunk.
|
||
(clone_of_p): Treat expanded thunks like thunks, be optimistic if they
|
||
have multiple callees. At the end check if declarations match as
|
||
opposed to cgraph_nodes.
|
||
|
||
2019-03-07 Martin Liska <mliska@suse.cz>
|
||
|
||
* cgraph.c (cgraph_node::verify_node): Verify with a neighbour
|
||
which is equivalent to searching for this in clones chain.
|
||
* symtab.c (symtab_node::verify_base): Similarly compare ASM
|
||
names with a neighbour and special case first node in a chain.
|
||
|
||
2019-01-25 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/80916 - spurious "static but not defined" warning.
|
||
* gimple-fold.c (can_refer_decl_in_current_unit_p): Return false
|
||
for an internal symbol with DECL_EXTERNAL.
|
||
|
||
2019-04-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/89618
|
||
* cfgloopmanip.c (copy_loop_info): Copy forgotten fields.
|
||
* tree-inline.c (copy_loops): Simplify.
|
||
|
||
2019-03-07 Martin Liska <mliska@suse.cz>
|
||
|
||
* dwarf2out.c (add_AT_vms_delta): Revert function removal.
|
||
|
||
2019-03-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89595
|
||
* tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Take
|
||
stmt iterator as reference, take boolean output parameter to
|
||
indicate whether the stmt was removed and thus the iterator
|
||
already advanced.
|
||
(dom_opt_dom_walker::before_dom_children): Re-iterate over
|
||
stmts created by folding.
|
||
|
||
2019-03-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/89585
|
||
* doc/extend.texi (Basic Asm): Document qualifiers are not allowed
|
||
at toplevel.
|
||
|
||
2019-03-06 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
PR rtl-optimization/88845
|
||
* config/rs6000/rs6000.c (rs6000_emit_move_si_sf_subreg): Enable during
|
||
LRA.
|
||
* lra.c (remove_scratches_1): New function.
|
||
(remove_scratches): Use it.
|
||
(lra_emit_move): Likewise.
|
||
|
||
2019-03-06 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc-c.def (__ARC_UNALIGNED__): Set it on
|
||
unaligned_access variable.
|
||
* config/arc/arc.c (arc_override_options): Set unaligned access
|
||
default on for HS CPUs.
|
||
* config/arc/arc.h (STRICT_ALIGNMENT): Fix logic.
|
||
|
||
2019-03-06 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/89577
|
||
* doc/gcov.texi: Prefer to use --coverage.
|
||
* doc/sourcebuild.texi: Likewise.
|
||
|
||
2019-03-02 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/86485 - -Wmaybe-unused with empty class ?:
|
||
* gimplify.c (gimplify_cond_expr): Use INIT_EXPR.
|
||
|
||
2019-03-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89587
|
||
* config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only
|
||
if_multiarch.
|
||
|
||
PR middle-end/89590
|
||
* builtins.c (maybe_emit_free_warning): Punt if free doesn't have
|
||
exactly one argument.
|
||
|
||
2019-03-05 Jakub Jelinek <jakub@redhat.com>
|
||
Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/89570
|
||
* match.pd (vec_cond into cond_op simplification): Don't use
|
||
get_conditional_internal_fn, use as_internal_fn (cond_op).
|
||
|
||
2019-03-05 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR target/89222
|
||
* config/arm/arm.md (movsi): Use targetm.cannot_force_const_mem
|
||
to decide when to split off a non-zero offset from a symbol.
|
||
* config/arm/arm.c (arm_cannot_force_const_mem): Disallow offsets
|
||
in function symbols.
|
||
|
||
2019-03-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89594
|
||
* tree-if-conv.c (pass_if_conversion::execute): Handle
|
||
case where .LOOP_VECTORIZED_FUNCTION was removed.
|
||
|
||
2019-03-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/89560
|
||
* fold-const.c (fold_checksum_tree): Don't use fixed size buffer,
|
||
instead alloca it only when needed with the needed size.
|
||
|
||
PR tree-optimization/89570
|
||
* match.pd (vec_cond into cond_op simplification): Guard with
|
||
vectorized_internal_fn_supported_p test and #if GIMPLE.
|
||
|
||
PR tree-optimization/89566
|
||
* gimple-ssa-sprintf.c (sprintf_dom_walker::handle_gimple_call):
|
||
Set info.fncode to BUILT_IN_NONE if gimple_call_builtin_p failed.
|
||
Punt if get_user_idx_format succeeds, but idx_format argument is
|
||
not provided or doesn't have pointer type, or if idx_args is above
|
||
number of provided arguments.
|
||
|
||
2019-03-04 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR tree-optimization/89437
|
||
* match.pd: Use lt in sin(atan(x)) and cos(atan(x)) simplifications.
|
||
|
||
2019-03-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/89572
|
||
* tree-scalar-evolution.c: (get_loop_exit_condition): Use
|
||
safe_dyn_cast.
|
||
|
||
2019-03-04 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/89487
|
||
* tree-loop-distribution.c (has_nonaddressable_dataref_p): New.
|
||
(create_rdg_vertices): Compute has_nonaddressable_dataref_p.
|
||
(distribute_loop): Don't do runtime alias check if there is non-
|
||
addressable data reference.
|
||
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Check if VAR_DECL
|
||
is a register variable.
|
||
|
||
2019-03-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89506
|
||
* config/arm/arm.md (cmpsi2_addneg): Use
|
||
trunc_int_for_mode (-INTVAL (...), SImode) instead of -INTVAL (...).
|
||
If operands[2] is 0 or INT_MIN, force use of subs.
|
||
(*compare_scc splitter): Use gen_int_mode.
|
||
(*negscc): Likewise.
|
||
* config/arm/thumb2.md (*thumb2_negscc): Likewise.
|
||
|
||
2019-03-01 Kito Cheng <kito.cheng@gmail.com>
|
||
Monk Chiang <sh.chiang04@gmail.com>
|
||
|
||
* common/config/riscv/riscv-common.c: Include sstream.
|
||
(riscv_subset_list::to_string): New.
|
||
(riscv_arch_str): Likewise.
|
||
* config.gcc (riscv*-*-*): Handle --with-riscv-attribute=
|
||
* config.in: Regen.
|
||
* config/riscv/riscv-protos.h (riscv_arch_str): New.
|
||
* config/riscv/riscv.c (INCLUDE_STRING): Defined.
|
||
(riscv_emit_attribute): New.
|
||
(riscv_file_start): Emit attribute if needed.
|
||
(riscv_option_override): Init riscv_emit_attribute_p.
|
||
* config/riscv/riscv.opt (mriscv-attribute): New option.
|
||
* configure.ac (riscv*-*-*): Check binutils is supporting ELF
|
||
* configure: Regen.
|
||
* doc/install.texi: Document --with-riscv-attribute.
|
||
* doc/invoke.texi: Document -mriscv-attribute.
|
||
|
||
* common/config/riscv/riscv-common.c:
|
||
Include config/riscv/riscv-protos.h.
|
||
(INCLUDE_STRING): Defined.
|
||
(RISCV_DONT_CARE_VERSION): Defined.
|
||
(riscv_subset_t): Declare.
|
||
(riscv_subset_t::riscv_subset_t): New.
|
||
(riscv_subset_list): Declare.
|
||
(riscv_subset_list::riscv_subset_list): New.
|
||
(riscv_subset_list::~riscv_subset_list): Likewise.
|
||
(riscv_subset_list::parsing_subset_version): Likewise.
|
||
(riscv_subset_list::parse_std_ext): Likewise.
|
||
(riscv_subset_list::parse_sv_or_non_std_ext): Likewise.
|
||
(riscv_subset_list::add): Likewise.
|
||
(riscv_subset_list::lookup): Likewise.
|
||
(riscv_subset_list::xlen): Likewise.
|
||
(riscv_subset_list::parse): Likewise.
|
||
(riscv_supported_std_ext): Likewise.
|
||
(current_subset_list): Likewise.
|
||
(riscv_parse_arch_string): Using riscv_subset_list::parse to
|
||
parse.
|
||
|
||
2019-03-01 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): If
|
||
rs6000_dejagnu_cpu_index is set, use that to override rs6000_cpu_index.
|
||
* config/rs6000/rs6000.opt (mdejagnu-cpu=): New option.
|
||
|
||
2019-03-01 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
PR rtl-optimization/85899
|
||
* haifa-sched.c (find_fallthru_edge_from): Relax assert to account for
|
||
fallthru edges leading to the exit block.
|
||
|
||
2019-03-01 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR target/89517
|
||
* config/aarch64/aarch64-option-extensions.def (fp, simd, crypto, fp16,
|
||
rdma, dotprod, sha2, sha3, sm4, fp16fml, sve): Collapse line.
|
||
|
||
2019-03-01 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/89535
|
||
* tree-vect-stmts.c (vectorizable_call): Record the vector types
|
||
for each operand. Calculate the fallback choice for mask operands
|
||
and pass it to vect_get_vec_def_for_operand.
|
||
|
||
2019-03-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/89541
|
||
* tree-ssa-operands.c (add_stmt_operand): CONST_DECL may
|
||
get virtual operands.
|
||
(get_expr_operands): Handle CONST_DECL like other decls.
|
||
|
||
2019-03-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/89503
|
||
* fold-const.c (fold_checksum_tree): Ignore TREE_NO_WARNING bit
|
||
on DECL_P and EXPR_P.
|
||
|
||
2019-03-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/89497
|
||
* tree-cfgcleanup.h (cleanup_tree_cfg): Add SSA update flags
|
||
argument, defaulted to zero.
|
||
* passes.c (execute_function_todo): Pass down SSA update flags
|
||
to cleanup_tree_cfg.
|
||
* tree-cfgcleanup.c: Include tree-into-ssa.h and tree-cfgcleanup.h.
|
||
(cleanup_tree_cfg_noloop): After cleanup_control_flow_pre update SSA
|
||
form if requested.
|
||
(cleanup_tree_cfg): Get and pass down SSA update flags.
|
||
|
||
2019-03-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/89539
|
||
* dwarf2out.c (output_comdat_type_unit): Add ATTRIBUTE_UNUSED to
|
||
early_lto_debug argument.
|
||
|
||
2019-02-28 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR tree-optimization/89536
|
||
* tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_NOT_EXPR>: Test
|
||
only whether bit #0 of the value is 0 instead of the entire value.
|
||
|
||
2019-02-28 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/87068 - missing diagnostic with fallthrough statement.
|
||
* gimplify.c (expand_FALLTHROUGH_r): If IFN_FALLTHROUGH was found
|
||
at the end of a seq, save its location to walk_stmt_info.
|
||
(expand_FALLTHROUGH): Warn if IFN_FALLTHROUGH is at the end of
|
||
a switch.
|
||
|
||
2019-02-28 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/88585
|
||
* tree.c (find_atomic_core_type): Move ahead in file.
|
||
(check_base_type): Correctly compare alignments of atomic types.
|
||
|
||
2019-02-28 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/89455
|
||
* config/i386/i386.c (get_builtin_code_for_version): Identify
|
||
Westmere from PCLMUL, instead of AES.
|
||
|
||
2019-02-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89434
|
||
* config/arm/arm.md (*subsi3_carryin_compare_const): Use
|
||
trunc_int_for_mode (-INTVAL (...), SImode), just instead of
|
||
-UINTVAL (...).
|
||
|
||
2019-02-28 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR target/88530
|
||
* config/aarch64/aarch64-option-extensions.def: Document it.
|
||
* config/aarch64/driver-aarch64.c (host_detect_local_cpu): Skip feature
|
||
if empty hwcaps.
|
||
|
||
2019-02-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/89520
|
||
* convert.c (convert_to_real_1, convert_to_integer_1): Punt for
|
||
builtins if they don't have a single scalar floating point argument.
|
||
Formatting fixes.
|
||
|
||
2019-02-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR rtl-optimization/89490
|
||
* varasm.c (get_block_for_section): Bail out for mergeable sections.
|
||
(default_use_anchors_for_symbol_p, output_object_block): Assert the
|
||
block section is not mergeable.
|
||
|
||
2019-02-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70341
|
||
* config/arm/arm.md (arm_casesi_internal): New define_expand. Rename
|
||
old define_insn to ...
|
||
(*arm_casesi_internal): ... this. Add mode to LABEL_REFs.
|
||
* config/arm/thumb2.md (thumb2_casesi_internal): New define_expand.
|
||
Rename old define_insn to ...
|
||
(*thumb2_casesi_internal): ... this. Add mode to LABEL_REFs.
|
||
(thumb2_casesi_internal_pic): New define_expand. Rename old
|
||
define_insn to ...
|
||
(*thumb2_casesi_internal_pic): ... this. Add mode to LABEL_REFs.
|
||
* config/aarch64/aarch64.md (casesi): Create the casesi_dispatch
|
||
MEM manually here, set MEM_READONLY_P and MEM_NOTRAP_P on it.
|
||
|
||
2019-02-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/88878
|
||
* dwarf2out.c (use_debug_types): Disable when in_lto_p.
|
||
|
||
2019-02-27 Richard Biener <rguenther@suse.de>
|
||
|
||
* passes.c (should_skip_pass_p): Do not skip cgraph-edge
|
||
building.
|
||
|
||
2019-02-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/88878
|
||
* dwarf2out.c (output_comdat_type_unit): Add early_lto_debug
|
||
parameter, prefix section name with .gnu.debuglto_ if true.
|
||
(dwarf2out_finish): Pass false to output_comdat_type_unit.
|
||
(dwarf2out_early_finish): Pass true to output_comdat_type_unit.
|
||
|
||
2019-02-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/89514
|
||
* dwarf2out.c (size_of_die): Key on AT_ref (a)->comdat_type_p
|
||
rather than on use_debug_types, doing what output_die does.
|
||
(value_format): Likewise.
|
||
|
||
2019-02-27 Martin Jambor <mjambor@suse.cz>
|
||
Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/invoke.texi (Warning Options): Reword description of
|
||
-Wno-absolute-value.
|
||
|
||
2019-02-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/89280
|
||
* tree-cfgcleanup.c (maybe_dead_abnormal_edge_p,
|
||
builtin_setjmp_setup_bb): New functions.
|
||
(cleanup_control_flow_pre): Ignore maybe_dead_abnormal_edge_p edges.
|
||
When visiting __builtin_setjmp_setup block, queue in special
|
||
setjmp_vec vector edges from .ABNORMAL_DISPATCHER to corresponding
|
||
__builtin_setjmp_receiver. Remove .ABNORMAL_DISPATCHER basic blocks
|
||
from visited after the loop if they don't have any visited successor
|
||
blocks.
|
||
|
||
2018-02-26 Steve Ellcey <sellcey@marvell.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_get_multilib_abi_name):
|
||
New function.
|
||
(TARGET_GET_MULTILIB_ABI_NAME): New macro.
|
||
|
||
2019-02-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/89507
|
||
* tree.c (valid_constant_size_p): Deal with size INTEGER_CSTs
|
||
with types other than sizetype/ssizetype.
|
||
|
||
2019-02-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/sparc/sparc-opts.h (enum processor_type): Rename to...
|
||
(enum sparc_processor_type): ...this.
|
||
(enum sparc_code_model_type): New enumeration type.
|
||
(enum sparc_memory_model_type): Tweak comments.
|
||
* config/sparc/sparc.opt (mcpu): Adjust to above renaming.
|
||
(mtune): Likewise.
|
||
(mcmodel): Use sparc_code_model enumeration and variable.
|
||
(sparc_code_model): New enumeration.
|
||
(mdebug): Add Undocumented marker.
|
||
* config/sparc/sparc.h (enum cmodel): Delete.
|
||
(sparc_cmodel): Likewise.
|
||
(TARGET_CM_MEDLOW): Adjust to above renaming.
|
||
(TARGET_CM_MEDMID): Likewise.
|
||
(TARGET_CM_MEDANY): Likewise.
|
||
(TARGET_CM_EMBMEDANY): Likewise.
|
||
* config/sparc/sparc.c (sparc_cmodel): Delete.
|
||
(sparc_option_override): Remove string/value mapping support for the
|
||
code model. Move code and memory model support to after the handling
|
||
of target flags. Do private machine setup last.
|
||
(sparc_emit_set_symbolic_const64): Use sparc_code_model.
|
||
(sparc_legitimize_reload_address): Likewise.
|
||
(sparc_output_mi_thunk): Likewise.
|
||
* config/sparc/sparc.md (cpu): Adjust comment to above renaming.
|
||
|
||
2019-02-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/89500
|
||
* tree-ssa-strlen.c (stridx_strlenloc): Adjust comment.
|
||
(handle_builtin_strlen): Remove noncst_bound variable. Always
|
||
optimize strnlen (x, 0) to 0. Optimize strnlen (x, cst) to
|
||
cst if the first cst bytes starting at x are known to be non-zero,
|
||
even if the string is not zero terminated. Don't try to modify
|
||
*si for strnlen. Update strlen_to_stridx only for strlen or if
|
||
we can prove strnlen returns the same value as strlen would.
|
||
|
||
2019-02-26 Martin Liska <mliska@suse.cz>
|
||
|
||
* alloc-pool.h (struct pool_usage): Remove extra
|
||
print_dash_line.
|
||
* bitmap.h (struct bitmap_usage): Likewise.
|
||
* ggc-common.c (struct ggc_usage): Likewise.
|
||
* mem-stats.h (struct mem_usage): Likewise.
|
||
(mem_alloc_description::dump): Print dash lines
|
||
here and repeat header at the end of a table report.
|
||
It's then more readable.
|
||
* tree-phinodes.c (phinodes_print_statistics): Make
|
||
horizontal alignment.
|
||
* tree-ssanames.c (ssanames_print_statistics): Likewise.
|
||
* vec.c (struct vec_usage): Remove extra print_dash_line.
|
||
* vec.h (vec_safe_grow_cleared): Pass PASS_MEM_STAT.
|
||
|
||
2019-02-26 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* doc/extend.texi (__builtin_object_size):
|
||
Use @pxref instead of @xref inside parenthesis.
|
||
(__builtin_has_attribute): Add missing comma after @xref.
|
||
(__builtin_object_size): Ditto.
|
||
* doc/md.texi (cond_*{mode}): Use @samp instead of @var around op1[i].
|
||
* fortran/invoke.texi (-ffpe-trap): Use @var for every item
|
||
in the list.
|
||
|
||
2019-02-26 Jeff Law <law@redhat.com>
|
||
|
||
PR rtl-optimization/87761
|
||
* regcprop.c (copyprop_hardreg_forward_1): Use REG_UNUSED notes to
|
||
detect obviously dead insns and delete them.
|
||
|
||
2019-02-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89505
|
||
* tree-ssa-structalias.c (compute_dependence_clique): Make sure
|
||
to handle restrict pointed-to vars with multiple subvars
|
||
correctly.
|
||
|
||
2019-02-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89489
|
||
* tree-parloops.c (create_loop_fn): Copy over last_clique.
|
||
|
||
2019-02-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_IOR_EXPR>: Fix
|
||
and move around comment.
|
||
<BIT_AND_EXPR>: Likewise.
|
||
<BIT_NOT_EXPR>: Add specific handling for boolean types.
|
||
|
||
2019-02-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89474
|
||
* config/i386/i386.c (remove_partial_avx_dependency): Call
|
||
df_analyze etc. before creation of the v4sf_const0 pseudo, rather than
|
||
after changing possibly many instructions to use that pseudo. Fix up
|
||
insertion of v4sf_const0 setter at the start of bb.
|
||
|
||
2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR c/80409
|
||
* doc/extend.texi (Variadic Pointer Args): New section.
|
||
|
||
2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
|
||
Martin Sebor <msebor@gmail.com>
|
||
|
||
* common.opt (Wattribute-alias): Likewise.
|
||
* doc/invoke.texi (Option Summary): List general form of
|
||
-Wattribute-alias=. List positive form of -Wmissing-attributes.
|
||
(-Wmissing-attributes): Invert entry, rewrite and correct default.
|
||
Add cross-references.
|
||
(-Wattribute-alias): Rewrite and correct default. Mention
|
||
considered attributes (same as for -Wmissing-attributes).
|
||
|
||
2019-02-25 Paul A. Clarke <pc@us.ibm.com>
|
||
|
||
* config/rs6000/emmintrin.h (_mm_cvtpd_epi32): Fix big endian.
|
||
(_mm_cvtpd_ps): Likewise.
|
||
(_mm_cvttpd_epi32): Likewise.
|
||
|
||
PR target/89338
|
||
* config/rs6000/xmmintrin.h (_mm_cvtss_f32): Fix type mismatch.
|
||
(_mm_cvt_ss2si): Fix type mismatch and 32-bit.
|
||
|
||
PR target/89339
|
||
* config/rs6000/xmmintrin.h (_mm_movemask_pi8): Fix 32-bit.
|
||
|
||
2019-02-25 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR target/88530
|
||
* common/config/aarch64/aarch64-common.c
|
||
(struct aarch64_option_extension): Add is_synthetic.
|
||
(all_extensions): Use it.
|
||
(TARGET_OPTION_INIT_STRUCT): Define hook.
|
||
(struct gcc_targetm_common): Moved to end.
|
||
(all_extensions_by_on): New.
|
||
(opt_ext_cmp, typedef opt_ext): New.
|
||
(aarch64_option_init_struct): New.
|
||
(aarch64_contains_opt): New.
|
||
(aarch64_get_extension_string_for_isa_flags): Output smallest set.
|
||
* config/aarch64/aarch64-option-extensions.def
|
||
(AARCH64_OPT_EXTENSION): Explicitly include AES and SHA2 in crypto.
|
||
(fp, simd, crc, lse, fp16, rcpc, rdma, dotprod, aes, sha2, sha3,
|
||
sm4, fp16fml, sve, profile, rng, memtag, sb, ssbs, predres):
|
||
Set is_synthetic to false.
|
||
(crypto): Set is_synthetic to true.
|
||
* config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Add
|
||
SYNTHETIC.
|
||
|
||
2019-02-25 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/arm/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32,
|
||
vfmlal_high_u32, vfmlsl_high_u32, vfmlalq_low_u32, vfmlslq_low_u32,
|
||
vfmlalq_high_u32, vfmlslq_high_u32, vfmlal_lane_low_u32,
|
||
vfmlal_lane_high_u32, vfmlalq_laneq_low_u32, vfmlalq_lane_low_u32,
|
||
vfmlal_laneq_low_u32, vfmlalq_laneq_high_u32, vfmlalq_lane_high_u32,
|
||
vfmlal_laneq_high_u32, vfmlsl_lane_low_u32, vfmlsl_lane_high_u32,
|
||
vfmlslq_laneq_low_u32, vfmlslq_lane_low_u32, vfmlsl_laneq_low_u32,
|
||
vfmlslq_laneq_high_u32, vfmlslq_lane_high_u32, vfmlsl_laneq_high_u32):
|
||
Rename ...
|
||
(vfmlal_low_f16, vfmlsl_low_f16, vfmlal_high_f16, vfmlsl_high_f16,
|
||
vfmlalq_low_f16, vfmlslq_low_f16, vfmlalq_high_f16, vfmlslq_high_f16,
|
||
vfmlal_lane_low_f16, vfmlal_lane_high_f16, vfmlalq_laneq_low_f16,
|
||
vfmlalq_lane_low_f16, vfmlal_laneq_low_f16, vfmlalq_laneq_high_f16,
|
||
vfmlalq_lane_high_f16, vfmlal_laneq_high_f16, vfmlsl_lane_low_f16,
|
||
vfmlsl_lane_high_f16, vfmlslq_laneq_low_f16, vfmlslq_lane_low_f16,
|
||
vfmlsl_laneq_low_f16, vfmlslq_laneq_high_f16, vfmlslq_lane_high_f16,
|
||
vfmlsl_laneq_high_f16): ... To this.
|
||
* config/arm/neon.md: Update comments.
|
||
|
||
2019-02-25 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/aarch64/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32,
|
||
vfmlalq_low_u32, vfmlslq_low_u32, vfmlal_high_u32, vfmlsl_high_u32,
|
||
vfmlalq_high_u32, vfmlslq_high_u32, vfmlal_lane_low_u32,
|
||
vfmlsl_lane_low_u32, vfmlal_laneq_low_u32, vfmlsl_laneq_low_u32,
|
||
vfmlalq_lane_low_u32, vfmlslq_lane_low_u32, vfmlalq_laneq_low_u32,
|
||
vfmlslq_laneq_low_u32, vfmlal_lane_high_u32, vfmlsl_lane_high_u32,
|
||
vfmlal_laneq_high_u32, vfmlsl_laneq_high_u32, vfmlalq_lane_high_u32,
|
||
vfmlslq_lane_high_u32, vfmlalq_laneq_high_u32, vfmlslq_laneq_high_u32):
|
||
Rename ...
|
||
(vfmlal_low_f16, vfmlsl_low_f16, vfmlalq_low_f16, vfmlslq_low_f16,
|
||
vfmlal_high_f16, vfmlsl_high_f16, vfmlalq_high_f16, vfmlslq_high_f16,
|
||
vfmlal_lane_low_f16, vfmlsl_lane_low_f16, vfmlal_laneq_low_f16,
|
||
vfmlsl_laneq_low_f16, vfmlalq_lane_low_f16, vfmlslq_lane_low_f16,
|
||
vfmlalq_laneq_low_f16, vfmlslq_laneq_low_f16, vfmlal_lane_high_f16,
|
||
vfmlsl_lane_high_f16, vfmlal_laneq_high_f16, vfmlsl_laneq_high_f16,
|
||
vfmlalq_lane_high_f16, vfmlslq_lane_high_f16, vfmlalq_laneq_high_f16,
|
||
vfmlslq_laneq_high_f16): ... To this.
|
||
|
||
2019-02-25 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
PR rtl-optimization/86096
|
||
* df-scan.c (df_mw_compare): Do not check mw_reg fields when
|
||
comparing mw_order values.
|
||
|
||
2019-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89434
|
||
* config/arm/arm.md (*subsi3_carryin_const): Use
|
||
arm_neg_immediate_operand predicate instead of
|
||
arm_not_immediate_operand, "L" constraint instead of "K" and
|
||
print it using %n2 instead of %B2.
|
||
(*subsi3_carryin_const0): New define_insn.
|
||
(*subsi3_carryin_compare_const): Use const_int_I_operand predicate
|
||
instead of arm_not_operand and "I" constraint instead of "K" and
|
||
print it using %n3 instead of %B2. Instead of using match_dup 2 add
|
||
another match_operand and in the condition check that it is negation
|
||
of operands[2].
|
||
(*subsi3_carryin_compare_const0): New define_ins.
|
||
(*subdi_di_zesidi): Adjust to use *subsi3_carryin_const0 instead of
|
||
*subsi3_carryin_const.
|
||
(*arm_cmpdi_insn): Fix splitting into *subsi3_carryin_compare_const,
|
||
split into *subsi3_carryin_compare_const0 if the highpart is zero.
|
||
|
||
PR target/89438
|
||
* config/arm.vfp.md (*negdf2_vfp): Use
|
||
gen_int_mode (0x80000000, SImode) instead of GEN_INT (0x80000000).
|
||
* config/arm/neon.md (neon_copysignf<mode>): Likewise.
|
||
|
||
2019-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/89445
|
||
* simplify-rtx.c (simplify_ternary_operation): Don't use
|
||
simplify_merge_mask on operands that may trap.
|
||
* rtlanal.c (may_trap_p_1): Use FLOAT_MODE_P instead of
|
||
SCALAR_FLOAT_MODE_P checks. For integral division by zero, if
|
||
second operand is CONST_VECTOR, check if any element could be zero.
|
||
Don't expect traps for VEC_{MERGE,SELECT,CONCAT,DUPLICATE} unless
|
||
their operands can trap.
|
||
|
||
2019-02-23 Martin Sebor <msebor@redhat.com>
|
||
|
||
* gimple-ssa-sprintf.c (target_strtol): Rename...
|
||
(target_strtohwi): ...to this. Handle values up to HOST_WIDE_INT_MAX.
|
||
(parse_directive): Adjust to name change. Use HOST_WIDE_INT_MAX to
|
||
check for range error.
|
||
|
||
2019-02-23 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR driver/69471
|
||
* opts-common.c (prune_options): Also prune joined switches
|
||
with Negative and RejectNegative.
|
||
* config/i386/i386.opt (march=): Add Negative(march=).
|
||
(mtune=): Add Negative(mtune=).
|
||
* doc/options.texi: Document Negative used together with Joined
|
||
and RejectNegative.
|
||
|
||
2019-02-22 Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/extend.texi (Other Builtins): Add
|
||
__builtin_is_constant_evaluated.
|
||
|
||
2019-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/87609
|
||
* tree-cfg.c (gimple_duplicate_bb): Only remap inlined cliques.
|
||
|
||
2019-02-22 Jeff Law <law@redhat.com>
|
||
|
||
PR rtl-optimization/87761
|
||
* config/mips/mips.md: Add new combiner pattern to recognize
|
||
a bitfield extraction using (ashiftrt (truncate (ashift (...)))).
|
||
|
||
2019-02-22 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
PR target/89324
|
||
* config/aarch64/aarch64.md: Use aarch64_general_reg predicate on
|
||
destination register in peepholes generating patterns for ADDS/SUBS.
|
||
(add<mode>3_compare0,
|
||
*addsi3_compare0_uxtw, add<mode>3_compareC,
|
||
add<mode>3_compareV_imm, add<mode>3_compareV,
|
||
*adds_<optab><ALLX:mode>_<GPI:mode>,
|
||
*subs_<optab><ALLX:mode>_<GPI:mode>,
|
||
*adds_<optab><ALLX:mode>_shift_<GPI:mode>,
|
||
*subs_<optab><ALLX:mode>_shift_<GPI:mode>,
|
||
*adds_<optab><mode>_multp2, *subs_<optab><mode>_multp2,
|
||
*sub<mode>3_compare0, *subsi3_compare0_uxtw,
|
||
sub<mode>3_compare1): Allow stack pointer for source register.
|
||
* config/aarch64/predicates.md (aarch64_general_reg): New predicate.
|
||
|
||
2019-02-22 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/88993
|
||
PR tree-optimization/88853
|
||
* gimple-ssa-sprintf.c (sprintf_dom_walker::call_info::is_file_func):
|
||
New helper.
|
||
(sprintf_dom_walker::call_info::is_string_func): New helper.
|
||
(format_directive): Only issue "may exceed" 4095/INT_MAX warnings
|
||
for formatted string functions.
|
||
(sprintf_dom_walker::handle_gimple_call): Fix a typo in a comment.
|
||
|
||
2019-02-22 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/89425
|
||
* c-parser.c (sizeof_ptr_memacc_comptypes): Avoid warning in
|
||
unreachable subexpressions.
|
||
|
||
2019-02-22 H.J. Lu <hongjiu.lu@intel.com>
|
||
Hongtao Liu <hongtao.liu@intel.com>
|
||
Sunil K Pandey <sunil.k.pandey@intel.com>
|
||
|
||
PR target/87007
|
||
* config/i386/i386-passes.def: Add
|
||
pass_remove_partial_avx_dependency.
|
||
* config/i386/i386-protos.h
|
||
(make_pass_remove_partial_avx_dependency): New.
|
||
* config/i386/i386.c (make_pass_remove_partial_avx_dependency):
|
||
New function.
|
||
(pass_data_remove_partial_avx_dependency): New.
|
||
(pass_remove_partial_avx_dependency): Likewise.
|
||
(make_pass_remove_partial_avx_dependency): Likewise.
|
||
* config/i386/i386.md (avx_partial_xmm_update): New attribute.
|
||
(*extendsfdf2): Add avx_partial_xmm_update.
|
||
(truncdfsf2): Likewise.
|
||
(*float<SWI48:mode><MODEF:mode>2): Likewise.
|
||
(SF/DF conversion splitters): Disabled for TARGET_AVX.
|
||
|
||
2019-02-22 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR middle-end/85598
|
||
* gimple-ssa-sprintf.c (pass_sprintf_length::execute): Enable loop
|
||
analysis for pass.
|
||
|
||
2019-02-22 Thiago Macieira <thiago.macieira@intel.com>
|
||
|
||
PR target/89444
|
||
* config/i386/i386.h (PTA_WESTMERE): Remove PTA_AES.
|
||
(PTA_SKYLAKE): Add PTA_AES.
|
||
(PTA_GOLDMONT): Likewise.
|
||
|
||
2019-02-22 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_output_mi_thunk): Add bti
|
||
instruction if enabled.
|
||
(aarch64_override_options): Remove reference to return address key.
|
||
|
||
2019-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89440
|
||
* tree-vect-loop.c (vect_create_epilog_for_reduction): Remove
|
||
not necessary assert.
|
||
|
||
2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR fortran/72741
|
||
* omp-general.c (oacc_replace_fn_attrib): Mostly split out into...
|
||
(oacc_replace_fn_attrib_attr): ... this new function.
|
||
* omp-general.h (oacc_replace_fn_attrib_attr): New prototype.
|
||
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Revert workaround.
|
||
|
||
2019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm-cpus.in (ares): Rename to...
|
||
(neoverse-n1): ... This. Add ares as alias.
|
||
* config/arm/arm-tables.opt: Regenerate.
|
||
* config/arm/arm-tune.md: Likewise.
|
||
* doc/invoke.txt (ARM Options): Document neoverse-n1.
|
||
|
||
2019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64-cores.def (neoverse-e1): Define.
|
||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||
* doc/invoke.texi (AArch64 Options): Document neoverse-e1 -mcpu option.
|
||
|
||
2019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (ares_tunings): Rename to...
|
||
(neoversen1_tunings): ... This.
|
||
* config/aarch64/aarch64-cores.def (ares): Change tuning to the above.
|
||
(neoverse-n1): New CPU.
|
||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||
* doc/invoke.txt (AArch64 Options): Document neoverse-n1.
|
||
|
||
2019-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/87609
|
||
* cfghooks.h (dependence_hash): New typedef.
|
||
(struct copy_bb_data): New type.
|
||
(cfg_hooks::duplicate_block): Adjust to take a copy_bb_data argument.
|
||
(duplicate_block): Likewise.
|
||
* cfghooks.c (duplicate_block): Pass down copy_bb_data.
|
||
(copy_bbs): Create and pass down copy_bb_data.
|
||
* cfgrtl.c (cfg_layout_duplicate_bb): Adjust.
|
||
(rtl_duplicate_bb): Likewise.
|
||
* tree-cfg.c (gimple_duplicate_bb): If the copy_bb_data arg is not NULL
|
||
remap dependence info.
|
||
|
||
2019-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/87609
|
||
* tree-core.h (tree_base): Document special clique values.
|
||
* tree-inline.c (remap_dependence_clique): Do not use the
|
||
special clique value of one.
|
||
(maybe_set_dependence_info): Use clique one.
|
||
(clear_dependence_clique): New callback.
|
||
(compute_dependence_clique): Clear clique one from all refs
|
||
before assigning it (again).
|
||
|
||
2019-02-21 Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/extend.texi (__clear_cache): Correct signature.
|
||
|
||
2019-02-21 Ian Lance Taylor <iant@golang.org>
|
||
|
||
PR go/89170
|
||
* varasm.c (decode_addr_const): Call lookup_constant_def rather
|
||
than output_constant_def.
|
||
(add_constant_to_table): New static function.
|
||
(output_constant_def): Call add_constant_to_table.
|
||
(tree_output_constant_def): Likewise.
|
||
|
||
2019-02-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/89285
|
||
* builtins.c (fold_builtin_arith_overflow): If first two args are
|
||
INTEGER_CSTs, set intres and ovfres to constants rather than calls
|
||
to ifn.
|
||
|
||
2019-02-21 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/87412
|
||
* config/i386/i386.c (ix86_set_indirect_branch_type): Issue an
|
||
error for -mindirect-branch/-mfunction-return with incompatible
|
||
-fcf-protection.
|
||
|
||
2019-02-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/88714
|
||
* constraints.md (q): Remove.
|
||
* config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use rk constraint
|
||
instead of q.
|
||
|
||
2019-02-21 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR hsa/89302
|
||
* omp-general.c (omp_extract_for_data): Removed a duplicate call
|
||
to omp_adjust_for_condition, moved NE_EXPR code_cond processing...
|
||
(omp_adjust_for_condition): ...here. Added necessary parameters.
|
||
* omp-general.h (omp_adjust_for_condition): Updated declaration.
|
||
* omp-grid.c (grid_attempt_target_gridification): Adjust to pass
|
||
proper values to new parameters of omp_adjust_for_condition.
|
||
|
||
2019-02-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/89412
|
||
* expr.c (expand_assignment): If result is a MEM, use change_address
|
||
instead of simplify_gen_subreg.
|
||
|
||
2019-02-20 Jakub Jelinek <jakub@redhat.com>
|
||
David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR middle-end/89091
|
||
* fold-const.c (decode_field_reference): Return NULL_TREE if
|
||
lang_hooks.types.type_for_size returns NULL. Check it before
|
||
overwriting *exp_. Use return NULL_TREE instead of return 0.
|
||
|
||
2019-02-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/88074
|
||
PR middle-end/89415
|
||
* toplev.c (do_compile): Double the emin/emax exponents to workaround
|
||
buggy mpc_norm.
|
||
|
||
2019-02-20 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/89397
|
||
* config/i386/i386.c (ix86_atomic_assign_expand_fenv): Check
|
||
TARGET_SSE in addition to TARGET_SSE_MATH.
|
||
|
||
(ix86_excess_precision): Ditto.
|
||
(ix86_float_exceptions_rounding_supported_p): Ditto.
|
||
(use_rsqrt_p): Ditto.
|
||
* config/i386/sse.md (rsqrt<mode>2): Ditto.
|
||
|
||
2019-02-20 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/89410
|
||
* diagnostic-show-locus.c (layout::calculate_line_spans): Use
|
||
linenum_arith_t when determining if two adjacent line spans are
|
||
close enough to merge.
|
||
(diagnostic_show_locus): Use linenum_arith_t when iterating over
|
||
lines within each line_span.
|
||
|
||
2019-02-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
PR target/86487
|
||
* lra-constraints.c(uses_hard_regs_p): Fix handling of
|
||
paradoxical SUBREGS.
|
||
|
||
2019-02-20 Li Jia He <helijia@linux.ibm.com>
|
||
|
||
PR target/88100
|
||
* gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin)
|
||
<case ALTIVEC_BUILTIN_VSPLTISB, ALTIVEC_BUILTIN_VSPLTISH,
|
||
ALTIVEC_BUILTIN_VSPLTISW>: Don't convert the operand before
|
||
range checking it.
|
||
|
||
2019-02-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* config/gcn/gcn.c (print_operand): Fix typo.
|
||
|
||
2019-02-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/88074
|
||
* toplev.c (do_compile): Initialize mpfr's exponent range
|
||
based on available float modes.
|
||
|
||
2019-02-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* rtlanal.c (get_initial_register_offset): Fall back to the estimate
|
||
as long as the epilogue isn't completed.
|
||
|
||
2019-02-18 Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/cpp.texi (Conditional syntax): Add __has_attribute,
|
||
__has_cpp_attribute, and __has_include.
|
||
|
||
2019-02-18 Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/invoke.texi (-Wreturn-type): Correct and expand.
|
||
|
||
2019-02-18 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/89294
|
||
* tree.c (valid_constant_size_p): Avoid assuming size is a constant
|
||
expression.
|
||
* tree.h (cst_size_error): Add the cst_size_not_constant enumerator.
|
||
|
||
2019-02-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89296
|
||
* tree-ssa-loop-ch.c (ch_base::copy_headers): Restrict setting
|
||
of no-warning flag to cases that might emit the bogus warning.
|
||
|
||
2019-02-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/88714
|
||
* config/arm/arm.md (*arm_movdi, *movdf_soft_insn): Use "r" instead of
|
||
"q" constraint.
|
||
* config/arm/vfp.md (*movdi_vfp): Likewise.
|
||
* config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use "r" instead of
|
||
"q" constraint for operands[0].
|
||
|
||
PR target/89369
|
||
* config/s390/s390.md (*r<noxa>sbg_<mode>_srl_bitmask,
|
||
*r<noxa>sbg_<mode>_sll, *r<noxa>sbg_<mode>_srl): Don't construct
|
||
pattern in a temporary buffer.
|
||
(*r<noxa>sbg_sidi_srl): Likewise. Always use 32 as I3 rather
|
||
than 64-operands[2].
|
||
|
||
PR target/89361
|
||
* config/s390/s390.c (s390_indirect_branch_attrvalue,
|
||
s390_indirect_branch_settings): Define unconditionally.
|
||
(s390_set_current_function): Likewise, but guard the whole body except
|
||
the s390_indirect_branch_settings call with
|
||
#if S390_USE_TARGET_ATTRIBUTE.
|
||
(TARGET_SET_CURRENT_FUNCTION): Redefine unconditionally.
|
||
|
||
* config/s390/s390.md (*<risbg_n>_ior_and_sr_ze,
|
||
*<risbg_n>_<mode>_ior_and_lshiftrt, *<risbg_n>_sidi_ior_and_lshiftrt):
|
||
Use HOST_WIDE_INT_M1U instead of ~(0ULL).
|
||
(*<risbg_n>_and_subregdi_rotr, *<risbg_n>_and_subregdi_rotl): Use
|
||
HOST_WIDE_INT_1U instead of 1ULL.
|
||
(*pre_z10_extzv<mode>, *pre_z10_extv<mode>): Change mask type from int
|
||
to unsigned HOST_WIDE_INT, use HOST_WIDE_INT_1U instead of 1ul.
|
||
(*insv<mode><clobbercc_or_nocc>_appendbitsleft,
|
||
z = (x << c) | (y >> d) splitters): Use HOST_WIDE_INT_1U
|
||
instead of 1UL.
|
||
(*insv<mode>_mem_reg, *insvdi_mem_reghigh): Use HOST_WIDE_INT_1U
|
||
instead of 1ul.
|
||
|
||
2019-02-18 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/89209
|
||
* tree-sra.c (create_access_replacement): New optional parameter
|
||
reg_tree. Use it as a type if non-NULL and access type is not of
|
||
a register type.
|
||
(get_repl_default_def_ssa_name): New parameter REG_TYPE, pass it
|
||
to create_access_replacement.
|
||
(sra_modify_assign): Pass LHS type to get_repl_default_def_ssa_name.
|
||
Check lacc is non-NULL before attempting to re-create it on the RHS.
|
||
|
||
2019-02-18 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/89306
|
||
* cgraph.c (symbol_table::create_edge): Set m_summary_id to -1
|
||
by default.
|
||
(symbol_table::free_edge): Recycle m_summary_id.
|
||
* cgraph.h (get_summary_id): New.
|
||
(symbol_table::release_symbol): Set m_summary_id to -1
|
||
by default.
|
||
(symbol_table::allocate_cgraph_symbol): Recycle m_summary_id.
|
||
* ipa-fnsummary.c (ipa_fn_summary_t): Switch from
|
||
function_summary to fast_function_summary.
|
||
* ipa-fnsummary.h (ipa_fn_summary_t): Likewise.
|
||
* ipa-pure-const.c (class funct_state_summary_t):
|
||
Switch from function_summary to fast_function_summary.
|
||
* ipa-reference.c (class ipa_ref_var_info_summary_t): Likewise.
|
||
(class ipa_ref_opt_summary_t): Switch from function_summary
|
||
to fast_function_summary.
|
||
* symbol-summary.h (class function_summary_base): New class
|
||
that is created from base of former function_summary.
|
||
(function_summary_base::unregister_hooks): New.
|
||
(class function_summary): Inherit from function_summary_base.
|
||
(class call_summary_base): New class
|
||
that is created from base of former call_summary.
|
||
(class call_summary): Inherit from call_summary_base.
|
||
(struct is_same): New.
|
||
(class fast_function_summary): New summary class.
|
||
(class fast_call_summary): New summary class.
|
||
* vec.h (vec_safe_grow_cleared): New function.
|
||
|
||
2019-02-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/i386/i386.c (ix86_get_multilib_abi_name): New function.
|
||
(TARGET_GET_MULTILIB_ABI_NAME): New macro defined.
|
||
* doc/tm.texi: Document new target hook.
|
||
* doc/tm.texi.in: Likewise.
|
||
* target.def: Add new target macro.
|
||
* gcc.c (find_fortran_preinclude_file): Do not search multilib
|
||
suffixes.
|
||
|
||
2019-02-17 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/89271
|
||
* config/rs6000/rs6000.md (<bd>_<mode> split): Check for an int
|
||
output reg on add insn.
|
||
(<bd>tf_<mode> split): Likewise. Match predicates with insn.
|
||
|
||
2019-02-16 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/89372
|
||
* config/i386/sse.md (ssedoublemode): Remove V4HI.
|
||
(PMULHRSW): Likewise.
|
||
(<ssse3_avx2>_pmulhrsw<mode>3): Require TARGET_SSSE3, not
|
||
TARGET_AVX2.
|
||
(ssse3_pmulhrswv4hi3): New expander.
|
||
|
||
2019-02-16 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/mmx.md (*vec_extractv2si_zext_mem): Doesn't require
|
||
MMX. Add isa attribute.
|
||
|
||
2019-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/66152
|
||
* builtins.h (c_readstr): Declare.
|
||
* builtins.c (c_readstr): Remove forward declaration. Add
|
||
null_terminated_p argument, if false, read all bytes from the
|
||
string instead of stopping after '\0'.
|
||
* expr.c (string_cst_read_str): New function.
|
||
(store_expr): Use string_cst_read_str instead of
|
||
builtin_strncpy_read_str. Try to store by pieces the whole
|
||
exp_len first, and only if that fails, split it up into
|
||
store by pieces followed by clear_storage. Formatting fix.
|
||
|
||
* config/i386/i386.md (*movqi_internal): Remove static from
|
||
buf variable. Use output_asm_insn (buf, operands); return "";
|
||
instead of return buf;.
|
||
* config/i386/sse.md (<sse>_andnot<mode>3<mask_name>,
|
||
*<code><mode>3<mask_name>, *andnot<mode>3, *andnottf3, *<code><mode>3,
|
||
*<code>tf3, <mask_codefor><code><mode>3<mask_name>): Likewise.
|
||
|
||
2019-02-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/sparc/linux.h (ASAN_CC1_SPEC): Define.
|
||
(CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC and ASAN_CC1_SPEC.
|
||
* config/sparc/linux64.h (ASAN_CC1_SPEC): Likewise.
|
||
(CC1_SPEC): Likewise.
|
||
* config/sparc/sparc.c (sparc_asan_shadow_offset): Adjust for 64-bit.
|
||
|
||
2019-02-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* asan.c (asan_emit_stack_protection): Use full-sized mask to align
|
||
the base address on 64-bit strict-alignment platforms.
|
||
|
||
2019-02-15 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/i386.h (VALID_MMX_REG_MODE): Correct the misplaced ')'.
|
||
|
||
2019-02-15 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/darwin.h (TARGET_FPMATH_DEFAULT_P): New define.
|
||
|
||
2019-02-15 Aaron Sawdey <acsawdey@linux.ibm.com>
|
||
|
||
PR rtl-optimization/88308
|
||
* shrink-wrap.c (move_insn_for_shrink_wrap): Fix LABEL_NUSES counts
|
||
on copied instruction.
|
||
|
||
2019-02-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* final.c (insn_current_reference_address): Replace test on JUMP_P
|
||
with test on jump_to_label_p.
|
||
* config/visium/visium-passes.def: New file.
|
||
* config/visium/t-visium (PASSES_EXTRA): Define.
|
||
* config/visium/visium-protos.h (make_pass_visium_reorg): Declare.
|
||
* config/visium/visium.h (TRAMPOLINE_SIZE): Adjust.
|
||
(TRAMPOLINE_ALIGNMENT): Define.
|
||
* config/visium/visium.c (visium_option_override): Do not register
|
||
the machine-specific reorg pass here.
|
||
(visium_trampoline_init): Align the BRA insn on a 64-bit boundary
|
||
for the GR6.
|
||
(output_branch): Adjust threshold for long branch instruction.
|
||
* config/visium/visium.md (cpu): Move around.
|
||
(length): Adjust for the GR6.
|
||
|
||
2019-02-15 Richard Biener <rguenther@suse.de>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/89278
|
||
* tree-loop-distribution.c: Include tree-eh.h.
|
||
(generate_memset_builtin, generate_memcpy_builtin): Call
|
||
rewrite_to_non_trapping_overflow on builtin->size before passing it
|
||
to force_gimple_operand_gsi.
|
||
|
||
2019-02-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/89342
|
||
* optc-save-gen.awk: Handle optimize_fast like optimize_size or
|
||
optimize_debug.
|
||
* opth-gen.awk: Likewise.
|
||
|
||
2019-02-15 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.h (TARGET_SUBTARGET64_ISA_DEFAULT):
|
||
Enable MMX, SSE and SSE2 by default.
|
||
* config/i386/i386.c (ix86_option_override_internal): Do not
|
||
explicitly set MMX, SSE and SSE2 flags for TARGET_64BIT here.
|
||
|
||
2019-02-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/89354
|
||
* combine.c (make_extraction): Punt if extraction_mode is narrower
|
||
than len bits.
|
||
|
||
2019-02-14 Maya Rashish <coypu@sdf.org>
|
||
|
||
* config.gcc (*-*-netbsd*): Add netbsd-d.o.
|
||
* config/netbsd-d.c: New file.
|
||
* config/t-netbsd: Add netbsd-d.o
|
||
|
||
2018-02-14 Steve Ellcey <sellcey@marvell.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_attribute_table): Change
|
||
affects_type_identity to true for aarch64_vector_pcs.
|
||
(aarch64_comp_type_attributes): New function.
|
||
(TARGET_COMP_TYPE_ATTRIBUTES): New macro.
|
||
|
||
2019-02-14 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR target/88850
|
||
* config/arm/iterators.md (ANY64): Add V4HF.
|
||
|
||
2019-02-14 Martin Liska <mliska@suse.cz>
|
||
|
||
PR rtl-optimization/89242
|
||
* dce.c (delete_unmarked_insns): Call free_dominance_info we
|
||
process a transformation.
|
||
|
||
2019-02-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/89314
|
||
* fold-const.c (fold_binary_loc): Cast strlen argument to
|
||
const char * before dereferencing it. Formatting fixes.
|
||
|
||
PR middle-end/89284
|
||
* passes.def: Swap pass_ubsan and pass_early_warn_uninitialized.
|
||
|
||
2019-02-13 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* optc-save-gen.awk: Set var_opt_hash for initial optimizations
|
||
and set current index for other optimizations.
|
||
|
||
2019-02-13 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/sse.md (vec_set<VI4F_256_512:mode>_0): Use
|
||
nonimmediate_operand as operand 2 predicate.
|
||
(vec_set<VF2_512_256:mode>_0): Ditto.
|
||
(vec_set<VI8_AVX_AVX512F:mode>_0): Ditto.
|
||
(*vec_concatv2si): Remove alternative 2.
|
||
(*vec_concatv4si_0): Use vm constraint for alternative 0.
|
||
(*vec_concatv4si_0): Remove preferred_for_speed attribute.
|
||
(vec_concatv2di): Split alternatives 4,5,6 to ...
|
||
(*vec_concatv2di_0) ... new pattern.
|
||
|
||
2019-02-13 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR target/89190
|
||
* config/arm/arm.c (ldm_stm_operation_p) Set
|
||
addr_reg_in_reglist correctly for first register.
|
||
(load_multiple_sequence): Remove dead base check.
|
||
(gen_ldm_seq): Correctly set write_back for Thumb-1.
|
||
|
||
2019-02-13 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR target/88847
|
||
* config/aarch64/aarch64-sve.md (*pred_mov<mode>, pred_mov<mode>):
|
||
Expose as @aarch64_pred_mov.
|
||
* config/aarch64/aarch64.c (aarch64_classify_address):
|
||
Use expand_insn which legitimizes operands.
|
||
|
||
2019-02-13 Martin Liska <mliska@suse.cz>
|
||
|
||
* builtins.h (expand_builtin_with_bounds): Remove declaration.
|
||
* calls.c (struct arg_data): Remove special_slot, pointer_arg
|
||
and pointer_offset fields.
|
||
(initialize_argument_information): Remove usage of dead
|
||
fields.
|
||
* cgraph.h (struct cgraph_thunk_info): Remove
|
||
add_pointer_bounds_args.
|
||
* cgraphunit.c (cgraph_node::expand_thunk): Remove usage of dead
|
||
fields.
|
||
(cgraph_node::assemble_thunks_and_aliases): Remove usage of dead
|
||
fields.
|
||
* config/i386/i386.c (ix86_function_arg_advance): Remove
|
||
unrelated comment.
|
||
(struct builtin_isa): Remove leaf_p and nothrow_p fields.
|
||
(def_builtin): Remove usage of dead
|
||
fields.
|
||
(ix86_add_new_builtins): Likewise.
|
||
* ipa-fnsummary.c (compute_fn_summary): Likewise.
|
||
* ipa-icf.c (sem_function::equals_wpa): Likewise.
|
||
(sem_function::init): Likewise.
|
||
(sem_variable::merge): Likewise.
|
||
* ipa-visibility.c (function_and_variable_visibility): Likewise.
|
||
* ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
|
||
* lto-cgraph.c (lto_output_node): Likewise.
|
||
(lto_output_varpool_node): Likewise.
|
||
(input_node): Likewise.
|
||
(input_varpool_node): Likewise.
|
||
* lto-streamer-out.c (lto_output): Likewise.
|
||
* tree-inline.c (expand_call_inline): Remove usage of
|
||
assign_stmts.
|
||
* tree-inline.h (struct copy_body_data): Likewise.
|
||
* varpool.c (varpool_node::dump): Likewise.
|
||
|
||
2019-02-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/89303
|
||
* tree-ssa-structalias.c (set_uids_in_ptset): Or in vi->is_heap_var
|
||
into pt->vars_contains_escaped_heap instead of setting
|
||
pt->vars_contains_escaped_heap to it.
|
||
|
||
PR middle-end/89281
|
||
* optabs.c (prepare_cmp_insn): Use UINTVAL (size) instead of
|
||
INTVAL (size), compare it to GET_MODE_MASK instead of
|
||
1 << GET_MODE_BITSIZE.
|
||
|
||
PR target/89290
|
||
* config/i386/predicates.md (x86_64_immediate_operand): Allow
|
||
TLS UNSPECs offsetted by signed 32-bit CONST_INT even with
|
||
-mcmodel=large.
|
||
|
||
2019-02-13 Martin Liska <mliska@suse.cz>
|
||
|
||
PR lto/88858
|
||
* cfgrtl.c (remove_barriers_from_footer): New function.
|
||
(try_redirect_by_replacing_jump): Use it.
|
||
(cfg_layout_redirect_edge_and_branch): Likewise.
|
||
|
||
2019-02-13 Xiong Hu Luo <luoxhu@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/altivec.h (vec_sbox_be, vec_cipher_be,
|
||
vec_cipherlast_be, vec_ncipher_be, vec_ncipherlast_be): New #defines.
|
||
* config/rs6000/crypto.md (CR_vqdi): New define_mode_iterator.
|
||
(crypto_vsbox_<mode>, crypto_<CR_insn>_<mode>): New define_insns.
|
||
* config/rs6000/rs6000-builtin.def (VSBOX_BE): New BU_CRYPTO_1.
|
||
(VCIPHER_BE, VCIPHERLAST_BE, VNCIPHER_BE, VNCIPHERLAST_BE):
|
||
New BU_CRYPTO_2.
|
||
* config/rs6000/rs6000.c (builtin_function_type)
|
||
<CRYPTO_BUILTIN_VSBOX_BE, CRYPTO_BUILTIN_VCIPHER_BE,
|
||
CRYPTO_BUILTIN_VCIPHERLAST_BE, CRYPTO_BUILTIN_VNCIPHER_BE,
|
||
CRYPTO_BUILTIN_VNCIPHERLAST_BE>: New switch options.
|
||
* doc/extend.texi (vec_sbox_be, vec_cipher_be, vec_cipherlast_be,
|
||
vec_ncipher_be, vec_ncipherlast_be): New builtin functions.
|
||
|
||
2019-02-12 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
* doc/invoke.texi (RS/6000 and PowerPC Options): Remove duplicate
|
||
-maltivec. Delete -maltivec=be and -maltivec=le documentation.
|
||
|
||
2019-02-12 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/89229
|
||
* config/i386/i386.md (*movoi_internal_avx): Revert revision
|
||
268678 and revision 268657.
|
||
(*movti_internal): Likewise.
|
||
|
||
2019-02-12 Ilya Leoshkevich <iii@linux.ibm.com>
|
||
|
||
PR target/89233
|
||
* config/s390/s390.c (s390_decompose_address): Update comment.
|
||
(s390_check_qrst_address): Reject invalid address forms after
|
||
LRA.
|
||
|
||
2019-02-12 Martin Liska <mliska@suse.cz>
|
||
|
||
PR lto/88876
|
||
* ipa-pure-const.c (propagate_pure_const): Revert hunk as
|
||
we need default values of funct_state for a function that
|
||
is not optimized.
|
||
|
||
2019-02-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* asan.c (asan_expand_mark_ifn): Take into account the alignment of
|
||
the object to pick the size of stores on strict-alignment platforms.
|
||
|
||
* config/sparc/sparc.md (*movsi_insn): Minor tweak.
|
||
(*movdi_insn_sp32): Likewise.
|
||
(*movdi_insn_sp64): Likewise.
|
||
|
||
2019-02-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/88677
|
||
* cgraphunit.c (analyze_functions): Clear READONLY flag for external
|
||
types that needs constructiong.
|
||
* tree.h (may_be_aliased): Do not check TYPE_NEEDS_CONSTRUCTING.
|
||
|
||
2019-02-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89253
|
||
* tree-ssa-loop-split.c (tree_ssa_split_loops): Check we can
|
||
duplicate the loop.
|
||
|
||
2019-02-11 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR lto/88147
|
||
* input.c (selftest::test_line_offset_overflow): New selftest.
|
||
(selftest::input_c_tests): Call it.
|
||
|
||
2019-02-11 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/88771
|
||
* gimple-ssa-warn-restrict.c (pass_wrestrict::gate): Also enable
|
||
when -Wstringop-overflow is set.
|
||
(builtin_memref::builtin_memref): Adjust excessive upper bound
|
||
only when lower bound is not excessive.
|
||
(maybe_diag_overlap): Detect and diagnose excessive bounds via
|
||
-Wstringop-ovefflow.
|
||
(maybe_diag_offset_bounds): Rename...
|
||
(maybe_diag_access_bounds): ...to this.
|
||
(check_bounds_or_overlap): Adjust for name change above.
|
||
|
||
2019-02-11 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/87996
|
||
* builtins.c (max_object_size): Move from here...
|
||
* builtins.h (max_object_size): ...and here...
|
||
* tree.c (max_object_size): ...to here...
|
||
* tree.h (max_object_size): ...and here.
|
||
|
||
2019-02-11 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Shift-right
|
||
and shift-left vector built-ins need to include a TRUNC_MOD_EXPR
|
||
for correct semantics.
|
||
|
||
2019-02-11 Alan Modra <amodra@gmail.com>
|
||
|
||
* doc/invoke.texi (man page RS/6000 and PowerPC Options): Mention
|
||
-mlongcall and -mpltseq.
|
||
(RS/6000 and PowerPC Options <-mlongcall>): Mention inline PLT calls.
|
||
(RS/6000 and PowerPC Options <-mpltseq>): Document.
|
||
* config/rs6000/rs6000.h (TARGET_PLTSEQ): Define.
|
||
* config/rs6000/sysv4.opt (mpltseq): New option.
|
||
* config/rs6000/sysv4.h (TARGET_PLTSEQ): Redefine.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Error if given -mpltseq when assembler
|
||
support is lacking. Don't allow -mpltseq with -mbss-plt.
|
||
* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Warn if
|
||
-mpltseq given for ELFv1.
|
||
* config/rs6000/rs6000.c (rs6000_call_aix): Comment on UNSPEC_PLTSEQ.
|
||
Only use UNSPEC_PLTSEQ for inline PLT calls.
|
||
(rs6000_call_sysv, rs6000_sibcall_sysv): Expand comments. Only
|
||
use UNSPEC_PLTSEQ for inline PLT calls.
|
||
(rs6000_indirect_call_template_1, rs6000_longcall_ref),
|
||
(rs6000_call_aix, rs6000_call_sysv, rs6000_sibcall_sysv): Replace
|
||
uses of HAVE_AS_PLTSEQ with TARGET_PLTSEQ, simplifying.
|
||
* config/rs6000/rs6000.md (pltseq_tocsave_<mode>),
|
||
(pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>),
|
||
(pltseq_mtctr_<mode>): Likewise.
|
||
|
||
2019-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Use 8-byte strings with
|
||
Solaris ld.
|
||
* configure: Regenerate.
|
||
|
||
2019-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/88714
|
||
* config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use q constraint
|
||
instead of r.
|
||
|
||
2019-02-11 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* function.c (assign_parm_setup_block): Use the stored
|
||
size, not the passed size, when allocating stack-space,
|
||
also for a parameter with alignment larger than
|
||
MAX_SUPPORTED_STACK_ALIGNMENT.
|
||
|
||
2019-02-11 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/89009
|
||
* ipa-cp.c (build_toporder_info): Remove usage of a param.
|
||
* ipa-inline.c (inline_small_functions): Likewise.
|
||
* ipa-pure-const.c (propagate_pure_const): Likewise.
|
||
(propagate_nothrow): Likewise.
|
||
* ipa-reference.c (propagate): Likewise.
|
||
* ipa-utils.c (struct searchc_env): Remove unused field.
|
||
(searchc): Always search across AVAIL_INTERPOSABLE.
|
||
(ipa_reduced_postorder): Always allow AVAIL_INTERPOSABLE as
|
||
the only called IPA pure const can properly not propagate
|
||
across interposable boundary.
|
||
* ipa-utils.h (ipa_reduced_postorder): Remove param.
|
||
|
||
2019-02-11 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32.md (call_internal, call_value_internal,
|
||
sibcall_internal, sibcall_value_internal): Use SImode for mem rtx.
|
||
|
||
2019-02-11 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* config/cris/cris.c (cris_preferred_minimum_alignment): Fix name
|
||
typo.
|
||
|
||
2019-02-10 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/constraints.md (Yd): Replace AVX512BW with AVX512DQ
|
||
in comments
|
||
|
||
2019-02-10 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config.gcc (with_nds32_lib): Set default --with-nds32-lib correctly.
|
||
|
||
2019-02-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/89268
|
||
* tree-if-conv.c (version_loop_for_if_conversion): Push to preds only
|
||
if preds is non-NULL.
|
||
|
||
2019-02-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/89272
|
||
* tree.c (fld_simplified_type_name): Also keep TYPE_DECL for
|
||
polymorphic types.
|
||
|
||
2019-02-10 Monk Chiang <sh.chiang04@gmail.com>
|
||
|
||
* config/nds32/nds32.md (trap): New pattern.
|
||
|
||
2019-02-10 Monk Chiang <sh.chiang04@gmail.com>
|
||
|
||
* config/nds32/nds32.c (nds32_dwarf_register_span): Refine register
|
||
dwarf span.
|
||
|
||
2019-02-10 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32-md-auxiliary.c (nds32_spilt_doubleword): Support
|
||
to split POST_INC.
|
||
|
||
2019-02-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-visibility.c (localize_node): Also do not localize
|
||
LDPR_PREVAILING_DEF_IRONLY_EXP.
|
||
|
||
2019-02-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/87957
|
||
* tree.c (fld_simplified_type_name): Use DECL_ASSEMBLER_NAME_SET_P
|
||
instead of type_with_linkage.
|
||
|
||
2019-02-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/88755
|
||
* params.def (uninlined-function-insns, uninlined-function-time,
|
||
uninlined-thunk-insns, uninlined-thunk-time): Add artificial upper
|
||
bound so we don't get overflows.
|
||
|
||
2019-02-09 Aaron Sawdey <acsawdey@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000-string.c (expand_compare_loop,
|
||
expand_block_compare): Insert REG_BR_PROB notes in inline expansion of
|
||
memcmp/strncmp.
|
||
|
||
2019-02-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/89246
|
||
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
|
||
If !node->definition and TYPE_ARG_TYPES is non-NULL, use
|
||
TYPE_ARG_TYPES instead of DECL_ARGUMENTS.
|
||
|
||
2019-02-09 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/88343
|
||
* config/rs6000/rs6000.c (save_reg_p): Correct calls_eh_return
|
||
case. Match logic in rs6000_emit_prologue emitting pic_offset_table
|
||
setup.
|
||
|
||
2019-02-08 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR middle-end/88560
|
||
* lra-constraints.c (process_alt_operands): Don't increase reject
|
||
for memory when offset memory is required.
|
||
|
||
2019-02-08 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* config/s390/vector.md: Implement vector copysign.
|
||
|
||
2019-02-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* expr.c (expand_constructor): Correct indentations.
|
||
|
||
2019-02-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89247
|
||
* tree-if-conv.c: Include tree-cfgcleanup.h.
|
||
(version_loop_for_if_conversion): Record LOOP_VECTORIZED call.
|
||
(tree_if_conversion): Pass through predicate vector.
|
||
(pass_if_conversion::execute): Do CFG cleanup and SSA update
|
||
inline, see if any if-converted loops we refrece in
|
||
LOOP_VECTORIZED calls vanished and fixup.
|
||
* tree-if-conv.h (tree_if_conversion): Adjust prototype.
|
||
|
||
2019-02-08 Ilya Leoshkevich <iii@linux.ibm.com>
|
||
|
||
* config/s390/constraints.md (jdd): New constraint.
|
||
|
||
2019-02-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/89229
|
||
* config/i386/i386.md (*movoi_internal_avx): Set mode to XI for
|
||
upper 16 vector registers without TARGET_AVX512VL.
|
||
(*movti_internal): Likewise.
|
||
|
||
2019-02-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/89234
|
||
* except.c (copy_reg_eh_region_note_forward): Return if note_or_insn
|
||
is a NOTE, CODE_LABEL etc. - rtx_insn * other than INSN_P.
|
||
(copy_reg_eh_region_note_backward): Likewise.
|
||
|
||
2019-02-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/89223
|
||
* tree-data-ref.c (initialize_matrix_A): Fail if constant
|
||
doesn't fit in HWI.
|
||
(analyze_subscript_affine_affine): Handle failure from
|
||
initialize_matrix_A.
|
||
|
||
2019-02-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cfganal.c (pre_and_rev_post_order_compute_fn): Use fn instead of
|
||
cfun everywhere.
|
||
|
||
2019-02-07 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR tree-optimization/86637
|
||
PR tree-optimization/89235
|
||
* tree-vect-loop.c (optimize_mask_stores): Add an
|
||
auto_purge_vect_location sentinel to ensure that vect_location is
|
||
purged on exit.
|
||
* tree-vectorizer.c
|
||
(auto_purge_vect_location::~auto_purge_vect_location): New dtor.
|
||
(try_vectorize_loop_1): Add an auto_purge_vect_location sentinel
|
||
to ensure that vect_location is purged on exit.
|
||
(pass_slp_vectorize::execute): Likewise, replacing the manual
|
||
reset.
|
||
* tree-vectorizer.h (class auto_purge_vect_location): New class.
|
||
|
||
2019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/iterators.md (max_opp): New code_attr.
|
||
(USMAX): New code iterator.
|
||
* config/aarch64/predicates.md (aarch64_smin): New predicate.
|
||
(aarch64_smax): Likewise.
|
||
* config/aarch64/aarch64-simd.md (abd<mode>_3): Rename to...
|
||
(*aarch64_<su>abd<mode>_3): ... Change RTL representation to
|
||
MINUS (MAX MIN).
|
||
|
||
2019-02-07 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/89229
|
||
* config/i386/i386.md (*movoi_internal_avx): Set mode to OI
|
||
for TARGET_AVX512VL.
|
||
(*movti_internal): Set mode to TI for TARGET_AVX512VL.
|
||
|
||
2019-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* config/s390/s390-builtin-types.def: Add new types.
|
||
* config/s390/s390-builtins.def: (s390_vec_xl, s390_vec_xld2)
|
||
(s390_vec_xlw4): Make the memory operand into a const pointer.
|
||
(s390_vec_xld2, s390_vec_xlw4): Add a variant for single precision
|
||
float.
|
||
* config/s390/s390-c.c (s390_expand_overloaded_builtin): Generate
|
||
a new vector type with the alignment of the scalar memory operand.
|
||
|
||
2019-02-07 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/88714
|
||
* config/arm/arm-protos.h (valid_operands_ldrd_strd,
|
||
arm_count_ldrdstrd_insns): New declarations.
|
||
* config/arm/arm.c (mem_ok_for_ldrd_strd): Remove broken handling of
|
||
MINUS.
|
||
(valid_operands_ldrd_strd): New function.
|
||
(arm_count_ldrdstrd_insns): New function.
|
||
* config/arm/ldrdstrd.md: Change peepholes to generate PARALLEL SImode
|
||
sets instead of single DImode set and define new insns to match this.
|
||
|
||
2019-02-07 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.c (aarch64_fcmla_lane_builtin_data):
|
||
Make it a C initializer.
|
||
|
||
2019-02-07 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR/target 88850
|
||
* config/arm/neon.md (*neon_mov<mode>): Add r -> r case.
|
||
|
||
2019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/neon.md (neon_<sup>dot<vsi2qi>):
|
||
Use neon_dot<q> for type.
|
||
(neon_<sup>dot_lane<vsi2qi>): Likewise.
|
||
|
||
2019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64-simd.md (aarch64_<sur>dot<vsi2qi>):
|
||
Use neon_dot<q> for type.
|
||
(aarch64_<sur>dot_lane<vsi2qi>): Likewise.
|
||
(aarch64_<sur>dot_laneq<vsi2qi>): Likewise.
|
||
|
||
2019-02-06 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/89225
|
||
* lra-constaints.c (simplify_operand_subreg): Add subreg mode
|
||
sizes check.
|
||
|
||
2019-02-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/i386/i386.c (ix86_expand_prologue): Emit a memory blockage
|
||
after restoring registers saved to allocate the frame on Windows.
|
||
|
||
2019-02-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89182
|
||
* graphite.h (cached_scalar_evolution_in_region): Declare.
|
||
* graphite.c (struct seir_cache_key): New.
|
||
(struct sese_scev_hash): Likewise.
|
||
(seir_cache): New global.
|
||
(cached_scalar_evolution_in_region): New function.
|
||
(graphite_transform_loops): Allocate and release seir_cache.
|
||
* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Use
|
||
cached_scalar_evolution_in_region.
|
||
* graphite-scop-detection.c (scop_detection::can_represent_loop):
|
||
Simplify.
|
||
(scop_detection::graphite_can_represent_expr: Use
|
||
cached_scalar_evolution_in_region.
|
||
(scop_detection::stmt_simple_for_scop_p): Likewise.
|
||
(find_params_in_bb): Likewise.
|
||
(gather_bbs::before_dom_children): Likewise.
|
||
* graphite-sese-to-poly.c (create_pw_aff_from_tree): Likewise.
|
||
(add_loop_constraints): Likewise.
|
||
|
||
2019-02-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/89210
|
||
* fold-const-call.c (fold_const_vec_convert): Pass true as last
|
||
operand to new_unary_operation only if both element types are integral
|
||
and it isn't a widening conversion. Return NULL_TREE if
|
||
new_unary_operation failed.
|
||
|
||
2019-02-05 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
PR target/88856
|
||
* config/s390/s390.md: Remove load and test FP splitter.
|
||
|
||
2019-02-05 Aaron Sawdey <acsawdey@linux.ibm.com>
|
||
|
||
PR target/89112
|
||
* config/rs6000/rs6000-string.c (do_ifelse, expand_cmp_vec_sequence,
|
||
expand_compare_loop, expand_block_compare_gpr,
|
||
expand_strncmp_align_check, expand_strncmp_gpr_sequence): Insert
|
||
REG_BR_PROB notes in inline expansion of memcmp/strncmp. Add
|
||
#include "profile-count.h" and "predict.h" for types and functions
|
||
needed to work with REG_BR_PROB notes.
|
||
|
||
2019-02-05 Aaron Sawdey <acsawdey@linux.ibm.com>
|
||
|
||
PR target/89112
|
||
* config/rs6000/rs6000.md (<bd>tf_<mode>): Generate a local label
|
||
for the long branch case.
|
||
|
||
2019-02-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89188
|
||
* dce.c (delete_unmarked_insns): Don't remove no-op moves if they
|
||
can throw, non-call exceptions are enabled and we can't delete
|
||
dead exceptions or alter cfg. Set must_clean if
|
||
delete_insn_and_edges returns true, don't set it blindly for calls.
|
||
Assert that delete_unreachable_blocks is called only if can_alter_cfg.
|
||
|
||
PR rtl-optimization/89195
|
||
* combine.c (make_extraction): For MEMs, don't extract bytes outside
|
||
of the original MEM.
|
||
|
||
2019-02-05 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/89000
|
||
* gcov.c (function_summary): Remove argument.
|
||
(file_summary): New function.
|
||
(print_usage): Replace tabs with spaces.
|
||
(generate_results): Use new function file_summary.
|
||
|
||
2019-02-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89186
|
||
* optabs.c (prepare_cmp_insn): Pass x and y to
|
||
emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0).
|
||
|
||
2019-02-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/89150
|
||
* bitmap.h (struct bitmap_obstack): Do not mark GTY.
|
||
(struct bitmap_element): Drop chain_prev so we properly recurse on
|
||
the prev member, supporting tree views.
|
||
(struct bitmap_head): GTY skip the obstack member.
|
||
|
||
2019-02-04 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
PR c/88698
|
||
* doc/extend.texi (Vector Extensions): Add an example of using vector
|
||
types together with x86 intrinsics.
|
||
|
||
2019-02-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_indirect_call_template_1): Increase
|
||
str[] size to 160, and comment.
|
||
|
||
2019-02-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_indirect_call_template_1),
|
||
(rs6000_pltseq_template): Guard output of TLS markers with
|
||
TARGET_TLS_MARKERS.
|
||
(rs6000_longcall_ref, rs6000_call_aix, rs6000_call_sysv),
|
||
(rs6000_sibcall_sysv): Ignore TARGET_TLS_MARKERS when deciding
|
||
to use inline PLT sequences.
|
||
* config/rs6000/rs6000.md (pltseq_tocsave_<mode>),
|
||
(pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>),
|
||
(pltseq_mtctr_<mode>): Don't test TARGET_TLS_MARKERS in predicate.
|
||
|
||
2019-02-04 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/88985
|
||
* ipa-fnsummary.c (estimate_edge_devirt_benefit): Bail
|
||
out when ipa_fn_summaries does not contain entry for callee.
|
||
|
||
2019-02-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/sparc/sparc.h: Remove superfluous blank lines.
|
||
* config/sparc/sparc.c (global_offset_table_rtx): Rename into...
|
||
(got_register_rtx): ...this.
|
||
(sparc_got): Adjust to above renaming.
|
||
(sparc_tls_got): Likewise.
|
||
(sparc_delegitimize_address): Likewise.
|
||
(sparc_output_mi_thunk): Likewise.
|
||
(sparc_init_pic_reg): Likewise.
|
||
(save_local_or_in_reg_p): Fix test on the GOT register.
|
||
(USE_HIDDEN_LINKONCE): Move around.
|
||
(get_pc_thunk_name): Likewise.
|
||
(gen_load_pcrel_sym): Likewise.
|
||
(load_got_register): Likewise.
|
||
|
||
2019-02-04 Kito Cheng <kito.cheng@gmail.com>
|
||
|
||
* config/nds32/linux.h (GLIBC_DYNAMIC_LINKER): Define the naming rule
|
||
of the dynamic linker: "ld-linux-nds32[le|be][f].so.1".
|
||
|
||
2019-02-04 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32.c (nds32_legitimate_address_p): Add TLS model
|
||
into consideration.
|
||
|
||
2019-02-04 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config.gcc (with_nds32_lib, glibc):
|
||
Remove TARGET_DEFAULT_TLSDESC_TRAMPOLINE=0 setting.
|
||
* config/nds32/linux.h (TARGET_DEFAULT_TLSDESC_TRAMPOLINE): Delete.
|
||
(NDS32_TLSDESC_TRAMPOLINE_SPEC): Delete.
|
||
|
||
2019-02-03 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/89071
|
||
* config/i386/i386.md (*sqrt<mode>2_sse): Add (v,0) alternative.
|
||
Do not prefer (v,v) alternative for non-AVX targets and (m,v)
|
||
alternative for speed when TARGET_SSE_PARTIAL_REG_DEPENDENCY is set.
|
||
(*rcpsf2_sse): Ditto.
|
||
(*rsqrtsf2_sse): Ditto.
|
||
(sse4_1_round<mode<2): Ditto.
|
||
|
||
2019-02-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/87295
|
||
* dwarf2out.c (copy_ancestor_tree): Register non-stubs as
|
||
orig.
|
||
|
||
2019-02-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/87887
|
||
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
|
||
Punt with warning on aggregate return or argument types. Ignore
|
||
type/mode checking for uniform arguments.
|
||
|
||
2019-02-01 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* combine.c (try_combine): Do not print "Can't combine" messages unless
|
||
printing failed combination attempts.
|
||
|
||
2019-02-01 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR hsa/87863
|
||
* omp-grid.c (grid_mark_variable_segment): Set assembler name of group
|
||
segment and global segment variables before making them static.
|
||
|
||
2019-02-01 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* omp-grid.c (grid_target_follows_gridifiable_pattern): Guard two
|
||
missed optimization dump with dump_enabled_p.
|
||
|
||
2019-02-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/88597
|
||
* tree-scalar-evolution.c (analyze_scalar_evolution): Set up
|
||
the instantiate cache.
|
||
(instantiate_scev_binary): Elide second operand procesing
|
||
if equal to the first.
|
||
* tree-chrec.c (chrec_contains_symbols): Add visited set.
|
||
(chrec_contains_undetermined): Likewise.
|
||
(tree_contains_chrecs): Likewise.
|
||
|
||
2019-02-01 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* parms.def (MAX_INLINE_INSNS_SINGLE): Reduce from 400 to 200.
|
||
|
||
2019-02-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/89143
|
||
* wide-int-range.h (wide_int_range_absu): Declare.
|
||
* wide-int-range.cc (wide_int_range_absu): New function.
|
||
* tree-vrp.c (extract_range_from_unary_expr): Handle ABSU_EXPR.
|
||
|
||
PR tree-optimization/88107
|
||
* tree-cfg.c (find_outermost_region_in_block): Add ALL argument,
|
||
instead of assertion that eh_region_outermost is non-NULL, if it
|
||
is NULL, set *ALL to true and return NULL.
|
||
(move_sese_region_to_fn): Adjust caller, if all is set, call
|
||
duplicate_eh_regions with NULL region.
|
||
|
||
2019-02-01 Richard Biener <rguenth@suse.de>
|
||
|
||
PR rtl-optimization/88593
|
||
* mode-switching.c (optimize_mode_switching): Free dominators before
|
||
calling cleanup_cfg.
|
||
|
||
2019-02-01 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/88932
|
||
* tree-predcom.c (try_combine_chains): Get loop bbs in dom order.
|
||
|
||
2019-01-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/89137
|
||
* omp-low.c (lower_omp_task_reductions): Drop redundant test to avoid
|
||
bogus clang warning.
|
||
|
||
2019-01-31 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/89071
|
||
* config/i386/i386.md (*extendsfdf2): Split out reg->reg
|
||
alternative to avoid partial SSE register stall for TARGET_AVX.
|
||
(truncdfsf2): Ditto.
|
||
(sse4_1_round<mode>2): Ditto.
|
||
|
||
2018-01-31 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
PR tree-optimization/89008
|
||
* gimple-ssa-strength-reduction.c (slsr_process_mul): Don't
|
||
process anything of the form X * 0.
|
||
|
||
2019-01-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89135
|
||
* tree-ssa-phiprop.c (pass_phiprop::execute): Skip blocks
|
||
with abnormal preds.
|
||
|
||
2019-01-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/89124
|
||
* ipa-inline.c (sanitize_attrs_match_for_inline_p): Allow inlining
|
||
always_inline callees into no_sanitize_address callers.
|
||
|
||
2019-01-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/89115
|
||
* lra.c (lra_rtx_hash): Properly hash CONST_INT values.
|
||
|
||
2019-01-30 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR other/89106
|
||
* doc/extend.texi (cast to a union): Correct and expand.
|
||
|
||
2019-01-30 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/87246
|
||
* lra-constraints.c (simplify_operand_subreg): Reload memory
|
||
in subreg if the address became invalid.
|
||
|
||
2019-01-30 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
PR target/87064
|
||
* config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v4sf_scalar):
|
||
Disable for little-endian.
|
||
|
||
2019-01-30 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/89115
|
||
* opts.c (default_options_optimization): Reduce
|
||
PARAM_MAX_DSE_ACTIVE_LOCAL_STORES by a factor of 10 at -O1.
|
||
Make PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP reduction relative
|
||
to the default.
|
||
|
||
2019-01-30 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
* config/rs6000/rs6000-c.c (altivec-resolve_overloaded_builtin):
|
||
Change handling of ALTIVEC_BUILTIN_VEC_EXTRACT. Coerce result to
|
||
type of vector element when vec_extract is implemented by direct
|
||
move.
|
||
|
||
2019-01-30 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* doc/invoke.texi (C Language Options): List "-fopenacc-dim".
|
||
|
||
2019-01-30 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89111
|
||
* tree-ssa-loop-im.c (gather_mem_refs_stmt): Restrict
|
||
canonicalization to appropriately sized access types.
|
||
|
||
2019-01-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/89105
|
||
* config/i386/i386.c (ix86_warn_parameter_passing_abi): Don't warn
|
||
for arguments to functions that are TU-local and shouldn't be
|
||
referenced by assembly.
|
||
|
||
2019-01-30 Ulrich Drepper <drepper@redhat.com>
|
||
|
||
* dumpfile.c (opt_info_switch_p_1): Ignore '-' if it appears
|
||
after '='.
|
||
|
||
2019-01-29 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/88956
|
||
* gimple-fold.c (fold_array_ctor_reference): Avoid zero-length arrays.
|
||
|
||
2019-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/66676
|
||
PR ipa/89104
|
||
* omp-simd-clone.c (simd_clone_clauses_extract)
|
||
<case OMP_CLAUSE_ALIGNED>: Ignore clauses with NULL
|
||
OMP_CLAUSE_ALIGNED_ALIGNMENT.
|
||
|
||
2019-01-29 Vineet Gupta <vgupta@synopsys.com>
|
||
|
||
* config.gcc: Force .init_array for ARC.
|
||
|
||
2019-01-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/87295
|
||
* dwarf2out.c (collect_skeleton_dies): New helper.
|
||
(copy_decls_for_unworthy_types): Call it.
|
||
(build_abbrev_table): Assert we do not try to replace
|
||
DW_AT_signature refs with local refs.
|
||
|
||
2019-01-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/89002
|
||
* gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ
|
||
for lastprivate/linear IV, push gimplify context around gimplify_assign
|
||
and, if it needed any temporaries, pop it into a gimple bind around the
|
||
sequence.
|
||
|
||
2019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* common.opt (-Wattribute-alias): Remove "no-" from name.
|
||
Make -Wattribute-alias command line option and
|
||
#pragma GCC diagnostic ignored "-Wattribute-alias" work again.
|
||
|
||
2019-01-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/89073
|
||
* doc/invoke.texi (-mclwb, -mprfchw, -mrdpid, -mrdseed, -msgx,
|
||
-madx, -mhle, -mavx5124fmaps, -mavx512vnni, -mavx5124vnniw): Document
|
||
x86 ISA options.
|
||
(bmi2): Add missing @opindex.
|
||
* doc/extend.texi (x86 target attribute): Move fma4, lwp, ssse3
|
||
options alphabetically. Add missing 3dnow, 3dnowa, adx, avx, avx2,
|
||
avx5124fmaps, avx5124vnniw, avx512bitalg, avx512bw, avx512cd,
|
||
avx512dq, avx512er, avx512f, avx512ifma, avx512pf, avx512vbmi,
|
||
avx512vbmi2, avx512vl, avx512vnni, avx512vpopcntdq, bmi, bmi2,
|
||
cldemote, clflushopt, clwb, clzero, crc32, cx16, f16c, fma, fsgsbase,
|
||
fxsr, gfni, hle, lzcnt, movbe, movdir64b, movdiri, mwaitx, pconfig,
|
||
pku, prefetchwt1, prfchw, ptwrite, rdpid, rdrnd, rdseed, rtm, sahf,
|
||
sgx, sha, shstk, tbm, vaes, vpclmulqdq, waitpkg, wbnoinvd, xsave,
|
||
xsavec, xsaveopt and xsaves options.
|
||
|
||
2019-01-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/89076
|
||
* dwarf2out.c (gen_subprogram_die): Remove leftover from MPX
|
||
support removal.
|
||
|
||
2019-01-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/88739
|
||
* tree-cfg.c (verify_types_in_gimple_reference): Verify
|
||
BIT_FIELD_REFs only are applied to mode-precision operands
|
||
when they are integral.
|
||
(verify_gimple_assign_ternary): Likewise for BIT_INSERT_EXPR.
|
||
* tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid generating
|
||
BIT_FIELD_REFs of non-mode-precision integral operands.
|
||
|
||
2019-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/87214
|
||
* config/i386/sse.md
|
||
(<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>,
|
||
avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ensure the
|
||
first constants in pairs are multiples of 2. Formatting fixes.
|
||
(avx512vl_shuf_<shuffletype>32x4_1<mask_name>,
|
||
avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ensure the
|
||
first constants in each quadruple are multiples of 4. Formatting fixes.
|
||
|
||
2019-01-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/88933
|
||
* tree-inline.c: Include tree-cfgcleanup.h.
|
||
(delete_unreachable_blocks_update_callgraph): Move...
|
||
* tree-cfgcleanup.c (delete_unreachable_blocks_update_callgraph):
|
||
...here, make externally visible, make second argument bool, adjust
|
||
all callers.
|
||
* tree-cfgcleanup.c: Include cgraph.h.
|
||
* tree-cfgcleanup.h (delete_unreachable_blocks_update_callgraph):
|
||
Declare.
|
||
* ipa-prop.c: Include tree-cfgcleanup.h.
|
||
(ipcp_transform_function): Call
|
||
delete_unreachable_blocks_update_callgraph instead of cleaning uo CFG.
|
||
|
||
2019-01-25 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/88846
|
||
* ira.c (process_set_for_memref_referenced_p): New.
|
||
(memref_referenced_p): Add new param. Use
|
||
process_set_for_memref_referenced_p. Add new switch cases.
|
||
(memref_used_between_p): Pass new arg to memref_referenced_p.
|
||
|
||
2019-01-25 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/88469
|
||
* config/aarch64/aarch64.c (aarch64_function_arg_alignment): Add new
|
||
argument ABI_BREAK. Set to true if the calculated alignment has
|
||
changed in gcc-9. Check bit-fields for their base type alignment.
|
||
(aarch64_layout_arg): Warn if argument passing has changed in gcc-9.
|
||
(aarch64_function_arg_boundary): Likewise.
|
||
(aarch64_gimplify_va_arg_expr): Likewise.
|
||
|
||
2019-01-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/89037
|
||
* varasm.c (output_constructor_bitfield): Use wi::extract_uhwi
|
||
instead of accessing TREE_INT_CST_ELT directly.
|
||
|
||
2019-01-25 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
* doc/sourcebuild.texi (Environment attributes): Add fenv and
|
||
fenv_exceptions description.
|
||
|
||
2019-01-25 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR rtl-optimization/87763
|
||
* config/aarch64/aarch64.c (aarch64_select_cc_mode):
|
||
Allow SUBREG when matching CC_NZmode compare.
|
||
|
||
2019-01-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89049
|
||
* tree-vect-loop.c (vect_compute_single_scalar_iteration_cost):
|
||
Look at the pattern stmt to determine if the stmt is vectorized.
|
||
|
||
2019-01-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/aarch64-sve.md (*pred_mov<mode>)
|
||
(pred_mov<mode>): Handle all-register forms using both a new
|
||
alternative and a split.
|
||
|
||
2019-01-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/86865
|
||
* graphite-scop-detection.c (scop_detection::can_represent_loop):
|
||
Reject non-do-while loops.
|
||
|
||
2019-01-24 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
* config/rs6000/altivec.md (build_vector_mask_for_load): Use MEM_P.
|
||
* config/rs6000/constraints.md (Q constraint): Use REG_P.
|
||
* config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Use SYMBOL_REF_P.
|
||
* config/rs6000/freebsd64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use
|
||
SYMBOL_REF_P, CONST_INT_P and CONST_DOUBLE_P.
|
||
* config/rs6000/linux64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
|
||
* config/rs6000/predicates.md (altivec_register_operand, vint_operand,
|
||
vsx_register_operand, vsx_reg_sfsubreg_ok, vfloat_operand,
|
||
vlogical_operand, gpc_reg_operand, int_reg_operand,
|
||
int_reg_operand_not_pseudo): Use SUBREG_P and HARD_REGISTER_P.
|
||
(ca_operand, base_reg_operand, htm_spr_reg_operand, cc_reg_operand,
|
||
cc_reg_not_cr0_operand, input_operand): Use SUBREG_P.
|
||
(save_world_operation, restore_world_operation, lmw_operation,
|
||
stmw_operation): Use MEM_P and REG_P.
|
||
(tie_operand): Use MEM_P.
|
||
(vrsave_operation, crsave_operation): Use REG_P.
|
||
(mfcr_operation, mtcrf_operation): Use REG_P and CONST_INT_P.
|
||
(fpr_reg_operand): Use SUBREG_P and HARD_REGISTER_NUM_P.
|
||
(quad_int_reg_operand): Use HARD_REGISTER_NUM_P.
|
||
(call_operand): Use HARD_REGISTER_P.
|
||
(indexed_or_indirect_operand, altivec_indexed_or_indirect_operand):
|
||
Use CONST_INT_P.
|
||
(lwa_operand): Use SUBREG_P, REG_P and CONST_INT_P.
|
||
* config/rs6000/rs6000-p8swap.c (insn_is_load_p, insn_is_store_p,
|
||
quad_aligned_load_p, replace_swapped_aligned_store,
|
||
recombine_lvx_pattern, replace_swapped_aligned_load,
|
||
recombine_stvx_pattern): Use MEM_P.
|
||
(const_load_sequence_p, adjust_vperm, replace_swapped_load_constant):
|
||
Use MEM_P and SYMBOL_REF_P.
|
||
(rtx_is_swappable_p): Use REG_P and CONST_INT_P.
|
||
(insn_is_swappable_p): Use REG_P and MEM_P.
|
||
(insn_is_swap_p, (alignment_mask): Use CONST_INT_P.
|
||
* config/rs6000/rs6000-string.c (expand_block_clear, expand_block_move):
|
||
Use CONST_INT_P.
|
||
* config/rs6000/rs6000.c (rs6000_secondary_reload, rs6000_emit_cmove):
|
||
Use CONST_DOUBLE_P.
|
||
(rs6000_output_move_128bit): Use CONST_DOUBLE_P, CONST_INT_P and
|
||
CONST_WIDE_INT_P.
|
||
(rs6000_legitimize_address): Use CONST_DOUBLE_P, CONST_INT_P,
|
||
CONST_WIDE_INT_P, REG_P and SYMBOL_REF_P.
|
||
(rs6000_emit_move): Use CONST_DOUBLE_P, CONST_INT_P, HARD_REGISTER_P,
|
||
HARD_REGISTER_NUM_P, MEM_P, REG_P, SUBREG_P, SYMBOL_REF_P and
|
||
reg_or_subregno:
|
||
(output_toc): Use CONST_DOUBLE_P, CONST_INT_P and SYMBOL_REF_P.
|
||
(easy_altivec_constant, rs6000_legitimate_offset_address_p,
|
||
rs6000_mode_dependent_address, rs6000_expand_mtfsf_builtin,
|
||
rs6000_expand_set_fpscr_rn_builtin, rs6000_expand_set_fpscr_drn_builtin,
|
||
rs6000_expand_unop_builtin, INT_P, rs6000_generate_compare,
|
||
rs6000_machopic_legitimize_pic_address, rs6000_split_logical_inner,
|
||
rs6000_split_logical_di): Use CONST_INT_P.
|
||
(rs6000_legitimize_reload_address): Use CONST_INT_P, HARD_REGISTER_P,
|
||
REG_P and SYMBOL_REF_P.
|
||
(setup_incoming_varargs, rs6000_rtx_costs): Use CONST_INT_P and MEM_P.
|
||
(print_operand): Use CONST_INT_P, MEM_P and REG_P.
|
||
(virtual_stack_registers_memory_p, rs6000_legitimate_address_p,
|
||
mems_ok_for_quad_peep): Use CONST_INT_P and REG_P.
|
||
(rs6000_secondary_reload_memory): Use CONST_INT_P and SUBREG_P.
|
||
(small_data_operand, print_operand_address): Use CONST_INT_P and
|
||
SYMBOL_REF_P.
|
||
(split_stack_arg_pointer_used_p): Use HARD_REGISTER_P.
|
||
(rs6000_init_hard_regno_mode_ok, direct_move_p):
|
||
Use HARD_REGISTER_NUM_P.
|
||
(rs6000_secondary_reload_gpr): Use HARD_REGISTER_NUM_P and MEM_P.
|
||
(rs6000_secondary_reload_class): Use HARD_REGISTER_NUM_P, REG_P,
|
||
SUBREG_P and SYMBOL_REF_P.
|
||
(register_to_reg_type, rs6000_secondary_reload_inner): Use SUBREG_P
|
||
and HARD_REGISTER_NUM_P.
|
||
(rs6000_adjust_vec_address): Use HARD_REGISTER_NUM_P and
|
||
reg_or_subregno.
|
||
(rs6000_adjust_cost, find_mem_ref): Use MEM_P.
|
||
(macho_lo_sum_memory_operand, rs6000_eliminate_indexed_memrefs): Use
|
||
MEM_P and REG_P.
|
||
(legitimate_indirect_address_p, legitimate_lo_sum_address_p,
|
||
registers_ok_for_quad_peep, rs6000_output_function_epilogue,
|
||
find_addr_reg): Use REG_P.
|
||
(altivec_expand_vec_perm_const): Use REG_P and SUBREG_P.
|
||
(rs6000_emit_le_vsx_move): Use SUBREG_P.
|
||
(offsettable_ok_by_alignment, constant_pool_expr_p,
|
||
legitimate_small_data_p, rs6000_output_dwarf_dtprel,
|
||
rs6000_delegitimize_address, rs6000_const_not_ok_for_debug_p,
|
||
rs6000_cannot_force_const_mem, rs6000_output_addr_const_extra,
|
||
rs6000_assemble_integer, create_TOC_reference,
|
||
rs6000_emit_allocate_stack, rs6000_xcoff_encode_section_info,
|
||
rs6000_call_aix, rs6000_call_aix): Use SYMBOL_REF_P.
|
||
(rs6000_split_vec_extract_var): Use reg_or_subregno.
|
||
* config/rs6000/rtems.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use
|
||
CONST_DOUBLE_P, CONST_INT_P and SYMBOL_REF_P.
|
||
* config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
|
||
* config/rs6000/xcoff.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
|
||
* config/rs6000/rs6000.h (RS6000_SYMBOL_REF_TLS_P): Use SYMBOL_REF_P.
|
||
(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Use HARD_REGISTER_NUM_P.
|
||
(INT_REG_OK_FOR_INDEX_P, INT_REG_OK_FOR_BASE_P): Use HARD_REGISTER_P.
|
||
(CONSTANT_ADDRESS_P): Use CONST_INT_P and SYMBOL_REF_P.
|
||
* config/rs6000/rs6000.md (define_expands strlensi, mod<mode>3
|
||
and cbranch<mode>4): Use CONST_INT_P.
|
||
(multiple define_splits): Use REG_P and SUBREG_P.
|
||
(define_expands call, call_value): Use MEM_P.
|
||
(define_expands sibcall, sibcall_value): Use CONST_INT_P and MEM_P.
|
||
(define insn *mtcrfsi): Use CONST_INT_P and REG_P.
|
||
* config/rs6000/vsx.md (*vsx_le_perm_load_<mode>,
|
||
*vsx_le_perm_load_v8hi, *vsx_le_perm_load_v16qi): Use HARD_REGISTER_P
|
||
and HARD_REGISTER_NUM_P.
|
||
(multiple define_splits): Use HARD_REGISTER_NUM_P.
|
||
|
||
2019-01-24 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR rtl-optimization/88948
|
||
* rtl.h (prepare_copy_insn): New prototype.
|
||
* gcse.c (prepare_copy_insn): New function, split out from
|
||
process_insert_insn.
|
||
(process_insert_insn): Use prepare_copy_insn.
|
||
* store-motion.c (replace_store_insn): Use prepare_copy_insn
|
||
instead of gen_move_insn.
|
||
|
||
2019-01-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/89006
|
||
* config/i386/i386.c (ix86_pic_register_p): Return true for
|
||
UNSPEC_SET_GOT too.
|
||
|
||
PR tree-optimization/88964
|
||
* gimple-loop-interchange.cc (loop_cand::analyze_induction_var): Also
|
||
punt if HONOR_SNANS (chrec).
|
||
|
||
PR middle-end/89015
|
||
* tree-nested.c (convert_nonlocal_reference_stmt,
|
||
convert_local_reference_stmt, convert_tramp_reference_stmt,
|
||
convert_gimple_call) <case GIMPLE_OMP_TEAMS>: Treat
|
||
gimple_omp_teams_host teams stmts like GIMPLE_OMP_PARALLEL
|
||
or GIMPLE_OMP_TASK.
|
||
|
||
PR tree-optimization/89027
|
||
* tree-inline.c (add_clobbers_to_eh_landing_pad): Don't add clobbers
|
||
for "omp simd array" variables.
|
||
|
||
2019-01-24 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/88469
|
||
* profile-count.h (profile_count): On ARM systems using GCC 6/7/8
|
||
force the alignment of m_val.
|
||
|
||
2019-01-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/87187
|
||
* tree-streamer-out.c (write_ts_decl_common_tree_pointers):
|
||
When in "legacy" debug mode make sure to reset self-origins.
|
||
|
||
2019-01-24 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/88994
|
||
* gcov-io.c (mangle_path): Do not allocate a bigger buffer,
|
||
result will be always smaller or equal to the original.
|
||
* gcov.c (mangle_name): Fix else branch where we should
|
||
also copy to PTR and shift the pointer.
|
||
|
||
2019-01-24 Xiong Hu Luo <luoxhu@linux.vnet.ibm.com>
|
||
|
||
* tree-ssa-dom.c (test_for_singularity): Fix a comment typo.
|
||
* vr-values.c (find_case_label_ranges): Fix a comment typo.
|
||
|
||
2019-01-23 Bin Cheng <bin.cheng@arm.com>
|
||
Steve Ellcey <sellcey@marvell.com>
|
||
|
||
PR target/85711
|
||
* recog.c (address_operand): Return false on wrong mode for address.
|
||
(constrain_operands): Check for mode with 'p' constraint.
|
||
|
||
2019-01-23 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/88998
|
||
* config/i386/sse.md (sse2_cvtpi2pd): Add SSE alternatives.
|
||
Disparage MMX alternative.
|
||
(sse2_cvtpd2pi): Ditto.
|
||
(sse2_cvttpd2pi): Ditto.
|
||
|
||
2019-01-23 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR driver/89014
|
||
* config/aarch64/driver-aarch64.c (host_detect_local_cpu): Fix
|
||
use-after-free of the result of
|
||
aarch64_get_extension_string_for_isa_flags.
|
||
|
||
2019-01-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/44715
|
||
* doc/extend.texi: Document break and continue behavior in
|
||
statement expressions.
|
||
|
||
2019-01-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/89008
|
||
* tree-ssa-reassoc.c (eliminate_using_constants): For * 0 do
|
||
not leave another stray operand.
|
||
|
||
2019-01-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* BASE-VER: Bump to 9.0.1.
|
||
|
||
2019-01-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* cgraphunit.c (cgraph_node::expand_thunk): When expanding a GIMPLE
|
||
thunk that returns by reference, use the type of the return object
|
||
of the thunk instead of that of the alias to build the dereference.
|
||
|
||
2019-01-23 Vineet Gupta <vgupta@synopsys.com>
|
||
|
||
* config/arc/atomic.md: Add operand to DMB instruction.
|
||
|
||
2019-01-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/88964
|
||
* gimple-loop-interchange.cc (loop_cand::analyze_induction_var): Use
|
||
build_zero_cst instead of build_int_cst. Return false for loop
|
||
invariants which honor signed zeros.
|
||
|
||
2019-01-22 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* doc/invoke.texi (-fsplit-paths): This is enabled by default at -O3.
|
||
|
||
2019-01-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/88965
|
||
* config/rs6000/rs6000.c: Include tree-vrp.h and tree-ssanames.h.
|
||
(rs6000_gimple_fold_builtin): If MEM_REF address doesn't satisfy
|
||
is_gimple_mem_ref_addr predicate, force it into a SSA_NAME first.
|
||
|
||
PR middle-end/88968
|
||
* gimplify.c (gimplify_omp_atomic): Handle bitfield atomics with
|
||
non-integral DECL_BIT_FIELD_REPRESENTATIVEs.
|
||
|
||
PR target/87064
|
||
* config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v2df_scalar):
|
||
Disable for little endian.
|
||
|
||
2019-01-22 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/88469
|
||
* config/arm/arm.c (arm_needs_double_word_align): Check
|
||
DECL_BIT_FIELD_TYPE.
|
||
|
||
2019-01-22 Hongtao Liu <hongtao.liu@intel.com>
|
||
H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/88909
|
||
* config/i386/i386-builtin.def: Add mask2 to all builtin
|
||
initializations. Merge ARGS2 and SPECIAL_ARGS2 into ARGS and
|
||
SPECIAL_ARGS.
|
||
* config/i386/i386.c (BDESC): Add mask2 to the definition.
|
||
(BDESC_FIRST): Likewise.
|
||
(define_builtin): Add an argument for mask2. Updated to handle
|
||
both ix86_isa_flags and ix86_isa_flags2.
|
||
(define_builtin_const): Likewise.
|
||
(define_builtin_pure): Likewise.
|
||
(define_builtin2): Deleted.
|
||
(define_builtin_const2): Likewise.
|
||
(builtin_description): Add a member, mask2.
|
||
(bdesc_*): Add mask2 to builtin initializations.
|
||
(ix86_init_mmx_sse_builtins): Update calls to def_builtin,
|
||
def_builtin_const and def_builtin_pure. Remove SPECIAL_ARGS2
|
||
support.
|
||
(ix86_get_builtin_func_type): Remove SPECIAL_ARGS2 support.
|
||
|
||
2019-01-22 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/88954
|
||
* config/i386/i386.c (ix86_force_load_from_GOT_p): Also check
|
||
noplt attribute.
|
||
|
||
2019-01-22 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/88469
|
||
* config/arm/arm.c (arm_needs_doubleword_align): Return 2 if a record's
|
||
alignment is dominated by a bitfield with 64-bit aligned base type.
|
||
(arm_function_arg): Emit a warning if the alignment has changed since
|
||
earlier GCC releases.
|
||
(arm_function_arg_boundary): Likewise.
|
||
(arm_setup_incoming_varargs): Likewise.
|
||
|
||
2019-01-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/88862
|
||
* graphite-scop-detection.c
|
||
(scop_detection::graphite_can_represent_scev): Reject ADDR_EXPR.
|
||
|
||
2019-01-22 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* doc/extend.tex (AMD GCN Function Attributes): New section.
|
||
* doc/install.texi (amdgcn-unknown-amdhsa): New instructions.
|
||
* doc/invoke.texi (AMD GCN Options): New section.
|
||
* doc/md.texi (Constraints for Particular Machines): Add AMD GCN.
|
||
|
||
2019-01-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/sparc/sparc.c (parc_delegitimize_address): Recognize the GOT
|
||
register and decoded HIGH/LO_SUM combinations for labels in PIC mode.
|
||
|
||
2019-01-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/88044
|
||
* tree-ssa-loop-niter.c (number_of_iterations_cond): If condition
|
||
is false in the first iteration, but !every_iteration, return false
|
||
instead of true with niter->niter zero.
|
||
|
||
PR rtl-optimization/88904
|
||
* cfgcleanup.c (thread_jump): Verify cond2 doesn't mention
|
||
any nonequal registers before processing BB_END (b).
|
||
|
||
PR target/88905
|
||
* optabs.c (add_equal_note): Add op0_mode argument, use it instead of
|
||
GET_MODE (op0).
|
||
(expand_binop_directly, expand_doubleword_clz,
|
||
expand_doubleword_popcount, expand_ctz, expand_ffs,
|
||
expand_unop_direct, maybe_emit_unop_insn): Adjust callers.
|
||
|
||
PR rtl-optimization/49429
|
||
PR target/49454
|
||
PR rtl-optimization/86334
|
||
PR target/88906
|
||
* expr.c (emit_block_move_hints): Move marking of MEM_EXPRs
|
||
addressable from here...
|
||
(emit_block_op_via_libcall): ... to here.
|
||
|
||
2019-01-22 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-loop.c (vect_analyze_loop_operations): Use
|
||
auto_vec for cost vector to fix memleak.
|
||
(vectorize_fold_left_reduction): Properly gather SLP defs.
|
||
(vectorizable_comparison): Do not swap operands to properly
|
||
gather SLP defs.
|
||
|
||
2019-01-22 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/88614
|
||
* config/rs6000/predicates.md (unspec_tls): Ensure GOT reg
|
||
stays a reg. Allow a const_int.
|
||
* config/rs6000/rs6000-protos.h (rs6000_output_tlsargs): Declare.
|
||
* config/rs6000/rs6000.h (IS_V4_FP_ARGS): Define.
|
||
(IS_NOMARK_TLSGETADDR): Define.
|
||
* config/rs6000/rs6000.c (edit_tls_call_insn): Delete.
|
||
(rs6000_output_tlsargs): New function.
|
||
(rs6000_legitimize_tls_address): Don't say a !TARGET_TLS_MARKERS
|
||
__tls_get_addr call takes an arg.
|
||
(rs6000_call_sysv): Generate sysv4 secure plt call pattern here..
|
||
* config/rs6000/rs6000.md (call_nonlocal_sysv): ..rather than here,
|
||
delete split..
|
||
(call_value_nonlocal_sysv): ..or here, delete split.
|
||
(tls_gdld_nomark): Delete.
|
||
(call_value_indirect_nonlocal_sysv): Use unspec_tls as operand2
|
||
predicate. Call rs6000_output_tlsargs. Adjust length to suit.
|
||
(call_value_nonlocal_sysv): Likewise.
|
||
(call_value_nonlocal_sysv_secure): Likewise.
|
||
(call_value_nonlocal_aix): Likewise.
|
||
(call_value_indirect_aix): Likewise.
|
||
(call_value_indirect_elfv2): Likewise.
|
||
(call_value_local32, call_value_local64): Disable for no-mark tls.
|
||
(call_value_local_aix): Likewise.
|
||
|
||
2019-01-21 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/88938
|
||
* config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32,
|
||
case IX86_BUILTIN_BEXTRI64]: Sanitize operands.
|
||
|
||
2019-01-21 Michael Ploujnikov <michael.ploujnikov@oracle.com>
|
||
|
||
* hash-map-tests.c (test_map_of_strings_to_int): Show how to use
|
||
string contents as hash_map keys.
|
||
|
||
2019-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR c/88928
|
||
* c-warn.c (check_alignment_of_packed_member): Add a boolean parameter
|
||
for rvalue context. Handle rvalues correctly. Use min_align_of_type
|
||
instead of TYPE_ALIGN.
|
||
(check_address_or_pointer_of_packed_member): Handle rvalues coorrectly.
|
||
Use min_align_of_type instead of TYPE_ALIGN_UNIT. Check for NULL
|
||
pointer from TYPE_STUB_DECL.
|
||
|
||
2019-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/88934
|
||
* tree-vect-slp.c (vect_mask_constant_operand_p): Always look
|
||
at the possibly non-constant operand.
|
||
(vect_get_constant_vectors): Adjust.
|
||
|
||
2019-01-21 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/71659
|
||
* config/i386/adxintrin.h: Just check _IMMINTRIN_H_INCLUDED.
|
||
* config/i386/clflushoptintrin.h: Check _IMMINTRIN_H_INCLUDED
|
||
instead of _X86INTRIN_H_INCLUDED.
|
||
* onfig/i386/clwbintrin.h: Likewise.
|
||
* config/i386/pkuintrin.h: Likewise.
|
||
* config/i386/prfchwintrin.h: Likewise.
|
||
* config/i386/rdseedintrin.h: Likewise.
|
||
* config/i386/wbnoinvdintrin.h: Likewise.
|
||
* config/i386/xsavecintrin.h: Likewise.
|
||
* config/i386/xsavesintrin.h: Likewise.
|
||
* config/i386/fxsrintrin.h: Enable _IMMINTRIN_H_INCLUDED check.
|
||
* config/i386/xsaveintrin.h: Likewise.
|
||
* config/i386/xsaveoptintrin.h: Likewise.
|
||
* config/i386/x86intrin.h: Move "#include" <rdseedintrin.h>,
|
||
<prfchwintrin.h>, <fxsrintrin.h>, <xsaveintrin.h>,
|
||
<xsaveoptintrin.h>, <adxintrin.h>, <clwbintrin.h>,
|
||
<clflushoptintrin.h>, <xsavesintrin.h>, <xsavecintrin.h>,
|
||
<wbnoinvdintrin.h> and <pkuintrin.h> to ...
|
||
* config/i386/immintrin.h: Here.
|
||
|
||
2019-01-20 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/87615
|
||
* ipa-prop.h (struct ipa_func_body_info): Replaced field aa_walked
|
||
with aa_walk_budget.
|
||
* cgraph.h (ipa_polymorphic_call_context::get_dynamic_type): Add
|
||
aa_walk_budget_p parameter.
|
||
* ipa-fnsummary.c (unmodified_parm_1): New parameter fbi. Limit AA
|
||
walk. Updated all callers.
|
||
(unmodified_parm): New parameter fbi, pass it to unmodified_parm_1.
|
||
(eliminated_by_inlining_prob): New parameter fbi, pass it on to
|
||
unmodified_parm.
|
||
(will_be_nonconstant_expr_predicate): New parameter fbi, removed
|
||
parameter info. Extract info from fbi. Pass fbi to recursive calls
|
||
and to unmodified_parm.
|
||
(phi_result_unknown_predicate): New parameter fbi, removed parameter
|
||
info, updated call to will_be_nonconstant_expr_predicate.
|
||
(param_change_prob): New parameter fbi, limit AA walking.
|
||
(analyze_function_body): Initialize aa_walk_budget in fbi. Update
|
||
calls to various above functions.
|
||
* ipa-polymorphic-call.c (get_dynamic_type): Add aa_walk_budget_p
|
||
parameter. Use it to limit AA walking.
|
||
* ipa-prop.c (detect_type_change_from_memory_writes): New parameter
|
||
fbi, limit AA walk.
|
||
(detect_type_change): New parameter fbi, pass it on to
|
||
detect_type_change_from_memory_writes.
|
||
(detect_type_change_ssa): Likewise.
|
||
(aa_overwalked): Removed.
|
||
(parm_preserved_before_stmt_p): Assume fbi is never NULL, stream line
|
||
accordingly, adjust to the neew AA limiting scheme.
|
||
(parm_ref_data_preserved_p): Likewise.
|
||
(ipa_compute_jump_functions_for_edge): Adjust call to
|
||
get_dynamic_type.
|
||
(ipa_analyze_call_uses): Likewise.
|
||
(ipa_analyze_virtual_call_uses): Pass fbi to detect_type_change_ssa.
|
||
(ipa_analyze_node): Initialize aa_walk_budget.
|
||
(ipcp_transform_function): Likewise.
|
||
* tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt): Update call
|
||
to get_dynamic_type.
|
||
|
||
2019-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_stack_protect_guard): Move
|
||
outside of #if CHECKING_P code.
|
||
|
||
2019-01-19 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* gimple-loop-versioning.cc (loop_versioning::dump_inner_likelihood):
|
||
New function, split out from...
|
||
(loop_versioning::analyze_stride): ...here.
|
||
(loop_versioning::find_per_loop_multiplication): Use gassign.
|
||
(loop_versioning::analyze_term_using_scevs): Return a success code.
|
||
(loop_versioning::analyze_arbitrary_term): New function.
|
||
(loop_versioning::analyze_address_fragment): Use
|
||
analyze_arbitrary_term if all else fails.
|
||
|
||
2019-01-18 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/88892
|
||
* config/rs6000/rs6000.md (*movsi_from_df): Allow only register
|
||
operands.
|
||
|
||
2019-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/88903
|
||
* tree-vect-stmts.c (vectorizable_shift): Verify we see all
|
||
scalar stmts a SLP shift amount is composed of when detecting
|
||
shifts by scalars.
|
||
|
||
2019-01-18 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/88799
|
||
* config/arm/arm-cpus.in (mp): New feature.
|
||
(sec): New feature.
|
||
(fgroup ARMv7ve): Add mp and sec features.
|
||
(arch armv7-a): Add options to allow mp and sec extensions.
|
||
(cpu generic-armv7-a): Add options to allow mp and sec extensions.
|
||
(cpu cortex-a5, cpu cortex-7, cpu cortex-a9): Add mp and sec
|
||
extenstions to the base architecture.
|
||
(cpu cortex-a8): Add sec extension to the base architecture.
|
||
(cpu marvell-pj4): Add mp and sec extensions to the base architecture.
|
||
* config/arm/t-aprofile (MULTILIB_MATCHES): Map all armv7-a arch
|
||
variants down to the base v7-a varaint.
|
||
* config/arm/t-multilib (v7_a_arch_variants): New variable.
|
||
* doc/invoke.texi (ARM Options): Add +mp and +sec to the list
|
||
of permitted extensions for -march=armv7-a and for
|
||
-mcpu=generic-armv7-a.
|
||
|
||
2019-01-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* params.def: Fix comment.
|
||
* tree-profile.c (gimple_init_gcov_profiler): Bump function
|
||
name.
|
||
(gimple_gen_ic_func_profiler): Likewise.
|
||
|
||
2019-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
* config/aarch64/aarch64-opts.h (enum stack_protector_guard): New
|
||
* config/aarch64/aarch64.c (aarch64_override_options_internal): Handle
|
||
and put in error checks for stack protector guard options.
|
||
(aarch64_stack_protect_guard): New.
|
||
(TARGET_STACK_PROTECT_GUARD): Define.
|
||
* config/aarch64/aarch64.md (UNSPEC_SSP_SYSREG): New.
|
||
(reg_stack_protect_address<mode>): New.
|
||
(stack_protect_set): Adjust for SSP_GLOBAL.
|
||
(stack_protect_test): Likewise.
|
||
* config/aarch64/aarch64.opt (-mstack-protector-guard-reg): New.
|
||
(-mstack-protector-guard): Likewise.
|
||
(-mstack-protector-guard-offset): Likewise.
|
||
|
||
2019-01-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/86214
|
||
* tree-inline.h (struct copy_body_data): Add
|
||
add_clobbers_to_eh_landing_pads member.
|
||
* tree-inline.c (add_clobbers_to_eh_landing_pad): New function.
|
||
(copy_edges_for_bb): Call it if EH edge destination is <
|
||
id->add_clobbers_to_eh_landing_pads. Fix a comment typo.
|
||
(expand_call_inline): Set id->add_clobbers_to_eh_landing_pads
|
||
if flag_stack_reuse != SR_NONE and clear it afterwards.
|
||
|
||
2019-01-18 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
PR target/85596
|
||
* doc/install.texi (with-multilib-list): Document for aarch64.
|
||
|
||
2019-01-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/88734
|
||
* config/arm/arm_neon.h: Fix #pragma GCC target syntax - replace
|
||
(("..."))) with ("...").
|
||
|
||
2019-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* doc/extend.texi (Built-in Functions for Memory Model Aware
|
||
Atomic Operations): Document atomic fetch and nand.
|
||
|
||
2019-01-18 Martin Liska <mliska@suse.cz>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/88587
|
||
* cgraph.h (create_version_clone_with_body): Add new argument
|
||
with attributes.
|
||
* cgraphclones.c (cgraph_node::create_version_clone): Add
|
||
DECL_ATTRIBUTES to a newly created decl. And call
|
||
valid_attribute_p so that proper cl_target_optimization_node
|
||
is set for the newly created declaration.
|
||
* multiple_target.c (create_target_clone): Set DECL_ATTRIBUTES
|
||
for declaration.
|
||
(expand_target_clones): Do not call valid_attribute_p, it must
|
||
be already done.
|
||
* tree-inline.c (copy_decl_for_dup_finish): Reset mode for
|
||
vector types.
|
||
|
||
2019-01-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/88734
|
||
* config/aarch64/arm_neon.h: Fix #pragma GCC target syntax - replace
|
||
(("..."))) with ("..."). Use arch=armv8.2-a+sha3 instead of
|
||
arch=armv8.2-a+crypto for vsha512hq_u64 etc. intrinsics.
|
||
|
||
2019-01-17 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/88273
|
||
* gimple-ssa-warn-restrict.c (builtin_memref::extend_offset_range):
|
||
Handle anti-ranges the same as no range at all.
|
||
|
||
2018-01-17 Steve Ellcey <sellcey@cavium.com>
|
||
|
||
* config/aarch64/aarch64.c (cgraph.h): New include.
|
||
(intl.h): New include.
|
||
(supported_simd_type): New function.
|
||
(currently_supported_simd_type): Ditto.
|
||
(aarch64_simd_clone_compute_vecsize_and_simdlen): Ditto.
|
||
(aarch64_simd_clone_adjust): Ditto.
|
||
(aarch64_simd_clone_usable): Ditto.
|
||
(TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New macro.
|
||
(TARGET_SIMD_CLONE_ADJUST): Ditto.
|
||
(TARGET_SIMD_CLONE_USABLE): Ditto.
|
||
* config/i386/i386.c (ix86_simd_clone_adjust): Add definition check.
|
||
* omp-simd-clone.c (expand_simd_clones): Add targetm.simd_clone.adjust
|
||
call.
|
||
|
||
2019-01-17 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/88800
|
||
* gimple-fold.c (gimple_fold_builtin_memory_op): Avoid checking
|
||
NO_WARNING bit here. Avoid folding out-of-bounds calls.
|
||
* gimple-ssa-warn-restrict.c (maybe_diag_offset_bounds): Remove
|
||
redundant argument. Add new argument and issue diagnostics under
|
||
its control. Detect out-of-bounds access even with warnings
|
||
disabled.
|
||
(check_bounds_or_overlap): Change return type. Add argument.
|
||
(wrestrict_dom_walker::check_call): Adjust.
|
||
* gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Add argument.
|
||
* tree-ssa-strlen.c (handle_builtin_strcpy): Adjust to change in
|
||
check_bounds_or_overlap's return value.
|
||
(handle_builtin_stxncpy): Same.
|
||
(handle_builtin_strcat): Same.
|
||
|
||
2019-01-17 Andrew Stubbs <ams@codesourcery.com>
|
||
Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
Julian Brown <julian@codesourcery.com>
|
||
Tom de Vries <tom@codesourcery.com>
|
||
|
||
* doc/sourcebuild.texi: Document dg-add-options sqrt_insn.
|
||
|
||
2019-01-17 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* doc/sourcebuild.texi: Document dg-require-effective-target
|
||
llvm_binutils and offload_gcn.
|
||
|
||
2019-01-17 Andrew Stubbs <ams@codesourcery.com>
|
||
Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
Julian Brown <julian@codesourcery.com>
|
||
Tom de Vries <tom@codesourcery.com>
|
||
|
||
* doc/sourcebuild.texi: Document dg-required-effective-target
|
||
exceptions.
|
||
|
||
2019-01-17 Andrew Stubbs <ams@codesourcery.com>
|
||
Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
Julian Brown <julian@codesourcery.com>
|
||
Tom de Vries <tom@codesourcery.com>
|
||
Jan Hubicka <hubicka@ucw.cz>
|
||
Martin Jambor <mjambor@suse.cz>
|
||
|
||
* config.gcc: Add amdgcn*-*-amdhsa configuration.
|
||
* configure.ac: Check for dlopen.
|
||
* configure: Regenerate.
|
||
|
||
2019-01-17 Andrew Stubbs <ams@codesourcery.com>
|
||
Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
Julian Brown <julian@codesourcery.com>
|
||
Tom de Vries <tom@codesourcery.com>
|
||
Jan Hubicka <hubicka@ucw.cz>
|
||
Martin Jambor <mjambor@suse.cz>
|
||
|
||
* common/config/gcn/gcn-common.c: New file.
|
||
* config/gcn/driver-gcn.c: New file.
|
||
* config/gcn/gcn-builtins.def: New file.
|
||
* config/gcn/gcn-hsa.h: New file.
|
||
* config/gcn/gcn-modes.def: New file.
|
||
* config/gcn/gcn-opts.h: New file.
|
||
* config/gcn/gcn-passes.def: New file.
|
||
* config/gcn/gcn-protos.h: New file.
|
||
* config/gcn/gcn-run.c: New file.
|
||
* config/gcn/gcn-tree.c: New file.
|
||
* config/gcn/gcn.c: New file.
|
||
* config/gcn/gcn.h: New file.
|
||
* config/gcn/gcn.opt: New file.
|
||
* config/gcn/t-gcn-hsa: New file.
|
||
|
||
2019-01-17 Andrew Stubbs <ams@codesourcery.com>
|
||
Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
Julian Brown <julian@codesourcery.com>
|
||
Tom de Vries <tom@codesourcery.com>
|
||
Jan Hubicka <hubicka@ucw.cz>
|
||
Martin Jambor <mjambor@suse.cz>
|
||
|
||
* config/gcn/constraints.md: New file.
|
||
* config/gcn/gcn-valu.md: New file.
|
||
* config/gcn/gcn.md: New file.
|
||
* config/gcn/predicates.md: New file.
|
||
|
||
2019-01-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gimple-ssa-isolate-paths.c (stmt_uses_name_in_undefined_way): Replace
|
||
flag_non_call_exceptions with cfun->can_throw_non_call_exceptions.
|
||
(stmt_uses_0_or_null_in_undefined_way): Likewise.
|
||
* tree-ssa-alias.c (same_addr_size_stores_p): Likewise.
|
||
|
||
2019-01-17 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR target/88851
|
||
* config/aarch64/aarch64.md (STACK_CLASH_SVE_CFA_REGNUM): New.
|
||
* config/aarch64/aarch64.c (aarch64_allocate_and_probe_stack_space): Use
|
||
it and document registers.
|
||
|
||
2019-01-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (ares_tunings): Define.
|
||
* config/aarch64/aarch64-cores.def (ares): Use the above.
|
||
|
||
2019-01-17 Wei Xiao <wei3.xiao@intel.com>
|
||
|
||
PR target/88794
|
||
Revert:
|
||
2018-11-06 Wei Xiao <wei3.xiao@intel.com>
|
||
|
||
* config/i386/avx512fintrin.h: Update VFIXUPIMM* intrinsics.
|
||
(_mm512_fixupimm_round_pd): Update parameters and builtin.
|
||
(_mm512_maskz_fixupimm_round_pd): Ditto.
|
||
(_mm512_fixupimm_round_ps): Ditto.
|
||
(_mm512_maskz_fixupimm_round_ps): Ditto.
|
||
(_mm_fixupimm_round_sd): Ditto.
|
||
(_mm_maskz_fixupimm_round_sd): Ditto.
|
||
(_mm_fixupimm_round_ss): Ditto.
|
||
(_mm_maskz_fixupimm_round_ss): Ditto.
|
||
(_mm512_fixupimm_pd): Ditto.
|
||
(_mm512_maskz_fixupimm_pd): Ditto.
|
||
(_mm512_fixupimm_ps): Ditto.
|
||
(_mm512_maskz_fixupimm_ps): Ditto.
|
||
(_mm_fixupimm_sd): Ditto.
|
||
(_mm_maskz_fixupimm_sd): Ditto.
|
||
(_mm_fixupimm_ss): Ditto.
|
||
(_mm_maskz_fixupimm_ss): Ditto.
|
||
(_mm512_mask_fixupimm_round_pd): Update builtin.
|
||
(_mm512_mask_fixupimm_round_ps): Ditto.
|
||
(_mm_mask_fixupimm_round_sd): Ditto.
|
||
(_mm_mask_fixupimm_round_ss): Ditto.
|
||
(_mm512_mask_fixupimm_pd): Ditto.
|
||
(_mm512_mask_fixupimm_ps): Ditto.
|
||
(_mm_mask_fixupimm_sd): Ditto.
|
||
(_mm_mask_fixupimm_ss): Ditto.
|
||
* config/i386/avx512vlintrin.h:
|
||
(_mm256_fixupimm_pd): Update parameters and builtin.
|
||
(_mm256_maskz_fixupimm_pd): Ditto.
|
||
(_mm256_fixupimm_ps): Ditto.
|
||
(_mm256_maskz_fixupimm_ps): Ditto.
|
||
(_mm_fixupimm_pd): Ditto.
|
||
(_mm_maskz_fixupimm_pd): Ditto.
|
||
(_mm_fixupimm_ps): Ditto.
|
||
(_mm_maskz_fixupimm_ps): Ditto.
|
||
(_mm256_mask_fixupimm_pd): Update builtin.
|
||
(_mm256_mask_fixupimm_ps): Ditto.
|
||
(_mm_mask_fixupimm_pd): Ditto.
|
||
(_mm_mask_fixupimm_ps): Ditto.
|
||
* config/i386/i386-builtin-types.def: Add new types and remove useless ones.
|
||
* config/i386/i386-builtin.def: Update builtin definitions.
|
||
* config/i386/i386.c: Handle new builtin types and remove useless ones.
|
||
* config/i386/sse.md: Update VFIXUPIMM* patterns.
|
||
(<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
|
||
(<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
|
||
(<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Update.
|
||
(avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
|
||
(avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
|
||
(avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Update.
|
||
* config/i386/subst.md:
|
||
(round_saeonly_sd_mask_operand4): Add new subst_attr.
|
||
(round_saeonly_sd_mask_op4): Ditto.
|
||
(round_saeonly_expand_operand5): Ditto.
|
||
(round_saeonly_expand): Update.
|
||
|
||
2019-01-17 Wei Xiao <wei3.xiao@intel.com>
|
||
|
||
PR target/88794
|
||
Revert:
|
||
2018-11-12 Wei Xiao <wei3.xiao@intel.com>
|
||
|
||
* config/i386/sse.md: Combine VFIXUPIMM* patterns
|
||
(<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
|
||
(<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
|
||
(<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Remove.
|
||
(avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
|
||
(avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
|
||
(avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Remove.
|
||
|
||
2019-01-17 Wei Xiao <wei3.xiao@intel.com>
|
||
|
||
PR target/88794
|
||
Revert:
|
||
2018-12-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/88489
|
||
* config/i386/sse.md (UNSPEC_SFIXUPIMM): New unspec enumerator.
|
||
(avx512f_sfixupimm<mode><mask_name><round_saeonly_name>): Use it
|
||
instead of UNSPEC_FIXUPIMM.
|
||
|
||
2019-01-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/86736
|
||
* dwarf2out.c (want_pubnames): Never generate pubnames sections
|
||
and friends for the LTO part of debug info.
|
||
|
||
2019-01-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/86214
|
||
* cfgexpand.c (add_stack_var_conflict): Don't add any conflicts
|
||
if x == y.
|
||
|
||
PR rtl-optimization/88870
|
||
* dce.c (deletable_insn_p): Never delete const/pure calls that can
|
||
throw if we can't alter the cfg or delete dead exceptions.
|
||
(mark_insn): Don't call find_call_stack_args for such calls.
|
||
|
||
2019-01-17 Kewen Lin <linkw@gcc.gnu.org>
|
||
|
||
* doc/extend.texi: Add four new prototypes for vec_ld and seven new
|
||
prototypes for vec_st.
|
||
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add entries
|
||
for scalar address type variants of altivec_vec_ld/altivec_vec_st,
|
||
mainly on signed/unsigned long long and double.
|
||
|
||
2019-01-16 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR target/88861
|
||
* combine.c (delete_noop_moves): Convert to "bool" return,
|
||
returning true if any edges are eliminated.
|
||
(combine_instructions): Also return true if delete_noop_moves
|
||
returns true.
|
||
|
||
2019-01-16 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Use
|
||
correct max nunits for endian swap.
|
||
(aarch64_expand_fcmla_builtin): Correct subreg code.
|
||
* config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>,
|
||
aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>): Correct
|
||
lane endianness.
|
||
|
||
2019-01-16 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/alpha/alpha.c (alpha_gimplify_va_arg):
|
||
Handle split indirect COMPLEX_TYPE arguments.
|
||
|
||
2019-01-16 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/86891
|
||
* config/aarch64/aarch64-modes.def: Add comment about how the carry
|
||
bit is set by add and compare.
|
||
(CC_ADC): New CC_MODE.
|
||
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Use variables
|
||
to cache the code and mode of X. Adjust the shape of a CC_Cmode
|
||
comparison. Add detection for CC_ADCmode.
|
||
(aarch64_get_condition_code_1): Update code support for CC_Cmode. Add
|
||
CC_ADCmode.
|
||
* config/aarch64/aarch64.md (uaddv<mode>4): Use LTU with CCmode.
|
||
(uaddvti4): Comparison result is in CC_ADCmode and the condition is GEU.
|
||
(add<mode>3_compareC_cconly_imm): Delete. Merge into...
|
||
(add<mode>3_compareC_cconly): ... this. Restructure the comparison
|
||
to eliminate the need for zero-extending the operands.
|
||
(add<mode>3_compareC_imm): Delete. Merge into ...
|
||
(add<mode>3_compareC): ... this. Restructure the comparison to
|
||
eliminate the need for zero-extending the operands.
|
||
(add<mode>3_carryin): Use LTU for the overflow detection.
|
||
(add<mode>3_carryinC): Use CC_ADCmode for the result of the carry out.
|
||
Reexpress comparison for overflow.
|
||
(add<mode>3_carryinC_zero): Update for change to add<mode>3_carryinC.
|
||
(add<mode>3_carryinC): Likewise.
|
||
(add<mode>3_carryinV): Use LTU for carry between partials.
|
||
* config/aarch64/predicates.md (aarch64_carry_operation): Update
|
||
handling of CC_Cmode and add CC_ADCmode.
|
||
(aarch64_borrow_operation): Likewise.
|
||
|
||
2019-01-16 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): Remove patternmode.
|
||
* config/arm/arm.c (neon_vcmla_lane_prepare_operands): Likewise.
|
||
* config/arm/neon.md (neon_vcmla_lane<rot><mode>, neon_vcmla_laneq<rot><mode>,
|
||
neon_vcmlaq_lane<rot><mode>): Remove endianness conversion.
|
||
|
||
2019-01-16 Martin Liska <mliska@suse.cz>
|
||
|
||
* Makefile.in: Set TOOL_INCLUDE_DIR and NATIVE_SYSTEM_HEADER_DIR
|
||
for GCC driver.
|
||
* config/gnu-user.h (TARGET_F951_OPTIONS): Add 'finclude%s/' as
|
||
a new argument.
|
||
* gcc.c (add_sysrooted_hdrs_prefix): New function.
|
||
(path_prefix_reset): Move up in the source file.
|
||
(find_fortran_preinclude_file): Make complex search for the
|
||
fortran header files.
|
||
|
||
2019-01-15 Nikhil Benesch <nikhil.benesch@gmail.com>
|
||
|
||
* godump.c (go_output_typedef): When outputting a typedef, refer
|
||
to the underlying type by its name and not its structure.
|
||
|
||
2019-01-15 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c++/88795
|
||
* tree.c (build_function_type): Assert that arg_types is not
|
||
error_mark_node.
|
||
|
||
2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR inline-asm/52813
|
||
* doc/extend.texi: Document that listing the stack pointer in the
|
||
clobber list of an asm is a deprecated feature.
|
||
* common.opt (Wdeprecated): Moved from c-family/c.opt.
|
||
* cfgexpand.c (asm_clobber_reg_is_valid): Issue a -Wdeprecated
|
||
warning instead of an error for clobbers of the stack pointer.
|
||
Add a note explaining why.
|
||
|
||
2019-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/88046
|
||
* dwarf2out.c (gen_member_die): Do not generate inheritance
|
||
DIEs late.
|
||
|
||
2019-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/88855
|
||
* tree-if-conv.c (combine_blocks): Collect
|
||
SSA_NAME_OCCURS_IN_ABNORMAL_PHI from propagated out virtuals.
|
||
|
||
2019-01-15 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/80547
|
||
* config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Handle
|
||
lhs == NULL_TREE for gang-level reduction.
|
||
|
||
2019-01-15 Richard Biener <rguenther@suse.de>
|
||
Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
PR ipa/88788
|
||
* ipa-pure-const.c (malloc_candidate_p_1): Add parameter visited and
|
||
return true if SSA_NAME is already marked in visited bitmap.
|
||
(malloc_candidate_p): Pass visited to malloc_candidate_p_1.
|
||
|
||
2019-01-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/88775
|
||
* match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)): Optimize
|
||
equal == 0 equality pointer comparisons some more if compared in
|
||
integral types and either one points to an automatic var and the
|
||
other to a global, or we can prove at least one points to the middle
|
||
or both point to start or both point to end.
|
||
|
||
2019-01-14 Andi Kleen <ak@linux.intel.com>
|
||
|
||
* Makefile.in: Lower autofdo sampling rate by 10x.
|
||
* Makefile.tpl: Dito.
|
||
|
||
2019-01-14 Tom Honermann <tom@honermann.net>
|
||
|
||
* defaults.h: Define CHAR8_TYPE.
|
||
|
||
2019-01-14 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR target/88638
|
||
* doc/extend.texi (Darwin Format Checks): Clarify.
|
||
|
||
2019-01-14 Richard Biener <rguenther@suse.de>
|
||
|
||
* genmatch.c (dt_simplify::gen_1): Change dumping dependent on
|
||
whether we are in (simplify ...) or (match ...) context.
|
||
|
||
2019-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/88796
|
||
* emit-rtl.h (struct rtl_data): Add stack_protect_guard_decl field.
|
||
* cfgexpand.c (stack_protect_prologue): Initialize
|
||
crtl->stack_protect_guard_decl.
|
||
* function.c (stack_protect_epilogue): Use it instead of calling
|
||
targetm.stack_protect_guard again.
|
||
* dse.c (check_mem_read_rtx): Ignore MEM_VOLATILE_P reads from
|
||
MEMs with MEM_EXPR equal to crtl->stack_protect_guard or
|
||
crtl->stack_protect_guard_decl.
|
||
* config/i386/i386.c (ix86_stack_protect_guard): Set TREE_THIS_VOLATILE
|
||
on the returned MEM_EXPR.
|
||
|
||
2019-01-12 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Alow setting
|
||
vector length using -fopenacc-dim.
|
||
|
||
2019-01-12 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Take larger vector
|
||
lengths into account.
|
||
|
||
2019-01-12 Svante Signell <svante.signell@gmail.com>
|
||
|
||
* config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
|
||
(TARGET_CAN_SPLIT_STACK): Define.
|
||
(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
|
||
|
||
2019-01-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* params.def (inline-unit-growth): Set to 40.
|
||
|
||
2019-01-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo.
|
||
|
||
2019-01-12 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): In offloading
|
||
region calling vector-partitionable routine, set default_vector_length
|
||
to WARP_SIZE.
|
||
|
||
2019-01-12 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add an use new
|
||
variable default_vector_length.
|
||
|
||
2019-01-12 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR middle-end/88703
|
||
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Apply defaults
|
||
from oacc_default_dims, as oacc_validate_dims would do it, and apply
|
||
dimensions limits.
|
||
|
||
2019-01-12 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1)
|
||
(nvptx_goacc_validate_dims): Add used parameter.
|
||
* doc/tm.texi: Regenerate.
|
||
* omp-offload.c (oacc_parse_default_dims, oacc_validate_dims): Add
|
||
argument to call to targetm.goacc.validate_dims.
|
||
(default_goacc_validate_dims): Add used
|
||
parameter.
|
||
* target.def (validate_dims): Add used parameter in DEFHOOK.
|
||
* targhooks.h (default_goacc_validate_dims): Add used parameter.
|
||
|
||
2019-01-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/85956
|
||
PR lto/88733
|
||
* tree-inline.h (struct copy_body_data): Add adjust_array_error_bounds
|
||
field.
|
||
* tree-inline.c (remap_type_1): Formatting fix. If TYPE_MAX_VALUE of
|
||
ARRAY_TYPE's TYPE_DOMAIN is newly error_mark_node, replace it with
|
||
a dummy "omp dummy var" variable if id->adjust_array_error_bounds.
|
||
* omp-low.c (new_omp_context): Set cb.adjust_array_error_bounds.
|
||
|
||
2019-01-11 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/87305
|
||
* lra-assigns.c
|
||
(setup_live_pseudos_and_spill_after_risky_transforms): Add code
|
||
for little endian pseudos used as paradoxical subreg.
|
||
|
||
2019-01-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/88693
|
||
* tree-ssa-strlen.c (get_min_string_length): Don't set *full_string_p
|
||
for STRING_CSTs that don't contain any NUL characters in the first
|
||
TREE_STRING_LENGTH bytes.
|
||
|
||
2019-01-11 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 88777
|
||
PR 88614
|
||
* genattrtab.c (min_fn): Don't translate values.
|
||
(min_attr_value): Return INT_MAX when the value can't be calculated.
|
||
Return minimum among any values that can be calculated.
|
||
(max_attr_value): Adjust.
|
||
|
||
2019-01-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* Makefile.in (PLUGIN_HEADERS): Add $(INSN_ATTR_H).
|
||
|
||
2019-01-11 Steve Ellcey <sellcey@marvell.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
|
||
(aarch64_hard_regno_call_part_clobbered): Add insn argument.
|
||
(aarch64_return_call_with_max_clobbers): New function.
|
||
(TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New macro.
|
||
* config/avr/avr.c (avr_hard_regno_call_part_clobbered): Add insn
|
||
argument.
|
||
* config/i386/i386.c (ix86_hard_regno_call_part_clobbered): Ditto.
|
||
* config/mips/mips.c (mips_hard_regno_call_part_clobbered): Ditto.
|
||
* config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered): Ditto.
|
||
* config/s390/s390.c (s390_hard_regno_call_part_clobbered): Ditto.
|
||
* cselib.c (cselib_process_insn): Add argument to
|
||
targetm.hard_regno_call_part_clobbered call.
|
||
* ira-conflicts.c (ira_build_conflicts): Ditto.
|
||
* ira-costs.c (ira_tune_allocno_costs): Ditto.
|
||
* lra-constraints.c (inherit_reload_reg): Ditto.
|
||
* lra-int.h (struct lra_reg): Add call_insn field, remove call_p field.
|
||
* lra-lives.c (check_pseudos_live_through_calls): Add call_insn
|
||
argument. Call targetm.return_call_with_max_clobbers.
|
||
Add argument to targetm.hard_regno_call_part_clobbered call.
|
||
(calls_have_same_clobbers_p): New function.
|
||
(process_bb_lives): Add call_insn and last_call_insn variables.
|
||
Pass call_insn to check_pseudos_live_through_calls.
|
||
Modify if stmt to check targetm.return_call_with_max_clobbers.
|
||
Update setting of flush variable.
|
||
(lra_create_live_ranges_1): Set call_insn to NULL instead of call_p
|
||
to false.
|
||
* lra.c (initialize_lra_reg_info_element): Set call_insn to NULL.
|
||
* regcprop.c (copyprop_hardreg_forward_1): Add argument to
|
||
targetm.hard_regno_call_part_clobbered call.
|
||
* reginfo.c (choose_hard_reg_mode): Ditto.
|
||
* regrename.c (check_new_reg_p): Ditto.
|
||
* reload.c (find_equiv_reg): Ditto.
|
||
* reload1.c (emit_reload_insns): Ditto.
|
||
* sched-deps.c (deps_analyze_insn): Ditto.
|
||
* sel-sched.c (init_regs_for_mode): Ditto.
|
||
(mark_unavailable_hard_regs): Ditto.
|
||
* targhooks.c (default_dwarf_frame_reg_mode): Ditto.
|
||
* target.def (hard_regno_call_part_clobbered): Add insn argument.
|
||
(return_call_with_max_clobbers): New target function.
|
||
* doc/tm.texi: Regenerate.
|
||
* doc/tm.texi.in (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New hook.
|
||
* hooks.c (hook_bool_uint_mode_false): Change to
|
||
hook_bool_insn_uint_mode_false.
|
||
* hooks.h (hook_bool_uint_mode_false): Ditto.
|
||
|
||
2019-01-11 Steve Ellcey <sellcey@marvell.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
|
||
(aarch64_remove_extra_call_preserved_regs): New function.
|
||
(TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New macro.
|
||
* doc/tm.texi.in (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New hook.
|
||
* doc/tm.texi: Regenerate.
|
||
* final.c (get_call_reg_set_usage): Call new hook.
|
||
* target.def (remove_extra_call_preserved_regs): New hook.
|
||
* targhooks.c (default_remove_extra_call_preserved_regs): New function.
|
||
* targhooks.h (default_remove_extra_call_preserved_regs): New function.
|
||
|
||
2019-01-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/88714
|
||
* passes.c (finish_optimization_passes): Call print_combine_total_stats
|
||
inside of pass_combine_1 dump rather than pass_profile_1.
|
||
|
||
2019-01-11 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (PTX_CTA_NUM_BARRIERS, PTX_PER_CTA_BARRIER)
|
||
(PTX_NUM_PER_CTA_BARRIER, PTX_FIRST_PER_WORKER_BARRIER)
|
||
(PTX_NUM_PER_WORKER_BARRIERS): Define.
|
||
(nvptx_apply_dim_limits): Prevent vector_length 64 and
|
||
num_workers 16.
|
||
|
||
2019-01-11 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (PTX_CTA_SIZE): Move up.
|
||
|
||
2019-01-11 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* config/i386/i386.md (rex64suffix): Add L suffix for SI.
|
||
* config/i386/sse.md (cvtusi2<ssescalarmodesuffix>32<round_name>,
|
||
sse2_cvtsi2sd): Add {l}.
|
||
(sse2_cvtsi2sdq<round_name>): Make q conditional upon AT&T
|
||
syntax.
|
||
|
||
2019-01-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/88785
|
||
* config/i386/sse.md (float<floatunssuffix>v2div2sf2): Turn into
|
||
define_expand.
|
||
(*float<floatunssuffix>v2div2sf2): New define_insn.
|
||
(float<floatunssuffix>v2div2sf2_mask): Turn into define_expand.
|
||
(*float<floatunssuffix>v2div2sf2_mask): New define_insn.
|
||
(*float<floatunssuffix>v2div2sf2_mask_1): Replace
|
||
subrtxes (const_vector:V2SF [(const_int 0) (const_int 0)]) with
|
||
match_operands with "const0_operand" "C".
|
||
|
||
2019-01-10 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.c
|
||
(aarch64_init_builtins): Move aarch64_init_fcmla_laneq_builtins...
|
||
(aarch64_init_simd_builtins): ...Here
|
||
|
||
2019-01-10 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/87305
|
||
* lra-assigns.c
|
||
(setup_live_pseudos_and_spill_after_risky_transforms): Check
|
||
allocation for big endian pseudos used as paradoxical subregs and
|
||
spill them if it is wrong.
|
||
* lra-constraints.c (lra_constraints): Add a comment.
|
||
|
||
2019-01-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/88792
|
||
* tree-ssa-pre.c (get_representative_for): Do not return a
|
||
value-number here.
|
||
|
||
2019-01-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/84877
|
||
PR bootstrap/88450
|
||
* function.c (assign_stack_local_1): Revert the 2018-11-21 changes.
|
||
(assign_parm_setup_block): Do the argument slot realignment here
|
||
instead.
|
||
|
||
2019-01-10 Stefan Agner <stefan@agner.ch>
|
||
|
||
PR target/88648
|
||
* config/arm/arm.c (arm_option_override_internal): Force
|
||
opts->x_inline_asm_unified to true only if TARGET_THUMB2_P.
|
||
|
||
2019-01-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/88568
|
||
* attribs.c (handle_dll_attribute): Clear TREE_STATIC after setting
|
||
DECL_EXTERNAL.
|
||
|
||
2019-01-10 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/arm/arm-builtins.c
|
||
(enum arm_type_qualifiers): Add qualifier_lane_pair_index.
|
||
(MAC_LANE_PAIR_QUALIFIERS): New.
|
||
(arm_expand_builtin_args): Use it.
|
||
(arm_expand_builtin_1): Likewise.
|
||
* config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): New.
|
||
* config/arm/arm.c (neon_vcmla_lane_prepare_operands): New.
|
||
* config/arm/arm-c.c (arm_cpu_builtins): Add __ARM_FEATURE_COMPLEX.
|
||
* config/arm/arm_neon.h:
|
||
(vcadd_rot90_f16): New.
|
||
(vcaddq_rot90_f16): New.
|
||
(vcadd_rot270_f16): New.
|
||
(vcaddq_rot270_f16): New.
|
||
(vcmla_f16): New.
|
||
(vcmlaq_f16): New.
|
||
(vcmla_lane_f16): New.
|
||
(vcmla_laneq_f16): New.
|
||
(vcmlaq_lane_f16): New.
|
||
(vcmlaq_laneq_f16): New.
|
||
(vcmla_rot90_f16): New.
|
||
(vcmlaq_rot90_f16): New.
|
||
(vcmla_rot90_lane_f16): New.
|
||
(vcmla_rot90_laneq_f16): New.
|
||
(vcmlaq_rot90_lane_f16): New.
|
||
(vcmlaq_rot90_laneq_f16): New.
|
||
(vcmla_rot180_f16): New.
|
||
(vcmlaq_rot180_f16): New.
|
||
(vcmla_rot180_lane_f16): New.
|
||
(vcmla_rot180_laneq_f16): New.
|
||
(vcmlaq_rot180_lane_f16): New.
|
||
(vcmlaq_rot180_laneq_f16): New.
|
||
(vcmla_rot270_f16): New.
|
||
(vcmlaq_rot270_f16): New.
|
||
(vcmla_rot270_lane_f16): New.
|
||
(vcmla_rot270_laneq_f16): New.
|
||
(vcmlaq_rot270_lane_f16): New.
|
||
(vcmlaq_rot270_laneq_f16): New.
|
||
(vcadd_rot90_f32): New.
|
||
(vcaddq_rot90_f32): New.
|
||
(vcadd_rot270_f32): New.
|
||
(vcaddq_rot270_f32): New.
|
||
(vcmla_f32): New.
|
||
(vcmlaq_f32): New.
|
||
(vcmla_lane_f32): New.
|
||
(vcmla_laneq_f32): New.
|
||
(vcmlaq_lane_f32): New.
|
||
(vcmlaq_laneq_f32): New.
|
||
(vcmla_rot90_f32): New.
|
||
(vcmlaq_rot90_f32): New.
|
||
(vcmla_rot90_lane_f32): New.
|
||
(vcmla_rot90_laneq_f32): New.
|
||
(vcmlaq_rot90_lane_f32): New.
|
||
(vcmlaq_rot90_laneq_f32): New.
|
||
(vcmla_rot180_f32): New.
|
||
(vcmlaq_rot180_f32): New.
|
||
(vcmla_rot180_lane_f32): New.
|
||
(vcmla_rot180_laneq_f32): New.
|
||
(vcmlaq_rot180_lane_f32): New.
|
||
(vcmlaq_rot180_laneq_f32): New.
|
||
(vcmla_rot270_f32): New.
|
||
(vcmlaq_rot270_f32): New.
|
||
(vcmla_rot270_lane_f32): New.
|
||
(vcmla_rot270_laneq_f32): New.
|
||
(vcmlaq_rot270_lane_f32): New.
|
||
(vcmlaq_rot270_laneq_f32): New.
|
||
* config/arm/arm_neon_builtins.def (vcadd90, vcadd270, vcmla0, vcmla90,
|
||
vcmla180, vcmla270, vcmla_lane0, vcmla_lane90, vcmla_lane180,
|
||
vcmla_lane270, vcmla_laneq0, vcmla_laneq90, vcmla_laneq180,
|
||
vcmla_laneq270, vcmlaq_lane0, vcmlaq_lane90, vcmlaq_lane180,
|
||
vcmlaq_lane270): New.
|
||
* config/arm/neon.md (neon_vcmla_lane<rot><mode>,
|
||
neon_vcmla_laneq<rot><mode>, neon_vcmlaq_lane<rot><mode>): New.
|
||
* config/arm/arm.c (arm_arch8_3, arm_arch8_4): New.
|
||
* config/arm/arm.h (TARGET_COMPLEX, arm_arch8_3, arm_arch8_4): New.
|
||
(arm_option_reconfigure_globals): Use them.
|
||
* config/arm/iterators.md (VDF, VQ_HSF): New.
|
||
(VCADD, VCMLA): New.
|
||
(VF_constraint, rot, rotsplit1, rotsplit2): Add V4HF and V8HF.
|
||
* config/arm/neon.md (neon_vcadd<rot><mode>, neon_vcmla<rot><mode>):
|
||
New.
|
||
* config/arm/unspecs.md (UNSPEC_VCADD90, UNSPEC_VCADD270,
|
||
UNSPEC_VCMLA, UNSPEC_VCMLA90, UNSPEC_VCMLA180, UNSPEC_VCMLA270): New.
|
||
|
||
2019-01-10 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
|
||
Add qualifier_lane_pair_index.
|
||
(emit-rtl.h): Include.
|
||
(TYPES_QUADOP_LANE_PAIR): New.
|
||
(aarch64_simd_expand_args): Use it.
|
||
(aarch64_simd_expand_builtin): Likewise.
|
||
(AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_laneq_builtin_datum):
|
||
New.
|
||
(FCMLA_LANEQ_BUILTIN, AARCH64_SIMD_FCMLA_LANEQ_BUILTIN_BASE,
|
||
AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_lane_builtin_data,
|
||
aarch64_init_fcmla_laneq_builtins, aarch64_expand_fcmla_builtin): New.
|
||
(aarch64_init_builtins): Add aarch64_init_fcmla_laneq_builtins.
|
||
(aarch64_expand_buildin): Add AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V2SF,
|
||
AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V2SF,
|
||
AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V2SF,
|
||
AARCH64_SIMD_BUILTIN_FCMLA_LANEQ2700_V2SF,
|
||
AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V4HF,
|
||
AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V4HF,
|
||
AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V4HF,
|
||
AARCH64_SIMD_BUILTIN_FCMLA_LANEQ270_V4HF.
|
||
* config/aarch64/iterators.md (FCMLA_maybe_lane): New.
|
||
* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
|
||
Add __ARM_FEATURE_COMPLEX.
|
||
* config/aarch64/aarch64-simd-builtins.def (fcadd90, fcadd270, fcmla0,
|
||
fcmla90, fcmla180, fcmla270, fcmla_lane0, fcmla_lane90, fcmla_lane180,
|
||
fcmla_lane270, fcmla_laneq0, fcmla_laneq90, fcmla_laneq180,
|
||
fcmla_laneq270, fcmlaq_lane0, fcmlaq_lane90, fcmlaq_lane180,
|
||
fcmlaq_lane270): New.
|
||
* config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>,
|
||
aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>,
|
||
aarch64_fcadd<rot><mode>, aarch64_fcmla<rot><mode>): New.
|
||
* config/aarch64/arm_neon.h:
|
||
(vcadd_rot90_f16): New.
|
||
(vcaddq_rot90_f16): New.
|
||
(vcadd_rot270_f16): New.
|
||
(vcaddq_rot270_f16): New.
|
||
(vcmla_f16): New.
|
||
(vcmlaq_f16): New.
|
||
(vcmla_lane_f16): New.
|
||
(vcmla_laneq_f16): New.
|
||
(vcmlaq_lane_f16): New.
|
||
(vcmlaq_rot90_lane_f16): New.
|
||
(vcmla_rot90_laneq_f16): New.
|
||
(vcmla_rot90_lane_f16): New.
|
||
(vcmlaq_rot90_f16): New.
|
||
(vcmla_rot90_f16): New.
|
||
(vcmlaq_laneq_f16): New.
|
||
(vcmla_rot180_laneq_f16): New.
|
||
(vcmla_rot180_lane_f16): New.
|
||
(vcmlaq_rot180_f16): New.
|
||
(vcmla_rot180_f16): New.
|
||
(vcmlaq_rot90_laneq_f16): New.
|
||
(vcmlaq_rot270_laneq_f16): New.
|
||
(vcmlaq_rot270_lane_f16): New.
|
||
(vcmla_rot270_laneq_f16): New.
|
||
(vcmlaq_rot270_f16): New.
|
||
(vcmla_rot270_f16): New.
|
||
(vcmlaq_rot180_laneq_f16): New.
|
||
(vcmlaq_rot180_lane_f16): New.
|
||
(vcmla_rot270_lane_f16): New.
|
||
(vcadd_rot90_f32): New.
|
||
(vcaddq_rot90_f32): New.
|
||
(vcaddq_rot90_f64): New.
|
||
(vcadd_rot270_f32): New.
|
||
(vcaddq_rot270_f32): New.
|
||
(vcaddq_rot270_f64): New.
|
||
(vcmla_f32): New.
|
||
(vcmlaq_f32): New.
|
||
(vcmlaq_f64): New.
|
||
(vcmla_lane_f32): New.
|
||
(vcmla_laneq_f32): New.
|
||
(vcmlaq_lane_f32): New.
|
||
(vcmlaq_laneq_f32): New.
|
||
(vcmla_rot90_f32): New.
|
||
(vcmlaq_rot90_f32): New.
|
||
(vcmlaq_rot90_f64): New.
|
||
(vcmla_rot90_lane_f32): New.
|
||
(vcmla_rot90_laneq_f32): New.
|
||
(vcmlaq_rot90_lane_f32): New.
|
||
(vcmlaq_rot90_laneq_f32): New.
|
||
(vcmla_rot180_f32): New.
|
||
(vcmlaq_rot180_f32): New.
|
||
(vcmlaq_rot180_f64): New.
|
||
(vcmla_rot180_lane_f32): New.
|
||
(vcmla_rot180_laneq_f32): New.
|
||
(vcmlaq_rot180_lane_f32): New.
|
||
(vcmlaq_rot180_laneq_f32): New.
|
||
(vcmla_rot270_f32): New.
|
||
(vcmlaq_rot270_f32): New.
|
||
(vcmlaq_rot270_f64): New.
|
||
(vcmla_rot270_lane_f32): New.
|
||
(vcmla_rot270_laneq_f32): New.
|
||
(vcmlaq_rot270_lane_f32): New.
|
||
(vcmlaq_rot270_laneq_f32): New.
|
||
* config/aarch64/aarch64.h (TARGET_COMPLEX): New.
|
||
* config/aarch64/iterators.md (UNSPEC_FCADD90, UNSPEC_FCADD270,
|
||
UNSPEC_FCMLA, UNSPEC_FCMLA90, UNSPEC_FCMLA180, UNSPEC_FCMLA270): New.
|
||
(FCADD, FCMLA): New.
|
||
(rot): New.
|
||
* config/arm/types.md (neon_fcadd, neon_fcmla): New.
|
||
|
||
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR other/16615
|
||
|
||
* config/pa/pa.c: Change "can not" to "cannot".
|
||
* gimple-ssa-evrp-analyze.c: Likewise.
|
||
* ipa-icf.c: Likewise.
|
||
* ipa-polymorphic-call.c: Likewise.
|
||
* ipa-pure-const.c: Likewise.
|
||
* lra-constraints.c: Likewise.
|
||
* lra-remat.c: Likewise.
|
||
* reload1.c: Likewise.
|
||
* reorg.c: Likewise.
|
||
* tree-ssa-uninit.c: Likewise.
|
||
|
||
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR other/16615
|
||
|
||
* Makefile.in: Mechanically replace "can not" with "cannot".
|
||
* alias.c: Likewise.
|
||
* builtins.c: Likewise.
|
||
* calls.c: Likewise.
|
||
* cgraph.c: Likewise.
|
||
* cgraph.h: Likewise.
|
||
* cgraphclones.c: Likewise.
|
||
* cgraphunit.c: Likewise.
|
||
* combine-stack-adj.c: Likewise.
|
||
* combine.c: Likewise.
|
||
* common/config/i386/i386-common.c: Likewise.
|
||
* config/aarch64/aarch64.c: Likewise.
|
||
* config/alpha/sync.md: Likewise.
|
||
* config/arc/arc.c: Likewise.
|
||
* config/arc/predicates.md: Likewise.
|
||
* config/arm/arm-c.c: Likewise.
|
||
* config/arm/arm.c: Likewise.
|
||
* config/arm/arm.h: Likewise.
|
||
* config/arm/arm.md: Likewise.
|
||
* config/arm/cortex-r4f.md: Likewise.
|
||
* config/csky/csky.c: Likewise.
|
||
* config/csky/csky.h: Likewise.
|
||
* config/darwin-f.c: Likewise.
|
||
* config/epiphany/epiphany.md: Likewise.
|
||
* config/i386/i386.c: Likewise.
|
||
* config/i386/sol2.h: Likewise.
|
||
* config/m68k/m68k.c: Likewise.
|
||
* config/mcore/mcore.h: Likewise.
|
||
* config/microblaze/microblaze.md: Likewise.
|
||
* config/mips/20kc.md: Likewise.
|
||
* config/mips/sb1.md: Likewise.
|
||
* config/nds32/nds32.c: Likewise.
|
||
* config/nds32/predicates.md: Likewise.
|
||
* config/pa/pa.c: Likewise.
|
||
* config/rs6000/e300c2c3.md: Likewise.
|
||
* config/rs6000/rs6000.c: Likewise.
|
||
* config/s390/s390.h: Likewise.
|
||
* config/sh/sh.c: Likewise.
|
||
* config/sh/sh.md: Likewise.
|
||
* config/spu/vmx2spu.h: Likewise.
|
||
* cprop.c: Likewise.
|
||
* dbxout.c: Likewise.
|
||
* df-scan.c: Likewise.
|
||
* doc/cfg.texi: Likewise.
|
||
* doc/extend.texi: Likewise.
|
||
* doc/fragments.texi: Likewise.
|
||
* doc/gty.texi: Likewise.
|
||
* doc/invoke.texi: Likewise.
|
||
* doc/lto.texi: Likewise.
|
||
* doc/md.texi: Likewise.
|
||
* doc/objc.texi: Likewise.
|
||
* doc/rtl.texi: Likewise.
|
||
* doc/tm.texi: Likewise.
|
||
* dse.c: Likewise.
|
||
* emit-rtl.c: Likewise.
|
||
* emit-rtl.h: Likewise.
|
||
* except.c: Likewise.
|
||
* expmed.c: Likewise.
|
||
* expr.c: Likewise.
|
||
* fold-const.c: Likewise.
|
||
* genautomata.c: Likewise.
|
||
* gimple-fold.c: Likewise.
|
||
* hard-reg-set.h: Likewise.
|
||
* ifcvt.c: Likewise.
|
||
* ipa-comdats.c: Likewise.
|
||
* ipa-cp.c: Likewise.
|
||
* ipa-devirt.c: Likewise.
|
||
* ipa-fnsummary.c: Likewise.
|
||
* ipa-icf.c: Likewise.
|
||
* ipa-inline-transform.c: Likewise.
|
||
* ipa-inline.c: Likewise.
|
||
* ipa-polymorphic-call.c: Likewise.
|
||
* ipa-profile.c: Likewise.
|
||
* ipa-prop.c: Likewise.
|
||
* ipa-pure-const.c: Likewise.
|
||
* ipa-reference.c: Likewise.
|
||
* ipa-split.c: Likewise.
|
||
* ipa-visibility.c: Likewise.
|
||
* ipa.c: Likewise.
|
||
* ira-build.c: Likewise.
|
||
* ira-color.c: Likewise.
|
||
* ira-conflicts.c: Likewise.
|
||
* ira-costs.c: Likewise.
|
||
* ira-int.h: Likewise.
|
||
* ira-lives.c: Likewise.
|
||
* ira.c: Likewise.
|
||
* ira.h: Likewise.
|
||
* loop-invariant.c: Likewise.
|
||
* loop-unroll.c: Likewise.
|
||
* lower-subreg.c: Likewise.
|
||
* lra-assigns.c: Likewise.
|
||
* lra-constraints.c: Likewise.
|
||
* lra-eliminations.c: Likewise.
|
||
* lra-lives.c: Likewise.
|
||
* lra-remat.c: Likewise.
|
||
* lra-spills.c: Likewise.
|
||
* lra.c: Likewise.
|
||
* lto-cgraph.c: Likewise.
|
||
* lto-streamer-out.c: Likewise.
|
||
* postreload-gcse.c: Likewise.
|
||
* predict.c: Likewise.
|
||
* profile-count.h: Likewise.
|
||
* profile.c: Likewise.
|
||
* recog.c: Likewise.
|
||
* ree.c: Likewise.
|
||
* reload.c: Likewise.
|
||
* reload1.c: Likewise.
|
||
* reorg.c: Likewise.
|
||
* resource.c: Likewise.
|
||
* rtl.def: Likewise.
|
||
* rtl.h: Likewise.
|
||
* rtlanal.c: Likewise.
|
||
* sched-deps.c: Likewise.
|
||
* sched-ebb.c: Likewise.
|
||
* sched-rgn.c: Likewise.
|
||
* sel-sched-ir.c: Likewise.
|
||
* sel-sched.c: Likewise.
|
||
* shrink-wrap.c: Likewise.
|
||
* simplify-rtx.c: Likewise.
|
||
* symtab.c: Likewise.
|
||
* target.def: Likewise.
|
||
* toplev.c: Likewise.
|
||
* tree-call-cdce.c: Likewise.
|
||
* tree-cfg.c: Likewise.
|
||
* tree-complex.c: Likewise.
|
||
* tree-core.h: Likewise.
|
||
* tree-eh.c: Likewise.
|
||
* tree-inline.c: Likewise.
|
||
* tree-loop-distribution.c: Likewise.
|
||
* tree-nrv.c: Likewise.
|
||
* tree-profile.c: Likewise.
|
||
* tree-sra.c: Likewise.
|
||
* tree-ssa-alias.c: Likewise.
|
||
* tree-ssa-dce.c: Likewise.
|
||
* tree-ssa-dom.c: Likewise.
|
||
* tree-ssa-forwprop.c: Likewise.
|
||
* tree-ssa-loop-im.c: Likewise.
|
||
* tree-ssa-loop-ivcanon.c: Likewise.
|
||
* tree-ssa-loop-ivopts.c: Likewise.
|
||
* tree-ssa-loop-niter.c: Likewise.
|
||
* tree-ssa-phionlycprop.c: Likewise.
|
||
* tree-ssa-phiopt.c: Likewise.
|
||
* tree-ssa-propagate.c: Likewise.
|
||
* tree-ssa-threadedge.c: Likewise.
|
||
* tree-ssa-threadupdate.c: Likewise.
|
||
* tree-ssa-uninit.c: Likewise.
|
||
* tree-ssanames.c: Likewise.
|
||
* tree-streamer-out.c: Likewise.
|
||
* tree.c: Likewise.
|
||
* tree.h: Likewise.
|
||
* vr-values.c: Likewise.
|
||
|
||
2019-01-09 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386-protos.h (ix86_expand_xorsign): New prototype.
|
||
(ix86_split_xorsign): Ditto.
|
||
* config/i386/i386.c (ix86_expand_xorsign): New function.
|
||
(ix86_split_xorsign): Ditto.
|
||
* config/i386/i386.md (UNSPEC_XORSIGN): New unspec.
|
||
(xorsign<mode>3): New expander.
|
||
(xorsign<mode>3_1): New insn_and_split pattern.
|
||
* config/i386/sse.md (xorsign<mode>3): New expander.
|
||
|
||
2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/sparc/sparc.md (*tablejump_sp32): Merge into...
|
||
(*tablejump_sp64): Likewise.
|
||
(*tablejump<P:mode>): ...this.
|
||
(*call_address_sp32): Merge into...
|
||
(*call_address_sp64): Likewise.
|
||
(*call_address<P:mode>): ...this.
|
||
(*call_symbolic_sp32): Merge into...
|
||
(*call_symbolic_sp64): Likewise.
|
||
(*call_symbolic<P:mode>): ...this.
|
||
(call_value): Remove constraint and add predicate.
|
||
(*call_value_address_sp32): Merge into...
|
||
(*call_value_address_sp64): Likewise.
|
||
(*call_value_address<P:mode>): ...this.
|
||
(*call_value_symbolic_sp32): Merge into...
|
||
(*call_value_symbolic_sp64): Likewise.
|
||
(*call_value_symbolic<P:mode>): ...this.
|
||
(*sibcall_symbolic_sp32): Merge into...
|
||
(*sibcall_symbolic_sp64): Likewise.
|
||
(*sibcall_symbolic<P:mode>): ...this.
|
||
(sibcall_value): Remove constraint and add predicate.
|
||
(*sibcall_value_symbolic_sp32): Merge into...
|
||
(*sibcall_value_symbolic_sp64): Likewise.
|
||
(*sibcall_value_symbolic<P:mode>): ...this.
|
||
(window_save): Minor tweak.
|
||
(*branch_sp32): Merge into...
|
||
(*branch_sp64): Likewise.
|
||
(*branch<P:mode>): ...this.
|
||
|
||
2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
James Clarke <jrtc27@jrtc27.com>
|
||
|
||
PR target/84010
|
||
* config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode
|
||
consistently in TLS address generation and adjust code to the renaming
|
||
of patterns. Mark calls to __tls_get_addr as const.
|
||
* config/sparc/sparc.md (tgd_hi22): Turn into...
|
||
(tgd_hi22<P:mode>): ...this and use Pmode throughout.
|
||
(tgd_lo10): Turn into...
|
||
(tgd_lo10<P:mode>): ...this and use Pmode throughout.
|
||
(tgd_add32): Merge into...
|
||
(tgd_add64): Likewise.
|
||
(tgd_add<P:mode>): ...this and use Pmode throughout.
|
||
(tldm_hi22): Turn into...
|
||
(tldm_hi22<P:mode>): ...this and use Pmode throughout.
|
||
(tldm_lo10): Turn into...
|
||
(tldm_lo10<P:mode>): ...this and use Pmode throughout.
|
||
(tldm_add32): Merge into...
|
||
(tldm_add64): Likewise.
|
||
(tldm_add<P:mode>): ...this and use Pmode throughout.
|
||
(tldm_call32): Merge into...
|
||
(tldm_call64): Likewise.
|
||
(tldm_call<P:mode>): ...this and use Pmode throughout.
|
||
(tldo_hix22): Turn into...
|
||
(tldo_hix22<P:mode>): ...this and use Pmode throughout.
|
||
(tldo_lox10): Turn into...
|
||
(tldo_lox10<P:mode>): ...this and use Pmode throughout.
|
||
(tldo_add32): Merge into...
|
||
(tldo_add64): Likewise.
|
||
(tldo_add<P:mode>): ...this and use Pmode throughout.
|
||
(tie_hi22): Turn into...
|
||
(tie_hi22<P:mode>): ...this and use Pmode throughout.
|
||
(tie_lo10): Turn into...
|
||
(tie_lo10<P:mode>): ...this and use Pmode throughout.
|
||
(tie_ld64): Use DImode throughout.
|
||
(tie_add32): Merge into...
|
||
(tie_add64): Likewise.
|
||
(tie_add<P:mode>): ...this and use Pmode throughout.
|
||
(tle_hix22_sp32): Merge into...
|
||
(tle_hix22_sp64): Likewise.
|
||
(tle_hix22<P:mode>): ...this and use Pmode throughout.
|
||
(tle_lox22_sp32): Merge into...
|
||
(tle_lox22_sp64): Likewise.
|
||
(tle_lox22<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_ldub_sp32): Merge into...
|
||
(*tldo_ldub_sp64): Likewise.
|
||
(*tldo_ldub<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_ldub1_sp32): Merge into...
|
||
(*tldo_ldub1_sp64): Likewise.
|
||
(*tldo_ldub1<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_ldub2_sp32): Merge into...
|
||
(*tldo_ldub2_sp64): Likewise.
|
||
(*tldo_ldub2<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_ldsb1_sp32): Merge into...
|
||
(*tldo_ldsb1_sp64): Likewise.
|
||
(*tldo_ldsb1<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_ldsb2_sp32): Merge into...
|
||
(*tldo_ldsb2_sp64): Likewise.
|
||
(*tldo_ldsb2<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_ldub3_sp64): Use DImode throughout.
|
||
(*tldo_ldsb3_sp64): Likewise.
|
||
(*tldo_lduh_sp32): Merge into...
|
||
(*tldo_lduh_sp64): Likewise.
|
||
(*tldo_lduh<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_lduh1_sp32): Merge into...
|
||
(*tldo_lduh1_sp64): Likewise.
|
||
(*tldo_lduh1<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_ldsh1_sp32): Merge into...
|
||
(*tldo_ldsh1_sp64): Likewise.
|
||
(*tldo_ldsh1<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_lduh2_sp64): Use DImode throughout.
|
||
(*tldo_ldsh2_sp64): Likewise.
|
||
(*tldo_lduw_sp32): Merge into...
|
||
(*tldo_lduw_sp64): Likewise.
|
||
(*tldo_lduw<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_lduw1_sp64): Use DImode throughout.
|
||
(*tldo_ldsw1_sp64): Likewise.
|
||
(*tldo_ldx_sp64): Likewise.
|
||
(*tldo_stb_sp32): Merge into...
|
||
(*tldo_stb_sp64): Likewise.
|
||
(*tldo_stb<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_sth_sp32): Merge into...
|
||
(*tldo_sth_sp64): Likewise.
|
||
(*tldo_sth<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_stw_sp32): Merge into...
|
||
(*tldo_stw_sp64): Likewise.
|
||
(*tldo_stw<P:mode>): ...this and use Pmode throughout.
|
||
(*tldo_stx_sp64): Use DImode throughout.
|
||
|
||
2018-01-09 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_override_options): Add case to
|
||
check configure option to set BTI and Return Address Signing.
|
||
* configure.ac: Add --enable-standard-branch-protection and
|
||
--disable-standard-branch-protection.
|
||
* configure: Regenerated.
|
||
* doc/install.texi: Document the same.
|
||
|
||
2018-01-09 Sudakshina Das <sudi.das@arm.com>
|
||
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
* config.gcc (aarch64*-*-*): Add aarch64-bti-insert.o.
|
||
* config/aarch64/aarch64.h: Update comment for TRAMPOLINE_SIZE.
|
||
* config/aarch64/aarch64.c (aarch64_asm_trampoline_template): Update
|
||
if bti is enabled.
|
||
* config/aarch64/aarch64-bti-insert.c: New file.
|
||
* config/aarch64/aarch64-passes.def (INSERT_PASS_BEFORE): Insert bti
|
||
pass.
|
||
* config/aarch64/aarch64-protos.h (make_pass_insert_bti): Declare the
|
||
new bti pass.
|
||
* config/aarch64/aarch64.md (unspecv): Add UNSPECV_BTI_NOARG,
|
||
UNSPECV_BTI_C, UNSPECV_BTI_J and UNSPECV_BTI_JC.
|
||
(bti_noarg, bti_j, bti_c, bti_jc): New define_insns.
|
||
* config/aarch64/t-aarch64: Add rule for aarch64-bti-insert.o.
|
||
|
||
2018-01-09 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_bti_enabled): Declare.
|
||
* config/aarch64/aarch64.c (aarch64_handle_no_branch_protection):
|
||
Disable bti for -mbranch-protection=none.
|
||
(aarch64_handle_standard_branch_protection): Enable bti for
|
||
-mbranch-protection=standard.
|
||
(aarch64_handle_bti_protection): Enable bti for "bti" in the string to
|
||
-mbranch-protection.
|
||
(aarch64_bti_enabled): Check if bti is enabled.
|
||
* config/aarch64/aarch64.opt: Declare target variable.
|
||
* doc/invoke.texi: Add bti to the -mbranch-protection documentation.
|
||
|
||
2018-01-09 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_expand_prologue): Use new
|
||
epilogue/prologue scratch registers EP0_REGNUM and EP1_REGNUM.
|
||
(aarch64_expand_epilogue): Likewise.
|
||
(aarch64_output_mi_thunk): Likewise
|
||
* config/aarch64/aarch64.h (REG_CLASS_CONTENTS): Change
|
||
TAILCALL_ADDR_REGS to x16 and x17.
|
||
* config/aarch64/aarch64.md: Define EP0_REGNUM and EP1_REGNUM.
|
||
|
||
2018-01-09 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* config/aarch64/aarch64-option-extensions.def: Define
|
||
AARCH64_OPT_EXTENSION for memtag, rng, sb, ssbs and predres.
|
||
* config/aarch64/aarch64.h (AARCH64_FL_RNG): New.
|
||
(AARCH64_FL_MEMTAG, ARCH64_FL_SB, AARCH64_FL_SSBS): New.
|
||
(AARCH64_FL_PREDRES): New.
|
||
(AARCH64_FL_FOR_ARCH8_5): Add AARCH64_FL_SB, AARCH64_FL_SSBS and
|
||
AARCH64_FL_PREDRES by default.
|
||
* doc/invoke.texi: Document rng, memtag, sb, ssbs and predres.
|
||
|
||
2018-01-09 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* config/aarch64/aarch64-arches.def: Define AARCH64_ARCH for
|
||
ARMv8.5-A.
|
||
* config/aarch64/aarch64.h (AARCH64_FL_V8_5): New.
|
||
(AARCH64_FL_FOR_ARCH8_5, AARCH64_ISA_V8_5): New.
|
||
* doc/invoke.texi: Document ARMv8.5-A.
|
||
|
||
2019-01-09 Alejandro Martinez <alejandro.martinezvicente@arm.com>
|
||
|
||
* config/aarch64/aarch64-sve.md (copysign<mode>3): New define_expand.
|
||
(xorsign<mode>3): Likewise.
|
||
|
||
2019-01-09 Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/88758
|
||
* tree.c (initializer_each_zero_or_onep) <case VECTOR_CST>: Use
|
||
vector_cst_elt instead of VECTOR_CST_ENCODED_ELT.
|
||
|
||
PR rtl-optimization/88331
|
||
* function.c (assign_stack_local_1): Don't set dynamic_align_addr if
|
||
not currently_expanding_to_rtl.
|
||
|
||
2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/invoke.texi (-Os): Remove trailing spaces.
|
||
(-finline-functions): Remove reference to -O2.
|
||
|
||
2019-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/79593
|
||
* config/i386/i386.md (reg = mem; mem = reg): New define_peephole2.
|
||
|
||
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Delegitimize
|
||
UNSPEC_FUSION_GPR to its argument. Formatting fixes.
|
||
|
||
2019-01-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR bootstrap/88721
|
||
* config/sparc/sparc.c (function_arg_slotno): Set *PPREGNO & *PPADDING
|
||
to -1 on entry.
|
||
|
||
PR debug/88723
|
||
* config/sparc/sparc.c (sparc_delegitimize_address): Deal with naked
|
||
UNSPECs and UNSPEC_MOVE_GOTDATA specifically.
|
||
|
||
2019-01-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/88717
|
||
* config/i386/i386.c (ix86_avx_u128_mode_exit): Call
|
||
ix86_avx_u128_mode_entry.
|
||
|
||
2019-01-08 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/88753
|
||
* tree-switch-conversion.c (switch_conversion::build_one_array):
|
||
Come up with local variable constructor. Convert first to
|
||
type of constructor values.
|
||
|
||
2019-01-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/86554
|
||
* tree-ssa-sccvn.c (eliminate_dom_walker, rpo_elim,
|
||
rpo_avail): Move earlier.
|
||
(visit_nary_op): When value-numbering to expressions
|
||
with different overflow behavior make sure there's an
|
||
available expression on the path.
|
||
|
||
2019-01-08 Sam Tebbs <sam.tebbs@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (BRANCH_PROTECT_STR_MAX,
|
||
aarch64_parse_branch_protection,
|
||
struct aarch64_branch_protect_type,
|
||
aarch64_handle_no_branch_protection,
|
||
aarch64_handle_standard_branch_protection,
|
||
aarch64_validate_mbranch_protection,
|
||
aarch64_handle_pac_ret_protection,
|
||
aarch64_handle_attr_branch_protection,
|
||
accepted_branch_protection_string,
|
||
aarch64_pac_ret_subtypes,
|
||
aarch64_branch_protect_types,
|
||
aarch64_handle_pac_ret_leaf): Define.
|
||
(aarch64_override_options_after_change_1, aarch64_override_options):
|
||
Add check for accepted_branch_protection_string.
|
||
(aarch64_option_save): Save accepted_branch_protection_string.
|
||
(aarch64_option_restore): Save accepted_branch_protection_string.
|
||
* config/aarch64/aarch64.c (aarch64_attributes): Add branch-protection.
|
||
* config/aarch64/aarch64.opt: Add mbranch-protection. Deprecate
|
||
msign-return-address.
|
||
* doc/invoke.texi: Add mbranch-protection.
|
||
|
||
2019-01-08 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/88614
|
||
* genattrtab.c (max_attr_value, min_attr_value, or_attr_value):
|
||
Delete "unknownp" parameter. Adjust callers. Handle
|
||
CONST_INT, PLUS, MINUS, and MULT.
|
||
(attr_value_aligned): Renamed from or_attr_value.
|
||
(min_attr_value): Return INT_MIN for unhandled rtl case..
|
||
(min_fn): ..and translate to INT_MAX here.
|
||
(write_length_unit_log): Modify to cope without "unknown".
|
||
(write_attr_value): Handle IF_THEN_ELSE.
|
||
|
||
2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* tree-vect-stmts.c (vectorizable_store): Don't use the dataref_offset
|
||
optimization for masked stores.
|
||
|
||
2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/88567
|
||
* tree-vect-loop.c (get_initial_defs_for_reduction): Pass the
|
||
output vector directly to duplicate_and_interleave instead of
|
||
going through a temporary. Postpone insertion of ctor_seq to
|
||
the end of the loop.
|
||
|
||
2019-01-07 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/86891
|
||
* config/aarch64/aarch64.c (aarch64_expand_subvti): New parameter
|
||
unsigned_p. Handle signed and unsigned overflow correction as
|
||
required.
|
||
* config/aarch64/aarch64-protos.h (aarch64_expand_subvti): Update
|
||
prototype.
|
||
* config/aarch64/aarch64.md (addv<mode>4): Use aarch64_plus_operand
|
||
for operand 2.
|
||
(add<mode>3_compareV_imm): Make this callable for expanding.
|
||
(subv<GPI:mode>4): Use register_operand for operand 1. Use
|
||
aarch64_plus_operand for operand 2.
|
||
(subv<GPI:mode>_insn): New insn pattern.
|
||
(subv<GPI:mode>_imm): Likewise.
|
||
(negv<GPI:mode>3): New expand pattern.
|
||
(negv<GPI:mode>_insn): New insn pattern.
|
||
(negv<GPI:mode>_cmp_only): Likewise.
|
||
(cmpv<GPI:mode>_insn): Likewise.
|
||
(subvti4): Use register_operand for operand 1. Update call to
|
||
aarch64_expand_subvti.
|
||
(usubvti4): Likewise.
|
||
(negvti3): New expand pattern.
|
||
(negdi_carryout): New insn pattern.
|
||
(negvdi_carryinV): New insn pattern.
|
||
(sub<mode3>_compare1_imm): Delete named insn pattern, make anonymous
|
||
version the named version.
|
||
(peepholes to convert to sub<mode3>_compare1_imm): Adjust order of
|
||
operands.
|
||
(usub<GPI:mode>3_carryinC, usub<GPI:mode>3_carryinC_z1): New insn
|
||
patterns.
|
||
(usub<GPI:mode>3_carryinC_z2, usub<GPI:mode>3_carryinC): New insn
|
||
patterns.
|
||
(sub<mode>3_carryinCV, sub<mode>3_carryinCV_z1_z2): Delete.
|
||
(sub<mode>3_carryinCV_z1, sub<mode>3_carryinCV_z2): Delete.
|
||
(sub<mode>3_carryinCV): Delete.
|
||
(sub<GPI:mode>3_carryinV): New expand pattern.
|
||
sub<mode>3_carryinV, sub<mode>3_carryinV_z2): New insn patterns.
|
||
|
||
2019-01-07 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-uncprop.c (ssa_equip_hash_traits): Remove in favor
|
||
of tree_operand_hash.
|
||
|
||
2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/88598
|
||
* tree.h (single_nonzero_element): Declare.
|
||
* tree.c (single_nonzero_element): New function.
|
||
* match.pd: Fold certain reductions of X & CST to X[I] & CST[I]
|
||
if I is the only nonzero element of CST.
|
||
|
||
2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/88598
|
||
* tree.h (initializer_each_zero_or_onep): Declare.
|
||
* tree.c (initializer_each_zero_or_onep): New function.
|
||
(signed_or_unsigned_type_for): Handle float types too.
|
||
(unsigned_type_for, signed_type_for): Update comments accordingly.
|
||
* match.pd: Fold x * { 0 or 1, 0 or 1, ...} to
|
||
x & { 0 or -1, 0 or -1, ... }.
|
||
|
||
2019-01-07 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/install.texi: Replace references to x86_64-unknown-linux-gnu
|
||
with x86_64-pc-linux-gnu.
|
||
|
||
2019-01-07 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/85486
|
||
* config/nvptx/nvptx.c (has_vector_partitionable_routine_calls_p): New
|
||
function.
|
||
(nvptx_goacc_validate_dims): Force vl32 if calling vector-partitionable
|
||
routines.
|
||
|
||
2019-01-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/sse.md (vec_extract<mode><ssehalfvecmodelower>): Use
|
||
V_256_512 iterator instead of V_512 and TARGET_AVX instead of
|
||
TARGET_AVX512F as condition.
|
||
|
||
PR debug/88723
|
||
* dwarf2out.c (const_ok_for_output_1): Remove redundant call to
|
||
const_not_ok_for_debug_p target hook.
|
||
(mem_loc_descriptor) <case UNSPEC>: Only call const_ok_for_output_1
|
||
on UNSPEC and subexpressions thereof if all subexpressions of the
|
||
UNSPEC are CONSTANT_P.
|
||
|
||
PR tree-optimization/88676
|
||
* tree-ssa-phiopt.c (two_value_replacement): New function.
|
||
(tree_ssa_phiopt_worker): Call it.
|
||
|
||
PR sanitizer/88619
|
||
* cfgexpand.c (expand_stack_vars): Only align prev_offset to
|
||
ASAN_MIN_RED_ZONE_SIZE, not to maximum of that and alignb.
|
||
|
||
PR c++/85052
|
||
* tree-vect-generic.c: Include insn-config.h and recog.h.
|
||
(expand_vector_piecewise): Add defaulted ret_type argument,
|
||
if non-NULL, use that in preference to type for the result type.
|
||
(expand_vector_parallel): Formatting fix.
|
||
(do_vec_conversion, do_vec_narrowing_conversion,
|
||
expand_vector_conversion): New functions.
|
||
(expand_vector_operations_1): Call expand_vector_conversion
|
||
for VEC_CONVERT ifn calls.
|
||
* internal-fn.def (VEC_CONVERT): New internal function.
|
||
* internal-fn.c (expand_VEC_CONVERT): New function.
|
||
* fold-const-call.c (fold_const_vec_convert): New function.
|
||
(fold_const_call): Use it for CFN_VEC_CONVERT.
|
||
* doc/extend.texi (__builtin_convertvector): Document.
|
||
|
||
2019-01-07 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx-protos.h (nvptx_output_red_partition): Declare.
|
||
* config/nvptx/nvptx.c (vector_red_size, vector_red_align,
|
||
vector_red_partition, vector_red_sym): New global variables.
|
||
(nvptx_option_override): Initialize vector_red_sym.
|
||
(nvptx_declare_function_name): Restore red_partition register.
|
||
(nvptx_file_end): Emit code to declare the vector reduction variables.
|
||
(nvptx_output_red_partition): New function.
|
||
(nvptx_expand_shared_addr): Add vector argument. Use it to handle
|
||
large vector reductions.
|
||
(enum nvptx_builtins): Add NVPTX_BUILTIN_VECTOR_ADDR.
|
||
(nvptx_init_builtins): Add VECTOR_ADDR.
|
||
(nvptx_expand_builtin): Update call to nvptx_expand_shared_addr.
|
||
Handle nvptx_expand_shared_addr.
|
||
(nvptx_get_shared_red_addr): Add vector argument and handle large
|
||
vectors.
|
||
(nvptx_goacc_reduction_setup): Add offload_attrs argument and handle
|
||
large vectors.
|
||
(nvptx_goacc_reduction_init): Likewise.
|
||
(nvptx_goacc_reduction_fini): Likewise.
|
||
(nvptx_goacc_reduction_teardown): Likewise.
|
||
(nvptx_goacc_reduction): Update calls to nvptx_goacc_reduction_{setup,
|
||
init,fini,teardown}.
|
||
(nvptx_init_axis_predicate): Initialize vector_red_partition.
|
||
(nvptx_set_current_function): Init vector_red_partition.
|
||
* config/nvptx/nvptx.md (UNSPECV_RED_PART): New unspecv.
|
||
(nvptx_red_partition): New insn.
|
||
* config/nvptx/nvptx.h (struct machine_function): Add red_partition.
|
||
|
||
2019-01-07 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/85381
|
||
* config/nvptx/nvptx.c (nvptx_process_pars): Don't emit barriers for
|
||
empty loops.
|
||
|
||
2019-01-07 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (oacc_bcast_partition): Declare.
|
||
(nvptx_option_override): Init oacc_bcast_partition.
|
||
(nvptx_init_oacc_workers): New function.
|
||
(nvptx_declare_function_name): Call nvptx_init_oacc_workers.
|
||
(nvptx_needs_shared_bcast): New function.
|
||
(nvptx_find_par): Generalize to enable vectors to use shared-memory
|
||
to propagate state.
|
||
(nvptx_shared_propagate): Initialize vector bcast partition and
|
||
synchronization state.
|
||
(nvptx_single): Generalize to enable vectors to use shared-memory
|
||
to propagate state.
|
||
(nvptx_process_pars): Likewise.
|
||
(nvptx_set_current_function): Initialize oacc_broadcast_partition.
|
||
* config/nvptx/nvptx.h (struct machine_function): Add
|
||
bcast_partition and sync_bar members.
|
||
|
||
2019-01-07 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_welformed_vector_length_p)
|
||
(nvptx_apply_dim_limits): New function.
|
||
(nvptx_goacc_validate_dims_1): Allow PTX_MAX_VECTOR_LENGTH larger than
|
||
PTX_WARP_SIZE.
|
||
|
||
2019-01-07 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Move warnings to
|
||
as late as possible.
|
||
|
||
2019-01-07 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (PTX_VECTOR_LENGTH): Remove.
|
||
(PTX_DEFAULT_VECTOR_LENGTH, PTX_MAX_VECTOR_LENGTH): Define.
|
||
(nvptx_goacc_validate_dims_1, nvptx_dim_limit)
|
||
(nvptx_goacc_reduction_fini): Use PTX_DEFAULT_VECTOR_LENGTH,
|
||
PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH.
|
||
|
||
2019-01-07 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add asserts.
|
||
|
||
2019-01-07 Tom de Vries <tdevries@suse.de>
|
||
|
||
* omp-offload.c (oacc_get_min_dim): New function.
|
||
* omp-offload.h (oacc_get_min_dim): Declare.
|
||
|
||
2018-12-26 Mateusz B <mateuszb@poczta.onet.pl>
|
||
|
||
PR target/88521
|
||
* config/i386/i386.c (function_value_ms_64): Return small sturct in
|
||
AX_REG and float/double in FIRST_SSE_REG for 4 or 8 byte modes.
|
||
|
||
2019-01-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR tree-opt/86020
|
||
Revert:
|
||
2017-05-22 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-inline.c (edge_badness): Use inlined_time instead of
|
||
inline_summaries->get.
|
||
|
||
2019-01-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* opts.c (enable_fdo_optimizations): Enable
|
||
version-loops-for-strides, loop-interchange, unrol-and-jam
|
||
and tree-loop-distribution.
|
||
* invoke.texi: Document newly enabled options.
|
||
|
||
2019-01-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* doc/invoke.texi (max-inline-insns-small): New parameters.
|
||
* ipa-inline.c (want_early_inline_function_p): simplify.
|
||
(want_inline_small_function_p): Fix pasto from previous patch;
|
||
use max-inline-insns-small bound.
|
||
* params.def (max-inline-insns-small): New param.
|
||
* ipa-fnsummary.c (analyze_function_body): Initialize time/size
|
||
variables correctly.
|
||
|
||
2019-01-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* doc/invoke.texi: Document max-inline-insns-size,
|
||
uninlined-function-insns, uninlined-function-time,
|
||
uninlined-thunk-insns and uninlined-thunk-time.
|
||
* params.def: Add max-inline-insns-size,
|
||
uninlined-function-insns, uninlined-function-time,
|
||
uninlined-thunk-insns and uninlined-thunk-time.
|
||
* ipa-fnsummary.c (compute_fn_summary, analyze_function_body): Use
|
||
new parameters.
|
||
* ipa-inline.c (can_inline_edge_by_limits_p,
|
||
want_inline_small_function_p): Use new parameters.
|
||
|
||
2019-01-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-fnsummary.c (analyze_function_body): Fix accounting of time.
|
||
|
||
2019-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/82564
|
||
PR target/88620
|
||
* expr.c (expand_assignment): For calls returning VLA structures
|
||
if to_rtx is not a MEM, force it into a stack temporary.
|
||
|
||
PR debug/88635
|
||
* dwarf2out.c (const_ok_for_output_1): Reject MINUS that contains
|
||
SYMBOL_REF, CODE_LABEL or UNSPEC in subexpressions of second argument.
|
||
Reject PLUS that contains SYMBOL_REF, CODE_LABEL or UNSPEC in
|
||
subexpressions of both operands.
|
||
(mem_loc_descriptor): Handle UNSPEC if target hook acks it and all the
|
||
subrtxes are CONSTANT_P.
|
||
* config/i386/i386.c (ix86_const_not_ok_for_debug_p): Revert
|
||
2018-11-09 changes.
|
||
|
||
2019-01-04 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* params.def (hot-bb-count-ws-permille): Set to 990.
|
||
|
||
2019-01-04 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/88546
|
||
* attribs.c (decls_mismatched_attributes): Avoid warning for attribute
|
||
leaf.
|
||
|
||
2019-01-04 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/88363
|
||
* doc/extend.texi (attribute alloc_align, alloc_size): Update.
|
||
|
||
2019-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gdbinit.in: Turn off pagination for the skip commands, restore
|
||
it to previous state afterwards.
|
||
|
||
2019-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/88594
|
||
* config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead
|
||
of GET_MODE (opN) as modes of the libcall arguments.
|
||
|
||
2019-01-04 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* config/i386/sse.md
|
||
(<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>,
|
||
<avx512>_cmp<mode>3<mask_scalar_merge_name>,
|
||
<avx512>_ucmp<mode>3<mask_scalar_merge_name>,
|
||
<avx512>_ucmp<mode>3<mask_scalar_merge_name>,
|
||
avx512f_vmcmp<mode>3<round_saeonly_name>,
|
||
avx512f_vmcmp<mode>3_mask<round_saeonly_name>,
|
||
avx512f_maskcmp<mode>3,
|
||
<avx512>_cvt<ssemodesuffix>2mask<mode>,
|
||
<avx512>_cvt<ssemodesuffix>2mask<mode>,
|
||
*<avx512>_cvtmask2<ssemodesuffix><mode>,
|
||
*<avx512>_cvtmask2<ssemodesuffix><mode>,
|
||
<avx512>_eq<mode>3<mask_scalar_merge_name>_1,
|
||
<avx512>_eq<mode>3<mask_scalar_merge_name>_1,
|
||
<avx512>_gt<mode>3<mask_scalar_merge_name>,
|
||
<avx512>_gt<mode>3<mask_scalar_merge_name>,
|
||
<avx512>_testm<mode>3<mask_scalar_merge_name>,
|
||
<avx512>_testnm<mode>3<mask_scalar_merge_name>,
|
||
*<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext,
|
||
*<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask,
|
||
*<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext,
|
||
*<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask,
|
||
avx512cd_maskb_vec_dup<mode>,
|
||
avx512cd_maskw_vec_dup<mode>,
|
||
avx512dq_fpclass<mode><mask_scalar_merge_name>,
|
||
avx512dq_vmfpclass<mode>,
|
||
avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): Use =k
|
||
instead of =Yk.
|
||
|
||
2019-01-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/88659
|
||
* calls.c (maybe_warn_nonstring_arg): Avoid assuming maxlen is set.
|
||
|
||
2019-01-03 Aaron Sawdey <acsawdey@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000-string.c (expand_block_move): Don't use
|
||
unaligned vsx and avoid lxvd2x/stxvd2x.
|
||
(gen_lvx_v4si_move): New function.
|
||
|
||
2019-01-03 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (MACH_VECTOR_LENGTH, MACH_MAX_WORKERS): Define.
|
||
(init_axis_dim, nvptx_mach_max_workers, nvptx_mach_vector_length): New
|
||
function.
|
||
* config/nvptx/nvptx.h (struct machine_function): Add axis_dims.
|
||
|
||
2019-01-03 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (struct offload_attrs): New.
|
||
(populate_offload_attrs): New function. Factor mask extraction out of
|
||
nvptx_reorg. Add extraction of dimensions.
|
||
(nvptx_reorg): Use populate_offload_attrs.
|
||
|
||
2019-01-03 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out
|
||
cases for oacc_min_dims_p and routine_p. Add asserts for
|
||
oacc_default_dims_p and offload_region_p.
|
||
|
||
2019-01-03 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function,
|
||
factored out of ...
|
||
(nvptx_goacc_validate_dims): ... here.
|
||
|
||
2019-01-03 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR tree-optimization/85574
|
||
* tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
|
||
structure.
|
||
(struct ssa_equip_hash_traits): Declare.
|
||
(val_ssa_equiv): Use custom hash traits using operand_equal_p.
|
||
|
||
2019-01-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/88644
|
||
* dwarf2out.c (modified_type_die): If type is equal to sizetype,
|
||
change it to qualified_type.
|
||
|
||
2019-01-03 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
|
||
(ipa_merge_profiles): ... here; do not ICE on thunks and aliases.
|
||
|
||
2019-01-02 Martin Sebor <msebor@redhat.com>
|
||
Jeff Law <law@redhat.com>
|
||
|
||
* gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
|
||
(get_range_strlen_tree): Update appropriately.
|
||
(get_range_strlen)
|
||
* gimple-fold.h (get_range_strlen): Drop unused last argument.
|
||
|
||
* gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
|
||
rather than set_range_info.
|
||
* tree-ssa-strlen.c (set_strlen_range): Extracted from
|
||
maybe_set_strlen_range. Handle potentially boundary crossing
|
||
cases more conservatively.
|
||
(maybe_set_strlen_range): Parts refactored into set_strlen_range.
|
||
Call set_strlen_range.
|
||
* tree-ssa-strlen.h (set_strlen_range): Add prototype.
|
||
|
||
PR middle-end/88663
|
||
* gimple-fold.c (get_range_strlen): Update prototype to no longer
|
||
need the flexp argument.
|
||
(get_range_strlen_tree): Drop flexp argument. Drop flexp argument
|
||
from calls to get_range_strlen. Update comments. Just update
|
||
VAL for an unterminated const char array and let the reset of the
|
||
code handle it normally. No longer try to set *flexp. Adjust
|
||
return value.
|
||
(get_range_strlen): Update for the new get_range_strlen API.
|
||
(get_maxval_strlen): Similarly.
|
||
(gimple_fold_builtin_strlen): Handle update meaning of return value
|
||
from get_range_strlen.
|
||
* gimple-ssa-sprintf.c (get_string_length): Update for the new
|
||
get_range_strlen API.
|
||
|
||
2019-01-02 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/88130
|
||
* varpool.c (varpool_node::ctor_useable_for_folding_p): Also return
|
||
false at WPA time when body was removed.
|
||
|
||
2019-01-02 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/88650
|
||
* predict.c (set_even_probabilities): Calculate probability
|
||
remainer only when really used.
|
||
|
||
2019-01-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/88651
|
||
* tree-data-ref.c (analyze_subscript_affine_affine): Use
|
||
widest_ints when mangling max_stmt_execution results.
|
||
|
||
2019-01-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/88621
|
||
* tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid
|
||
bitfields when canoncalizing.
|
||
|
||
2019-01-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/87545
|
||
* config/i386/x86-tune-costs.h (intel_cost): Adjust
|
||
cost of cheap SSE instruction.
|
||
|
||
2019-01-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/85574
|
||
* ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
|
||
* ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
|
||
function.
|
||
(sem_item_optimizer::do_congruence_step_f): Sort the congruence
|
||
set after UIDs before splitting them.
|
||
|
||
2019-01-01 Martin Sebor <msebor@redhat.com>
|
||
Jeff Law <law@redhat.com>
|
||
|
||
* gimple-fold.c (get_range_strlen_tree): Record if the computed
|
||
length is optimistic. If it is, then arrange to compute the
|
||
conservative length as well.
|
||
|
||
* gimple-fold.h (get_range_strlen): Update prototype.
|
||
* builtins.c (check_access): Update call to get_range_strlen to use
|
||
c_strlen_data pointer. Change various variable accesses to instead
|
||
pull data from the c_strlen_data structure.
|
||
(check_strncat_sizes, expand_builtin_strncat): Likewise.
|
||
* calls.c (maybe_warn_nonstring_arg): Likewise.
|
||
* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise. Reset
|
||
minimum length if maximum lengh is unknown.
|
||
* gimple-ssa-sprintf.c (get_string_length): Likewise. Drop code
|
||
that used c_strlen, it's no longer needed. Restructure slightly.
|
||
(format_string): Set unlikely range appropriately.
|
||
* gimple-fold.c (get_range_strlen): Update comments. Fix minor
|
||
formatting issues.
|
||
(get_range_strlen): Accept c_strlen_data pointer for external
|
||
call sites as well. Pass through to call to internal get_range_strlen.
|
||
Adjust minlen, maxlen and maxbound as needed.
|
||
(get_maxval_strlen): Update comments.
|
||
(gimple_fold_builtin_strlen): Update call to get_range_strlen
|
||
to use c_strlen_data pointer. Change variable accesses to instead
|
||
use c_strlen_data data members.
|
||
|
||
* gimple-fold.c (get_range_strlen): Update prototype.
|
||
(get_range_strlen_tree): Update prototype. Drop minlen/maxlen
|
||
local variables. Use pdata to return information to caller.
|
||
Update calls to get_range_strlen. Update pdata->maxbound.
|
||
(get_range_strlen -- static version): Similarly.
|
||
(get_range_strlen -- extern version): Update for internal
|
||
get_range_strlen API change. Convert to external data format.
|
||
(get_maxval_strlen): Similarly.
|
||
|
||
2019-01-01 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* coverage.c (get_coverage_counts): Use current_function_decl.
|
||
* profile.c (read_thunk_profile): New function.
|
||
(branch_prob): Add THUNK parameter.
|
||
* tree-profile.c (tree_profiling): Handle thunks.
|
||
* value-prof.c (init_node_map): Handle thunks.
|
||
* value-prof.h (branch_prob): Upate prototype.
|
||
(read_thunk_profile): Declare.
|
||
|
||
2019-01-01 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.
|
||
|
||
Copyright (C) 2019 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.
|