11078 lines
382 KiB
Plaintext
11078 lines
382 KiB
Plaintext
2017-12-01 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backport from mainline
|
||
2017-11-28 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR 81288/target
|
||
* config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle
|
||
TARGET_ISEL && !TARGET_MFCRF differently. Simplify code.
|
||
|
||
2017-11-30 Jim Wilson <jimw@sifive.com>
|
||
|
||
Backport from mainline
|
||
2017-11-30 Jim Wilson <jimw@sifive.com>
|
||
* doc/invoke.texi (RISC-V Options): Delete nonexistent -mmemcpy and
|
||
-mno-memcpy options. For -mplt, -mfdiv, -mdiv, -msave-restore, and
|
||
-mstrict-align, add info on default value. Delete redundant lines for
|
||
-mabi. Add missing -mexplicit-relocs docs.
|
||
|
||
Backport from mainline
|
||
2017-11-01 Palmer Dabbelt <palmer@dabbelt.com>
|
||
* doc/invoke.texi (RISC-V Options): Use "@minus{}2 GB", not "-2 GB".
|
||
* doc/invoke.texi (RISC-V Options): Explicitly name the medlow
|
||
and medany code models, and describe what they do.
|
||
|
||
2017-10-27 Palmer Dabbelt <palmer@dabbelt.com>
|
||
PR target/82717
|
||
* doc/invoke.texi (RISC-V) <-mabi>: Correct and improve.
|
||
|
||
2017-11-29 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/82808
|
||
* tree.c (expr_type_first_operand_type_p): New function.
|
||
* tree.h (expr_type_first_operand_type_p): Declare it.
|
||
* ipa-cp.c (ipa_get_jf_pass_through_result): Use it.
|
||
|
||
2017-11-29 Daniel Cederman <cederman@gaisler.com>
|
||
|
||
Backport from mainline
|
||
* config/sparc/sparc.c (sparc_do_work_around_errata): Treat the
|
||
movsi_pic_gotdata_op instruction as a load for the UT699 errata
|
||
workaround.
|
||
|
||
2017-11-29 Martin Aberg <maberg@gaisler.com>
|
||
|
||
Backport from mainline
|
||
* config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length
|
||
to prevent b2bst errata sequence.
|
||
(sqrtdf2_fix): Likewise.
|
||
|
||
2017-11-29 Daniel Cederman <cederman@gaisler.com>
|
||
|
||
Backport from mainline
|
||
* config/sparc/sparc.c (fpop_reg_depend_p): New function.
|
||
(div_sqrt_insn_p): New function.
|
||
(sparc_do_work_around_errata): Insert NOP instructions to
|
||
prevent sequences that could trigger the TN-0013 errata for
|
||
certain LEON3 processors.
|
||
(pass_work_around_errata::gate): Also test sparc_fix_lost_divsqrt.
|
||
(sparc_option_override): Set sparc_fix_lost_divsqrt appropriately.
|
||
* config/sparc/sparc.md (fix_lost_divsqrt): New attribute.
|
||
(in_branch_delay): Prevent div and sqrt in delay slot if
|
||
fix_lost_divsqrt.
|
||
* config/sparc/sparc.opt (sparc_fix_lost_divsqrt): New variable.
|
||
|
||
2017-11-29 Daniel Cederman <cederman@gaisler.com>
|
||
|
||
Backport from mainline
|
||
* config/sparc/sparc.c (atomic_insn_p): New function.
|
||
(sparc_do_work_around_errata): Insert NOP instructions to
|
||
prevent sequences that could trigger the TN-0010 errata for
|
||
UT700.
|
||
* config/sparc/sync.md (atomic_compare_and_swap_leon3_1): Make
|
||
instruction referable in atomic_insns_p.
|
||
|
||
2017-11-29 Daniel Cederman <cederman@gaisler.com>
|
||
|
||
Backport from mainline
|
||
* config/sparc/sync.md (swapsi): 16-byte align if sparc_fix_gr712rc.
|
||
(atomic_compare_and_swap_leon3_1): Likewise.
|
||
(ldstub): Likewise.
|
||
|
||
2017-11-29 Daniel Cederman <cederman@gaisler.com>
|
||
|
||
Backport from mainline
|
||
* config/sparc/sparc.c (fpop_insn_p): New function.
|
||
(sparc_do_work_around_errata): Insert NOP instructions to
|
||
prevent sequences that could trigger the TN-0012 errata for
|
||
GR712RC.
|
||
(pass_work_around_errata::gate): Also test sparc_fix_gr712rc.
|
||
* config/sparc/sparc.md (fix_gr712rc): New attribute.
|
||
(in_branch_annul_delay): Prevent floating-point instructions
|
||
in delay slot of annulled integer branch.
|
||
|
||
2017-11-28 Jim Wilson <jimw@sifive.com>
|
||
|
||
Backport from mainline
|
||
2017-11-04 Andrew Waterman <andrew@sifive.com>
|
||
|
||
* config/riscv/riscv.c (riscv_option_override): Conditionally set
|
||
TARGET_STRICT_ALIGN based upon -mtune argument.
|
||
|
||
Backport from mainline
|
||
2017-05-04 Andrew Waterman <andrew@sifive.com>
|
||
|
||
* config/riscv/riscv.opt (mstrict-align): New option.
|
||
* config/riscv/riscv.h (STRICT_ALIGNMENT): Use it. Update comment.
|
||
(SLOW_UNALIGNED_ACCESS): Define.
|
||
(riscv_slow_unaligned_access): Declare.
|
||
* config/riscv/riscv.c (riscv_tune_info): Add slow_unaligned_access
|
||
field.
|
||
(riscv_slow_unaligned_access): New variable.
|
||
(rocket_tune_info): Set slow_unaligned_access to true.
|
||
(optimize_size_tune_info): Set slow_unaligned_access to false.
|
||
(riscv_cpu_info_table): Add entry for optimize_size_tune_info.
|
||
(riscv_valid_lo_sum_p): Use TARGET_STRICT_ALIGN.
|
||
(riscv_option_override): Set riscv_slow_unaligned_access.
|
||
* doc/invoke.texi: Add -mstrict-align to RISC-V.
|
||
|
||
Backport from mainline
|
||
2017-11-07 Michael Clark <michaeljclark@mac.com>
|
||
|
||
* config/riscv/linux.h (MUSL_ABI_SUFFIX): New define.
|
||
(MUSL_DYNAMIC_LINKER): Likewise.
|
||
|
||
2017-11-27 Jim Wilson <jimw@sifive.com>
|
||
|
||
Backport from mainline
|
||
2017-10-25 Palmer Dabbelt <palmer@dabbelt.com>
|
||
|
||
* config/riscv/riscv.md (ZERO_EXTEND_LOAD): Define.
|
||
* config/riscv/pic.md (local_pic_load): Rename to local_pic_load_s,
|
||
mark as a sign-extending load.
|
||
(local_pic_load_u): Define.
|
||
|
||
Backport from mainline
|
||
2017-11-03 Kito Cheng <kito.cheng@gmail.com>
|
||
|
||
* config/riscv/riscv.c (riscv_legitimize_move): Handle
|
||
non-legitimate address.
|
||
|
||
2017-11-24 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backport from mainline
|
||
2017-11-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/82621
|
||
* combine.c (try_combine): Do not split PARALLELs of two SETs if the
|
||
dest of one of those SETs is unused.
|
||
|
||
2017-11-23 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
Backport from mainline
|
||
2017-11-23 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/83111
|
||
* config/sh/sh.md (udivsi3, divsi3, sibcall_value_pcrel,
|
||
sibcall_value_pcrel_fdpic): Use local variable instead of
|
||
operands[3].
|
||
(calli_tbr_rel): Add missing operand 2.
|
||
(call_valuei_tbr_rel): Add missing operand 3.
|
||
|
||
2017-11-22 Richard Biener <rguenther@suse.de>
|
||
|
||
Revert
|
||
2017-11-21 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-11-21 Martin Liska <mliska@suse.cz>
|
||
|
||
PR rtl-optimization/82044
|
||
PR tree-optimization/82042
|
||
* dse.c (check_mem_read_rtx): Check for overflow.
|
||
|
||
2017-11-21 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-10-27 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/82457
|
||
* doc/invoke.texi: Document that one needs a non-strict ISO mode
|
||
for fork-like functions to be properly instrumented.
|
||
|
||
2017-11-21 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-11-21 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
* config/rs6000/ppc-asm.h (f50, vs50): Fix values.
|
||
|
||
2017-11-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
Backport from mainline
|
||
2017-11-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* config/arm/arm.c (output_return_instruction): Add comments to
|
||
indicate requirement for cmse_nonsecure_entry return to account
|
||
for the size of clearing instruction output here.
|
||
(thumb_exit): Likewise.
|
||
* config/arm/thumb2.md (thumb2_cmse_entry_return): Fix length for
|
||
return in hardfloat mode.
|
||
|
||
2017-11-21 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-11-21 Martin Liska <mliska@suse.cz>
|
||
|
||
PR rtl-optimization/82044
|
||
PR tree-optimization/82042
|
||
* dse.c (check_mem_read_rtx): Check for overflow.
|
||
|
||
2017-11-21 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-11-08 Martin Liska <mliska@suse.cz>
|
||
|
||
* gimplify.c (expand_FALLTHROUGH_r): Simplify usage
|
||
of gimple_call_internal_p.
|
||
|
||
2017-11-21 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-11-08 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/82792
|
||
* gimplify.c (expand_FALLTHROUGH_r): Skip IFN_ASAN_MARK.
|
||
|
||
2017-11-21 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-10-31 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/82633
|
||
* doc/gcov.texi: Document -fkeep-{static,inline}-functions and
|
||
their interaction with GCOV infrastructure.
|
||
|
||
2017-11-21 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-10-19 Martin Liska <mliska@suse.cz>
|
||
|
||
PR driver/81829
|
||
* file-find.c (remove_prefix): Remove.
|
||
* file-find.h (remove_prefix): Likewise.
|
||
* gcc-ar.c: Remove smartness of lookup.
|
||
|
||
2017-11-21 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-10-18 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/82545
|
||
* asan.c (asan_expand_poison_ifn): Do not put gimple stmt
|
||
on an abnormal edge.
|
||
|
||
2017-11-21 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-10-11 Martin Liska <mliska@suse.cz>
|
||
|
||
* print-rtl.c (print_insn): Move declaration of idbuf
|
||
to same scope as name.
|
||
|
||
2017-11-21 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
Backport from mainline
|
||
2017-11-17 Vineet Gupta <vgupta@synopsys.com>
|
||
|
||
* config/arc/linux.h: GLIBC_DYNAMIC_LINKER update per glibc
|
||
upstreaming review comments.
|
||
|
||
2017-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
Backport from mainline
|
||
2017-11-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since
|
||
Solaris 11. Update comment.
|
||
* configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12
|
||
renaming.
|
||
* config/sol2.h (STARTFILE_SPEC): Likewise.
|
||
* configure: Regenerate.
|
||
|
||
2017-11-20 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backport from mainline
|
||
2017-09-20 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/77687
|
||
* config/rs6000/rs6000.md (stack_restore_tie): Store to a scratch
|
||
address instead of to r1 and r11.
|
||
|
||
2017-11-17 Vineet Gupta <vgupta@synopsys.com>
|
||
|
||
* config.gcc: Remove uclibc from arc target spec.
|
||
|
||
2017-11-16 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (x86_print_call_or_nop): Emit 5 byte nop
|
||
explicitly as a stream of bytes.
|
||
|
||
2017-11-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/82985
|
||
Backport from mainline
|
||
2017-08-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/81790
|
||
* tree-ssa-sccvn.c (vn_lookup_simplify_result): Handle both
|
||
CONSTRUCTORs from simplifying and VN.
|
||
|
||
2017-11-15 Pierre-Marie de Rodat <derodat@adacore.com>
|
||
|
||
Backport from mainline
|
||
2017-09-25 Pierre-Marie de Rodat <derodat@adacore.com>
|
||
|
||
PR debug/82155
|
||
* dwarf2out.c (dwarf2out_early_global_decl): Call dwarf2out_decl
|
||
on the FUNCTION_DECL function context if it has a DIE that is a
|
||
declaration.
|
||
|
||
2017-11-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
Backport from mainline
|
||
2017-10-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler
|
||
supports -xbrace_comment option.
|
||
* configure: Regenerate.
|
||
* config.in: Regenerate.
|
||
* config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define.
|
||
(ASM_CPU_SPEC): Use it.
|
||
|
||
2017-11-09 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backport from mainline
|
||
2017-11-01 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/64682
|
||
PR rtl-optimization/69567
|
||
PR rtl-optimization/69737
|
||
PR rtl-optimization/82683
|
||
* combine.c (distribute_notes) <REG_DEAD>: If the new I2 sets the same
|
||
register mentioned in the note, drop the note, unless it came from I3,
|
||
in which case it should go to I3 again.
|
||
|
||
2017-11-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
Backport from mainline
|
||
2017-10-31 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/81803
|
||
* lra-constraints.c (curr_insn_transform): Also reload the whole
|
||
register for a strict subreg no wider than a word if this is for
|
||
a WORD_REGISTER_OPERATIONS target.
|
||
|
||
2017-11-03 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR middle-end/60580
|
||
* config/aarch64/aarch64.c (aarch64_frame_pointer_required)
|
||
Check special value of flag_omit_frame_pointer.
|
||
(aarch64_can_eliminate): Likewise.
|
||
(aarch64_override_options_after_change_1): Simplify handling of
|
||
-fomit-frame-pointer and -fomit-leaf-frame-pointer.
|
||
|
||
2017-11-01 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR c++/81702
|
||
* gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert.
|
||
|
||
2017-10-31 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/82772
|
||
* config/alpha/sync.md (fetchop_constr) <and>: Change to "rINM".
|
||
|
||
2017-10-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from mainline
|
||
2017-10-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/82159
|
||
* expr.c (store_field): Don't optimize away bitsize == 0 store
|
||
from CALL_EXPR with addressable return type.
|
||
|
||
2017-09-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/81715
|
||
* tree-inline.c (expand_call_inline): Emit clobber stmts for
|
||
VAR_DECLs to which addressable non-volatile parameters are mapped
|
||
and for id->retvar after the return value assignment, though
|
||
for -fsanitize=kernel-address only. Clear id->retval and id->retbnd
|
||
after inlining.
|
||
|
||
2017-09-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/82234
|
||
* doc/extend.texi: Add @findex entry for __builtin_shuffle.
|
||
|
||
2017-09-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/82192
|
||
* combine.c (make_extraction): Don't look through non-paradoxical
|
||
SUBREGs or TRUNCATE if pos + len is or might be bigger than
|
||
inner's mode.
|
||
|
||
2017-10-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/82703
|
||
* config/i386/i386-protos.h (maybe_get_pool_constant): Removed.
|
||
* config/i386/i386.c (maybe_get_pool_constant): Removed.
|
||
(ix86_split_to_parts): Use avoid_constant_pool_reference instead of
|
||
maybe_get_pool_constant.
|
||
* config/i386/predicates.md (zero_extended_scalar_load_operand):
|
||
Likewise.
|
||
|
||
2017-10-24 Qing Zhao <qing.zhao@oracle.com>
|
||
Wilco Dijkstra <wilco.dijkstra@arm.com>
|
||
|
||
* builtins.c (expand_builtin_update_setjmp_buf): Add a
|
||
converstion to Pmode from the buf_addr.
|
||
|
||
2017-10-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/82603
|
||
* tree-if-conv.c (predicate_mem_writes): Make sure to only
|
||
remove false predicated stores.
|
||
|
||
2017-10-20 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2017-10-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/82436
|
||
* tree-vect-slp.c (vect_supported_load_permutation_p): More
|
||
conservatively choose the vectorization factor when checking
|
||
whether we can perform the required load permutation.
|
||
(vect_transform_slp_perm_load): Assert when we may not fail.
|
||
|
||
2017-10-19 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/82445
|
||
* config/arm/arm.c (align_ok_ldrd_strd): New function.
|
||
(mem_ok_for_ldrd_strd): New parameter align. Extract the alignment of
|
||
the mem into it.
|
||
(gen_operands_ldrd_strd): Validate the alignment of the accesses.
|
||
|
||
2017-10-18 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/82602
|
||
* ira.c (rtx_moveable_p): Return false for volatile asm.
|
||
|
||
2017-10-18 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR middle-end/82556
|
||
* lra-constraints.c (curr_insn_transform): Use non-input operand
|
||
instead of output one for matched reload.
|
||
|
||
2017-10-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/82549
|
||
* fold-const.c (optimize_bit_field_compare, fold_truth_andor_1):
|
||
Formatting fixes. Instead of calling make_bit_field_ref with negative
|
||
bitpos return 0.
|
||
|
||
2017-10-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/82274
|
||
* internal-fn.c (expand_mul_overflow): If both operands have
|
||
the same highpart of -1 or 0 and the topmost bit of lowpart
|
||
is different, overflow is if res <= 0 rather than res < 0.
|
||
|
||
PR target/82524
|
||
* config/i386/i386.md (addqi_ext_1, andqi_ext_1,
|
||
*andqi_ext_1_cc, *<code>qi_ext_1, *xorqi_ext_1_cc): Change
|
||
=Q constraints to +Q and into insn condition add check
|
||
that operands[0] and operands[1] are equal.
|
||
(*addqi_ext_2, *andqi_ext_2, *<code>qi_ext_2): Change
|
||
=Q constraints to +Q and into insn condition add check
|
||
that operands[0] is equal to either operands[1] or operands[2].
|
||
|
||
2017-10-10 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
Backported from mainline r253602
|
||
2017-10-10 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config.gcc: (armv7*-*-freebsd*): New target.
|
||
(armv6*-*-freebsd*): Remove obsolete TARGET_FREEBSD_ARMv6 define.
|
||
|
||
2017-10-06 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
Backport from mainline r253242.
|
||
2017-09-27 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
PR target/71727
|
||
* config/aarch64/aarch64.c
|
||
(aarch64_builtin_support_vector_misalignment): Always return false
|
||
when misalignment is unknown.
|
||
|
||
2017-10-04 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/82406 - C++ error with noexcept function type
|
||
PR c++/70029 - ICE with ref-qualifier and -flto
|
||
* langhooks.h (struct lang_hooks_for_types): Add
|
||
copy_lang_qualifiers.
|
||
* attribs.c (build_type_attribute_qual_variant): Use it.
|
||
* langhooks-def.h (LANG_HOOKS_COPY_LANG_QUALIFIERS): Default to
|
||
NULL.
|
||
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
|
||
* tree.c (verify_type): Re-enable TYPE_CANONICAL main variant check.
|
||
|
||
2017-10-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-09-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR tree-optimization/82337
|
||
* gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
|
||
phi definition if the PHI result appears in an abnormal PHI.
|
||
(find_basis_for_base_expr): Don't record a basis if the LHS of the
|
||
basis appears in an abnormal PHI.
|
||
|
||
2017-09-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386.c (ix86_split_idivmod): Use mode instead of
|
||
always SImode for DIV and MOD in REG_EQUAL notes.
|
||
|
||
Backported from mainline
|
||
2017-09-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/82159
|
||
* gimplify.c (gimplify_modify_expr): Don't optimize away zero sized
|
||
lhs from calls if the lhs has addressable type.
|
||
|
||
2017-09-29 Krister Walfridsson <krister.walfridsson@gmail.com>
|
||
|
||
Backport from mainline
|
||
2017-06-29 Maya Rashish <coypu@sdf.org>
|
||
|
||
PR target/77480
|
||
* config/netbsd.h (NETBSD_LIB_SPEC): Add -lc when creating shared
|
||
objects.
|
||
|
||
2017-09-29 Krister Walfridsson <krister.walfridsson@gmail.com>
|
||
|
||
Backport from mainline
|
||
2017-09-26 Krister Walfridsson <krister.walfridsson@gmail.com>
|
||
|
||
PR target/39570
|
||
* gcc/config/netbsd-protos.h: New file.
|
||
* gcc/config/netbsd.c: New file.
|
||
* gcc/config/netbsd.h (SUBTARGET_INIT_BUILTINS): Define.
|
||
* gcc/config/t-netbsd: New file.
|
||
* gcc/config.gcc (tm_p_file): Add netbsd-protos.h.
|
||
(tmake_file) Add t-netbsd.
|
||
(extra_objs) Add netbsd.o.
|
||
|
||
2017-09-28 Krister Walfridsson <krister.walfridsson@gmail.com>
|
||
|
||
Backport from mainline
|
||
2017-05-14 Krister Walfridsson <krister.walfridsson@gmail.com>
|
||
|
||
PR target/80600
|
||
* config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.
|
||
|
||
2017-09-27 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
Backport from trunk r249639.
|
||
2017-06-26 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
* doc/sourcebuild.texi (ARM-specific attributes): Document new
|
||
arm_neon_ok_no_float_abi effective target.
|
||
|
||
2017-09-26 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2017-09-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/82244
|
||
* tree-vrp.c (remove_range_assertions): Do not propagate
|
||
a constant to abnormals but replace the assert with a copy.
|
||
|
||
2017-09-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/82276
|
||
PR tree-optimization/82244
|
||
* tree-vrp.c (build_assert_expr_for): Set
|
||
SSA_NAME_OCCURS_IN_ABNORMAL_PHI if the variable we assert on
|
||
has it set.
|
||
(remove_range_assertions): Revert earlier change.
|
||
|
||
2017-09-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/82264
|
||
* tree-ssa-sccvn.c (vn_phi_eq): Use safe_dyn_cast to check
|
||
for GIMPLE_CONDs.
|
||
(vn_phi_lookup): Likewise.
|
||
(vn_phi_insert): Likewise.
|
||
* is-a.h (safe_dyn_cast): New.
|
||
|
||
2017-09-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/82285
|
||
* tree-vect-patterns.c (vect_recog_bool_pattern): Also handle
|
||
enumeral types.
|
||
|
||
2017-09-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/82291
|
||
* tree-if-conv.c (predicate_mem_writes): Make sure to
|
||
remove writes in blocks predicated with false.
|
||
|
||
2017-09-21 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/81996
|
||
* gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use
|
||
stack_pointer_rtx for count 0. Update comments. Break up
|
||
large rtl expression.
|
||
|
||
2017-09-21 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR target/71951
|
||
* config/aarch64/aarch64.h (LIBGCC2_UNWIND_ATTRIBUTE): Define.
|
||
|
||
2017-09-19 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (fold_builtin_cpu): Add M_AMDFAM17H
|
||
to processor_model and "amdfam17h" to arch_names_table.
|
||
* doc/extend.texi (__builtin_cpu_is): Document amdfam17h CPU name.
|
||
|
||
2017-09-19 Martin Liska <mliska@suse.cz>
|
||
|
||
PR c++/81355
|
||
* config/i386/i386.c (sorted_attr_string): Skip empty strings.
|
||
|
||
2017-09-19 Martin Liska <mliska@suse.cz>
|
||
|
||
Revert backport:
|
||
2017-08-10 Martin Liska <mliska@suse.cz>
|
||
|
||
PR c++/81355
|
||
* c-attribs.c (handle_target_attribute):
|
||
Report warning for an empty string argument of target attribute.
|
||
|
||
2017-09-18 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2017-09-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/82084
|
||
* fold-const.h (can_native_encode_string_p): Declare.
|
||
* fold-const.c (can_native_encode_string_p): Factor out from ...
|
||
(native_encode_string): ... here.
|
||
* tree-vect-stmts.c (vectorizable_store): Call it to avoid
|
||
vectorizing stores from constants we later cannot handle.
|
||
|
||
2017-09-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/82108
|
||
* tree-vect-stmts.c (vectorizable_load): Fix pointer adjustment
|
||
for gap in the non-permutation SLP case.
|
||
|
||
2017-09-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from mainline
|
||
2017-09-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/81325
|
||
* cfgbuild.c (find_bb_boundaries): Ignore debug insns in decisions
|
||
if and where to split a bb, except for splitting before debug insn
|
||
sequences followed by non-label real insn. Delete debug insns
|
||
in between basic blocks.
|
||
|
||
2017-09-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/82112
|
||
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For
|
||
ALTIVEC_BUILTIN_VEC_LD if arg1 has array type call default_conversion
|
||
on it early, rather than manual conversion late. For
|
||
ALTIVEC_BUILTIN_VEC_ST if arg2 has array type call default_conversion
|
||
instead of performing manual conversion.
|
||
|
||
2017-09-15 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-09-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
|
||
Add proper printf format.
|
||
|
||
2017-09-15 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-08-30 Martin Liska <mliska@suse.cz>
|
||
|
||
PR inline-asm/82001
|
||
* ipa-icf-gimple.c (func_checker::compare_tree_list_operand):
|
||
Rename to ...
|
||
(func_checker::compare_asm_inputs_outputs): ... this function.
|
||
(func_checker::compare_gimple_asm): Use the function to compare
|
||
also ASM constrains.
|
||
* ipa-icf-gimple.h: Rename the function.
|
||
|
||
2017-09-15 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-08-29 Martin Liska <mliska@suse.cz>
|
||
|
||
PR other/39851
|
||
* gcc.c (driver_handle_option): Add new argument.
|
||
* opts-common.c (handle_option): Pass
|
||
target_option_override_hook.
|
||
* opts-global.c (lang_handle_option): Add new option.
|
||
(set_default_handlers): Add new argument.
|
||
(decode_options): Likewise.
|
||
* opts.c (target_handle_option): Likewise.
|
||
(common_handle_option): Call target_option_override_hook.
|
||
* opts.h (struct cl_option_handler_func): Add hook for
|
||
target option override.
|
||
(struct cl_option_handlers): Likewise.
|
||
(set_default_handlers): Add new argument.
|
||
(decode_options): Likewise.
|
||
(common_handle_option): Likewise.
|
||
(target_handle_option): Likewise.
|
||
* toplev.c (toplev::main): Pass targetm.target_option.override
|
||
hook.
|
||
|
||
2017-09-15 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-08-10 Martin Liska <mliska@suse.cz>
|
||
|
||
PR c++/81355
|
||
* c-attribs.c (handle_target_attribute):
|
||
Report warning for an empty string argument of target attribute.
|
||
|
||
2017-09-15 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-08-08 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-opt/81696
|
||
* ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider
|
||
LABEL_DECLs that can be from a different function.
|
||
|
||
2017-09-15 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-06-28 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/81128
|
||
* ipa-visibility.c (non_local_p): Handle visibility.
|
||
|
||
2017-09-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/81833
|
||
* config/rs6000/altivec.md (altivec_vsum2sws): Convert from a
|
||
define_insn to a define_expand.
|
||
(altivec_vsum2sws_direct): New define_insn.
|
||
(altivec_vsumsws): Convert from a define_insn to a define_expand.
|
||
|
||
2017-09-11 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
Backport from mainline
|
||
PR target/82181
|
||
* config/xtensa/xtensa.c (xtensa_mem_offset): Check that both
|
||
words of DImode object are reachable by xtensa_uimm8x4 access.
|
||
|
||
2017-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-05-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/80695
|
||
* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
|
||
Account for direct move costs for vec_construct of integer
|
||
vectors.
|
||
|
||
Backport from mainline
|
||
2017-07-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/80695
|
||
* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
|
||
Reduce cost estimate for direct moves.
|
||
|
||
2017-09-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/81988
|
||
* config/sparc/sparc.md (mulsi3): Rename into *mulsi3_sp32.
|
||
(*mulsi3_sp64): New instruction.
|
||
(mulsi3): New expander.
|
||
|
||
2017-09-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from mainline
|
||
2017-09-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/81768
|
||
* omp-low.c (lower_omp_for): Recompute tree invariant if
|
||
gimple_omp_for_initial/final is ADDR_EXPR.
|
||
|
||
PR middle-end/81768
|
||
* omp-expand.c (expand_omp_simd): Force second operands of COND_EXPR
|
||
into gimple val before gimplification fo the COND_EXPR.
|
||
|
||
2017-09-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* lra-remat.c (reg_overlap_for_remat_p): Fix a pasto.
|
||
|
||
2017-09-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/81923
|
||
* asan.c (create_odr_indicator): Strip name encoding from assembler
|
||
name before appending it after __odr_asan_.
|
||
|
||
2017-08-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/81687
|
||
* omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL
|
||
LABEL_DECLs.
|
||
* tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL
|
||
or DECL_NONLOCAL labels.
|
||
(move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL
|
||
or DECL_NONLOCAL labels here.
|
||
|
||
2017-08-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/81621
|
||
* bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish
|
||
after setting changeable df flags.
|
||
|
||
PR driver/81650
|
||
* calls.c (alloc_max_size): Use HOST_WIDE_INT_UC (10??)
|
||
instead of 10??LU, perform unit multiplication in wide_int,
|
||
don't change alloc_object_size_limit if the limit is larger
|
||
than SSIZE_MAX.
|
||
|
||
PR middle-end/81052
|
||
* omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp.
|
||
(pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd.
|
||
|
||
2017-09-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline:
|
||
2017-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR tree-optimization/81987
|
||
* gimple-ssa-strength-reduction.c (insert_initializers): Don't
|
||
insert an initializer in a location not dominated by the stride
|
||
definition.
|
||
|
||
2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-08-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/81503
|
||
* gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure
|
||
folded constant fits in the target type; reorder tests for clarity.
|
||
|
||
2017-09-05 Pierre-Marie de Rodat <derodat@adacore.com>
|
||
|
||
Backport from trunk
|
||
PR ada/79542
|
||
* dwarf2out.c (modified_type_die): For C typedef types that have
|
||
an ultimate origin, process the ultimate origin instead of the
|
||
input type.
|
||
(gen_typedef_die): Assert that input DECLs have no ultimate
|
||
origin.
|
||
(gen_type_die_with_usage): For typedef variants that have an
|
||
ultimate origin, just call gen_decl_die on the original DECL.
|
||
(process_scope_var): Avoid creating DIEs for local typedefs and
|
||
concrete static variables.
|
||
|
||
2017-08-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-08-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/81504
|
||
* config/rs6000/rs6000.c (find_alignment_op): Add reference
|
||
parameter and_insn and return it.
|
||
(recombine_lvx_pattern): Insert a copy to ensure availability of
|
||
the base register of the copied masking operation at the point of
|
||
the instruction replacement.
|
||
(recombine_stvx_pattern): Likewise.
|
||
|
||
2017-08-29 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
Back port from trunk
|
||
2017-08-07 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/81593
|
||
* config/rs6000/vsx.md (vsx_concat_<mode>_1): New combiner insns
|
||
to recognize inserting into a vector from a double word element
|
||
that was extracted from another vector, and eliminate extra
|
||
XXPERMDI instructions.
|
||
(vsx_concat_<mode>_2): Likewise.
|
||
(vsx_concat_<mode>_3): Likewise.
|
||
(vsx_set_<mode>, VSX_D): Rewrite vector set in terms of vector
|
||
concat to allow optimizing inserts from previous extracts.
|
||
|
||
2017-08-29 Alan Modra <amodra@gmail.com>
|
||
|
||
Apply from mainline
|
||
2017-08-12 Alan Modra <amodra@gmail.com>
|
||
PR target/81170
|
||
PR target/81295
|
||
* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to
|
||
match gnu-user.h startfile.
|
||
(ENDFILE_LINUX_SPEC): Similarly.
|
||
|
||
2017-08-08 Alan Modra <amodra@gmail.com>
|
||
H.J. Lu <hongjiu.lu@intel.com>
|
||
PR target/81170
|
||
PR target/81295
|
||
PR driver/81523
|
||
* gcc.c (NO_PIE_SPEC): Delete.
|
||
(PIE_SPEC): Define as !no-pie/pie. Move static|shared|r
|
||
exclusion..
|
||
(LINK_PIE_SPEC): ..to here.
|
||
(LINK_COMMAND_SPEC): Support -no-pie.
|
||
* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct
|
||
chain of crtbegin*.o selection, update for PIE_SPEC changes and
|
||
format.
|
||
(GNU_USER_TARGET_ENDFILE_SPEC): Similarly.
|
||
* config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly.
|
||
(ENDFILE_CRTEND_SPEC): Similarly.
|
||
|
||
2017-08-29 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2017-08-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/81977
|
||
* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through
|
||
memcpy.
|
||
|
||
2017-08-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/81993
|
||
* dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes):
|
||
Do nothing for removed DIEs.
|
||
|
||
2017-08-28 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2017-06-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/81088
|
||
* fold-const.c (split_tree): Drop TREE_OVERFLOW flag from
|
||
literal constants.
|
||
(fold_binary_loc): When associating do not treat pre-existing
|
||
TREE_OVERFLOW on literal constants as a reason to allow
|
||
TREE_OVERFLOW on associated literal constants.
|
||
|
||
2017-06-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/81065
|
||
* fold-const.c (extract_muldiv_1): Remove bogus distribution
|
||
case of C * (x * C2 + C3).
|
||
(fold_addr_of_array_ref_difference): Properly fold index difference.
|
||
|
||
2017-06-07 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/80932
|
||
* fold-const.c (extract_muldiv_1) <case MINUS_EXPR>: Add
|
||
TYPE_OVERFLOW_WRAPS check.
|
||
|
||
2017-08-28 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2017-08-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/81884
|
||
* tree-ssa-alias.c (stmt_kills_ref_p): Handle array accesses
|
||
at struct end conservatively when comparing common bases.
|
||
|
||
2017-05-04 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree.c (array_at_struct_end_p): Handle arrays at struct
|
||
end with flexarrays more conservatively. Refactor and treat
|
||
arrays of arrays or aggregates more strict. Fix
|
||
VIEW_CONVERT_EXPR handling. Remove allow_compref argument.
|
||
* tree.h (array_at_struct_end_p): Adjust prototype.
|
||
* gimple-fold.c (get_range_strlen): Likewise.
|
||
* tree-chkp.c (chkp_may_narrow_to_field): Likewise.
|
||
|
||
2017-08-28 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2017-08-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/81181
|
||
* tree-ssa-pre.c (compute_antic_aux): Defer clean() to ...
|
||
(compute_antic): ... end of iteration here.
|
||
|
||
2017-08-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/81723
|
||
* tree-vect-slp.c (struct bst_traits): New hash traits.
|
||
(bst_fail): New global.
|
||
(vect_build_slp_tree_2): New worker, split out from ...
|
||
(vect_build_slp_tree): ... this now wrapping it with using
|
||
bst_fail set to cache SLP tree build fails. Properly handle
|
||
max_tree_size.
|
||
(vect_analyze_slp_instance): Allocate and free bst_fail.
|
||
|
||
2017-08-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/81921
|
||
* config/i386/i386.c: Include symbol-summary.h, ipa-prop.h
|
||
and ipa-inline.h.
|
||
(ix86_can_inline_p): When ix86_fpmath flags do not match
|
||
check whether the callee uses FP math at all.
|
||
|
||
2017-08-23 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-08-17 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
PR target/72804
|
||
* config/rs6000/vsx.md (*vsx_le_permute_<mode>): Add support for
|
||
operands residing in integer registers.
|
||
(*vsx_le_perm_load_<mode>): Likewise.
|
||
(*vsx_le_perm_store_<mode>): Likewise.
|
||
(define_peephole2): Add peepholes to optimize the above.
|
||
|
||
2017-08-22 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-08-17 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
PR target/80210
|
||
* config/rs6000/rs6000.c (rs6000_activate_target_options): New function.
|
||
(rs6000_set_current_function): Rewrite function to use it.
|
||
|
||
2017-08-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
Backport from mainline
|
||
2017-08-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config.gcc (powerpc-*-rtems*): Add rs6000/linux64.opt.
|
||
* config/rs6000/rtems.h (ASM_PREFERRED_EH_DATA_FORMAT): New define.
|
||
(DOT_SYMBOLS): Likewise.
|
||
(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
|
||
(RELOCATABLE_NEEDS_FIXUP): Likewise.
|
||
(RS6000_ABI_NAME): Likewise.
|
||
(TARGET_CMODEL): Likewise.
|
||
(TOC_SECTION_ASM_OP): Likewise.
|
||
(SET_CMODEL): New macro.
|
||
(SUBSUBTARGET_OVERRIDE_OPTIONS): Evaluate cmodel options.
|
||
|
||
2017-08-22 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Backport from 2017-08-22 trunk r251256.
|
||
|
||
PR target/81910
|
||
* config/avr/avr.c (avr_handle_addr_attribute): Early return if
|
||
not VAR_P. Filter attribute warnings with OPT_Wattributes.
|
||
(avr_attribute_table) <io, io_low, address>: Initialize
|
||
.decl_required with true.
|
||
|
||
2017-08-21 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/79883
|
||
* config/avr/avr.c (avr_set_current_function): Typo in diagnostic.
|
||
|
||
2017-08-19 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/81894
|
||
* doc/extend.texi (x86 Built-in Functions): Correct the name of
|
||
__builtin_ia32_lzcnt_u16.
|
||
|
||
2017-08-17 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Backport from mainline
|
||
2017-08-17 Maxim Ostapenko <m.ostapenko@samsung.com>
|
||
|
||
PR target/81861
|
||
* config/i386/i386.c (ix86_option_override_internal): Save target
|
||
specific options after ix86_stack_protector_guard_reg was changed.
|
||
|
||
2017-08-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-08-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR tree-optimization/81354
|
||
* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
|
||
Insert on edges rather than explicitly creating landing pads.
|
||
(analyze_candidates_and_replace): Commit edge inserts.
|
||
|
||
2017-08-15 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR target/78460
|
||
PR target/67712
|
||
* config/sh/sh-mem.cc (sh_expand_cmpnstr): Only unroll for
|
||
constant count if that count is less than 32.
|
||
|
||
2017-08-14 Richard Biener <rguenther@suse.de>
|
||
|
||
* BASE-VER: Set to 7.2.1.
|
||
|
||
2017-08-14 Release Manager
|
||
|
||
* GCC 7.2.0 released.
|
||
|
||
2017-08-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/81766
|
||
* function.c (thread_prologue_and_epilogue_insns): Restore
|
||
behavior of always calling find_many_sub_basic_blocks on
|
||
the inserted prologue.
|
||
|
||
2017-08-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/79499
|
||
* function.c (thread_prologue_and_epilogue_insns): Determine blocks
|
||
for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN
|
||
of first NONDEBUG_INSN_P in each of the split_prologue_seq and
|
||
prologue_seq sequences - if any.
|
||
|
||
2017-08-01 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/81641
|
||
* config/i386/i386.c (ix86_print_operand_address_as): For -masm=intel
|
||
print "ds:" only for immediates in generic address space.
|
||
|
||
2017-08-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/81622
|
||
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For
|
||
__builtin_vec_cmpne verify both arguments are compatible vectors
|
||
before looking at TYPE_MODE on the element type. For __builtin_vec_ld
|
||
verify arg1_type is a pointer or array type. For __builtin_vec_st,
|
||
move computation of aligned to after checking the argument types.
|
||
Formatting fixes.
|
||
|
||
2017-08-01 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-07-26 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/81561
|
||
* gcov.c (unblock): Make unblocking safe as we need to preserve
|
||
index correspondence of blocks and block_lists.
|
||
|
||
2017-08-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/71752
|
||
PR tree-optimization/81633
|
||
* tree-vect-slp.c (vect_get_slp_defs): Handle null operands
|
||
in the original suggested way.
|
||
|
||
2017-08-01 Richard Sandiford <richard.sandiford@linaro.org>
|
||
|
||
PR tree-optimization/80769
|
||
* tree-ssa-strlen.c (strinfo): Document that "stmt" is also used
|
||
for malloc and calloc. Document the new invariant that all related
|
||
strinfos have delayed lengths or none do.
|
||
(get_next_strinfo): New function.
|
||
(verify_related_strinfos): Move earlier in file.
|
||
(set_endptr_and_length): New function, split out from...
|
||
(get_string_length): ...here. Also set the lengths of related
|
||
strinfos.
|
||
|
||
2017-08-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/81588
|
||
* tree-ssa-reassoc.c (optimize_range_tests_var_bound): If
|
||
ranges[i].in_p, invert comparison code ccode. For >/>=,
|
||
swap rhs1 and rhs2 and comparison code unconditionally,
|
||
for </<= don't do that. Don't swap rhs1/rhs2 again if
|
||
ranges[i].in_p, instead invert comparison code ccode if
|
||
opcode or oe->rank is BIT_IOR_EXPR.
|
||
|
||
2017-07-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-07-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config.gcc: Add z14.
|
||
* config/s390/driver-native.c (s390_host_detect_local_cpu): Add
|
||
CPU model numbers for z13s and z14.
|
||
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Replace
|
||
arch12 with z14.
|
||
* config/s390/s390-opts.h (enum processor_type): Rename
|
||
PROCESSOR_ARCH12 to PROCESSOR_3906_Z14.
|
||
* config/s390/s390.c (processor_table): Add field for CPU name to
|
||
be passed to Binutils.
|
||
(s390_asm_output_machine_for_arch): Use the new field in
|
||
processor_table for Binutils.
|
||
(s390_expand_builtin): Replace arch12 with z14.
|
||
(s390_issue_rate): Rename PROCESSOR_ARCH12 to PROCESSOR_3906_Z14.
|
||
(s390_get_sched_attrmask): Likewise.
|
||
(s390_get_unit_mask): Likewise.
|
||
* config/s390/s390.opt: Add z14 to processor_type enum.
|
||
|
||
2017-07-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/81604
|
||
* ubsan.c (ubsan_type_descriptor): For UBSAN_PRINT_ARRAY don't
|
||
change type to the element type, instead add eltype variable and
|
||
use it where we are interested in the element type.
|
||
|
||
2017-07-28 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-07-28 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
* config/rs6000/ppc-auxv.h (PPC_FEATURE2_DARN): New define.
|
||
(PPC_FEATURE2_SCV): Likewise.
|
||
* config/rs6000/rs6000.c (cpu_supports_info): Use them.
|
||
|
||
2017-07-28 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
Backport from mainline
|
||
2017-07-25 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* dwarf2asm.c (dw2_asm_output_nstring): Encode double quote
|
||
character for AIX.
|
||
* dwarf2out.c (output_macinfo): Copy debug_line_section_label
|
||
to dl_section_ref. On AIX, append an expression to subtract
|
||
the size of the section length to dl_section_ref.
|
||
|
||
2017-07-28 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
Backport from mainline r250496
|
||
2017-07-25 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR target/81414
|
||
* config/aarch64/cortex-a57-fma-steering.c (analyze): Skip fmul/fmac
|
||
instructions if no du chain is found.
|
||
|
||
2017-07-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
Backport from mainline
|
||
2017-07-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config.gcc (powerpc-*-rtems*): Remove rs6000/eabi.h. Add
|
||
rs6000/biarch64.h.
|
||
* config/rs6000/rtems.h (ASM_DECLARE_FUNCTION_SIZE): New macro.
|
||
(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
|
||
(CRT_CALL_STATIC_FUNCTION): Likewise.
|
||
(ASM_DEFAULT_SPEC): New define.
|
||
(ASM_SPEC32): Likewise.
|
||
(ASM_SPEC64): Likewise.
|
||
(ASM_SPEC_COMMON): Likewise.
|
||
(ASM_SPEC): Likewise.
|
||
(INVALID_64BIT): Likewise.
|
||
(LINK_OS_DEFAULT_SPEC): Likewise.
|
||
(LINK_OS_SPEC32): Likewise.
|
||
(LINK_OS_SPEC64): Likewise.
|
||
(POWERPC_LINUX): Likewise.
|
||
(PTRDIFF_TYPE): Likewise.
|
||
(RESTORE_FP_PREFIX): Likewise.
|
||
(RESTORE_FP_SUFFIX): Likewise.
|
||
(SAVE_FP_PREFIX): Likewise.
|
||
(SAVE_FP_SUFFIX): Likewise.
|
||
(SIZE_TYPE): Likewise.
|
||
(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
|
||
(TARGET_64BIT): Likewise.
|
||
(TARGET_64BIT): Likewise.
|
||
(TARGET_AIX): Likewise.
|
||
(WCHAR_TYPE_SIZE): Likewise.
|
||
(WCHAR_TYPE): Undefine.
|
||
(TARGET_OS_CPP_BUILTINS): Add 64-bit PowerPC defines.
|
||
(CPP_OS_DEFAULT_SPEC): Use previous CPP_OS_RTEMS_SPEC.
|
||
(CPP_OS_RTEMS_SPEC): Delete.
|
||
(SUBSUBTARGET_EXTRA_SPECS): Remove cpp_os_rtems. Add
|
||
asm_spec_common, asm_spec32, asm_spec64, link_os_spec32, and
|
||
link_os_spec64.
|
||
* config/rs6000/t-rtems: Add mcpu=e6500/m64 multilibs.
|
||
|
||
2017-07-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
Backport from mainline
|
||
2017-07-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config.gcc (riscv*-*-elf*): Add (riscv*-*-rtems*).
|
||
* config/riscv/rtems.h: New file.
|
||
|
||
2017-07-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/sparc/sparc.c (sparc_option_override): Set MASK_FSMULD flag
|
||
earlier and only if MASK_FPU is set. Adjust formatting.
|
||
|
||
2017-07-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-07-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR target/81534
|
||
* config/s390/s390.md ("*atomic_compare_and_swap<mode>_1")
|
||
("*atomic_compare_and_swapdi_2", "*atomic_compare_and_swapsi_3"):
|
||
Change s_operand to memory_operand.
|
||
|
||
2017-07-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/81555
|
||
PR tree-optimization/81556
|
||
* tree-ssa-reassoc.c (rewrite_expr_tree): Add NEXT_CHANGED argument,
|
||
if true, force CHANGED for the recursive invocation.
|
||
(reassociate_bb): Remember original length of ops array, pass
|
||
len != orig_len as NEXT_CHANGED in rewrite_expr_tree call.
|
||
|
||
2017-07-27 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-07-17 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/81302
|
||
* opts.c (finish_options): Do not allow -fgnu-tm
|
||
w/ -fsanitize={kernel-,}address. Say sorry.
|
||
|
||
2017-07-27 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-07-26 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitize/81186
|
||
* function.c (expand_function_start): Make expansion of
|
||
nonlocal_goto_save_area after parm_birth_insn.
|
||
|
||
2017-07-27 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-06-30 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/81021
|
||
* tree-eh.c (lower_resx): Call BUILT_IN_ASAN_HANDLE_NO_RETURN
|
||
before BUILT_IN_UNWIND_RESUME when ASAN is used.
|
||
|
||
2017-07-27 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-06-28 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/81224
|
||
* asan.c (instrument_derefs): Bail out inner references
|
||
that are hard register variables.
|
||
|
||
2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
Backport from mainline
|
||
2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/sparc/sparc.c (dump_target_flag_bits): Dump MASK_FSMULD.
|
||
(sparc_option_override): Honour MASK_FSMULD.
|
||
* config/sparc/sparc.h (MASK_FEATURES): Add MASK_FSMULD.
|
||
* config/sparc/sparc.md (muldf3_extend): Use TARGET_FSMULD.
|
||
* config/sparc/sparc.opt (mfsmuld): New option.
|
||
* doc/invoke.texi (mfsmuld): Document option.
|
||
|
||
2017-07-26 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Backport from 2017-07-25 trunk r250499.
|
||
|
||
PR 81487
|
||
* hsa-brig.c (brig_init): Use xasprintf instead of asprintf.
|
||
* gimple-pretty-print.c (dump_probability): Same.
|
||
* tree-ssa-structalias.c (alias_get_name): Same.
|
||
|
||
2017-07-26 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2017-06-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/81410
|
||
* tree-vect-stmts.c (vectorizable_load): Properly adjust for
|
||
the gap in the ! slp_perm SLP case after each group.
|
||
|
||
2017-07-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/81455
|
||
* tree-ssa-loop-unswitch.c (find_loop_guard): Make sure to
|
||
not walk in cycles when looking for guards.
|
||
|
||
2017-07-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/81505
|
||
* fold-const.c (fold_negate_const): TREE_OVERFLOW should be
|
||
sticky.
|
||
|
||
2017-06-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/81175
|
||
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use def_builtin
|
||
rather than def_builtin_pure for __builtin_ia32_gatherpf*.
|
||
|
||
2017-06-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/81175
|
||
* config/i386/i386.c (ix86_init_mmx_sse_builtins):
|
||
Use def_builtin_pure for all gather builtins.
|
||
|
||
2017-06-21 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
* config/i386/i386.c (struct builtin_isa): New field pure_p.
|
||
Reorder for compactness.
|
||
(def_builtin, def_builtin2, ix86_add_new_builtins): Handle pure_p.
|
||
(def_builtin_pure, def_builtin_pure2): New functions.
|
||
(ix86_init_mmx_sse_builtins) [__builtin_ia32_stmxcsr]: Mark as pure.
|
||
|
||
2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
Backport from mainline
|
||
2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/sparc/sparc.c (sparc_option_override): Remove MASK_FPU
|
||
from all CPU target flags enable members.
|
||
|
||
2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
Backport from mainline
|
||
2017-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
PR libgcc/61152
|
||
* config/aarch64/rtems.h: Add GCC Runtime Library Exception.
|
||
Format changes.
|
||
* config/arm/rtems.h: Likewise.
|
||
* config/bfin/rtems.h: Likewise.
|
||
* config/i386/rtemself.h: Likewise.
|
||
* config/lm32/rtems.h: Likewise.
|
||
* config/m32c/rtems.h: Likewise.
|
||
* config/m68k/rtemself.h: Likewise.
|
||
* config/microblaze/rtems.h: Likewise.
|
||
* config/mips/rtems.h: Likewise.
|
||
* config/moxie/rtems.h: Likewise.
|
||
* config/nios2/rtems.h: Likewise.
|
||
* config/rs6000/rtems.h: Likewise.
|
||
* config/rtems.h: Likewise.
|
||
* config/sh/rtems.h: Likewise.
|
||
* config/sh/rtemself.h: Likewise.
|
||
* config/sparc/rtemself.h: Likewise.
|
||
|
||
2017-07-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-07-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR tree-optimization/81162
|
||
* gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't
|
||
replace a negate with an add.
|
||
|
||
2017-07-25 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Backport from 2017-07-12 trunk r250151.
|
||
|
||
PR target/81407
|
||
* config/avr/avr.c (avr_encode_section_info)
|
||
[progmem && !TREE_READONLY]: Error if progmem object needs
|
||
constructing.
|
||
|
||
2017-07-25 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR target/79041
|
||
* config/aarch64/aarch64.c (aarch64_classify_symbol):
|
||
Avoid SYMBOL_SMALL_ABSOLUTE for literals with pc-relative literals.
|
||
|
||
2017-07-25 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Backport from trunk r247719.
|
||
|
||
2017-05-06 Richard Sandiford <richard.sandiford@linaro.org>
|
||
|
||
PR rtl-optimization/75964
|
||
* simplify-rtx.c (simplify_const_relational_operation): Remove
|
||
invalid handling of comparisons of integer ABS.
|
||
|
||
2017-07-25 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
Backport from 2017-07-20 trunk r250384.
|
||
|
||
PR tree-optimization/81388
|
||
Revert r238585:
|
||
2016-07-21 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Clean up
|
||
by removing computation of may_be_zero.
|
||
|
||
2017-07-23 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/80569
|
||
* config/i386/i386.c (ix86_option_override_internal): Disable
|
||
BMI, BMI2 and TBM instructions for -m16.
|
||
|
||
2017-07-19 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
Back port from trunk
|
||
2017-07-12 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/81193
|
||
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC
|
||
provides the hardware capability bits, define the macro
|
||
__BUILTIN_CPU_SUPPORTS__.
|
||
* config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning
|
||
if GLIBC does not provide the hardware capability bits. Add a
|
||
gcc_unreachable call if the built-in cpu function is neither
|
||
__builtin_cpu_is nor __builtin_cpu_supports.
|
||
* doc/extend.texi (PowerPC built-in functions): Document that
|
||
GLIBC 2.23 or newer is needed by __builtin_cpu_is and
|
||
__builtin_cpu_supports. Document the macros defined by GCC if the
|
||
newer GLIBC is available.
|
||
|
||
2017-07-18 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/81471
|
||
* config/i386/i386.md (rorx_immediate_operand): New mode attribute.
|
||
(*bmi2_rorx<mode>3_1): Use rorx_immediate_operand as
|
||
operand 2 predicate.
|
||
(*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as
|
||
operand 2 predicate.
|
||
(ror,rol -> rorx splitters): Use const_int_operand as
|
||
operand 2 predicate.
|
||
|
||
2017-07-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
backport from mainline:
|
||
PR target/81069
|
||
2017-07-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_single): Insert diverging branch as late
|
||
as possible.
|
||
|
||
2017-07-18 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Backport from 2017-07-18 trunk r250301.
|
||
|
||
PR target/81473
|
||
* config/avr/avr.c (avr_optimize_casesi): Don't use
|
||
INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX.
|
||
|
||
2017-07-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/81428
|
||
* match.pd (X / X -> one): Don't optimize _Fract divisions, as 1
|
||
can't be built for those types.
|
||
|
||
PR tree-optimization/81365
|
||
* tree-ssa-phiprop.c (propagate_with_phi): When considering hoisting
|
||
aggregate moves onto bb predecessor edges, make sure there are no
|
||
loads that could alias the lhs in between the start of bb and the
|
||
loads from *phi.
|
||
|
||
Backported from mainline
|
||
2017-06-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/81225
|
||
* config/i386/sse.md (vec_extract_lo_<mode><mask_name>): For
|
||
V8FI, V16FI and VI8F_256 iterators, use <store_mask_predicate> instead
|
||
of nonimmediate_operand and <store_mask_constraint> instead of m for
|
||
the input operand. For V8FI iterator, always split if input is a MEM.
|
||
For V16FI and V8SF_256 iterators, don't test if both operands are MEM
|
||
if <mask_applied>. For VI4F_256 iterator, use <store_mask_predicate>
|
||
instead of register_operand and <store_mask_constraint> instead of v for
|
||
the input operand. Make sure both operands aren't MEMs for if not
|
||
<mask_applied>.
|
||
|
||
2017-07-17 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Backport from 2017-07-17 trunk r250258.
|
||
|
||
PR 80929
|
||
* config/avr/avr.c (avr_mul_highpart_cost): New static function.
|
||
(avr_rtx_costs_1) [TRUNCATE]: Use it to compute mul_highpart cost.
|
||
[LSHIFTRT, outer_code = TRUNCATE]: Same.
|
||
|
||
2017-07-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
Backport from mainline
|
||
2017-07-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* gcc/config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add
|
||
conditional builtin define __FIX_LEON3FT_B2BST.
|
||
|
||
2017-07-17 Daniel Cederman <cederman@gaisler.com>
|
||
|
||
Backport from mainline
|
||
2017-07-17 Daniel Cederman <cederman@gaisler.com>
|
||
|
||
* config/sparc/t-rtems: Add mfix-gr712rc multilibs. Replace
|
||
MULTILIB_EXCEPTIONS with MULTILIB_REQUIRED. Match -mfix-gr712rc
|
||
with -mfix-ut700.
|
||
|
||
2017-07-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/81424
|
||
* optabs.c (prepare_cmp_insn): Use copy_to_reg instead of force_reg
|
||
to remove potential trapping from operands if -fnon-call-exceptions.
|
||
|
||
2017-07-16 Daniel Cederman <cederman@gaisler.com>
|
||
|
||
* config/sparc/sparc.md (divdf3_fix): Add NOP to prevent back
|
||
to back store errata sensitive sequence from being generated.
|
||
(sqrtdf2_fix): Likewise.
|
||
|
||
2017-07-12 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Backport from 2017-07-12 trunk r250156.
|
||
|
||
PR target/79883
|
||
* config/avr/avr.c (avr_set_current_function): In diagnostic
|
||
messages: Quote keywords and (parts of) identifiers.
|
||
[WITH_AVRLIBC]: Warn for functions named "ISR", "SIGNAL" or
|
||
"INTERRUPT".
|
||
|
||
2017-07-11 Daniel Cederman <cederman@gaisler.com>
|
||
|
||
* config/sparc/sparc.opt (mfix-ut700): New option.
|
||
(mfix-gr712rc): Likewise.
|
||
(sparc_fix_b2bst): New variable.
|
||
* doc/invoke.texi (SPARC options): Document them.
|
||
(ARM options): Fix warnings.
|
||
* config/sparc/sparc.c (sparc_do_work_around_errata): Insert NOP
|
||
instructions to prevent sequences that can trigger the store-store
|
||
errata for certain LEON3FT processors.
|
||
(pass_work_around_errata::gate): Also test sparc_fix_b2bst.
|
||
(sparc_option_override): Set sparc_fix_b2bst appropriately.
|
||
* config/sparc/sparc.md (fix_b2bst): New attribute.
|
||
(in_branch_delay): Prevent stores in delay slot if fix_b2bst.
|
||
|
||
2017-07-10 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/81375
|
||
* config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH.
|
||
(rcpps): Ditto.
|
||
(*rsqrtsf2_sse): Ditto.
|
||
(rsqrtsf2): Ditto.
|
||
(div<mode>3): Macroize insn from divdf3 and divsf3
|
||
using MODEF mode iterator.
|
||
|
||
2017-07-07 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-07-07 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/81348
|
||
* config/rs6000/rs6000.md (HI sign_extend splitter): Use the
|
||
correct operand in doing the split.
|
||
|
||
2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
* config/sparc/m8.md: New file.
|
||
* config/sparc/sparc.md: Include m8.md.
|
||
|
||
2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
* config/sparc/sparc.opt: New option -mvis4b.
|
||
* config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_VIS4B.
|
||
(sparc_option_override): Handle VIS4B.
|
||
(enum sparc_builtins): Define
|
||
SPARC_BUILTIN_DICTUNPACK{8,16,32},
|
||
SPARC_BUILTIN_FPCMP{LE,GT,EQ,NE}{8,16,32}SHL,
|
||
SPARC_BUILTIN_FPCMPU{LE,GT}{8,16,32}SHL,
|
||
SPARC_BUILTIN_FPCMPDE{8,16,32}SHL and
|
||
SPARC_BUILTIN_FPCMPUR{8,16,32}SHL.
|
||
(check_constant_argument): New function.
|
||
(sparc_vis_init_builtins): Define builtins
|
||
__builtin_vis_dictunpack{8,16,32},
|
||
__builtin_vis_fpcmp{le,gt,eq,ne}{8,16,32}shl,
|
||
__builtin_vis_fpcmpu{le,gt}{8,16,32}shl,
|
||
__builtin_vis_fpcmpde{8,16,32}shl and
|
||
__builtin_vis_fpcmpur{8,16,32}shl.
|
||
(sparc_expand_builtin): Check that the constant operands to
|
||
__builtin_vis_fpcmp*shl and _builtin_vis_dictunpack* are indeed
|
||
constant and in range.
|
||
* config/sparc/sparc-c.c (sparc_target_macros): Handle
|
||
TARGET_VIS4B.
|
||
* config/sparc/sparc.h (SPARC_IMM2_P): Define.
|
||
(SPARC_IMM5_P): Likewise.
|
||
* config/sparc/sparc.md (cpu_feature): Add new feagure "vis4b".
|
||
(enabled): Handle vis4b.
|
||
(UNSPEC_DICTUNPACK): New unspec.
|
||
(UNSPEC_FPCMPSHL): Likewise.
|
||
(UNSPEC_FPUCMPSHL): Likewise.
|
||
(UNSPEC_FPCMPDESHL): Likewise.
|
||
(UNSPEC_FPCMPURSHL): Likewise.
|
||
(cpu_feature): New CPU feature `vis4b'.
|
||
(dictunpack{8,16,32}): New insns.
|
||
(FPCSMODE): New mode iterator.
|
||
(fpcscond): New code iterator.
|
||
(fpcsucond): Likewise.
|
||
(fpcmp{le,gt,eq,ne}{8,16,32}{si,di}shl): New insns.
|
||
(fpcmpu{le,gt}{8,16,32}{si,di}shl): Likewise.
|
||
(fpcmpde{8,16,32}{si,di}shl): Likewise.
|
||
(fpcmpur{8,16,32}{si,di}shl): Likewise.
|
||
* config/sparc/constraints.md: Define constraints `q' for unsigned
|
||
2-bit integer constants and `t' for unsigned 5-bit integer
|
||
constants.
|
||
* config/sparc/predicates.md (imm5_operand_dictunpack8): New
|
||
predicate.
|
||
(imm5_operand_dictunpack16): Likewise.
|
||
(imm5_operand_dictunpack32): Likewise.
|
||
(imm2_operand): Likewise.
|
||
* doc/invoke.texi (SPARC Options): Document -mvis4b.
|
||
* doc/extend.texi (SPARC VIS Built-in Functions): Document the
|
||
ditunpack* and fpcmp*shl builtins.
|
||
|
||
2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
* config.gcc: Handle m8 in --with-{cpu,tune} options.
|
||
* config.in: Add HAVE_AS_SPARC6 define.
|
||
* config/sparc/driver-sparc.c (cpu_names): Add entry for the SPARC
|
||
M8.
|
||
* config/sparc/sol2.h (CPP_CPU64_DEFAULT_SPEC): Define for
|
||
TARGET_CPU_m8.
|
||
(ASM_CPU32_DEFAUILT_SPEC): Likewise.
|
||
(CPP_CPU_SPEC): Handle m8.
|
||
(ASM_CPU_SPEC): Likewise.
|
||
* config/sparc/sparc-opts.h (enum processor_type): Add
|
||
PROCESSOR_M8.
|
||
* config/sparc/sparc.c (m8_costs): New struct.
|
||
(sparc_option_override): Handle TARGET_CPU_m8.
|
||
(sparc32_initialize_trampoline): Likewise.
|
||
(sparc64_initialize_trampoline): Likewise.
|
||
(sparc_issue_rate): Likewise.
|
||
(sparc_register_move_cost): Likewise.
|
||
* config/sparc/sparc.h (TARGET_CPU_m8): Define.
|
||
(CPP_CPU64_DEFAULT_SPEC): Define for M8.
|
||
(ASM_CPU64_DEFAULT_SPEC): Likewise.
|
||
(CPP_CPU_SPEC): Handle M8.
|
||
(ASM_CPU_SPEC): Likewise.
|
||
(AS_M8_FLAG): Define.
|
||
* config/sparc/sparc.md: Add m8 to the cpu attribute.
|
||
* config/sparc/sparc.opt: New option -mcpu=m8 for sparc targets.
|
||
* configure.ac (HAVE_AS_SPARC6): Check for assembler support for
|
||
M8 instructions.
|
||
* configure: Regenerate.
|
||
* doc/invoke.texi (SPARC Options): Document -mcpu=m8 and
|
||
-mtune=m8.
|
||
|
||
2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
* config/sparc/niagara7.md: Rework the DFA scheduler to use insn
|
||
subtypes.
|
||
* config/sparc/sparc.md: Remove the `v3pipe' insn attribute.
|
||
("*movdi_insn_sp32"): Do not set v3pipe.
|
||
("*movsi_insn"): Likewise.
|
||
("*movdi_insn_sp64"): Likewise.
|
||
("*movsf_insn"): Likewise.
|
||
("*movdf_insn_sp32"): Likewise.
|
||
("*movdf_insn_sp64"): Likewise.
|
||
("*zero_extendsidi2_insn_sp64"): Likewise.
|
||
("*sign_extendsidi2_insn"): Likewise.
|
||
("*mov<VM32:mode>_insn"): Likewise.
|
||
("*mov<VM64:mode>_insn_sp64"): Likewise.
|
||
("*mov<VM64:mode>_insn_sp32"): Likewise.
|
||
("<plusminus_insn><VADDSUB:mode>3"): Likewise.
|
||
("<vlop:code><VL:mode>3"): Likewise.
|
||
("*not_<vlop:code><VL:mode>3"): Likewise.
|
||
("*nand<VL:mode>_vis"): Likewise.
|
||
("*<vlnotop:code>_not1<VL:mode>_vis"): Likewise.
|
||
("*<vlnotop:code>_not2<VL:mode>_vis"): Likewise.
|
||
("one_cmpl<VL:mode>2"): Likewise.
|
||
("faligndata<VM64:mode>_vis"): Likewise.
|
||
("alignaddrsi_vis"): Likewise.
|
||
("alignaddrdi_vis"): Likweise.
|
||
("alignaddrlsi_vis"): Likewise.
|
||
("alignaddrldi_vis"): Likewise.
|
||
("fcmp<gcond:code><GCM:gcm_name><P:mode>_vis"): Likewise.
|
||
("bmaskdi_vis"): Likewise.
|
||
("bmasksi_vis"): Likewise.
|
||
("bshuffle<VM64:mode>_vis"): Likewise.
|
||
("cmask8<P:mode>_vis"): Likewise.
|
||
("cmask16<P:mode>_vis"): Likewise.
|
||
("cmask32<P:mode>_vis"): Likewise.
|
||
("pdistn<P:mode>_vis"): Likewise.
|
||
("<vis3_addsub_ss_patname><VASS:mode>3"): Likewise.
|
||
|
||
2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
* config/sparc/sparc.md ("subtype"): New insn attribute.
|
||
("*wrgsr_sp64"): Set insn subtype.
|
||
("*rdgsr_sp64"): Likewise.
|
||
("alignaddrsi_vis"): Likewise.
|
||
("alignaddrdi_vis"): Likewise.
|
||
("alignaddrlsi_vis"): Likewise.
|
||
("alignaddrldi_vis"): Likewise.
|
||
("<plusminus_insn><VADDSUB:mode>3"): Likewise.
|
||
("fexpand_vis"): Likewise.
|
||
("fpmerge_vis"): Likewise.
|
||
("faligndata<VM64:mode>_vis"): Likewise.
|
||
("bshuffle<VM64:mode>_vis"): Likewise.
|
||
("cmask8<P:mode>_vis"): Likewise.
|
||
("cmask16<P:mode>_vis"): Likewise.
|
||
("cmask32<P:mode>_vis"): Likewise.
|
||
("fchksm16_vis"): Likewise.
|
||
("v<vis3_shift_patname><GCM:mode>3"): Likewise.
|
||
("fmean16_vis"): Likewise.
|
||
("fp<plusminus_insn>64_vis"): Likewise.
|
||
("<plusminus_insn>v8qi3"): Likewise.
|
||
("<vis3_addsub_ss_patname><VASS:mode>3"): Likewise.
|
||
("<vis4_minmax_patname><VMMAX:mode>3"): Likewise.
|
||
("<vis4_uminmax_patname><VMMAX:mode>3"): Likewise.
|
||
("<vis3_addsub_ss_patname>v8qi3"): Likewise.
|
||
("<vis4_addsub_us_patname><VAUS:mode>3"): Likewise.
|
||
("*movqi_insn"): Likewise.
|
||
("*movhi_insn"): Likewise.
|
||
("*movsi_insn"): Likewise.
|
||
("movsi_pic_gotdata_op"): Likewise.
|
||
("*movdi_insn_sp32"): Likewise.
|
||
("*movdi_insn_sp64"): Likewise.
|
||
("movdi_pic_gotdata_op"): Likewise.
|
||
("*movsf_insn"): Likewise.
|
||
("*movdf_insn_sp32"): Likewise.
|
||
("*movdf_insn_sp64"): Likewise.
|
||
("*zero_extendhisi2_insn"): Likewise.
|
||
("*zero_extendqihi2_insn"): Likewise.
|
||
("*zero_extendqisi2_insn"): Likewise.
|
||
("*zero_extendqidi2_insn"): Likewise.
|
||
("*zero_extendhidi2_insn"): Likewise.
|
||
("*zero_extendsidi2_insn_sp64"): Likewise.
|
||
("ldfsr"): Likewise.
|
||
("prefetch_64"): Likewise.
|
||
("prefetch_32"): Likewise.
|
||
("tie_ld32"): Likewise.
|
||
("tie_ld64"): Likewise.
|
||
("*tldo_ldub_sp32"): Likewise.
|
||
("*tldo_ldub1_sp32"): Likewise.
|
||
("*tldo_ldub2_sp32"): Likewise.
|
||
("*tldo_ldub_sp64"): Likewise.
|
||
("*tldo_ldub1_sp64"): Likewise.
|
||
("*tldo_ldub2_sp64"): Likewise.
|
||
("*tldo_ldub3_sp64"): Likewise.
|
||
("*tldo_lduh_sp32"): Likewise.
|
||
("*tldo_lduh1_sp32"): Likewise.
|
||
("*tldo_lduh_sp64"): Likewise.
|
||
("*tldo_lduh1_sp64"): Likewise.
|
||
("*tldo_lduh2_sp64"): Likewise.
|
||
("*tldo_lduw_sp32"): Likewise.
|
||
("*tldo_lduw_sp64"): Likewise.
|
||
("*tldo_lduw1_sp64"): Likewise.
|
||
("*tldo_ldx_sp64"): Likewise.
|
||
("*mov<VM32:mode>_insn"): Likewise.
|
||
("*mov<VM64:mode>_insn_sp64"): Likewise.
|
||
("*mov<VM64:mode>_insn_sp32"): Likewise.
|
||
|
||
2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
* config/sparc/sparc.md ("type"): New insn type viscmp.
|
||
("fcmp<gcond:code><GCM:gcm_name><P:mode>_vis"): Set insn type to
|
||
viscmp.
|
||
("fpcmp<gcond:code>8<P:mode>_vis"): Likewise.
|
||
("fucmp<gcond:code>8<P:mode>_vis"): Likewise.
|
||
("fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis"): Likewise.
|
||
* config/sparc/niagara7.md ("n7_vis_logical_v3pipe"): Handle
|
||
viscmp.
|
||
("n7_vis_logical_11cycle"): Likewise.
|
||
* config/sparc/niagara4.md ("n4_vis_logical"): Likewise.
|
||
* config/sparc/niagara2.md ("niag3_vis": Likewise.
|
||
* config/sparc/niagara.md ("niag_vis"): Likewise.
|
||
* config/sparc/ultra3.md ("us3_fga"): Likewise.
|
||
* config/sparc/ultra1_2.md ("us1_fga_double"): Likewise.
|
||
|
||
2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
* config/sparc/sparc.md: New instruction type `bmask'.
|
||
(bmaskdi_vis): Use the `bmask' type.
|
||
(bmasksi_vis): Likewise.
|
||
* config/sparc/ultra3.md (us3_array): Likewise.
|
||
* config/sparc/niagara7.md (n7_array): Likewise.
|
||
* config/sparc/niagara4.md (n4_array): Likewise.
|
||
* config/sparc/niagara2.md (niag2_vis): Likewise.
|
||
(niag3_vis): Likewise.
|
||
* config/sparc/niagara.md (niag_vis): Likewise.
|
||
|
||
2017-07-05 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Backport from 2017-07-05 trunk r249995.
|
||
|
||
PR target/81305
|
||
* config/avr/avr.c (avr_out_movhi_mr_r_xmega) [CONSTANT_ADDRESS_P]:
|
||
Don't depend on "optimize > 0".
|
||
(out_movhi_r_mr, out_movqi_mr_r): Same.
|
||
(out_movhi_mr_r, out_movqi_r_mr): Same.
|
||
(avr_address_cost) [CONSTANT_ADDRESS_P]: Don't depend cost for
|
||
io_address_operand on "optimize > 0".
|
||
|
||
2017-07-04 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/81300
|
||
* config/i386/i386.md (setcc + movzbl/and to xor + setcc peepholes):
|
||
Require dead FLAGS_REG at the beginning of a peephole.
|
||
|
||
2017-07-04 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/81294
|
||
* config/i386/adxintrin.h (_subborrow_u32): Swap _X and _Y
|
||
arguments in the call to __builtin_ia32_sbb_u32.
|
||
(_subborrow_u64): Swap _X and _Y arguments in the call to
|
||
__builtin_ia32_sbb_u64.
|
||
|
||
2017-07-03 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backport from trunk:
|
||
|
||
2017-06-15 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md (add<mode>3): Use reg_or_subregno instead
|
||
of REGNO.
|
||
|
||
2017-07-03 Tom de Vries <tom@codesourcery.com>
|
||
|
||
backport from mainline:
|
||
PR tree-optimization/81192
|
||
2017-07-03 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree-ssa-tail-merge.c (same_succ_flush_bb): Handle
|
||
BB_SAME_SUCC (bb) == NULL.
|
||
|
||
2017-06-29 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-06-23 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/80510
|
||
* config/rs6000/rs6000.md (ALTIVEC_DFORM): Do not allow DImode in
|
||
32-bit, since indexed is not valid for DImode.
|
||
(mov<mode>_hardfloat32): Reorder ISA 2.07 load/stores before ISA
|
||
3.0 d-form load/stores to be the same as mov<mode>_hardfloat64.
|
||
(define_peephole2 for Altivec d-form load): Add 32-bit support.
|
||
(define_peephole2 for Altivec d-form store): Likewise.
|
||
|
||
Backport from mainline
|
||
2017-06-20 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/79799
|
||
* config/rs6000/rs6000.c (rs6000_expand_vector_init): Add support
|
||
for doing vector set of SFmode on ISA 3.0.
|
||
* config/rs6000/vsx.md (vsx_set_v4sf_p9): Likewise.
|
||
(vsx_set_v4sf_p9_zero): Special case setting 0.0f to a V4SF
|
||
element.
|
||
(vsx_insert_extract_v4sf_p9): Add an optimization for inserting a
|
||
SFmode value into a V4SF variable that was extracted from another
|
||
V4SF variable without converting the element to double precision
|
||
and back to single precision vector format.
|
||
(vsx_insert_extract_v4sf_p9_2): Likewise.
|
||
|
||
2017-06-29 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2017-06-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/81112
|
||
* ipa-prop.c (find_constructor_constant_at_offset): Handle
|
||
RANGE_EXPR conservatively.
|
||
|
||
2017-06-28 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2017-06-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/81007
|
||
* ipa-polymorphic-call.c
|
||
(ipa_polymorphic_call_context::restrict_to_inner_class):
|
||
Skip FIELD_DECLs with error_mark_node type.
|
||
* passes.def (all_lowering_passes): Run pass_build_cgraph_edges
|
||
last again.
|
||
|
||
2017-06-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/81083
|
||
* tree-ssa-sccvn.c (vn_reference_lookup_3): Do not use abnormals
|
||
as values.
|
||
|
||
2017-06-27 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Backports from trunk:
|
||
|
||
2017-05-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
PR middle-end/80692
|
||
* real.c (do_compare): Give decimal_do_compare preference over
|
||
comparing just the signs.
|
||
|
||
2017-05-31 Segher Boessenkool <segher@kernel.crashing.org>
|
||
PR target/80618
|
||
* config/rs6000/vector.md (*vector_uneq<mode>): Write the nor in the
|
||
splitter result in the canonical way.
|
||
|
||
2017-06-09 Segher Boessenkool <segher@kernel.crashing.org>
|
||
PR target/80966
|
||
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that
|
||
gen_add3_insn did not fail.
|
||
* config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to
|
||
r0, construct that number in a temporary reg and add that reg to r0.
|
||
If asked to put the result in r0 as well, fail.
|
||
|
||
2017-06-23 Segher Boessenkool <segher@kernel.crashing.org>
|
||
PR middle-end/80902
|
||
* builtins.c (expand_builtin_atomic_fetch_op): If emitting code after
|
||
a call, force the call to not be a tail call.
|
||
|
||
2017-06-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/81209
|
||
* ubsan.c (ubsan_encode_value): Initialize DECL_CONTEXT on var.
|
||
|
||
PR middle-end/81207
|
||
* gimple-fold.c (replace_call_with_call_and_fold): Handle
|
||
gimple_vuse copying separately from gimple_vdef copying.
|
||
|
||
2017-06-24 Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
* config/aarch64/aarch64-cost-tables.h (qdf24xx_extra_costs): Move to
|
||
here.
|
||
* config/arm/aarch-cost-tables.h (qdf24xx_extra_costs): From here.
|
||
* config/arm/arm-cpu-cdata.h: Regenerate.
|
||
* config/arm/arm-cpu-data.h, config/arm/arm-cpu.h: Likewise.
|
||
* config/arm/arm-tables.opt, config/arm/arm-tune.md: Likewise.
|
||
* config/arm/arm-cpus.in: Delete falkor and qdf24xx entries.
|
||
* config/arm/arm.c (arm_qdf24xx_tune): Delete.
|
||
* config/arm/bpabi.h (BE8_LINK_SPEC): Delete falkor and qdf24xx
|
||
support.
|
||
* config/arm/t-aprofile (MULTILIB_MATCHES): Delete falkor and qdf24xx
|
||
support.
|
||
* config/arm/t-rmprofile: Likewise.
|
||
* doc/invoke.texi (ARM Options): Drop falkor and qdf24xx support.
|
||
|
||
2017-06-24 Marek Polacek <polacek@redhat.com>
|
||
|
||
Backport from mainline
|
||
2017-05-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR tree-optimization/80612
|
||
* calls.c (get_size_range): Check for INTEGRAL_TYPE_P.
|
||
|
||
2017-06-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
Backport from mainline
|
||
2017-05-04 Prakhar Bahuguna <prakhar.bahuguna@arm.com>
|
||
|
||
* config/arm/arm-builtins.c (arm_init_builtins): Rename
|
||
__builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename
|
||
__builtin_arm_stfscr to __builtin_arm_set_fpscr.
|
||
|
||
2017-06-23 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR c++/81187
|
||
* doc/invoke.texi (-Wnoexcept-type): Fix name of option, from
|
||
-Wnoexcept.
|
||
|
||
2017-06-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-06-19 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/80879
|
||
* gimplify.c (gimplify_switch_expr):
|
||
Initialize live_switch_vars for SWITCH_BODY == STATEMENT_LIST.
|
||
|
||
2017-06-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-05-31 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/79155
|
||
* config/i386/cpuid.h: Fix typo in a comment in cpuid.h.
|
||
|
||
2017-06-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-05-30 Martin Liska <mliska@suse.cz>
|
||
|
||
PR other/80909
|
||
* auto-profile.c (get_function_decl_from_block): Fix
|
||
parenthesis.
|
||
|
||
2017-06-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-05-26 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/80663
|
||
* params.def: Bound partial-inlining-entry-probability param.
|
||
|
||
2017-06-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-05-16 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/79849.
|
||
PR ipa/79850.
|
||
* ipa-devirt.c (warn_types_mismatch): Fix typo.
|
||
(odr_types_equivalent_p): Likewise.
|
||
|
||
2017-06-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-05-15 Martin Liska <mliska@suse.cz>
|
||
|
||
PR driver/31468
|
||
* gcc.c (process_command): Do not allow empty argument of -o option.
|
||
|
||
2017-06-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-05-02 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/gcov.texi: Add missing preposition.
|
||
* gcov.c (function_info::function_info): Properly fill up
|
||
all member variables.
|
||
|
||
2017-06-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-05-02 Martin Liska <mliska@suse.cz>
|
||
|
||
PR other/80589
|
||
* common.opt: Fix typo.
|
||
* doc/invoke.texi: Likewise.
|
||
|
||
2017-06-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-04-28 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/gcov.texi: Enhance documentation of gcov.
|
||
|
||
2017-06-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-04-28 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/gcov.texi: Sort options in alphabetic order.
|
||
* doc/gcov-dump.texi: Likewise.
|
||
* doc/gcov-tool.texi: Likewise.
|
||
* gcov.c (print_usage): Likewise.
|
||
* gcov-dump.c (print_usage): Likewise.
|
||
* gcov-tool.c (print_merge_usage_message): Likewise.
|
||
(print_rewrite_usage_message): Likewise.
|
||
(print_overlap_usage_message): Likewise.
|
||
|
||
2017-06-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-04-28 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/53915
|
||
* gcov.c (format_gcov): Print 'NAN %' when top > bottom.
|
||
|
||
2017-06-22 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-04-28 Martin Liska <mliska@suse.cz>
|
||
|
||
PR driver/56469
|
||
* coverage.c (coverage_remove_note_file): New function.
|
||
* coverage.h: Declare the function.
|
||
* toplev.c (finalize): Clean if an error has been seen.
|
||
|
||
2017-06-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/81151
|
||
* config/i386/sse.md (round<mode>2): Renumber match_dup and
|
||
operands indexes to avoid gap between operands and match_dups.
|
||
|
||
PR c++/81130
|
||
* gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types
|
||
with ctors/dtors if GOVD_SHARED is set.
|
||
|
||
Backported from mainline
|
||
2017-06-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/81121
|
||
* config/i386/i386.md (TARGET_USE_VECTOR_CONVERTS float si->{sf,df}
|
||
splitter): Require TARGET_SSE2 in the condition.
|
||
|
||
PR sanitizer/81125
|
||
* ubsan.h (ubsan_encode_value): Workaround buggy clang++ parser
|
||
by removing enum keyword.
|
||
(ubsan_type_descriptor): Likewise. Formatting fix.
|
||
|
||
2017-06-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/81125
|
||
* ubsan.h (enum ubsan_encode_value_phase): New.
|
||
(ubsan_encode_value): Change second argument to
|
||
enum ubsan_encode_value_phase with default value of
|
||
UBSAN_ENCODE_VALUE_GENERIC.
|
||
* ubsan.c (ubsan_encode_value): Change second argument to
|
||
enum ubsan_encode_value_phase PHASE from bool IN_EXPAND_P,
|
||
adjust uses, for UBSAN_ENCODE_VALUE_GENERIC use just
|
||
create_tmp_var_raw instead of create_tmp_var and use a
|
||
TARGET_EXPR.
|
||
(ubsan_expand_bounds_ifn, ubsan_build_overflow_builtin,
|
||
instrument_bool_enum_load, ubsan_instrument_float_cast): Adjust
|
||
ubsan_encode_value callers.
|
||
|
||
PR sanitizer/81111
|
||
* ubsan.c (ubsan_encode_value): If current_function_decl is NULL,
|
||
use create_tmp_var_raw instead of create_tmp_var, mark it addressable
|
||
just by setting TREE_ADDRESSABLE on the result and use a TARGET_EXPR.
|
||
|
||
2017-06-20 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
Backport from Mainline
|
||
* config/aarch64/aarch64-option-extensions.def (fp16): Fix expected
|
||
feature string.
|
||
|
||
2017-06-20 Andreas Schwab <schwab@suse.de>
|
||
|
||
PR target/80970
|
||
* config/m68k/m68k.md (bsetdreg, bchgdreg, bclrdreg): Use "=d"
|
||
instead of "+d".
|
||
|
||
2017-06-19 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
Backport from mainline
|
||
2017-06-19 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
PR target/71778
|
||
* config/arm/arm-builtins.c (arm_expand_builtin_args): Return TARGET
|
||
if given a non-constant argument for an intrinsic which requires a
|
||
constant.
|
||
|
||
2017-06-19 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* doc/invoke.texi (mcx16): Rewrite.
|
||
|
||
2017-06-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/80474
|
||
* reorg.c (update_block): Do not ignore instructions in a delay slot.
|
||
|
||
2017-06-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/sparc/sparc.h (MASK_ISA): Add MASK_LEON and MASK_LEON3.
|
||
(MASK_FEATURES): New macro.
|
||
* config/sparc/sparc.c (sparc_option_override): Remove the special
|
||
handling of -mfpu and generalize it to all MASK_FEATURES switches.
|
||
|
||
2017-06-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/sparc/driver-sparc.c (cpu_names): Add SPARC-T5 entry.
|
||
|
||
2017-06-12 David S. Miller <davem@davemloft.net>
|
||
|
||
PR target/80968
|
||
* config/sparc/sparc.md (return expander): Emit frame blockage if
|
||
function uses alloca.
|
||
|
||
2017-06-08 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/81015
|
||
Revert:
|
||
2016-12-14 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/59874
|
||
* config/i386/i386.md (*ctzhi2): New insn_and_split pattern.
|
||
(*clzhi2): Ditto.
|
||
|
||
2017-06-08 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
Backport from mainline
|
||
2017-06-02 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE_STR): New.
|
||
(dl_section_ref): New.
|
||
(dwarf2out_finish): Copy debug_line_section_label to dl_section_ref.
|
||
On AIX, append an expression to subtract the size of the
|
||
section length to dl_section_ref.
|
||
|
||
2017-06-07 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2017-05-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80549
|
||
* tree-cfgcleanup.c (mfb_keep_latches): New helper.
|
||
(cleanup_tree_cfg_noloop): Create forwarders to known loop
|
||
headers if they do not have a preheader.
|
||
|
||
2017-05-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80842
|
||
* tree-ssa-ccp.c (set_lattice_value): Always meet with the old
|
||
value.
|
||
|
||
2017-05-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80906
|
||
* graphite-isl-ast-to-gimple.c (copy_loop_close_phi_nodes): Get
|
||
and pass through iv_map.
|
||
(copy_bb_and_scalar_dependences): Adjust.
|
||
(translate_pending_phi_nodes): Likewise.
|
||
(copy_loop_close_phi_args): Handle code-generating IVs instead
|
||
of ICEing.
|
||
|
||
2017-05-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80705
|
||
* tree-vect-data-refs.c (vect_analyze_data_refs): DECL_NONALIASED
|
||
bases are not vectorizable.
|
||
|
||
2017-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
Back port from mainline
|
||
2017-05-19 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/80718
|
||
* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Prefer
|
||
VSX registers over GPRs, particularly on ISA 2.07 which does not
|
||
have the MTVSRDD instruction.
|
||
|
||
2017-06-06 David S. Miller <davem@davemloft.net>
|
||
|
||
PR target/80968
|
||
* config/sparc/sparc.c (sparc_expand_prologue): Emit frame
|
||
blockage if function uses alloca.
|
||
|
||
2017-06-05 Volker Reichelt <v.reichelt@netcologne.de>
|
||
|
||
* doc/invoke.texi (-Wduplicated-branches): Add to warning list.
|
||
|
||
2017-06-02 Prakhar Bahuguna <prakhar.bahuguna@arm.com>
|
||
|
||
Backport from mainline
|
||
2017-05-05 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
Prakhar Bahuguna <prakhar.bahuguna@arm.com>
|
||
|
||
PR target/71607
|
||
* config/arm/arm.md (use_literal_pool): Remove.
|
||
(64-bit immediate split): No longer takes cost into consideration
|
||
if arm_disable_literal_pool is enabled.
|
||
* config/arm/arm.c (arm_tls_referenced_p): Add diagnostic if TLS is
|
||
used when arm_disable_literal_pool is enabled.
|
||
(arm_max_const_double_inline_cost): Remove use of
|
||
arm_disable_literal_pool.
|
||
(push_minipool_fix): Add assert.
|
||
(arm_reorg): Add return if arm_disable_literal_pool is enabled.
|
||
* config/arm/vfp.md (no_literal_pool_df_immediate): New.
|
||
(no_literal_pool_sf_immediate): New.
|
||
|
||
2017-06-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/80903
|
||
* loop-doloop.c (add_test): Unshare sequence.
|
||
|
||
2017-05-31 Martin Jambor <mjambor@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-04-24 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/80293
|
||
* tree-sra.c (scalarizable_type_p): New parameter const_decl, make
|
||
char arrays not totally scalarizable if it is false.
|
||
(analyze_all_variable_accesses): Pass correct value in the new
|
||
parameter. Add a statistics counter.
|
||
|
||
2017-05-30 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
Backport from mainline
|
||
2017-05-29 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
* config/xtensa/xtensa.c (xtensa_emit_call): Use
|
||
HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string.
|
||
(print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld
|
||
format string.
|
||
|
||
2017-05-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/install.texi (Options specification): Restore entry of
|
||
--enable-sjlj-exceptions.
|
||
|
||
2017-05-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-05-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR target/80725
|
||
* config/s390/s390.c (s390_check_qrst_address): Check incoming
|
||
address against address_operand predicate.
|
||
* config/s390/s390.md ("*indirect_jump"): Swap alternatives.
|
||
|
||
2017-05-28 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Backport from mainline
|
||
2017-05-23 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*movdi_internal): Remove SSE4
|
||
alternative 18 (?r, *v). Update insn attributes.
|
||
(*movsi_internal): Remove SSE4 alternative 13 (?r, *v).
|
||
Update insn attributes.
|
||
(*zero_extendsidi2): Remove SSE4 alternative (?r, *x).
|
||
Update insn attributes.
|
||
* config/i386/sse.md (vec_extract<ssevecmodelower>_0): Remove SSE4
|
||
alternative 1 (r, v). Remove isa attribute.
|
||
* config/i386/i386.c (dimode_scalar_chain::make_vector_copies):
|
||
Always move value through stack for !TARGET_INTER_UNIT_MOVES_TO_VEC
|
||
and !TARGET_INTER_UNIT_MOVES_TO_VEC targets.
|
||
|
||
2017-05-16 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*movsi_internal): Split (?rm,*y) alternative
|
||
to (?r,*Yn) and (?m,*y) alternatives, and (?*y,rm) to (?*Ym,r)
|
||
and (?*y,m). Update insn attributes.
|
||
|
||
2017-05-26 Sheldon Lobo <smlobo@sheldon.us.oracle.com>
|
||
|
||
Backported from mainline
|
||
2017-05-24 Sheldon Lobo <smlobo@sheldon.us.oracle.com>
|
||
|
||
* config/sparc/sparc.md (length): Return the correct value for -mflat
|
||
sibcalls to match output_sibcall.
|
||
|
||
2017-05-26 Marek Polacek <polacek@redhat.com>
|
||
|
||
Backported from mainline
|
||
2017-05-26 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/80875
|
||
* fold-const.c (fold_binary_loc) <case MULT_EXPR>: Check if OP1
|
||
can be negated.
|
||
|
||
2017-05-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from mainline
|
||
2017-05-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/80809
|
||
* omp-low.c (finish_taskreg_remap): New function.
|
||
(finish_taskreg_scan): If unit size of ctx->record_type
|
||
is non-constant, unshare the size expression and replace
|
||
decls in it with possible outer var refs.
|
||
|
||
PR middle-end/80809
|
||
* gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use
|
||
GOVD_SHARED rather than GOVD_PRIVATE with it.
|
||
(gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect
|
||
GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE.
|
||
|
||
PR middle-end/80853
|
||
* omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE
|
||
as last argument to build_outer_var_ref for pointer bases of array
|
||
section reductions.
|
||
|
||
2017-05-25 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
Backport from trunk
|
||
2017-05-18 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/80510
|
||
* config/rs6000/predicates.md (simple_offsettable_mem_operand):
|
||
New predicate.
|
||
|
||
* config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator.
|
||
(define_peephole2 for Altivec d-form load): Add peepholes to catch
|
||
cases where the register allocator uses a move and an offsettable
|
||
memory operation to/from a FPR register on ISA 2.06/2.07.
|
||
(define_peephole2 for Altivec d-form store): Likewise.
|
||
|
||
Backport from trunk
|
||
2017-05-09 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/68163
|
||
* config/rs6000/rs6000.md (f32_lr): Delete mode attributes that
|
||
are now unused after splitting mov{sf,sd}_hardfloat.
|
||
(f32_lr2): Likewise.
|
||
(f32_lm): Likewise.
|
||
(f32_lm2): Likewise.
|
||
(f32_li): Likewise.
|
||
(f32_li2): Likewise.
|
||
(f32_lv): Likewise.
|
||
(f32_sr): Likewise.
|
||
(f32_sr2): Likewise.
|
||
(f32_sm): Likewise.
|
||
(f32_sm2): Likewise.
|
||
(f32_si): Likewise.
|
||
(f32_si2): Likewise.
|
||
(f32_sv): Likewise.
|
||
(f32_dm): Likewise.
|
||
(f32_vsx): Likewise.
|
||
(f32_av): Likewise.
|
||
(mov<mode>_hardfloat): Split into separate movsf and movsd pieces.
|
||
For movsf, order stores so the VSX stores occur before the GPR
|
||
store which encourages the register allocator to use a traditional
|
||
FPR instead of a GPR. For movsd, order the stores so that the GPR
|
||
store comes before the VSX stores to allow the power6 to work.
|
||
This is due to the power6 not having a 32-bit integer store
|
||
instruction from a FPR.
|
||
(movsf_hardfloat): Likewise.
|
||
(movsd_hardfloat): Likewise.
|
||
|
||
2017-05-25 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
Backport from mainlin
|
||
PR rtl-optimization/80754
|
||
* lra-remat.c (do_remat): Add overlap checks for dst_regno.
|
||
|
||
2017-05-25 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
Backport from mainline
|
||
PR target/80671
|
||
* config/aarch64/cortex-a57-fma-steering.c (merge_forest):
|
||
Move member access before delete.
|
||
|
||
2017-05-23 Sheldon Lobo <sheldon.lobo@oracle.com>
|
||
|
||
Backport from mainline
|
||
2017-05-18 Sheldon Lobo <sheldon.lobo@oracle.com>
|
||
|
||
* config/sparc/sparc.c (sparc_option_override): Set function
|
||
alignment for -mcpu=niagara7 to 64 to match the I$ line.
|
||
* config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch
|
||
latency to 1.
|
||
* config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch
|
||
latency to 2.
|
||
* config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo.
|
||
|
||
2017-05-19 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Backport from mainline
|
||
2017-05-18 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/80799
|
||
* config/i386/mmx.md (*mov<mode>_internal): Enable
|
||
alternatives 11, 12, 13 and 14 also for 32bit targets.
|
||
Remove alternatives 15, 16, 17 and 18.
|
||
* config/i386/sse.md (vec_concatv2di): Change
|
||
alternative (!x, *y) to (x, ?!*Yn).
|
||
|
||
2017-05-14 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Backport from mainline
|
||
2017-05-11 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/80706
|
||
* config/i386/sync.md (UNSPEC_LDX_ATOMIC): New unspec.
|
||
(UNSPEC_STX_ATOMIC): Ditto.
|
||
(loaddi_via_sse): New insn.
|
||
(storedi_via_sse): Ditto.
|
||
(atomic_loaddi_fpu): Emit loaddi_via_sse and storedi_via_sse.
|
||
Update corresponding peephole2 patterns.
|
||
(atomic_storedi_fpu): Ditto.
|
||
|
||
2017-05-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-05-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_vect_nonmem): New static var.
|
||
(rs6000_init_cost): Initialize rs6000_vect_nonmem.
|
||
(rs6000_add_stmt_cost): Update rs6000_vect_nonmem.
|
||
(rs6000_finish_cost): Avoid vectorizing simple copy loops with
|
||
VF=2 that require versioning.
|
||
|
||
2017-05-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8
|
||
built-ins for vec_xl and vec_xst with short and char pointer
|
||
arguments.
|
||
|
||
2017-05-10 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR target/80090
|
||
* config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF,
|
||
handle calling assemble_external ourself.
|
||
|
||
PR target/79027
|
||
* config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from
|
||
modes with zero size. Enhance comment.
|
||
|
||
2017-05-09 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
Back port from mainline
|
||
2017-05-05 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/79038
|
||
PR target/79202
|
||
PR target/79203
|
||
* config/rs6000/rs6000.md (u code attribute): Add FIX and
|
||
UNSIGNED_FIX.
|
||
(extendsi<mode>2): Add support for doing sign extension via
|
||
VUPKHSW and XXPERMDI if the value is in Altivec registers and we
|
||
don't have ISA 3.0 instructions.
|
||
(extendsi<mode>2 splitter): Likewise.
|
||
(fix_trunc<mode>si2): If we are at ISA 2.07 (VSX small integer),
|
||
generate the normal insns since SImode can now go in vector
|
||
registers. Disallow the special UNSPECs needed for previous
|
||
machines to hide SImode being used. Add new insns
|
||
fctiw{,w}_<mode>_smallint if SImode can go in vector registers.
|
||
(fix_trunc<mode>si2_stfiwx): Likewise.
|
||
(fix_trunc<mode>si2_internal): Likewise.
|
||
(fixuns_trunc<mode>si2): Likewise.
|
||
(fixuns_trunc<mode>si2_stfiwx): Likewise.
|
||
(fctiw<u>z_<mode>_smallint): Likewise.
|
||
(fctiw<u>z_<mode>_mem): New combiner pattern to prevent conversion
|
||
of floating point to 32-bit integer from doing a direct move to
|
||
the GPR registers to do a store.
|
||
(fctiwz_<mode>): Break long line.
|
||
|
||
2017-05-08 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR middle-end/79665
|
||
* expr.c (expand_expr_real_2): Move TRUNC_MOD_EXPR, FLOOR_MOD_EXPR,
|
||
CEIL_MOD_EXPR, ROUND_MOD_EXPR cases.
|
||
|
||
2017-05-03 Jan Beulich <jbeulich@suse.com>
|
||
|
||
Backport from mainline
|
||
2017-05-01 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* config/i386/sse.md (xop_vpermil2<mode>3): Do not allow operand
|
||
swapping, add (x,x,m,x,n) alternative.
|
||
|
||
2017-05-03 Richard Biener <rguenther@suse.de>
|
||
|
||
Backport from mainline
|
||
2017-04-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80453
|
||
* tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members.
|
||
* tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs
|
||
from the conditions.
|
||
(vn_phi_eq): Pass them down.
|
||
(vn_phi_lookup): Record them.
|
||
(vn_phi_insert): Likewise.
|
||
|
||
2017-04-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80492
|
||
* alias.c (compare_base_decls): Handle registers with asm
|
||
specification conservatively.
|
||
|
||
2017-04-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/80539
|
||
* tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not
|
||
being in loop-closed SSA form conservatively.
|
||
(chrec_fold_multiply_poly_poly): Likewise.
|
||
|
||
2017-05-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Backport from mainline
|
||
2017-05-01 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/68491
|
||
* config/i386/cpuid.h (__get_cpuid): Always return 0 when
|
||
__get_cpuid_max returns 0.
|
||
(__get_cpuid_count): Ditto.
|
||
|
||
2017-05-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from mainline
|
||
2017-04-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the
|
||
environment.
|
||
|
||
2017-05-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* BASE-VER: Set to 7.1.1.
|
||
|
||
2017-05-02 Release Manager
|
||
|
||
* GCC 7.1.0 released.
|
||
|
||
2017-05-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80591
|
||
Revert
|
||
2017-04-10 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-structalias.c (find_func_aliases): Properly handle
|
||
asm inputs.
|
||
|
||
2017-04-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/80531
|
||
* cgraph.h (symtab_node::debug_symtab): No longer inline.
|
||
* symtab.c (symtab_node::debug_symtab): Move definition here.
|
||
|
||
2017-04-27 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/80530
|
||
* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Ensure
|
||
that the logic for permitting reciprocal estimates matches that
|
||
in use_rsqrt_p.
|
||
|
||
2017-04-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/80534
|
||
* tree.c (type_cache_hasher::equal): Only compare
|
||
TYPE_TYPELESS_STORAGE flag on non-aggregate element types.
|
||
(build_array_type_1): Only hash TYPE_TYPELESS_STORAGE flag on
|
||
non-aggregate element types.
|
||
* tree.h (TYPE_TYPELESS_STORAGE): Fix comment typo, add more details
|
||
about the flag on ARRAY_TYPEs in the comment, formatting fix.
|
||
|
||
PR target/79430
|
||
* reg-stack.c (emit_swap_insn): If i1src mentions the stack pointer,
|
||
punt if tmp contains autoinc of stack pointer.
|
||
|
||
PR target/77728
|
||
* config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): Remove.
|
||
(aarch64_function_arg_alignment): Return unsigned int again, but still
|
||
ignore TYPE_FIELDS chain decls other than FIELD_DECLs.
|
||
(aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
|
||
Don't emit -Wpsabi note.
|
||
(aarch64_function_arg_boundary): Likewise.
|
||
(aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
|
||
caller.
|
||
|
||
2017-04-25 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/80497
|
||
* gimple-ssa-sprintf.c (get_int_range): Avoid assuming all integer
|
||
constants are representable in HOST_WIDE_INT.
|
||
(parse_directive): Ditto.
|
||
|
||
2017-04-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
2017-04-25 Marek Polacek <polacek@redhat.com>
|
||
Backport from mainline
|
||
|
||
PR sanitizer/80349
|
||
* fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
|
||
first argument to type.
|
||
|
||
2017-04-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/77728
|
||
* config/arm/arm.c: Include gimple.h.
|
||
(aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align
|
||
returns negative, increment ncrn only if it returned positive.
|
||
(arm_needs_doubleword_align): Return int instead of bool,
|
||
ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain
|
||
members, but if there is any such non-FIELD_DECL
|
||
> PARM_BOUNDARY aligned decl, return -1 instead of false.
|
||
(arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align
|
||
returns negative, increment nregs only if it returned positive.
|
||
(arm_setup_incoming_varargs): Likewise.
|
||
(arm_function_arg_boundary): Emit -Wpsabi note if
|
||
arm_needs_doubleword_align returns negative, return
|
||
DOUBLEWORD_ALIGNMENT only if it returned positive.
|
||
|
||
2017-04-25 Bill Seurer <seurer@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
PR target/80482
|
||
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Change
|
||
type checks to test for compatibility instead of equality.
|
||
|
||
2017-04-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/77728
|
||
* config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): New
|
||
type.
|
||
(aarch64_function_arg_alignment): Return aarch64_fn_arg_alignment
|
||
struct. Ignore DECL_ALIGN of decls other than FIELD_DECL for
|
||
the alignment computation, but return their maximum in warn_alignment.
|
||
(aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
|
||
Emit a -Wpsabi note if warn_alignment is 16 bytes, but alignment
|
||
is smaller.
|
||
(aarch64_function_arg_boundary): Likewise. Simplify using MIN/MAX.
|
||
(aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
|
||
caller.
|
||
|
||
2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR target/80464
|
||
* config/s390/vector.md: Split MEM->GPR vector moves for
|
||
non-s_operand addresses.
|
||
|
||
2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR target/79895
|
||
* config/s390/predicates.md (reload_const_wide_int_operand): New
|
||
predicate.
|
||
* config/s390/s390.md ("movti"): Remove d/P alternative.
|
||
("movti_bigconst"): New pattern definition.
|
||
|
||
2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
Backport from maineline
|
||
2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
PR target/80080
|
||
* s390-protos.h (s390_expand_cs_hqi): Removed.
|
||
(s390_expand_cs, s390_expand_atomic_exchange_tdsi): New prototypes.
|
||
* config/s390/s390.c (s390_emit_compare_and_swap): Handle all integer
|
||
modes as well as CCZ1mode and CCZmode.
|
||
(s390_expand_atomic_exchange_tdsi, s390_expand_atomic): Adapt to new
|
||
signature of s390_emit_compare_and_swap.
|
||
(s390_expand_cs_hqi): Likewise, make static.
|
||
(s390_expand_cs_tdsi): Generate an explicit compare before trying
|
||
compare-and-swap, in some cases.
|
||
(s390_expand_cs): Wrapper function.
|
||
(s390_expand_atomic_exchange_tdsi): New backend specific expander for
|
||
atomic_exchange.
|
||
(s390_match_ccmode_set): Allow CCZmode <-> CCZ1 mode.
|
||
* config/s390/s390.md ("atomic_compare_and_swap<mode>"): Merge the
|
||
patterns for small and large integers. Forbid symref memory operands.
|
||
Move expander to s390.c. Require cc register.
|
||
("atomic_compare_and_swap<DGPR:mode><CCZZ1:mode>_internal")
|
||
("*atomic_compare_and_swap<TDI:mode><CCZZ1:mode>_1")
|
||
("*atomic_compare_and_swapdi<CCZZ1:mode>_2")
|
||
("*atomic_compare_and_swapsi<CCZZ1:mode>_3"): Use s_operand to forbid
|
||
symref memory operands. Remove CC mode and call s390_match_ccmode
|
||
instead.
|
||
("atomic_exchange<mode>"): Allow and implement all integer modes.
|
||
|
||
2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md (define_peephole2): New peephole to help
|
||
combining the load-and-test pattern with volatile memory.
|
||
|
||
|
||
2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
Backport from mainline
|
||
2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("cstorecc4"): Use load-on-condition and deal
|
||
with CCZmode for TARGET_Z196.
|
||
|
||
2017-04-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/80501
|
||
* combine.c (make_compound_operation_int): Set subreg_code to SET
|
||
even for AND with mask of the sign bit of mode.
|
||
|
||
PR rtl-optimization/80500
|
||
* loop-unroll.c (combine_var_copies_in_loop_exit): Call copy_rtx on
|
||
sum's initial value.
|
||
|
||
2017-04-24 Martin Liska <mliska@suse.cz>
|
||
|
||
Backport from mainline
|
||
2017-04-24 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/79931
|
||
* ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE.
|
||
|
||
2017-04-20 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
Backport from mainline
|
||
2017-04-20 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* omp-low.c (lower_lastprivate_clauses): Correct handling of linear
|
||
and lastprivate clauses in SIMT case.
|
||
|
||
2017-04-20 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
Backport from mainline
|
||
2017-04-20 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* config/mips/mips.c (mips_expand_vec_perm_const): Re-fix
|
||
uninitialized variable warning to avoid buffer overrun.
|
||
|
||
2017-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* DEV-PHASE: Set to prerelease.
|
||
|
||
2017-04-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* config/arm/arm.c (arm_elf_asm_cdtor): Create non-default
|
||
priority .init_array and .fini_array section with SECTION_NOTYPE
|
||
flag.
|
||
|
||
2017-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/80423
|
||
* tree.h (build_array_type): Add typeless_storage default argument.
|
||
* tree.c (type_cache_hasher::equal): Also compare
|
||
TYPE_TYPELESS_STORAGE flag for ARRAY_TYPEs.
|
||
(build_array_type): Add typeless_storage argument, set
|
||
TYPE_TYPELESS_STORAGE to it, if shared also hash it, and pass to
|
||
recursive call.
|
||
(build_nonshared_array_type): Adjust build_array_type_1 caller.
|
||
(build_array_type): Likewise. Add typeless_storage argument.
|
||
|
||
2017-04-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/80426
|
||
* tree-vrp.c (extract_range_from_binary_expr_1): For an additive
|
||
operation on symbolic operands, also compute the overflow for the
|
||
invariant part when the operation degenerates into a negation.
|
||
|
||
2017-04-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/80461
|
||
* dwarf2out.c (modified_type_die, gen_type_die_with_usage):
|
||
Check for t with zero TYPE_QUALS_NO_ADDR_SPACE.
|
||
|
||
PR debug/80436
|
||
* tree-ssa-loop-manip.c (find_uses_to_rename_def): Ignore debug uses.
|
||
|
||
2017-04-19 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/80462
|
||
* config/avr/avr.c (tree.h): Include it.
|
||
(cgraph.h): Include it.
|
||
(avr_encode_section_info): Don't warn for uninitialized progmem
|
||
variable if it's just an alias.
|
||
|
||
2017-04-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/65972
|
||
* auto-profile.c (afdo_vpt_for_early_inline): Update SSA
|
||
when needed by AutoPGO.
|
||
|
||
2017-04-19 Paulo J. Matos <paulo@matos-sorge.com>
|
||
|
||
PR lto/50345
|
||
* doc/lto.texi: Remove an extra 'that'.
|
||
|
||
2017-04-19 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/80429
|
||
* ira.c (split_live_ranges_for_shrink_wrap): Don't split regs that
|
||
are only used in debug insns.
|
||
|
||
2017-04-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
* config/sparc/predicates.md (input_operand): Add comment. Return
|
||
true for any memory operand when LRA is in progress.
|
||
* config/sparc/sparc.c (sparc_expand_move): Minor formatting fix.
|
||
|
||
2017-04-18 Jeff Law <law@redhat.com>
|
||
|
||
PR target/74563
|
||
* mips.md ({return,simple_return}_internal): Do not overwrite
|
||
operands[0].
|
||
|
||
2017-04-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/80443
|
||
* tree-vrp.c (intersect_ranges): For signed 1-bit precision type,
|
||
instead of adding 1, subtract -1 and similarly instead of subtracting
|
||
1 add -1.
|
||
|
||
2017-04-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/80357
|
||
* haifa-sched.c (tmp_bitmap): New variable.
|
||
(model_recompute): Handle duplicate use records.
|
||
(alloc_global_sched_pressure_data): Initialize tmp_bitmap.
|
||
(free_global_sched_pressure_data): Free it.
|
||
|
||
2017-04-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
Revert:
|
||
2017-02-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
* Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
|
||
(LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
|
||
instead of SYSTEM_HEADER_DIR.
|
||
|
||
2017-04-18 Jeff Law <law@redhat.com>
|
||
|
||
PR middle-end/80422
|
||
* cfgcleanup.c (try_crossjump_to_edge): Verify SRC1 and SRC2 have
|
||
predecessors after walking up the insn chain.
|
||
|
||
2017-04-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/80263
|
||
* dwarf2out.c (modified_type_die): Try harder not to emit internal
|
||
sizetype type into debug info.
|
||
|
||
2017-04-18 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/80099
|
||
* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Eliminate
|
||
unneeded test for TARGET_UPPER_REGS_SF.
|
||
* config/rs6000/vsx.md (vsx_extract_v4sf_var): Likewise.
|
||
|
||
2017-04-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/80444
|
||
* sancov.c (sancov_pass): Use gsi_start_nondebug_after_labels_bb
|
||
instead of gsi_after_labels.
|
||
|
||
2017-04-18 Jeff Law <law@redhat.com>
|
||
|
||
* regcprop.c (maybe_mode_change): Avoid creating copies of the
|
||
stack pointer.
|
||
|
||
Revert:
|
||
2017-04-13 Jeff Law <law@redhat.com>
|
||
* config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
|
||
in operands[1] if it is a MEM and TARGET_MIPS16 is active.
|
||
|
||
2017-04-18 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/79453
|
||
* config/avr/avr.c (intl.h): Include it.
|
||
(avr_pgm_check_var_decl) [reason]: Wrap diagnostic snippets into _().
|
||
|
||
2017-04-18 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/78783
|
||
* gcov-tool.c (gcov_output_files): Validate that destination
|
||
file is either removed by the tool or by a user.
|
||
|
||
2017-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
Guy Benyei <guybe@mellanox.com>
|
||
|
||
* config/arc/arc.c (arc_reorg): Move loop_end_id into a more local
|
||
block, and do not negate it, the stored id is already negative.
|
||
|
||
2017-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
* config/arc/arc.md (doloop_begin_i): Use @pcl assembler syntax.
|
||
|
||
2017-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/80098
|
||
* config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS): Define
|
||
masks of options that should be turned off if the VSX vector
|
||
options are turned off.
|
||
(OTHER_P8_VECTOR_MASKS): Likewise.
|
||
(OTHER_VSX_VECTOR_MASKS): Likewise.
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Call
|
||
rs6000_disable_incompatible_switches to validate no type switches
|
||
like -mvsx.
|
||
(rs6000_incompatible_switch): New function to disallow turning on
|
||
other vector options if -mno-vsx, -mno-power8-vector, or
|
||
-mno-power9-vector are specified.
|
||
|
||
2017-04-14 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.h (CRT_CALL_STATIC_FUNCTION): Use long calls.
|
||
|
||
2017-04-14 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc-protos.h (arc_decl_pretend_args): Remove.
|
||
* config/arc/arc.c (arc_decl_pretend_args): Likewise.
|
||
* config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise.
|
||
(ARG_POINTER_CFA_OFFSET): Likewise.
|
||
|
||
2017-04-14 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (arc_mode_dependent_address_p): Relax
|
||
conditions to take advantage of various optimizations.
|
||
|
||
2017-04-13 Jeff Law <law@redhat.com>
|
||
|
||
* config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
|
||
in operands[1] if it is a MEM and TARGET_MIPS16 is active.
|
||
(zero_extendsidi2_dext): Likewise.
|
||
|
||
2017-04-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/80403
|
||
* fold-const.c (fold_ternary_loc): Revert
|
||
use op0 instead of fold_convert_loc (loc, type, arg0) part of
|
||
2017-04-12 change.
|
||
|
||
2017-04-13 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/80343
|
||
* lra-remat.c (update_scratch_ops): Assign original hard reg to
|
||
new scratch pseudo.
|
||
|
||
2017-04-13 Denis Khalikov <d.khalikov@partner.samsung.com>
|
||
|
||
PR sanitizer/80414
|
||
* ubsan.c (ubsan_expand_bounds_ifn): Pass original index
|
||
to ubsan_encode_value.
|
||
|
||
2017-04-13 Jeff Law <law@redhat.com>
|
||
|
||
* reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs
|
||
appearing in DEBUG_INSNs.
|
||
|
||
2017-04-13 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/80413
|
||
* gcov-io.c (gcov_write_string): Copy to buffer just when
|
||
allocated size is greater than zero.
|
||
|
||
2017-04-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/80321
|
||
* dwarf2out.c (decls_for_scope): Ignore declarations of
|
||
current_function_decl in BLOCK_NONLOCALIZED_VARS.
|
||
|
||
2017-04-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/69953
|
||
* ipa-visibility.c (non_local_p): Fix typos.
|
||
(localize_node): When localizing symbol in same comdat group,
|
||
dissolve the group only when we know external symbols are going
|
||
to be privatized.
|
||
(function_and_variable_visibility): Do not localize DECL_EXTERNAL.
|
||
|
||
2017-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79390
|
||
* optabs.c (emit_conditional_move): If the preferred op2/op3 operand
|
||
order does not result in usable sequence, retry with reversed operand
|
||
order.
|
||
|
||
PR sanitizer/80403
|
||
PR sanitizer/80404
|
||
PR sanitizer/80405
|
||
* fold-const.c (fold_ternary_loc): Use op1 instead of arg1 as argument
|
||
to fold_build2_loc. Convert TREE_OPERAND (tem, 0) to type. Use
|
||
op0 instead of fold_convert_loc (loc, type, arg0).
|
||
|
||
2017-04-12 Jeff Law <law@redhat.com>
|
||
|
||
* genattrtab.c (write_eligible_delay): Verify DELAY_INSN still
|
||
has a delay slot in the generated code.
|
||
|
||
* config/cris/cris.md (cris_preferred_reload_class): Return
|
||
GENNONACR_REGS rather than GENERAL_REGS.
|
||
|
||
2017-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/80163
|
||
* expr.c <CASE_CONVERT>: For EXPAND_INITIALIZER determine SIGN_EXTEND
|
||
vs. ZERO_EXTEND based on signedness of treeop0's type rather than
|
||
signedness of the result type.
|
||
|
||
2017-04-12 Richard Biener <rguenther@suse.de>
|
||
Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/80359
|
||
* tree-ssa-dse.c (maybe_trim_partially_dead_store): Do not
|
||
trim stores to TARGET_MEM_REFs.
|
||
|
||
2017-04-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79390
|
||
* gimple-ssa-split-paths.c (is_feasible_trace): Restrict
|
||
threading case even more.
|
||
|
||
2017-04-12 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/80382
|
||
* config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test
|
||
for quad_address_p for TImode, instead of just not indexed_address.
|
||
|
||
2017-04-12 Richard Biener <rguenther@suse.de>
|
||
Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR middle-end/79671
|
||
* alias.c (component_uses_parent_alias_set_from): Handle
|
||
TYPE_TYPELESS_STORAGE.
|
||
(get_alias_set): Likewise.
|
||
* tree-core.h (tree_type_common): Add typeless_storage flag.
|
||
* tree.h (TYPE_TYPELESS_STORAGE): New macro.
|
||
* stor-layout.c (place_union_field): Set TYPE_TYPELESS_STORAGE
|
||
for types containing members with TYPE_TYPELESS_STORAGE.
|
||
(place_field): Likewise.
|
||
(layout_type): Likewise for ARRAY_TYPE.
|
||
* lto-streamer-out.c (hash_tree): Hash TYPE_TYPELESS_STORAGE.
|
||
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream
|
||
TYPE_TYPELESS_STORAGE.
|
||
* tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
|
||
|
||
2017-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/80349
|
||
* fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
|
||
first argument to type.
|
||
|
||
2017-04-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/80376
|
||
PR target/80315
|
||
* config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
|
||
CONST0_RTX (mode) rather than const0_rtx where appropriate.
|
||
(rs6000_expand_binop_builtin): Likewise.
|
||
(rs6000_expand_ternop_builtin): Likewise; also add missing
|
||
vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for
|
||
vshasigma built-ins.
|
||
* doc/extend.texi: Document that vec_xxpermdi's third argument
|
||
must be a constant.
|
||
|
||
2017-04-11 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
|
||
Use shift_const cost parameter when calculating gain of STV shifts.
|
||
|
||
2017-04-11 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/70478
|
||
* lra-constraints.c (process_alt_operands): Check memory for
|
||
disfavoring memory insn operand.
|
||
|
||
2017-04-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/80100
|
||
* simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Perform
|
||
left shift in unsigned HOST_WIDE_INT type.
|
||
|
||
PR rtl-optimization/80385
|
||
* simplify-rtx.c (simplify_unary_operation_1): Don't transform
|
||
(not (neg X)) into (plus X -1) for complex or non-integral modes.
|
||
|
||
PR libgomp/80394
|
||
* omp-low.c (scan_omp_task): Don't optimize away empty tasks
|
||
if they have any depend clauses.
|
||
|
||
2017-04-11 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/80212
|
||
* cgraph.c (cgraph_node::dump): Dump calls_comdat_local.
|
||
* ipa-split.c (split_function): Create a local comdat symbol
|
||
if caller is in a comdat group.
|
||
|
||
2017-04-11 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/80212
|
||
* ipa-cp.c (determine_versionability): Handle calls_comdat_local
|
||
flags.
|
||
|
||
2017-04-11 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/80364
|
||
* gimple-ssa-sprintf.c (get_int_range): Remove second argument and
|
||
always use the int type. Use INTEGRAL_TYPE_P() rather than testing
|
||
for INTEGER_TYPE.
|
||
(directive::set_width, directive::set_precision, format_character):
|
||
Adjust.
|
||
(parse_directive): Use INTEGRAL_TYPE_P() rather than testing for
|
||
INTEGER_TYPE.
|
||
|
||
2017-04-11 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/80389
|
||
* config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch
|
||
conflict, set target->arch_name instead of target->cpu_name.
|
||
|
||
2017-04-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80374
|
||
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Use
|
||
build_zero_cst, remove fold_convertible_p check again.
|
||
|
||
2017-04-11 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/70878
|
||
* ubsan.c (instrument_object_size): Do not instrument register
|
||
variables.
|
||
|
||
2017-04-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/80381
|
||
* config/i386/i386-builtin-types.def
|
||
(V16HI_FTYPE_V16HI_INT_V16HI_UHI_COUNT,
|
||
V16HI_FTYPE_V16HI_V8HI_V16HI_UHI_COUNT,
|
||
V16SI_FTYPE_V16SI_INT_V16SI_UHI_COUNT,
|
||
V16SI_FTYPE_V16SI_V4SI_V16SI_UHI_COUNT,
|
||
V2DI_FTYPE_V2DI_INT_V2DI_UQI_COUNT,
|
||
V2DI_FTYPE_V2DI_V2DI_V2DI_UQI_COUNT,
|
||
V32HI_FTYPE_V32HI_INT_V32HI_USI_COUNT,
|
||
V32HI_FTYPE_V32HI_V8HI_V32HI_USI_COUNT,
|
||
V4DI_FTYPE_V4DI_INT_V4DI_UQI_COUNT,
|
||
V4DI_FTYPE_V4DI_V2DI_V4DI_UQI_COUNT,
|
||
V4SI_FTYPE_V4SI_INT_V4SI_UQI_COUNT,
|
||
V4SI_FTYPE_V4SI_V4SI_V4SI_UQI_COUNT,
|
||
V8DI_FTYPE_V8DI_INT_V8DI_UQI_COUNT,
|
||
V8DI_FTYPE_V8DI_V2DI_V8DI_UQI_COUNT,
|
||
V8HI_FTYPE_V8HI_INT_V8HI_UQI_COUNT,
|
||
V8HI_FTYPE_V8HI_V8HI_V8HI_UQI_COUNT,
|
||
V8SI_FTYPE_V8SI_INT_V8SI_UQI_COUNT,
|
||
V8SI_FTYPE_V8SI_V4SI_V8SI_UQI_COUNT): New function type aliases.
|
||
* config/i386/i386-builtin.def (__builtin_ia32_pslld512_mask,
|
||
__builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask,
|
||
__builtin_ia32_psllqi512_mask, __builtin_ia32_psrad512_mask,
|
||
__builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask,
|
||
__builtin_ia32_psraqi512_mask, __builtin_ia32_psrld512_mask,
|
||
__builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask,
|
||
__builtin_ia32_psrlqi512_mask, __builtin_ia32_psllwi128_mask,
|
||
__builtin_ia32_pslldi128_mask, __builtin_ia32_psllqi128_mask,
|
||
__builtin_ia32_psllw128_mask, __builtin_ia32_pslld128_mask,
|
||
__builtin_ia32_psllq128_mask, __builtin_ia32_psllwi256_mask,
|
||
__builtin_ia32_psllw256_mask, __builtin_ia32_pslldi256_mask,
|
||
__builtin_ia32_pslld256_mask, __builtin_ia32_psllqi256_mask,
|
||
__builtin_ia32_psllq256_mask, __builtin_ia32_psradi128_mask,
|
||
__builtin_ia32_psrad128_mask, __builtin_ia32_psradi256_mask,
|
||
__builtin_ia32_psrad256_mask, __builtin_ia32_psraqi128_mask,
|
||
__builtin_ia32_psraq128_mask, __builtin_ia32_psraqi256_mask,
|
||
__builtin_ia32_psraq256_mask, __builtin_ia32_psrldi128_mask,
|
||
__builtin_ia32_psrld128_mask, __builtin_ia32_psrldi256_mask,
|
||
__builtin_ia32_psrld256_mask, __builtin_ia32_psrlqi128_mask,
|
||
__builtin_ia32_psrlq128_mask, __builtin_ia32_psrlqi256_mask,
|
||
__builtin_ia32_psrlq256_mask, __builtin_ia32_psrawi256_mask,
|
||
__builtin_ia32_psraw256_mask, __builtin_ia32_psrawi128_mask,
|
||
__builtin_ia32_psraw128_mask, __builtin_ia32_psrlwi256_mask,
|
||
__builtin_ia32_psrlw256_mask, __builtin_ia32_psrlwi128_mask,
|
||
__builtin_ia32_psrlw128_mask, __builtin_ia32_psllwi512_mask,
|
||
__builtin_ia32_psllw512_mask, __builtin_ia32_psrawi512_mask,
|
||
__builtin_ia32_psraw512_mask, __builtin_ia32_psrlwi512_mask,
|
||
__builtin_ia32_psrlw512_mask): Use _COUNT suffixed function type
|
||
aliases.
|
||
* config/i386/i386.c (ix86_expand_args_builtin): Rename last_arg_count
|
||
flag to second_arg_count, handle 4 argument function type _COUNT
|
||
aliases, handle second_arg_count on second argument rather than last.
|
||
|
||
2017-04-10 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/80374
|
||
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Do not try to
|
||
record anything if we can not convert integer_zero_node to the
|
||
desired type.
|
||
|
||
2017-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
PR target/80108
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal):
|
||
Enhance special handling given to the TARGET_P9_MINMAX option in
|
||
relation to certain other options.
|
||
|
||
2017-04-10 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/80153
|
||
* tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Check and
|
||
remove POINTER_PLUS_EXPR's base part directly, rather than through
|
||
aff_tree.
|
||
|
||
2017-04-10 Richard Biener <rguenther@suse.de>
|
||
Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/80153
|
||
* tree-affine.c (aff_combination_to_tree): Get base pointer from
|
||
the first element of pointer type aff_tree. Build result expr in
|
||
aff_tree's type.
|
||
(add_elt_to_tree): Convert to type unconditionally. Remove other
|
||
fold_convert calls.
|
||
* tree-ssa-loop-ivopts.c (alloc_iv): Pass in consistent types.
|
||
(rewrite_use_nonlinear_expr): Check invariant using iv information.
|
||
|
||
2017-04-10 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-structalias.c (find_func_aliases): Properly handle
|
||
asm inputs.
|
||
|
||
2017-04-10 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/70478
|
||
* lra-constraints.c (curr_small_class_check): New.
|
||
(update_and_check_small_class_inputs): New.
|
||
(process_alt_operands): Update curr_small_class_check. Disfavor
|
||
alternative insn memory operands. Check available regs for small
|
||
class operands.
|
||
|
||
2017-03-31 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
PR target/80057
|
||
* config/mips/mips.opt (-mvirt): Update description.
|
||
* doc/invoke.texi (-mvirt): Likewise.
|
||
|
||
2017-04-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/80362
|
||
* fold-const.c (fold_binary_loc): Look at unstripped ops when
|
||
looking for NEGATE_EXPR in -A / -B to A / B folding.
|
||
|
||
2017-04-10 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/80224
|
||
* gcov.c (print_usage): Fix usage string.
|
||
(get_gcov_intermediate_filename): Remove.
|
||
(output_gcov_file): Use both for normal and intermediate format.
|
||
(generate_results): Do not initialize special file for
|
||
intermediate format.
|
||
|
||
2017-04-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80304
|
||
* tree-ssa-loop-im.c (ref_indep_loop_p_1): Also recurse
|
||
for safelen.
|
||
|
||
2017-04-10 Nathan Sidwell <nathan@acm.org>
|
||
|
||
PR target/79905
|
||
* config/rs6000/rs6000.c (rs6000_vector_type): New.
|
||
(rs6000_init_builtins): Use it.
|
||
|
||
2016-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm.md (<mrc>): Add mode to SET source.
|
||
(<mrrc>): Likewise.
|
||
|
||
2017-04-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/80344
|
||
* gimplify.c (is_gimple_mem_rhs_or_call): Allow CLOBBERs.
|
||
|
||
2017-04-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/80324
|
||
* config/i386/avx512fintrin.h (_mm512_reduce_add_epi32,
|
||
_mm512_reduce_mul_epi32, _mm512_reduce_and_epi32,
|
||
_mm512_reduce_or_epi32, _mm512_mask_reduce_add_epi32,
|
||
_mm512_mask_reduce_mul_epi32, _mm512_mask_reduce_and_epi32,
|
||
_mm512_mask_reduce_or_epi32, _mm512_reduce_min_epi32,
|
||
_mm512_reduce_max_epi32, _mm512_reduce_min_epu32,
|
||
_mm512_reduce_max_epu32, _mm512_mask_reduce_min_epi32,
|
||
_mm512_mask_reduce_max_epi32, _mm512_mask_reduce_min_epu32,
|
||
_mm512_mask_reduce_max_epu32, _mm512_reduce_add_ps,
|
||
_mm512_reduce_mul_ps, _mm512_mask_reduce_add_ps,
|
||
_mm512_mask_reduce_mul_ps, _mm512_reduce_min_ps, _mm512_reduce_max_ps,
|
||
_mm512_mask_reduce_min_ps, _mm512_mask_reduce_max_ps,
|
||
_mm512_reduce_add_epi64, _mm512_reduce_mul_epi64,
|
||
_mm512_reduce_and_epi64, _mm512_reduce_or_epi64,
|
||
_mm512_mask_reduce_add_epi64, _mm512_mask_reduce_mul_epi64,
|
||
_mm512_mask_reduce_and_epi64, _mm512_mask_reduce_or_epi64,
|
||
_mm512_reduce_min_epi64, _mm512_reduce_max_epi64,
|
||
_mm512_mask_reduce_min_epi64, _mm512_mask_reduce_max_epi64,
|
||
_mm512_reduce_min_epu64, _mm512_reduce_max_epu64,
|
||
_mm512_mask_reduce_min_epu64, _mm512_mask_reduce_max_epu64,
|
||
_mm512_reduce_add_pd, _mm512_reduce_mul_pd, _mm512_mask_reduce_add_pd,
|
||
_mm512_mask_reduce_mul_pd, _mm512_reduce_min_pd, _mm512_reduce_max_pd,
|
||
_mm512_mask_reduce_min_pd, _mm512_mask_reduce_max_pd): New intrinsics.
|
||
|
||
2017-04-08 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/70478
|
||
* lra-constraints.c: Reverse the last patch.
|
||
|
||
2017-04-08 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME.
|
||
Add comment for WCHAR_T.
|
||
|
||
2017-04-08 Martin Liska <mliska@suse.cz>
|
||
|
||
Revert:
|
||
2017-04-07 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/80212
|
||
* ipa-split.c (split_function): Add function part to a same comdat
|
||
group.
|
||
|
||
2017-04-08 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
|
||
|
||
PR target/80358
|
||
* config/rs6000/rs6000.c (expand_block_compare): Fix boundary check.
|
||
|
||
2017-04-07 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
* rs6000/rs6000.c (vec_load_pendulum): Rename...
|
||
(vec_pairing): ...to this.
|
||
(power9_sched_reorder2): Rewrite code for pairing vector/vecload insns.
|
||
(rs6000_sched_init): Adjust for name change.
|
||
(struct rs6000_sched_context): Likewise.
|
||
(rs6000_init_sched_context): Likewise.
|
||
(rs6000_set_sched_context): Likewise.
|
||
|
||
2017-04-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/80322
|
||
PR target/80323
|
||
PR target/80325
|
||
PR target/80326
|
||
* config/i386/avxintrin.h (_mm256_cvtsd_f64, _mm256_cvtss_f32): New
|
||
intrinsics.
|
||
* config/i386/avx512fintrin.h (_mm512_int2mask, _mm512_mask2int,
|
||
_mm512_abs_ps, _mm512_mask_abs_ps, _mm512_abs_pd, _mm512_mask_abs_pd,
|
||
_mm512_cvtsd_f64, _mm512_cvtss_f32): Likewise.
|
||
|
||
2017-04-07 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config/aarch64/aarch64-freebsd.h: Define WCHAR_TYPE.
|
||
|
||
2017-04-07 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/70703
|
||
* ira-color.c (update_conflict_hard_regno_costs): Use
|
||
int64_t instead of HOST_WIDE_INT.
|
||
|
||
2017-04-07 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/70478
|
||
* lra-constraints.c (process_alt_operands): Disfavor alternative
|
||
insn memory operands.
|
||
|
||
2017-04-07 Jeff Law <law@redhat.com>
|
||
|
||
* config/iq2000/iq2000.c (final_prescan_insn): Do not separate a
|
||
CALL and NOTE_INSN_CALL_ARG_LOCATION.
|
||
|
||
2017-04-07 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/79889
|
||
* config/aarch64/aarch64.c (aarch64_process_target_attr):
|
||
Show error message instead of an ICE.
|
||
|
||
2017-04-07 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/80212
|
||
* ipa-split.c (split_function): Add function part to a same comdat
|
||
group.
|
||
|
||
2017-04-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/80341
|
||
* tree.c (get_unwidened): Also handle ! for_type case for
|
||
INTEGER_CSTs.
|
||
* convert.c (do_narrow): Split out from ...
|
||
(convert_to_integer_1): ... here. Do not pass final truncation
|
||
type to get_unwidened for TRUNC_DIV_EXPR.
|
||
|
||
2017-04-07 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-affine.c (wide_int_ext_for_comb): Take type rather
|
||
than aff_tree.
|
||
(aff_combination_const): Adjust.
|
||
(aff_combination_scale): Likewise.
|
||
(aff_combination_add_elt): Likewise.
|
||
(aff_combination_add_cst): Likewise.
|
||
(aff_combination_convert): Likewise.
|
||
(add_elt_to_tree): Likewise. Remove unused argument.
|
||
(aff_combination_to_tree): Adjust calls to add_elt_to_tree.
|
||
|
||
2017-04-07 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default
|
||
definition.
|
||
* config/arm/arm.c (arm_default_short_enums): Use
|
||
ARM_DEFAULT_SHORT_ENUMS.
|
||
* config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define.
|
||
|
||
2017-04-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/80234
|
||
* dwarf2out.c (gen_member_die): Handle C++17 inline static data
|
||
members with redundant out-of-class redeclaration.
|
||
|
||
2017-04-06 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/80286
|
||
* config/i386/sse.md (*vec_extractv4si_0_zext_sse4): New pattern.
|
||
* config/i386/i386.md (*zero_extendsidi2):
|
||
Add (?*x,*x) and (?*v,*v) alternatives.
|
||
|
||
2017-04-06 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/79733
|
||
* config/i386/i386.c (ix86_expand_builtin)
|
||
<case IX86_BUILTIN_K{,OR}TEST{C,Z}{8,16,32,64}>: Determine insn operand
|
||
mode from insn data. Convert operands to insn operand mode.
|
||
Copy operands that don't satisfy insn predicate to a register.
|
||
|
||
2017-04-06 Sam Thursfield <sam.thursfield@codethink.co.uk>
|
||
|
||
* config/rs6000/x-aix: Increase memory limit for genautomata on AIX.
|
||
Update comments.
|
||
|
||
2017-04-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80334
|
||
* tree-ssa-loop-ivopts.c (rewrite_use_address): Properly
|
||
preserve alignment of accesses.
|
||
|
||
2017-04-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80262
|
||
* tree-sra.c (build_ref_for_offset): Preserve address-space
|
||
information.
|
||
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
|
||
Drop useless address-space information on MEM_REF offsets.
|
||
|
||
2017-04-05 Andreas Schwab <schwab@linux-m68k.org>
|
||
|
||
* builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): Fix type.
|
||
|
||
2017-04-05 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/70703
|
||
* ira-color.c (update_conflict_hard_regno_costs): Use
|
||
HOST_WIDE_INT instead of long.
|
||
|
||
2017-04-05 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/80298
|
||
* config/i386/mmintrin.h: Add -msse target option when __SSE__ is
|
||
not defined for x86_64 target. Add -mmmx target option when __SSE2__
|
||
is not defined.
|
||
* config/i386/mm3dnow.h: Add -msse target when __SSE__ is not defined
|
||
for x86_64 target. Handle -m3dnowa option.
|
||
|
||
2017-04-05 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/70703
|
||
* ira-color.c (update_costs_from_allocno): Use the smallest mode.
|
||
(update_conflict_hard_regno_costs): Use long instead of unsigned
|
||
arithmetic for cost calculation.
|
||
|
||
2017-04-05 Jakub Jelinek <jakub@redhat.com>
|
||
Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR sanitizer/80308
|
||
* asan.c (asan_store_shadow_bytes): Fix location of last_chunk_value
|
||
for big endian.
|
||
|
||
2017-04-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/78002
|
||
* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Replace
|
||
ptr_mode with Pmode throughout.
|
||
* config/aarch64/aarch64.md (probe_stack_range_<PTR:mode): Rename
|
||
into probe_stack_range and use DImode.
|
||
|
||
2017-04-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
PR target/79890
|
||
* config/s390/s390.c (s390_register_info_gprtofpr): Return if
|
||
call_eh_return is true.
|
||
|
||
2017-04-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390-c.c (s390_resolve_overloaded_builtin):
|
||
Initialize last_match_fntype_index.
|
||
|
||
2017-04-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/80310
|
||
* tree-nvr.c: Include internal-fn.h.
|
||
(pass_return_slot::execute): Ignore internal calls without
|
||
direct optab.
|
||
|
||
2017-04-04 Jakub Jelinek <jakub@redhat.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR c++/80297
|
||
* genmatch.c (capture::gen_transform): For GENERIC unshare_expr
|
||
captures used multiple times, except for the last use.
|
||
* generic-match-head.c: Include gimplify.h.
|
||
|
||
2017-04-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79390
|
||
* target.h (struct noce_if_info): Declare.
|
||
* targhooks.h (default_noce_conversion_profitable_p): Declare.
|
||
* target.def (noce_conversion_profitable_p): New target hook.
|
||
* ifcvt.h (struct noce_if_info): New type, moved from ...
|
||
* ifcvt.c (struct noce_if_info): ... here.
|
||
(noce_conversion_profitable_p): Renamed to ...
|
||
(default_noce_conversion_profitable_p): ... this. No longer
|
||
static nor inline.
|
||
(noce_try_store_flag_constants, noce_try_addcc,
|
||
noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith,
|
||
noce_convert_multiple_sets): Use targetm.noce_conversion_profitable_p
|
||
instead of noce_conversion_profitable_p.
|
||
* config/i386/i386.c: Include ifcvt.h.
|
||
(ix86_option_override_internal): Don't override
|
||
PARAM_MAX_RTL_IF_CONVERSION_INSNS default.
|
||
(ix86_noce_conversion_profitable_p): New function.
|
||
(TARGET_NOCE_CONVERSION_PROFITABLE_P): Redefine.
|
||
* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): Adjust comment.
|
||
* doc/tm.texi.in (TARGET_NOCE_CONVERSION_PROFITABLE_P): Add.
|
||
* doc/tm.texi: Regenerated.
|
||
|
||
2017-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Grammar
|
||
correction.
|
||
|
||
2017-04-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR target/80307
|
||
* config/arm/arm.c (thumb1_rtx_costs): Give a cost of 32
|
||
instructions for small multiply cores.
|
||
|
||
2017-04-04 Jeff Law <law@redhat.com>
|
||
|
||
* config/mips/mips.c (mips_multi_add): Zero initialize the newly
|
||
added member.
|
||
(mips_expand_vec_perm_const): Initialize elements in orig_perm
|
||
that are not set by the loop over the elements.
|
||
|
||
2017-04-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/80286
|
||
* config/i386/i386.c (ix86_expand_args_builtin): If op has scalar
|
||
int mode, convert_modes it to mode as unsigned, otherwise use
|
||
lowpart_subreg to mode rather than SImode.
|
||
* config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>,
|
||
ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>):
|
||
Use DImode instead of SImode for the shift count operand.
|
||
* config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3):
|
||
Likewise.
|
||
|
||
2017-04-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/80281
|
||
* match.pd (A + (-B) -> A - B): Make sure to preserve unsigned
|
||
arithmetic done for the negate or the plus. Simplify.
|
||
(A - (-B) -> A + B): Likewise.
|
||
* fold-const.c (split_tree): Make sure to not negate pointers.
|
||
|
||
2017-04-04 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/60818
|
||
* simplify-rtx.c (simplify_binary_operation_1): Do not replace
|
||
a compare of comparisons with the thing compared if this results
|
||
in a different machine mode.
|
||
|
||
2017-04-03 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* alias.c (base_alias_check): Fix typo in comment.
|
||
* cgraph.h (class ipa_polymorphic_call_context): Likewise.
|
||
* cgraphunit.c (symbol_table::compile): Likewise.
|
||
* collect2.c (maybe_run_lto_and_relink): Likewise.
|
||
* config/arm/arm.c (arm_thumb1_mi_thunk): Likewise.
|
||
* config/avr/avr-arch.h (avr_arch_info_t): Likewise.
|
||
* config/avr/avr.c (avr_map_op_t): Likewise.
|
||
* config/cr16/cr16.h (DATA_ALIGNMENT): Likewise.
|
||
* config/epiphany/epiphany.c (TARGET_ARG_PARTIAL_BYTES): Likewise.
|
||
* config/epiphany/epiphany.md (movcc): Likewise.
|
||
* config/i386/i386.c (legitimize_pe_coff_extern_decl): Likewise.
|
||
* config/m68k/m68k.c (struct _sched_ib, m68k_sched_variable_issue):
|
||
Likewise.
|
||
* config/mips/mips.c (mips_save_restore_reg): Likewise.
|
||
* config/rx/rx.c (rx_is_restricted_memory_address): Likewise.
|
||
* config/s390/s390.c (Z10_EARLYLOAD_DISTANCE): Likewise.
|
||
* config/sh/sh.c (sh_rtx_costs): Likewise.
|
||
* fold-const.c (fold_truth_andor): Likewise.
|
||
* genautomata.c (collapse_flag): Likewise.
|
||
* gengtype.h (struct type::u::s): Likewise.
|
||
* gensupport.c (has_subst_attribute, add_mnemonic_string): Likewise.
|
||
* input.c (FORMAT_AMOUNT): Likewise.
|
||
* ipa-cp.c (class ipcp_lattice, agg_replacements_to_vector)
|
||
(known_aggs_to_agg_replacement_list): Likewise.
|
||
* ipa-inline-analysis.c: Likewise.
|
||
* ipa-inline.h (estimate_edge_time, estimate_edge_hints): Likewise.
|
||
* ipa-polymorphic-call.c
|
||
(ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
|
||
* loop-unroll.c (analyze_insn_to_expand_var): Likewise.
|
||
* lra.c (lra_optional_reload_pseudos, lra_subreg_reload_pseudos):
|
||
Likewise.
|
||
* modulo-sched.c (apply_reg_moves): Likewise.
|
||
* omp-expand.c (build_omp_regions_1): Likewise.
|
||
* trans-mem.c (struct tm_wrapper_hasher): Likewise.
|
||
* tree-ssa-loop-ivopts.c (may_eliminate_iv): Likewise.
|
||
* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Likewise.
|
||
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
|
||
* value-prof.c: Likewise.
|
||
* var-tracking.c (val_reset): Likewise.
|
||
|
||
2017-04-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80275
|
||
* fold-const.c (split_address_to_core_and_offset): Handle
|
||
POINTER_PLUS_EXPR.
|
||
|
||
2017-04-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* tree-nested.c (get_descriptor_type): Make sure that the alignment of
|
||
descriptors is at least equal to that of functions.
|
||
|
||
2017-04-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/sse.md (movdi_to_sse): Add missing DONE.
|
||
|
||
2017-04-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/80250
|
||
* config/i386/sse.md (mov<IMOD4:mode>): Remove insn pattern.
|
||
(mov<IMOD4:mode>): New expander.
|
||
(*mov<IMOD4:mode>_internal): New insn and split pattern.
|
||
|
||
2017-03-31 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/79405
|
||
* fwprop.c (propagations_left): New variable.
|
||
(forward_propagate_into): Decrement it.
|
||
(fwprop_init): Initialize it.
|
||
(fw_prop): If the variable has reached zero, stop propagating.
|
||
(fwprop_addr): Ditto.
|
||
|
||
2017-03-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/79255
|
||
* dwarf2out.c (decls_for_scope): If BLOCK_NONLOCALIZED_VAR is
|
||
a FUNCTION_DECL, pass it as decl instead of origin to
|
||
process_scope_var.
|
||
|
||
2017-03-31 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_output_softstack_switch): Correct format
|
||
string.
|
||
|
||
2017-03-31 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
PR target/80107
|
||
* config/rs6000/rs6000.md (extendhi<mode>2): Add test for
|
||
TARGET_VSX_SMALL_INTEGER.
|
||
|
||
2017-03-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Add
|
||
reference to the OpenPOWER 64-Bit ELF V2 ABI Specification.
|
||
|
||
2017-03-31 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* config/mips/mips-msa.md (msa_vec_extract_<msafmt_f>): Update
|
||
extraction from odd-numbered MSA register.
|
||
|
||
2017-03-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/80173
|
||
* expmed.c (store_bit_field_1): Don't attempt to create
|
||
a word subreg out of hard registers wider than word if they
|
||
have HARD_REGNO_NREGS of 1 for their mode.
|
||
|
||
PR middle-end/80163
|
||
* varasm.c (initializer_constant_valid_p_1): Disallow sign-extending
|
||
conversions to integer types wider than word and pointer.
|
||
|
||
PR debug/80025
|
||
* cselib.h (rtx_equal_for_cselib_1): Add depth argument.
|
||
(rtx_equal_for_cselib_p): Pass 0 to it.
|
||
* cselib.c (cselib_hasher::equal): Likewise.
|
||
(rtx_equal_for_cselib_1): Add depth argument. If depth
|
||
is 128, don't look up VALUE locs and punt. Increment
|
||
depth in recursive calls when walking VALUE locs.
|
||
|
||
2017-03-31 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* gcov.c (md5sum_to_hex): Fix output of MD5 hex bytes.
|
||
(make_gcov_file_name): Use the canonical path name for generating
|
||
the MD5 value.
|
||
(read_line): Fix handling of files with ascii null bytes.
|
||
|
||
2017-03-30 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* config/mips/mips.c (mips_expand_vector_init): Create a const_vector
|
||
to initialise a vector register instead
|
||
of using a const_int.
|
||
|
||
2017-03-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR translation/80189
|
||
* gimplify.c (omp_default_clause): Use %qs instead of %s in
|
||
diagnostic messages.
|
||
|
||
2017-03-30 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
PR target/80246
|
||
* config/rs6000/dfp.md (dfp_dxex_<mode>): Update mode of operand 0.
|
||
(dfp_diex_<mode>): Update mode of operand 1.
|
||
* doc/extend.texi (dxex, dxexq): Document change to return type.
|
||
(diex, diexq): Document change to argument type.
|
||
|
||
2017-03-30 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/77333
|
||
* cgraph.h (cgraph_build_function_type_skip_args): Declare.
|
||
* cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that
|
||
it reflects the signature changes performed at the callee side.
|
||
* cgraphclones.c (build_function_type_skip_args): Make public, renamed
|
||
to cgraph_build_function_type_skip_args.
|
||
(build_function_decl_skip_args): Adjust call to the above function.
|
||
|
||
2017-03-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/80206
|
||
* config/i386/sse.md
|
||
(<extract_type>_vextract<shuffletype><extract_suf>_mask): Use
|
||
register as dest whenever it is a MEM not rtx_equal_p to the
|
||
corresponding dup operand, and when forcing into reg move the
|
||
reg into the memory afterwards.
|
||
(<extract_type_2>_vextract<shuffletype><extract_suf_2>_mask):
|
||
Likewise. Use <ssehalfvecmode> instead of <ssequartermode>
|
||
for the force_reg mode.
|
||
(avx512vl_vextractf128<mode>): Use register as dest either
|
||
always when a MEM, or when it is a MEM not rtx_equal_p to the
|
||
corresponding dup operand, or even not when it is a CONST_VECTOR
|
||
depending on the mode and lo vs. hi.
|
||
(avx512dq_vextract<shuffletype>64x2_1_maskm): Remove extraneous
|
||
parens.
|
||
(avx512f_vextract<shuffletype>32x4_1_maskm): Likewise.
|
||
(<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name>):
|
||
Likewise. Require that operands[2] is even.
|
||
(<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>):
|
||
Remove extraneous parens. Require that operands[2] is a multiple
|
||
of 4.
|
||
(vec_extract_lo_<mode><mask_name>): Don't bother testing if
|
||
operands[0] is a MEM if <mask_applied>, the predicates/constraints
|
||
disallow memory then.
|
||
|
||
2017-03-30 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/77498
|
||
* tree-ssa-pre.c (phi_translate_1): Do not allow simplifications
|
||
to non-constants over backedges.
|
||
|
||
2017-03-29 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/80233
|
||
* combine.c (combine_instructions): Only take NONDEBUG_INSN_P insns
|
||
as last_combined_insn. Do not test for BARRIER_P separately.
|
||
|
||
2017-03-29 Andreas Schwab <schwab@suse.de>
|
||
|
||
PR ada/80146
|
||
* calls.c (prepare_call_address): Convert funexp to Pmode before
|
||
copying to temp reg.
|
||
|
||
2017-03-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR tree-optimization/80158
|
||
* gimple-ssa-strength-reduction.c (replace_mult_candidate):
|
||
Handle possible future case of more than one alternate
|
||
interpretation.
|
||
(replace_rhs_if_not_dup): Likewise.
|
||
(replace_one_candidate): Likewise.
|
||
|
||
2017-03-28 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/80193
|
||
* ira.c (ira): Do not check allocation for LRA.
|
||
|
||
2017-03-28 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* config/nvptx/nvptx-protos.h (nvptx_output_simt_enter): Declare.
|
||
(nvptx_output_simt_exit): Declare.
|
||
* config/nvptx/nvptx.c (nvptx_init_unisimt_predicate): Use
|
||
cfun->machine->unisimt_location. Handle NULL unisimt_predicate.
|
||
(init_softstack_frame): Move initialization of crtl->is_leaf to...
|
||
(nvptx_declare_function_name): ...here. Emit declaration of local
|
||
memory space buffer for omp_simt_enter insn.
|
||
(nvptx_output_unisimt_switch): New.
|
||
(nvptx_output_softstack_switch): New.
|
||
(nvptx_output_simt_enter): New.
|
||
(nvptx_output_simt_exit): New.
|
||
* config/nvptx/nvptx.h (struct machine_function): New fields
|
||
has_simtreg, unisimt_location, simt_stack_size, simt_stack_align.
|
||
* config/nvptx/nvptx.md (UNSPECV_SIMT_ENTER): New unspec.
|
||
(UNSPECV_SIMT_EXIT): Ditto.
|
||
(omp_simt_enter_insn): New insn.
|
||
(omp_simt_enter): New expansion.
|
||
(omp_simt_exit): New insn.
|
||
* config/nvptx/nvptx.opt (msoft-stack-reserve-local): New option.
|
||
|
||
* internal-fn.c (expand_GOMP_SIMT_ENTER): New.
|
||
(expand_GOMP_SIMT_ENTER_ALLOC): New.
|
||
(expand_GOMP_SIMT_EXIT): New.
|
||
* internal-fn.def (GOMP_SIMT_ENTER): New internal function.
|
||
(GOMP_SIMT_ENTER_ALLOC): Ditto.
|
||
(GOMP_SIMT_EXIT): Ditto.
|
||
* target-insns.def (omp_simt_enter): New insn.
|
||
(omp_simt_exit): Ditto.
|
||
* omp-low.c (struct omplow_simd_context): New fields simt_eargs,
|
||
simt_dlist.
|
||
(lower_rec_simd_input_clauses): Implement SIMT privatization.
|
||
(lower_rec_input_clauses): Likewise.
|
||
(lower_lastprivate_clauses): Handle SIMT privatization.
|
||
|
||
* omp-offload.c: Include langhooks.h, tree-nested.h, stor-layout.h.
|
||
(ompdevlow_adjust_simt_enter): New.
|
||
(find_simtpriv_var_op): New.
|
||
(execute_omp_device_lower): Handle IFN_GOMP_SIMT_ENTER,
|
||
IFN_GOMP_SIMT_ENTER_ALLOC, IFN_GOMP_SIMT_EXIT.
|
||
|
||
* tree-inline.h (struct copy_body_data): New field dst_simt_vars.
|
||
* tree-inline.c (expand_call_inline): Handle SIMT privatization.
|
||
(copy_decl_for_dup_finish): Ditto.
|
||
|
||
* tree-ssa.c (execute_update_addresses_taken): Handle GOMP_SIMT_ENTER.
|
||
|
||
2017-03-28 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/53383
|
||
* config/i386/i386.c (ix86_option_override_internal): Always
|
||
allow -mpreferred-stack-boundary=3 for 64-bit targets.
|
||
|
||
2017-03-28 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* tree-vect-loop.c (optimize_mask_stores): Add bb to the right loop.
|
||
|
||
2017-03-28 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and
|
||
mark new edge's irreducible flag accordign to it.
|
||
(vect_do_peeling): Check loop preheader edge's irreducible flag
|
||
and pass it to function slpeel_add_loop_guard.
|
||
|
||
2017-03-28 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/80218
|
||
* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
|
||
Update block frequencies and counts.
|
||
|
||
2017-03-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/78644
|
||
* tree-ssa-ccp.c (evaluate_stmt): When we may not use the value
|
||
of a simplification result we may not use it at all.
|
||
|
||
2017-03-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/80205
|
||
* tree-inline.c (copy_phis_for_bb): Do not create PHI node
|
||
without arguments, generate default definition of a SSA name.
|
||
|
||
2017-03-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/80222
|
||
* gimple-fold.c (gimple_fold_indirect_ref): Do not touch
|
||
TYPE_REF_CAN_ALIAS_ALL references.
|
||
* fold-const.c (fold_indirect_ref_1): Likewise.
|
||
|
||
2017-03-28 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/80104
|
||
* cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a
|
||
thunk call as DECL_GIMPLE_REG_P when vector or complex type.
|
||
|
||
2017-03-28 Claudiu Zissulescu <claziss@synopsys.com>
|
||
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||
|
||
* config/arc/arc.h (CPP_SPEC): Add subtarget_cpp_spec.
|
||
(EXTRA_SPECS): Define.
|
||
(SUBTARGET_EXTRA_SPECS): Likewise.
|
||
(SUBTARGET_CPP_SPEC): Likewise.
|
||
* config/arc/elf.h (EXTRA_SPECS): Renamed to
|
||
SUBTARGET_EXTRA_SPECS.
|
||
* config/arc/linux.h (SUBTARGET_CPP_SPEC): Define.
|
||
|
||
2017-03-28 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/simdext.md (vst64_insn): Update pattern.
|
||
(vld32wh_insn): Likewise.
|
||
(vld32wl_insn): Likewise.
|
||
(vld64_insn): Likewise.
|
||
(vld32_insn): Likewise.
|
||
|
||
2017-03-28 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/80067
|
||
* fold-const.c (fold_comparison): Use protected_set_expr_location
|
||
instead of SET_EXPR_LOCATION.
|
||
|
||
2017-03-28 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
* tree.c (add_expr): Avoid name lookup warning.
|
||
|
||
2017-03-27 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/80216
|
||
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Fix typo in
|
||
function name. Limit recursion depth.
|
||
(record_temporary_equivalences): Corresponding changes.
|
||
|
||
2017-03-27 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is
|
||
covered first.
|
||
|
||
2017-03-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/80102
|
||
* reg-notes.def (REG_CFA_NOTE): Define. Use it for CFA related
|
||
notes.
|
||
* cfgcleanup.c (reg_note_cfa_p): New array.
|
||
(insns_have_identical_cfa_notes): New function.
|
||
(old_insns_match_p): Don't cross-jump in between /f
|
||
and non-/f instructions. If both i1 and i2 are frame related,
|
||
verify all CFA notes, their order and content.
|
||
|
||
2017-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/78543
|
||
* config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap
|
||
HImode and SImode with zero extend to DImode to one insn.
|
||
(bswap<mode>2_extenddi): Likewise.
|
||
(bswapsi2_extenddi): Likewise.
|
||
(bswaphi2_extendsi): Likewise.
|
||
(bswaphi2): Combine bswap HImode and SImode into one insn.
|
||
Separate memory insns from swapping register.
|
||
(bswapsi2): Likewise.
|
||
(bswap<mode>2): Likewise.
|
||
(bswaphi2_internal): Delete, no longer used.
|
||
(bswapsi2_internal): Likewise.
|
||
(bswap<mode>2_load): Split bswap HImode/SImode into separate load,
|
||
store, and gpr<-gpr swap insns.
|
||
(bswap<mode>2_store): Likewise.
|
||
(bswaphi2_reg): Register only splitter, combine with the splitter.
|
||
(bswaphi2 splitter): Likewise.
|
||
(bswapsi2_reg): Likewise.
|
||
(bswapsi2 splitter): Likewise.
|
||
(bswapdi2): If we have the LDBRX and STDBRX instructions, split
|
||
the insns into load, store, and register/register insns.
|
||
(bswapdi2_ldbrx): Likewise.
|
||
(bswapdi2_load): Likewise.
|
||
(bswapdi2_store): Likewise.
|
||
(bswapdi2_reg): Likewise.
|
||
|
||
2017-03-27 Gunther Nikl <gnikl@users.sourceforge.net>
|
||
|
||
* system.h (HAVE_DESIGNATED_INITIALIZERS): Fix non C++ case.
|
||
(HAVE_DESIGNATED_UNION_INITIALIZERS): Likewise.
|
||
|
||
2017-03-27 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
PR target/80103
|
||
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Edit and
|
||
add comments.
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
|
||
special handling for target option conflicts between dform
|
||
options (-mpower9-dform, -mpower9-dform-vector,
|
||
-mpower9-dform-scalar) and -mno-direct-move.
|
||
|
||
2017-03-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80181
|
||
* tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED.
|
||
|
||
2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/predicates.md (move_double_src_operand): Replace the
|
||
call to move_double_src_operand with a call to address_operand.
|
||
|
||
2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/elf.h (ARGET_ARC_TP_REGNO_DEFAULT): Define.
|
||
* config/arc/linux.h (ARGET_ARC_TP_REGNO_DEFAULT): Likewise.
|
||
* config/arc/arc.opt (mtp-regno): Use ARGET_ARC_TP_REGNO_DEFAULT.
|
||
|
||
2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/predicates.md (long_immediate_loadstore_operand):
|
||
Consider scaled addresses cases.
|
||
|
||
2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (arc_epilogue_uses): BLINK should be also
|
||
restored when in interrupt.
|
||
* config/arc/arc.md (simple_return): ARCv2 rtie instruction
|
||
doesn't have delay slot.
|
||
|
||
2017-03-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/79776
|
||
* tree-ssa-structalias.c (associate_varinfo_to_alias): Skip
|
||
inlined thunk clones.
|
||
|
||
2017-03-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/80168
|
||
* asan.c (instrument_derefs): Copy over last operand from
|
||
original COMPONENT_REF to the new COMPONENT_REF with
|
||
DECL_BIT_FIELD_REPRESENTATIVE.
|
||
* ubsan.c (instrument_object_size): Likewise.
|
||
|
||
2017-03-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80170
|
||
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Make
|
||
sure DR/SCEV didnt fold in constants we do not see when looking
|
||
at the reference base alignment.
|
||
|
||
2017-03-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/80171
|
||
* gimple-fold.c (fold_ctor_reference): Properly guard against
|
||
NULL return value from canonicalize_constructor_val.
|
||
|
||
2017-03-25 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/80180
|
||
* config/i386/i386.c (ix86_expand_builtin)
|
||
<IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between
|
||
flags reg setting and flags reg using instructions.
|
||
<IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto. Use non-flags reg
|
||
clobbering instructions to zero extend op2.
|
||
|
||
2017-03-25 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/install.texi (Configuration) <--with-aix-soname>:
|
||
Update link to AIX ld.
|
||
|
||
2017-03-25 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR rtl-optimization/80160
|
||
PR rtl-optimization/80159
|
||
* lra-assigns.c (must_not_spill_p): Tighten new test to also take
|
||
reg_alternate_class into account.
|
||
|
||
2017-03-24 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/80148
|
||
* lra-assigns.c (assign_by_spills): Add spilled non-reload pseudos
|
||
to consider in curr_insn_transform.
|
||
|
||
2017-03-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* genrecog.c (validate_pattern): Add VEC_SELECT validation.
|
||
* genmodes.c (emit_min_insn_modes_c): Call emit_mode_nunits
|
||
and emit_mode_inner.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390-builtins.def: Add VXE builtins. Add a flags
|
||
argument to the overloaded builtin variants. Use the new flag to
|
||
deprecate certain builtin variants.
|
||
* config/s390/s390-builtin-types.def: Add new builtin types.
|
||
* config/s390/s390-builtins.h: Support new flags field for
|
||
overloaded builtins.
|
||
* config/s390/s390-c.c (OB_DEF_VAR): New flags field.
|
||
(s390_macro_to_expand): Enable vector float data type.
|
||
(s390_cpu_cpp_builtins_internal): Indicate support of the new
|
||
builtins by incrementing the __VEC__ version number.
|
||
(s390_expand_overloaded_builtin): Support expansion of vec_xl and
|
||
vec_xst.
|
||
(s390_resolve_overloaded_builtin): Emit error messages depending
|
||
on the builtin flags.
|
||
* config/s390/s390.c (s390_expand_builtin): Support additional
|
||
flags argument. Change error message to match the messages
|
||
emitted in s390-c.c.
|
||
* config/s390/s390.md: New UNSPEC_* constants.
|
||
(op_type): Add new instruction types.
|
||
* config/s390/vecintrin.h: Add new builtins and test data class
|
||
constants.
|
||
* config/s390/vx-builtins.md (V_HW_32_64): Add V4SF.
|
||
(V_HW_4, VEC_HW, VECF_HW): New mode iterators.
|
||
(VEC_INEXACT, VEC_NOINEXACT): New constants.
|
||
("vec_splats<mode>", "vec_insert<mode>", "vec_promote<mode>")
|
||
("vec_insert_and_zero<mode>", "vec_mergeh<mode>")
|
||
("vec_mergel<mode>"): V_HW -> VEC_HW.
|
||
|
||
("vlrlrv16qi", "vstrlrv16qi", "vbpermv16qi", "vec_msumv2di")
|
||
("vmslg", "*vftci<mode>_cconly", "vftci<mode>_intcconly")
|
||
("*vftci<mode>", "vftci<mode>_intcc", "vec_double_s64")
|
||
("vec_double_u64", "vfmin<mode>", "vfmax<mode>"): New definition.
|
||
|
||
("and_av2df3", "and_cv2df3", "vec_andc_av2df3")
|
||
("vec_andc_cv2df3", "xor_av2df3", "xor_cv2df3", "vec_nor_av2df3")
|
||
("vec_nor_cv2df3", "ior_av2df3", "ior_cv2df3", "vec_nabs")
|
||
("*vftcidb", "*vftcidb_cconly", "vftcidb"): Remove definition.
|
||
|
||
("vec_all_<fpcmpcc:code>v2df", "vec_any_<fpcmpcc:code>v2df")
|
||
("vec_scatter_elementv4si_DI", "vec_cmp<fpcmp:code>v2df")
|
||
("vec_di_to_df_s64", "vec_di_to_df_u64", "vec_df_to_di_u64")
|
||
("vfidb", "*vldeb", "*vledb", "*vec_cmp<insn_cmp>v2df_cconly")
|
||
("vec_cmpeqv2df_cc", "vec_cmpeqv2df_cc", "vec_cmphv2df_cc")
|
||
("vec_cmphev2df_cc", "*vec_cmpeqv2df_cc")
|
||
("*vec_cmphv2df_cc", "*vec_cmphev2df_cc"): Enable new modes as ...
|
||
|
||
("vec_all_<fpcmpcc:code><mode>", "vec_any_<fpcmpcc:code><mode>")
|
||
("vec_scatter_element<V_HW_4:mode>_DI")
|
||
("vec_cmp<fpcmp:code><mode>", "vcdgb", "vcdlgb", "vclgdb")
|
||
("vec_fpint<mode>", "vflls")
|
||
("vflrd", "*vec_cmp<insn_cmp><mode>_cconly", "vec_cmpeq<mode>_cc")
|
||
("vec_cmpeq<mode>_cc", "vec_cmph<mode>_cc", "vec_cmphe<mode>_cc")
|
||
("*vec_cmpeq<mode>_cc", "*vec_cmph<mode>_cc")
|
||
("*vec_cmphe<mode>_cc"): ... these.
|
||
|
||
("vec_ctd_s64", "vec_ctsl", "vec_ctul", "vec_st2f"): Use rounding
|
||
mode constant instead of magic value.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_expand_vec_compare): Support other
|
||
vector floating point modes than just V2DF.
|
||
(s390_expand_vcond): Likewise.
|
||
(s390_hard_regno_mode_ok): Allow SFmode values in VRs.
|
||
(s390_cannot_change_mode_class): Prevent mode changes between TF
|
||
and V1TF in vector registers.
|
||
* config/s390/s390.md (DF, SF): New mode attributes.
|
||
("*cmp<mode>_ccs", "add<mode>3", "sub<mode>3", "mul<mode>3")
|
||
("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2"): Add
|
||
SFmode support for VRs.
|
||
* config/s390/vector.md (V_HW, V_HW2, VT_HW, ti*, nonvec): Add new
|
||
vector fp modes.
|
||
(VFT, VF_HW): New mode iterators.
|
||
(vw, sdx): New mode attributes.
|
||
("addv2df3", "subv2df3", "mulv2df3", "divv2df3", "sqrtv2df2")
|
||
("fmav2df4","fmsv2df4", "negv2df2", "absv2df2", "*negabsv2df2")
|
||
("smaxv2df3", "sminv2df3", "*vec_cmp<VFCMP_HW_OP:code>v2df_nocc")
|
||
("vec_cmpuneqv2df", "vec_cmpltgtv2df", "vec_orderedv2df")
|
||
("vec_unorderedv2df"): Adjust the v2df only patterns to support
|
||
also the new vector floating point modes. Renaming to ...
|
||
|
||
("add<mode>3", "sub<mode>3", "mul<mode>3", "div<mode>3")
|
||
("sqrt<mode>2", "fma<mode>4", "fms<mode>4", "neg<mode>2")
|
||
("abs<mode>2", "negabs<mode>2", "smax<mode>3")
|
||
("smin<mode>3", "*vec_cmp<VFCMP_HW_OP:code><mode>_nocc")
|
||
("vec_cmpuneq<mode>", "vec_cmpltgt<mode>", "vec_ordered<mode>")
|
||
("vec_unordered<mode>"): ... these.
|
||
|
||
("neg_fma<mode>4", "neg_fms<mode>4", "*smax<mode>3_vxe")
|
||
("*smin<mode>3_vxe", "*sminv2df3_vx", "*vec_extendv4sf")
|
||
("*vec_extendv2df"): New insn definitions.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("*adddi3_sign", "*subdi3_sign", "mulditi3")
|
||
("mulditi3_2", "*muldi3_sign"): New patterns.
|
||
("muldi3", "*muldi3", "mulsi3", "*mulsi3"): Add an expander and
|
||
rename the pattern definition.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("indirect_jump"): Turn insn definition into
|
||
expander.
|
||
("*indirect_jump", "*indirect2_jump"): New pattern definitions.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_expand_vec_init): Use vllezl
|
||
instruction if possible.
|
||
* config/s390/vector.md (vec_halfnumelts): New mode
|
||
attribute.
|
||
("*vec_vllezlf<mode>"): New pattern.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/vector.md ("popcountv16qi2", "popcountv8hi2")
|
||
("popcountv4si2", "popcountv2di2"): Rename to ...
|
||
("popcount<mode>2", "popcountv8hi2_vx", "popcountv4si2_vx")
|
||
("popcountv2di2_vx"): ... these and add !TARGET_VXE to the
|
||
condition.
|
||
("popcount<mode>2_vxe"): New pattern.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* common/config/s390/s390-common.c (processor_flags_table): Add
|
||
arch12.
|
||
* config.gcc: Add arch12.
|
||
* config/s390/driver-native.c (s390_host_detect_local_cpu):
|
||
Default to arch12 for unknown CPU model numbers.
|
||
* config/s390/s390-builtins.def: Add B_VXE builtin flag.
|
||
* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Adjust
|
||
PROCESSOR_max sanity check.
|
||
* config/s390/s390-opts.h (enum processor_type): Add
|
||
PROCESSOR_ARCH12.
|
||
* config/s390/s390.c (processor_table): Add arch12.
|
||
(s390_expand_builtin): Add check for B_VXE flag.
|
||
(s390_issue_rate): Add PROCESSOR_ARCH12.
|
||
(s390_get_sched_attrmask): Likewise.
|
||
(s390_get_unit_mask): Likewise.
|
||
(s390_sched_score): Enable z13 scheduling for arch12.
|
||
(s390_sched_reorder): Likewise.
|
||
(s390_sched_variable_issue): Likewise.
|
||
* config/s390/s390.h (enum processor_flags): Add PF_ARCH12 and
|
||
PF_VXE.
|
||
(s390_tune_attr): Use z13 scheduling also for arch12.
|
||
(TARGET_CPU_ARCH12, TARGET_CPU_ARCH12_P, TARGET_CPU_VXE)
|
||
(TARGET_CPU_VXE_P, TARGET_ARCH12, TARGET_ARCH12_P, TARGET_VXE)
|
||
(TARGET_VXE_P): New macros.
|
||
* config/s390/s390.md: Add arch12 to cpu attribute. Add arch12
|
||
and vxe to cpu_facility. Add arch12 and vxe to enabled attribute.
|
||
* config/s390/s390.opt: Add arch12 as processor_type.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md
|
||
("fixuns_truncdddi2", "fixuns_trunctddi2")
|
||
("fixuns_trunc<BFP:mode><GPR:mode>2"): Merge into ...
|
||
("fixuns_trunc<FP:mode><GPR:mode>2"): New expander.
|
||
|
||
("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2"):
|
||
Rename expanders to ...
|
||
|
||
("fixuns_trunc<BFP:mode><GPR:mode>2_emu")
|
||
("fixuns_truncdddi2_emu"): ... these.
|
||
|
||
("fixuns_trunc<mode>si2_emu"): New expander.
|
||
|
||
("*fixuns_truncdfdi2_z13"): Rename to ...
|
||
("*fixuns_truncdfdi2_vx"): ... this.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/2964.md: Remove the single element vector compare
|
||
instructions which are no longer used.
|
||
* config/s390/s390.c (s390_select_ccmode): Remove handling of
|
||
vector CCmodes.
|
||
(s390_canonicalize_comparison): Remove handling of DFmode
|
||
compares.
|
||
(s390_expand_vec_compare_scalar): Remove function.
|
||
(s390_emit_compare): Don't call s390_expand_vec_compare_scalar.
|
||
* config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly"): Remove
|
||
pattern.
|
||
("*cmp<mode>_ccs"): Add wfcdb instruction.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("mov<mode>_64dfp" DD_DF): Use vleig for loading a
|
||
FP zero.
|
||
("*mov<mode>_64" DD_DF): Remove the vector instructions. These
|
||
will anyway by matched by mov<mode>_64dfp.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("mov<mode>" SD_SF): Change vleg/vsteg to
|
||
vlef/vstef. Add missing operand to vleif.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_expand_vec_init): Enable vector load
|
||
pair for all vector types with 64 bit elements.
|
||
* config/s390/vx-builtins.md (V_HW_64): Move mode iterator to ...
|
||
* config/s390/vector.md (V_HW_64): ... here.
|
||
(V_128_NOSINGLE): New mode iterator.
|
||
("vec_init<V_HW:mode>"): Use V_128 as mode iterator.
|
||
("*vec_splat<mode>"): Use V_128_NOSINGLE mode iterator.
|
||
("*vec_tf_to_v1tf", "*vec_ti_to_v1ti"): New pattern definitions.
|
||
("*vec_load_pairv2di"): Change to ...
|
||
("*vec_load_pair<mode>"): ... this one.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/constraints.md: Add comments.
|
||
(jKK): Reject element sizes > 8 bytes.
|
||
* config/s390/s390.c (s390_split_ok_p): Enable splitting also for
|
||
s_operands.
|
||
* config/s390/s390.md: Add the s_operand checks formerly in
|
||
s390_split_ok_p to various splitters where they are still
|
||
required.
|
||
* config/s390/vector.md ("mov<mode>" V_128): Add GPR alternatives
|
||
for 128 bit vectors. Plus two splitters.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md: Rename the cpu facilty vec to vx throughout
|
||
the file.
|
||
|
||
2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR target/79893
|
||
* config/s390/s390-c.c (s390_adjust_builtin_arglist): Issue an
|
||
error if the boundary argument is not constant.
|
||
|
||
2017-03-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/80112
|
||
* loop-doloop.c (doloop_condition_get): Don't check condition
|
||
if cmp isn't SET with IF_THEN_ELSE src.
|
||
|
||
2017-03-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR tree-optimization/80158
|
||
* gimple-ssa-strength-reduction.c (replace_mult_candidate): When
|
||
replacing a candidate statement, also replace it for the
|
||
candidate's alternate interpretation.
|
||
(replace_rhs_if_not_dup): Likewise.
|
||
(replace_one_candidate): Likewise.
|
||
|
||
2017-03-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80167
|
||
* graphite-isl-ast-to-gimple.c
|
||
(translate_isl_ast_to_gimple::is_valid_rename): Handle default-defs
|
||
properly.
|
||
(translate_isl_ast_to_gimple::get_rename): Likewise.
|
||
|
||
2017-03-23 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Change
|
||
handling of certain combinations of target options, including the
|
||
combinations -mpower8-vector vs. -mno-vsx, -mpower9-vector vs.
|
||
-mno-power8-vector, and -mpower9_dform vs. -mno-power9-vector.
|
||
|
||
2017-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/71436
|
||
* config/arm/arm.md (*load_multiple): Add reload_completed to
|
||
matching condition.
|
||
|
||
2017-03-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
Richard Biener <rguenth@suse.de>
|
||
|
||
PR tree-optimization/79908
|
||
PR tree-optimization/80136
|
||
* tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
|
||
been cast away, gimplify_and_add suffices.
|
||
|
||
2017-03-23 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
* tree-vrp.c (identify_jump_threads): Delete avail_exprs.
|
||
|
||
2017-03-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80032
|
||
* gimplify.c (gimple_push_cleanup): Forced unconditional
|
||
cleanups still have to go to the conditional_cleanups
|
||
sequence.
|
||
|
||
2017-03-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/80072
|
||
* tree-ssa-reassoc.c (struct operand_entry): Change id field type
|
||
to unsigned int.
|
||
(next_operand_entry_id): Change type to unsigned int.
|
||
(sort_by_operand_rank): Make sure to return the right return value
|
||
even if unsigned fields are bigger than INT_MAX.
|
||
(struct oecount): Change cnt and id type to unsigned int.
|
||
(oecount_hasher::equal): Formatting fix.
|
||
(oecount_cmp): Make sure to return the right return value
|
||
even if unsigned fields are bigger than INT_MAX.
|
||
(undistribute_ops_list): Change next_oecount_id type to unsigned int.
|
||
|
||
PR c++/80129
|
||
* gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear
|
||
TREE_READONLY on result if writing it more than once.
|
||
|
||
PR sanitizer/80110
|
||
* doc/invoke.texi (-fsanitize=thread): Document that with
|
||
-fnon-call-exceptions atomics are not able to throw
|
||
exceptions.
|
||
|
||
PR sanitizer/80110
|
||
* tsan.c: Include tree-eh.h.
|
||
(instrument_builtin_call): Call maybe_clean_eh_stmt or
|
||
maybe_clean_or_replace_eh_stmt where needed.
|
||
(instrument_memory_accesses): Add cfg_changed argument.
|
||
Call gimple_purge_dead_eh_edges on each block and set *cfg_changed
|
||
if it returned true.
|
||
(tsan_pass): Adjust caller. Return TODO_cleanup_cfg if cfg_changed.
|
||
|
||
PR rtl-optimization/63191
|
||
* config/i386/i386.c (ix86_delegitimize_address): Turn into small
|
||
wrapper function, moved the whole old content into ...
|
||
(ix86_delegitimize_address_1): ... this. New inline function.
|
||
(ix86_find_base_term): Use ix86_delegitimize_address_1 with
|
||
true as last argument instead of ix86_delegitimize_address.
|
||
|
||
2017-03-22 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (generic_branch_cost): Copy
|
||
cortexa57_branch_cost.
|
||
|
||
2017-03-22 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (generic_tunings): Add AES fusion.
|
||
|
||
2017-03-21 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
|
||
|
||
PR target/80123
|
||
* doc/md.texi (Constraints): Document wA constraint.
|
||
* config/rs6000/constraints.md (wA): New.
|
||
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class.
|
||
(rs6000_init_hard_regno_mode_ok): Init wA constraint.
|
||
* config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New.
|
||
* config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint.
|
||
|
||
2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
PR c++/80029
|
||
* gimplify.c (is_oacc_declared): New function.
|
||
(oacc_default_clause): Use it to set default flags for acc declared
|
||
variables inside parallel regions.
|
||
(gimplify_scan_omp_clauses): Strip firstprivate pointers for acc
|
||
declared variables.
|
||
(gimplify_oacc_declare): Gimplify the declare clauses. Add the
|
||
declare attribute to any decl as necessary.
|
||
|
||
2017-03-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR target/80082
|
||
* config/arm/arm-isa.h (isa_bit_lpae): New feature bit.
|
||
(ISA_ARMv7ve): Add isa_bit_lpae to the definition.
|
||
* config/arm/arm-protos.h (arm_arch7ve): Rename into ...
|
||
(arm_arch_lpae): This.
|
||
* config/arm/arm.c (arm_arch7ve): Rename into ...
|
||
(arm_arch_lpae): This. Define it in term of isa_bit_lpae.
|
||
* config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of
|
||
arm_arch_lpae.
|
||
|
||
2017-03-22 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/79906
|
||
* config/rs6000/rs6000.c (rs6000_inner_target_options): Show
|
||
error message instead of an ICE.
|
||
|
||
2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* doc/extend.texi (6.11 Additional Floating Types): Revise.
|
||
|
||
2017-03-21 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
|
||
comments.
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
|
||
comments.
|
||
|
||
2017-03-21 Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/extend.texi: Use "cannot" instead of "can't."
|
||
* doc/hostconfig.texi: Same.
|
||
* doc/install.texi: Same.
|
||
* doc/invoke.texi: Same.
|
||
* doc/loop.texi: Same.
|
||
* doc/md.texi: Same.
|
||
* doc/objc.texi: Same.
|
||
* doc/rtl.texi: Same.
|
||
* doc/tm.texi: Same.
|
||
* doc/tm.texi.in: Same.
|
||
* doc/trouble.texi: Same.
|
||
|
||
2017-03-21 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/63238
|
||
* dwarf2out.c (struct checksum_attributes): Add at_alignment.
|
||
(collect_checksum_attributes): Set it.
|
||
(die_checksum_ordered): Use it.
|
||
|
||
2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR tree-optimization/79908
|
||
* tree-stdarg.c (expand_ifn_va_arg_1): Revert the following
|
||
change: For a VA_ARG whose LHS has been cast away, use
|
||
force_gimple_operand to construct the side effects.
|
||
|
||
2017-03-21 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR translation/80001
|
||
* omp-offload.c (oacc_loop_fixed_partitions): Make diagnostics
|
||
more amenable to translation.
|
||
(oacc_loop_auto_partitions): Likewise.
|
||
|
||
2017-03-21 Marek Polacek <polacek@redhat.com>
|
||
Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/80109
|
||
* gimple-ssa-warn-alloca.c (alloca_call_type): Only call get_range_info
|
||
on INTEGRAL_TYPE_P.
|
||
|
||
2017-03-21 Jakub Jelinek <jakub@redhat.com>
|
||
Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/80125
|
||
* combine.c (can_combine_p): Revert the 2017-03-20 change, only
|
||
check reg_used_between_p between insn and one of succ or succ2
|
||
depending on if succ is artificial insn not inserted into insn
|
||
stream.
|
||
|
||
2017-03-21 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/80081
|
||
* Makefile.in: Add gcov-dump and fix installation of gcov-tool.
|
||
* doc/gcc.texi: Include gcov-dump stuff.
|
||
* doc/gcov-dump.texi: New file.
|
||
|
||
2017-03-21 Toma Tabacu <toma.tabacu@imgtec.com>
|
||
|
||
PR rtl-optimization/79150
|
||
* config/mips/mips.c (mips_block_move_loop): Emit a NOP after the
|
||
conditional jump, if the jump is the last insn of the loop.
|
||
|
||
2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
Richard Biener <rguenth@suse.de>
|
||
|
||
PR tree-optimization/79908
|
||
* tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
|
||
been cast away, use force_gimple_operand to construct the side
|
||
effects.
|
||
|
||
2017-03-21 Martin Liska <mliska@suse.cz>
|
||
|
||
PR libfortran/79956
|
||
* simplify-rtx.c (simplify_immed_subreg): Initialize a variable
|
||
to NULL.
|
||
|
||
2017-03-21 Brad Spengler <spender@grsecurity.net>
|
||
|
||
PR plugins/80094
|
||
* plugin.c (htab_hash_plugin): New function.
|
||
(add_new_plugin): Use it and adjust.
|
||
(parse_plugin_arg_opt): Adjust.
|
||
(init_one_plugin): Likewise.
|
||
|
||
2017-03-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80032
|
||
* gimplify.c (gimple_push_cleanup): Add force_uncond parameter,
|
||
if set force the cleanup to happen unconditionally.
|
||
(gimplify_target_expr): Push inserted clobbers with force_uncond
|
||
to avoid them being removed by control-dependent DCE.
|
||
|
||
2017-03-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80122
|
||
* tree-inline.c (copy_bb): Do not expans va-arg packs or
|
||
va_arg_pack_len when the inlined call stmt requires pack
|
||
expansion itself.
|
||
* tree-inline.h (struct copy_body_data): Make call_stmt a gcall *.
|
||
|
||
2017-03-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/78158
|
||
* tsan.c (instrument_builtin_call): If the memory model argument
|
||
is not a constant, assume it is valid.
|
||
|
||
PR c/67338
|
||
* fold-const.c (round_up_loc): Negate divisor in unsigned type to
|
||
avoid UB.
|
||
|
||
2017-03-20 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/79910
|
||
* combine.c (can_combine_p): Do not allow combining an I0 or I1
|
||
if its dest is used by an insn before I2 (other than the combined
|
||
insns themselves, which are properly handled already).
|
||
|
||
2017-03-20 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
Revert:
|
||
2017-03-17 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
* combine.c (record_used_regs): New static function.
|
||
(try_combine): Handle situations where there is an additional
|
||
instruction between I2 and I3 which needs to have a LOG_LINK
|
||
updated.
|
||
|
||
Revert:
|
||
2017-03-17 Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
* combine.c (try_combine): Delete redundant i1 test. Call
|
||
prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
|
||
|
||
2017-03-20 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
|
||
|
||
PR target/80083
|
||
* config/rs6000/rs6000.md (*movsi_internal1): Fix constraints for
|
||
alternatives 13/14.
|
||
|
||
2017-03-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR tree-optimization/80054
|
||
* gimple-ssa-strength-reduction.c (all_phi_incrs_profitable): Fail
|
||
the optimization if a PHI or any of its arguments is not dominated
|
||
by the candidate's basis. Use gphi* rather than gimple* as
|
||
appropriate.
|
||
(replace_profitable_candidates): Clean up a gimple* variable that
|
||
should be a gphi* variable.
|
||
|
||
2017-03-20 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/52477
|
||
* doc/extend.texi (attribute constructor): Document present limitation.
|
||
|
||
2017-03-20 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
PR target/79963
|
||
* config/rs6000/altivec.h (vec_all_ne): Under __cplusplus__ and
|
||
__POWER9_VECTOR__ #ifdef control, change template definition to
|
||
use Power9-specific built-in function.
|
||
(vec_any_eq): Likewise.
|
||
* config/rs6000/vector.md (vector_ae_v2di_p): Change the flag used
|
||
to control outcomes from this test.
|
||
(vector_ae_<mode>p): For VEC_F modes, likewise.
|
||
|
||
2017-03-20 Ian Lance Taylor <iant@google.com>
|
||
|
||
* config/i386/i386.c (ix86_function_regparm): Save an extra
|
||
register for -fsplit-stack with DECL_STATIC_CHAIN.
|
||
|
||
2017-03-17 Palmer Dabbelt <palmer@dabbelt.com>
|
||
|
||
PR target/79912
|
||
* config/riscv/riscv.c (riscv_preferred_reload_class): Remove.
|
||
(TARGET_PREFERRED_RELOAD_CLASS): Likewise.
|
||
|
||
2017-03-17 Palmer Dabbelt <palmer@dabbelt.com>
|
||
|
||
* config/riscv/riscv.c (riscv_print_operand): Use "fence
|
||
iorw,ow".
|
||
* config/riscv/sync.mc (mem_thread_fence_1): Use "fence
|
||
iorw,iorw".
|
||
|
||
2017-03-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/80063
|
||
* asan.c (DEF_SANITIZER_BUILTIN): Use do { } while (0).
|
||
|
||
2017-03-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80113
|
||
* graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not
|
||
allocate extra SSA name for PHI def.
|
||
(add_close_phis_to_outer_loops): Likewise.
|
||
(add_close_phis_to_merge_points): Likewise.
|
||
(copy_loop_close_phi_args): Likewise.
|
||
(copy_cond_phi_nodes): Likewise.
|
||
|
||
2017-03-20 Martin Liska <mliska@suse.cz>
|
||
|
||
PR middle-end/79753
|
||
* tree-chkp.c (chkp_build_returned_bound): Do not build
|
||
returned bounds for a LHS that's not a BOUNDED_P type.
|
||
|
||
2017-03-20 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/79769
|
||
PR target/79770
|
||
* tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
|
||
COMPLEX_CST and VECTOR_CST.
|
||
|
||
2017-03-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR target/78857
|
||
* config/s390/s390.md ("cmp<mode>_ccs_0"): Add a clobber of the
|
||
target operand. A new splitter adds the clobber statement in case
|
||
the target operand is dead anyway.
|
||
|
||
2017-03-19 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/install.texi (Specific) <sparc-*-linux*>: No longer refer
|
||
to age-old versions of binutils and glibc.
|
||
|
||
2017-03-18 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* doc/contrib.texi (Contributors): Remove duplicate entry for myself.
|
||
|
||
2017-03-18 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/contrib.texi (Contributors): Add Segher Boessenkool.
|
||
|
||
2017-03-18 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/install.texi (Specific) <arm-*-eabi>: Remove old
|
||
requirement for binutils 2.13.
|
||
|
||
2017-03-17 Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
* combine.c (try_combine): Delete redundant i1 test. Call
|
||
prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
|
||
|
||
2017-03-17 Palmer Dabbelt <palmer@dabbelt.com
|
||
|
||
* doc/install.texi (Specific) <riscv32-*-elf>: Add riscv32-*-elf,
|
||
riscv32-*-linux, riscv64-*-elf, riscv64-*-linux to the table of
|
||
contents.
|
||
<riscv64-*-elf>: Re-arrange section
|
||
<riscv32-*-elf>: Add a note about requiring binutils 2.28.
|
||
<riscv32-*-linux>: Likewise.
|
||
<riscv64-*-elf>: Likewise
|
||
<riscv64-*-linux>: Likewise.
|
||
|
||
2017-03-17 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/80052
|
||
* aarch64.opt(verbose-cost-dump): Fix typo.
|
||
|
||
2017-03-17 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
PR target/79951
|
||
* config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test
|
||
for VECTOR_UNIT_VSX_P (<MODE>mode) too.
|
||
|
||
2017-03-17 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
* reload.c (find_reloads): When reloading a nonoffsettable address,
|
||
use RELOAD_OTHER for it and its address reloads.
|
||
|
||
PR rtl-optimization/79910
|
||
* combine.c (record_used_regs): New static function.
|
||
(try_combine): Handle situations where there is an additional
|
||
instruction between I2 and I3 which needs to have a LOG_LINK
|
||
updated.
|
||
|
||
2017-03-17 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/71437
|
||
* tree-vrp.c (simplify_stmt_for_jump_threading): Lookup the
|
||
conditional in the hash table first.
|
||
(vrp_dom_walker::before_dom_children): Extract condition from
|
||
ASSERT_EXPR. Record condition, its inverion and any implied
|
||
conditions as well.
|
||
|
||
2017-03-17 Marek Polacek <polacek@redhat.com>
|
||
Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
PR tree-optimization/80079
|
||
* gimple-ssa-store-merging.c (class pass_store_merging): Initialize
|
||
m_stores_head.
|
||
|
||
2017-03-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/80075
|
||
* tree-eh.c (stmt_could_throw_1_p): Only handle gimple assigns.
|
||
Properly verify the LHS before the RHS possibly claims to be
|
||
handled.
|
||
(stmt_could_throw_p): Hande gimple conds fully here. Clobbers
|
||
do not throw.
|
||
|
||
2017-03-17 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* doc/invoke.texi (Option Options): Include -fipa-vrp in the list.
|
||
(List of -O2 options): Likewise.
|
||
(-fipa-bit-cp): Replace "ipa" with "interprocedural."
|
||
(-fipa-vrp) New.
|
||
|
||
2017-03-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* gcov-dump.c (print_usage): Print bug_report_url.
|
||
|
||
2017-03-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/80050
|
||
* genmatch.c (parser::next): Remove pointless check for CPP_EOF.
|
||
(parser::peek): Likewise.
|
||
|
||
2017-03-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80048
|
||
* sese.c (free_sese_info): Properly release rename_map and
|
||
copied_bb_map elements.
|
||
|
||
2017-03-16 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* gimple-ssa-store-merging.c (struct imm_store_chain_info):
|
||
Add linked-list forward and backlinks. Insert on
|
||
construction, remove on destruction.
|
||
(class pass_store_merging): Add m_stores_head field.
|
||
(pass_store_merging::terminate_and_process_all_chains):
|
||
Iterate over m_stores_head list.
|
||
(pass_store_merging::terminate_all_aliasing_chains):
|
||
Likewise.
|
||
(pass_store_merging::execute): Check for debug stmts first.
|
||
Push new chains onto the m_stores_head stack.
|
||
|
||
2017-03-16 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/71294
|
||
* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a
|
||
SPLAT operation on ISA 2.07 64-bit systems that have direct move,
|
||
but no MTVSRDD support, by doing MTVSRD and XXPERMDI.
|
||
|
||
2017-03-16 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/71437
|
||
* tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge
|
||
member function. Implementation moved into after_dom_children
|
||
member function and into the threader's thread_outgoing_edges
|
||
function.
|
||
(dom_opt_dom_walker::after_dom_children): Simplify by moving
|
||
some code into new thread_outgoing_edges.
|
||
* tree-ssa-threadedge.c (thread_across_edge): Make static and simplify
|
||
definition. Simplify marker handling (do it here). Assume we always
|
||
have the available expression and the const/copies tables.
|
||
(thread_outgoing_edges): New function extracted from tree-ssa-dom.c
|
||
and tree-vrp.c
|
||
* tree-ssa-threadedge.h (thread_outgoing_edges): Declare.
|
||
* tree-vrp.c (equiv_stack): No longer file scoped.
|
||
(vrp_dom_walker): New class.
|
||
(vrp_dom_walker::before_dom_children): New member function.
|
||
(vrp_dom_walker::after_dom_children): Likewise.
|
||
(identify_jump_threads): Setup domwalker. Use it rather than
|
||
walking edges in a random order by hand. Simplify setup/finalization.
|
||
(finalize_jump_threads): Remove.
|
||
(vrp_finalize): Do not call identify_jump_threads here.
|
||
(execute_vrp): Do it here instead and call thread_through_all_blocks
|
||
here too.
|
||
|
||
PR tree-optimization/71437
|
||
* tree-ssa-dom.c (pfn_simplify): Add basic_block argument. All
|
||
callers changed.
|
||
(simplify_stmt_for_jump_threading): Add basic_block argument. All
|
||
callers changed.
|
||
(lhs_of_dominating_assert): Moved from here into tree-vrp.c.
|
||
(dom_opt_dom_walker::thread_across_edge): Remove
|
||
handle_dominating_asserts argument. All callers changed.
|
||
(record_temporary_equivalences_from_stmts_at_dest): Corresponding
|
||
changes. Remove calls to lhs_of_dominating_assert. Other
|
||
uses of handle_dominating_asserts turn into unconditional code
|
||
(simplify_control_stmt_condition_1): Likewise.
|
||
(simplify_control_stmt_condition): Likewise.
|
||
(thread_through_normal_block, thread_across_edge): Likewise.
|
||
* tree-ssa-threadedge.h (thread_across_edge): Corresponding changes.
|
||
* tree-vrp.c (lhs_of_dominating_assert): Move here. Return original
|
||
object if it is not an SSA_NAME.
|
||
(simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert
|
||
before calling into the VRP specific simplifiers.
|
||
(identify_jump_threads): Remove handle_dominating_asserts
|
||
argument.
|
||
|
||
2017-03-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/79886
|
||
* tree-diagnostic.c (default_tree_printer): No longer static.
|
||
* tree-diagnostic.h (default_tree_printer): New prototype.
|
||
|
||
2017-03-16 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>)
|
||
Change ins into fmov.
|
||
|
||
2017-03-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/iterators.md (h_con): Return "x" for V4HF and V8HF.
|
||
* config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_from_dup<mode>):
|
||
Use h_con constraint for operand 1.
|
||
(*aarch64_fnma4_elt_from_dup<mode>): Likewise.
|
||
(*aarch64_mulx_elt_from_dup<mode>): Likewise for operand 2.
|
||
|
||
2017-03-15 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/71437
|
||
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): New function.
|
||
(record_temporary_equivalences): Use it.
|
||
|
||
PR tree-optimization/71437
|
||
* tree-ssa-dom.c (struct cond_equivalence): Moved from here into
|
||
tree-ssa-scopedtables.
|
||
(lookup_avail_expr, build_and_record_new_cond): Likewise.
|
||
(record_conditions, record_cond, vuse_eq): Likewise.
|
||
(record_edge_info): Adjust to API tweak of record_conditions.
|
||
(simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr.
|
||
(record_temporary_equivalences, optimize_stmt): Likewise.
|
||
(eliminate_redundant_computations): Likewise.
|
||
(record_equivalences_from_stmt): Likewise.
|
||
* tree-ssa-scopedtables.c: Include options.h and params.h.
|
||
(vuse_eq): New function, moved from tree-ssa-dom.c
|
||
(build_and_record_new_cond): Likewise.
|
||
(record_conditions): Likewise. Accept vector of conditions rather
|
||
than edge_equivalence structure for first argument.
|
||
for the first argument.
|
||
(avail_exprs_stack::lookup_avail_expr): New member function, moved
|
||
from tree-ssa-dom.c.
|
||
(avail_exprs_stack::record_cond): Likewise.
|
||
* tree-ssa-scopedtables.h (struct cond_equivalence): Moved here
|
||
from tree-ssa-dom.c.
|
||
(avail_exprs_stack): Add new member functions lookup_avail_expr
|
||
and record_cond.
|
||
(record_conditions): Declare.
|
||
|
||
2017-03-15 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/80017
|
||
* lra-constraints.c (process_alt_operands): Increase reject for
|
||
reloading an input/output operand.
|
||
|
||
2017-03-15 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/79038
|
||
* config/rs6000/rs6000.md (float<QHI:mode><IEEE128:mode>2): Define
|
||
insns to convert from signed/unsigned char/short to IEEE 128-bit
|
||
floating point.
|
||
(floatuns<QHI:mode><IEEE128:mode>2): Likewise.
|
||
|
||
2017-03-15 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/80019
|
||
* config/i386/i386.c (ix86_vector_duplicate_value): Create
|
||
subreg of inner mode for values already in registers.
|
||
|
||
2017-03-15 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
* config/c6x/c6x.c (hwloop_optimize): Handle case where the old
|
||
iteration reg is used after the loop.
|
||
|
||
2017-03-14 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/79800
|
||
* gimple-ssa-sprintf.c (format_floating: Add argument. Handle
|
||
precision in negative-positive range.
|
||
(format_floating): Call non-const overload with adjusted precision.
|
||
|
||
2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/79947
|
||
* config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for
|
||
-mpowerpc-gfxopt.
|
||
|
||
2017-03-14 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/80020
|
||
* builtin-attrs.def (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): New macro.
|
||
* builtins.def (aligned_alloc): Use it.
|
||
|
||
PR c/79936
|
||
* Makefile.in (GTFILES): Add calls.c.
|
||
* calls.c: Include "gt-calls.h".
|
||
|
||
2017-03-14 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR rtl-optimization/79728
|
||
* regs.h (struct target_regs): New field
|
||
x_contains_allocatable_regs_of_mode.
|
||
(contains_allocatable_regs_of_mode): New macro.
|
||
* reginfo.c (init_reg_sets_1): Initialize it, and change
|
||
contains_reg_of_mode so it includes global regs as well.
|
||
* reload.c (push_reload): Use contains_allocatable_regs_of_mode
|
||
rather than contains_regs_of_mode.
|
||
|
||
2017-03-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/invoke.texi: Document options that can't be combined with
|
||
-fcheck-pointer-bounds.
|
||
|
||
2017-03-14 Martin Liska <mliska@suse.cz>
|
||
|
||
PR middle-end/79831
|
||
* doc/invoke.texi (-Wchkp): Document the option.
|
||
|
||
2017-03-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* Makefile.in: Install gcov-dump.
|
||
|
||
2017-03-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* multiple_target.c (expand_target_clones): Bail out for
|
||
an invalid attribute.
|
||
|
||
2017-03-14 Richard Biener <rguenther@suse.de>
|
||
|
||
* alias.c (struct alias_set_entry): Pack properly.
|
||
* cfgloop.h (struct loop): Likewise.
|
||
* cse.c (struct set): Likewise.
|
||
* ipa-utils.c (struct searchc_env): Likewise.
|
||
* loop-invariant.c (struct invariant): Likewise.
|
||
* lra-remat.c (struct cand): Likewise.
|
||
* recog.c (struct change_t): Likewise.
|
||
* rtl.h (struct address_info): Likewise.
|
||
* symbol-summary.h (function_summary): Likewise.
|
||
* tree-loop-distribution.c (struct partition): Likewise.
|
||
* tree-object-size.c (struct object_size_info): Likewise.
|
||
* tree-ssa-loop-ivopts.c (struct cost_pair): Likewise.
|
||
* tree-ssa-threadupdate.c (struct ssa_local_info_t): Likewise.
|
||
* tree-vect-data-refs.c (struct _vect_peel_info): Likewise.
|
||
* tree-vect-slp.c (struct _slp_oprnd_info): Likewise.
|
||
* tree-vect-stmts.c (struct simd_call_arg_info): Likewise.
|
||
* tree-vectorizer.h (struct _loop_vec_info): Likewise.
|
||
(struct _stmt_vec_info): Likewise.
|
||
|
||
2017-03-14 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/79892
|
||
* multiple_target.c (create_dispatcher_calls): Check that
|
||
a target can create a function dispatcher.
|
||
|
||
2017-03-14 Martin Liska <mliska@suse.cz>
|
||
|
||
PR lto/66295
|
||
* multiple_target.c (expand_target_clones): Drop local.local
|
||
flag for default implementation.
|
||
|
||
2017-03-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/80030
|
||
* tree-vect-stmts.c (vectorizable_store): Plug memleak.
|
||
|
||
2017-03-13 Kito Cheng <kito.cheng@gmail.com>
|
||
|
||
* config/riscv/riscv.c (riscv_emit_float_compare>: Use
|
||
gcc_fallthrough() instead of __attribute__((fallthrough));
|
||
|
||
2017-03-13 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/gcc.texi: Remove "up" link to (DIR).
|
||
* doc/gccint.texi: Ditto.
|
||
|
||
2017-03-13 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/install.texi (Specific) <avr>: Remove reference to
|
||
binutils 2.13.
|
||
|
||
2017-03-13 Jeff Law <law@redhat.com>
|
||
|
||
* config/riscv/riscv.c (riscv_emit_float_compare): Use fallthru
|
||
attribute rather than comments.
|
||
|
||
* config/pdp11/pdp11.md (movmemhi): Adjust operand numbers to
|
||
match_scratch operand is highest.
|
||
|
||
2017-03-13 Martin Liska <mliska@suse.cz>
|
||
|
||
PR middle-end/78339
|
||
* ipa-pure-const.c (warn_function_noreturn): If the declarations
|
||
is a CHKP clone, use original declaration.
|
||
|
||
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (arc_init): Use multiplier whenever we have it.
|
||
(arc_conditional_register_usage): Use a different allocation order
|
||
when optimizing for size.
|
||
* common/config/arc/arc-common.c (arc_option_optimization_table):
|
||
Section anchors default on when optimizing for size.
|
||
|
||
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.md (*tst_bitfield_tst): Fix pattern.
|
||
|
||
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (arc_output_addsi): Emit code density adds.
|
||
* config/arc/arc.md (cpu_facility): Add cd variant.
|
||
(*movqi_insn): Add code density variant.
|
||
(*movhi_insn): Likewise.
|
||
(*movqi_insn): Likewise.
|
||
(*addsi3_mixed): Likewise.
|
||
(subsi3_insn): Likewise.
|
||
|
||
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.md (movsi_cond_exec): Update constraint.
|
||
|
||
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (arc_legitimize_pic_address): Handle PIC
|
||
expressions with MINUS and UNARY ops.
|
||
|
||
2017-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/79911
|
||
* config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3):
|
||
Rename to...
|
||
(vec_sel_widen_ssum_lo<mode><V_half>3): ... This. Avoid mismatch
|
||
between vec_select and vector argument.
|
||
(vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): Rename to...
|
||
(vec_sel_widen_ssum_hi<mode><V_half>3): ... This. Likewise.
|
||
(vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): Rename to...
|
||
(vec_sel_widen_usum_lo<mode><V_half>3): ... This.
|
||
(vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): Rename to...
|
||
(vec_sel_widen_usum_hi<mode><V_half>3): ... This.
|
||
|
||
2017-03-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR other/79991
|
||
* params.def (vect-max-peeling-for-alignment): Fix typo.
|
||
|
||
2017-03-12 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/install.texi (Specific) <mips-*-*>: Remove description of
|
||
issue that only occurred with binutils below 2.18.
|
||
|
||
2017-03-12 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/install.texi (Specific) <cris-axis-elf>: No longer
|
||
refer to binutils 2.11/2.12 minimum.
|
||
|
||
2017-03-12 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/install.texi (Specific) <powerpc-*-*>: Remove link to
|
||
ftp.kernel.org and simplify binutils requirement.
|
||
|
||
2017-03-11 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/invoke.texi (Warning Options): Fix spelling of link-time
|
||
optimization.
|
||
(Optimize Options): Ditto. Also remove redundancy.
|
||
|
||
2017-03-10 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR translation/79848
|
||
* ipa-devirt.c (warn_types_mismatch): Simplify uses of "%<%s%>" to
|
||
"%qs".
|
||
* ipa-pure-const.c (suggest_attribute): Likewise. Convert _
|
||
to G_ to avoid double translation.
|
||
|
||
2017-03-10 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR translation/79923
|
||
* auto-profile.c (get_combined_location): Convert leading
|
||
character of diagnostics to lower case and remove trailing period.
|
||
(read_profile): Likewise for various diagnostics.
|
||
* config/arm/arm.c (arm_option_override): Remove trailing period
|
||
from various diagnostics.
|
||
* config/msp430/msp430.c (msp430_expand_delay_cycles): Likewise.
|
||
(msp430_expand_delay_cycles): Likewise.
|
||
|
||
2017-03-10 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR target/79925
|
||
* config/aarch64/aarch64.c (aarch64_validate_mcpu): Quote the
|
||
full command-line argument, rather than just "str".
|
||
(aarch64_validate_march): Likewise.
|
||
(aarch64_validate_mtune): Likewise.
|
||
|
||
2017-03-10 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR rtl-optimization/78911
|
||
* lra-assigns.c (must_not_spill_p): New function.
|
||
(spill_for): Use it.
|
||
|
||
2017-03-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79981
|
||
* tree-vrp.c (extract_range_basic): Handle IMAGPART_EXPR of
|
||
ATOMIC_COMPARE_EXCHANGE ifn result.
|
||
(stmt_interesting_for_vrp, vrp_visit_stmt): Handle
|
||
IFN_ATOMIC_COMPARE_EXCHANGE.
|
||
|
||
2017-03-10 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR driver/79875
|
||
* opts.c (parse_sanitizer_options): Add missing question mark to
|
||
"did you mean" message.
|
||
|
||
2017-03-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtin.def (VMULEUB_UNS): Remove orphaned
|
||
built-in.
|
||
(VMULEUH_UNS): Likewise.
|
||
(VMULOUB_UNS): Likewise.
|
||
(VMULOUH_UNS): Likewise.
|
||
* config/rs6000/rs6000.c (builtin_function_type): Remove
|
||
references to ALTIVEC_BUILTIN_VMUL[EO]U[BH]_UNS.
|
||
|
||
2017-03-10 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR bootstrap/79952
|
||
* read-rtl-function.c (function_reader::read_rtx_operand): Update
|
||
x with result of extra_parsing_for_operand_code_0.
|
||
(function_reader::extra_parsing_for_operand_code_0): Convert
|
||
return type from void to rtx, returning x. When reading
|
||
SYMBOL_REF with SYMBOL_FLAG_HAS_BLOCK_INFO, reallocate x to the
|
||
larger size containing struct block_symbol.
|
||
|
||
2017-03-10 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
|
||
-mfloat128-hardware without -m64.
|
||
|
||
2017-03-10 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
PR target/79941
|
||
* config/rs6000/rs6000.c (builtin_function_type): Add VMUL*U[HB]
|
||
entries to the case statement that marks unsigned arguments to
|
||
overloaded functions.
|
||
|
||
2017-03-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
|
||
two typographic errors in the handling of TARGET_UPPER_REGS_DI.
|
||
|
||
2017-03-10 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
PR target/79907
|
||
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Test
|
||
TARGET_UPPER_REGS_DI when setting 'wi' constraint regclass.
|
||
|
||
2017-03-10 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/65705
|
||
PR target/69804
|
||
* toplev.c (process_options): Enable MPX with LSAN and UBSAN.
|
||
* tree-chkp.c (chkp_walk_pointer_assignments): Verify that
|
||
FIELD != NULL.
|
||
|
||
2017-03-10 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* tree-switch-conversion (array_value_type): Start by resetting
|
||
candidate type to it's main variant.
|
||
|
||
2017-03-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/79909
|
||
* combine.c (try_combine): Use simplify_replace_rtx on individual
|
||
CALL_INSN_FUNCTION_USAGE elements instead of replace_rtx on copy_rtx
|
||
of the whole CALL_INSN_FUNCTION_USAGE.
|
||
|
||
PR tree-optimization/79972
|
||
* gimple-ssa-warn-alloca.c (alloca_call_type): Only call
|
||
get_range_info on SSA_NAMEs. Formatting fixes.
|
||
|
||
2017-03-10 Richard Biener <rguenther@suse.de>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/77975
|
||
* tree-ssa-loop-niter.c (get_base_for): Allow phi argument from latch
|
||
edge to be constant.
|
||
(get_val_for): For constant x return it. Formatting fix.
|
||
(loop_niter_by_eval): Avoid pointless looping if the next iteration
|
||
would use the same bases as the current one.
|
||
|
||
2017-03-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate
|
||
instead of vec_select for V1TImode.
|
||
* conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no
|
||
longer needed.
|
||
(VSX_LE_128): Add V1TI to this mode iterator.
|
||
(*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator.
|
||
(*vsx_le_perm_store_<mode>): Likewise.
|
||
(pre-reload splitter for VSX stores): Likewise.
|
||
(post-reload splitter for VSX stores): Likewise.
|
||
(*vsx_xxpermdi2_le_<mode>): Likewise.
|
||
(*vsx_lxvd2x2_le_<mode>): Likewise.
|
||
(*vsx_stxvd2x2_le_<mode>): Likewise.
|
||
|
||
2017-03-09 Michael Eager <eager@eagercon.com>
|
||
|
||
Correct failures with --enable-checking=yes,rtl.
|
||
|
||
* config/microblaze/microblaze.c (microblaze_expand_shift):
|
||
Replace GET_CODE test with CONST_INT_P and INTVAL test with
|
||
test for const0_rtx.
|
||
* config/microblaze/microblaze.md (ashlsi3_byone, ashrsi3_byone,
|
||
lshrsi3_byone): Replace INTVAL with test for const1_rtx.
|
||
|
||
2017-03-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79977
|
||
* graphite-scop-detection.c (scop_detection::merge_sese):
|
||
Handle the case of extra exits to blocks dominating the entry.
|
||
|
||
2017-03-09 Toma Tabacu <toma.tabacu@imgtec.com>
|
||
|
||
* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
|
||
Document rdynamic.
|
||
|
||
2017-03-09 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/79949
|
||
* lra-constraints.c (process_alt_operands): Check memory when
|
||
trying to predict a cycle. Print about the overall increase.
|
||
|
||
2017-03-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/79971
|
||
* gimple-expr.c (useless_type_conversion_p): Preserve
|
||
TYPE_SATURATING for fixed-point types.
|
||
|
||
2017-03-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/79970
|
||
* ipa-prop.c (ipa_modify_formal_parameters): Avoid changing
|
||
alignment of BLKmode params.
|
||
|
||
2017-03-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/79913
|
||
* config/aarch64/iterators.md (VALL_F16_NO_V2Q): New mode iterator.
|
||
(VALL_NO_V2Q): Likewise.
|
||
(VDQF_DF): Delete.
|
||
* config/aarch64/aarch64-simd.md
|
||
(aarch64_dup_lane_<vswap_width_name><mode>): Use VALL_F16_NO_V2Q
|
||
iterator.
|
||
(*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Use
|
||
VALL_NO_V2Q mode iterator.
|
||
(*aarch64_vgetfmulx<mode>): Use VDQF iterator.
|
||
|
||
2017-03-09 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/79631
|
||
* tree-chkp-opt.c (chkp_is_constant_addr): Call
|
||
tree_int_cst_sign_bit just for INTEGER constants.
|
||
|
||
2017-03-09 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/65705
|
||
PR target/69804
|
||
* toplev.c (process_options): Disable -fcheck-pointer-bounds with
|
||
sanitizers.
|
||
|
||
2017-03-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/79672
|
||
* tree.c (inchash::add_expr): Handle TREE_VEC.
|
||
|
||
2017-03-09 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/79764
|
||
(chkp_narrow_size_and_offset): New function.
|
||
(chkp_parse_array_and_component_ref): Support BIT_FIELD_REF.
|
||
(void chkp_parse_bit_field_ref): New function.
|
||
(chkp_make_addressed_object_bounds): Add case for BIT_FIELD_REF.
|
||
(chkp_process_stmt): Use chkp_parse_bit_field_ref.
|
||
|
||
2017-03-09 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/79761
|
||
* tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param.
|
||
(chkp_find_bounds_1): Remove gcc_unreachable.
|
||
|
||
2017-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/79944
|
||
* asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and
|
||
BUILT_IN_SYNC*, determine the access type from the size suffix and
|
||
always build a MEM_REF with that type. Handle forgotten
|
||
BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16.
|
||
|
||
PR target/79932
|
||
* config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask,
|
||
_mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask,
|
||
_mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask,
|
||
_mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask,
|
||
_mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask,
|
||
_mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask,
|
||
_mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask,
|
||
_mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask,
|
||
_mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask,
|
||
_mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask,
|
||
_mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask,
|
||
_mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask,
|
||
_mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask,
|
||
_mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask,
|
||
_mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask,
|
||
_mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask,
|
||
_mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask,
|
||
_mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask,
|
||
_mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask,
|
||
_mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask,
|
||
_mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask,
|
||
_mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask,
|
||
_mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask,
|
||
_mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask,
|
||
_mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask,
|
||
_mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask,
|
||
_mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask,
|
||
_mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask,
|
||
_mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask,
|
||
_mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move
|
||
definitions outside of __OPTIMIZE__ guarded section.
|
||
|
||
PR target/79932
|
||
* config/i386/avx512bwintrin.h (_mm512_packs_epi32,
|
||
_mm512_maskz_packs_epi32, _mm512_mask_packs_epi32,
|
||
_mm512_packus_epi32, _mm512_maskz_packus_epi32,
|
||
_mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__
|
||
guarded section.
|
||
|
||
2017-03-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/vx-builtins.md ("vfee<mode>", "vfeez<mode>")
|
||
("vfenez<mode>"): Add missing constraints.
|
||
|
||
2017-03-08 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR target/79928
|
||
* config/nds32/nds32.c (nds32_option_override):
|
||
Fix misspelled diagnostic.
|
||
|
||
2017-03-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/79940
|
||
* gimplify.c (gimplify_omp_for): Replace index var in outer
|
||
taskloop statement with an artificial variable and add
|
||
OMP_CLAUSE_PRIVATE clause for it.
|
||
|
||
2017-03-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79955
|
||
* tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
|
||
for accesses that are completely outside of the variable.
|
||
|
||
2017-03-08 Andrew Haley <aph@redhat.com>
|
||
|
||
PR tree-optimization/79943
|
||
* tree-ssa-loop-split.c (compute_new_first_bound): When
|
||
calculating the new upper bound, (END-BEG) should be added, not
|
||
subtracted.
|
||
|
||
2017-03-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/avr/avr.md (setmemhi): Make sure match_dup
|
||
operand number comes before match_scratch.
|
||
|
||
2017-03-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79920
|
||
* tree-vect-slp.c (vect_create_mask_and_perm): Remove and inline
|
||
with ncopies == 1 to ...
|
||
(vect_transform_slp_perm_load): ... here. Properly compute
|
||
all element loads by iterating VF times over the group. Do
|
||
not handle ncopies (computed in a broken way) in
|
||
vect_create_mask_and_perm.
|
||
|
||
2017-03-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/79904
|
||
* internal-fn.c (expand_vector_ubsan_overflow): If arg0 or arg1
|
||
is a uniform vector, use uniform_vector_p return value instead of
|
||
building ARRAY_REF on folded VIEW_CONVERT_EXPR to array type.
|
||
|
||
2017-03-07 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR middle-end/79809
|
||
* gimple-ssa-warn-alloca.c (pass_walloca::gate): Use HOST_WIDE_INT.
|
||
(alloca_call_type): Likewise.
|
||
|
||
2017-03-07 Martin Liska <mliska@suse.cz>
|
||
|
||
* gcov.c (process_args): Put comment to correct location.
|
||
|
||
2017-03-07 Martin Liska <mliska@suse.cz>
|
||
|
||
PR middle-end/68270
|
||
* tree-chkp.c (chkp_may_narrow_to_field): Add new argument ref.
|
||
Use array_at_struct_end_p instead of DECL_CHAIN (field).
|
||
(chkp_narrow_bounds_for_field): Likewise.
|
||
(chkp_parse_array_and_component_ref): Pass one more argument to
|
||
call.
|
||
|
||
2017-03-07 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve
|
||
preheaders.
|
||
|
||
2017-03-07 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/i386/i386.c (ix86_local_alignment): Align most aggregates
|
||
of 16 bytes and more to 16 bytes, not those of 16 bits and more.
|
||
|
||
2017-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR c/79855
|
||
* params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Add full stop
|
||
to end of description.
|
||
(PARAM_MAX_STORES_TO_MERGE): Likewise.
|
||
|
||
2017-03-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/79901
|
||
* config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to
|
||
...
|
||
(*avx512f_<code><mode>3<mask_name>): ... this.
|
||
(<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F
|
||
iterator instead of VI8_AVX2_AVX512BW.
|
||
|
||
PR rtl-optimization/79901
|
||
* expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no
|
||
min/max expander, expand it using expand_vec_cond_expr.
|
||
|
||
PR sanitizer/79897
|
||
* ubsan.c (ubsan_encode_value): Call mark_addressable on the
|
||
temporary.
|
||
|
||
2017-03-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/79821
|
||
* dwarf2out.h (dw_vec_const): Change array type from unsigned char *
|
||
to void * for PCH reasons.
|
||
* dwarf2out.c (output_loc_operands, output_die): Cast
|
||
v.val_vec.array to unsigned char *.
|
||
|
||
2017-03-06 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR target/77850
|
||
* config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
|
||
vector types.
|
||
|
||
2017-03-06 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/79571
|
||
* lra-constraints.c (process_alt_operands): Calculate static
|
||
reject and subtract it from overall when only addresses will be
|
||
reloaded.
|
||
|
||
2017-03-06 Julia Koval <julia.koval@intel.com>
|
||
|
||
PR target/79793
|
||
* config/i386/i386.c (ix86_minimum_incoming_stack_boundary): Set
|
||
incoming stack boundary to 128 for 64-bit targets.
|
||
|
||
2017-03-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79894
|
||
* tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call
|
||
to NULL after folding it.
|
||
|
||
2017-03-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79824
|
||
* tree-vect-stmts.c (get_group_load_store_type): Fix alignment
|
||
check disabling peeling for gaps.
|
||
|
||
2017-03-06 Toma Tabacu <toma.tabacu@imgtec.com>
|
||
|
||
* doc/sourcebuild.texi (Effective-Target Keywords, Environment
|
||
attributes): Document gettimeofday.
|
||
|
||
2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_option_override_internal): Set
|
||
PARAM_MIN_VECT_LOOP_BOUND
|
||
|
||
2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_asm_output_function_label): Use nopr %r0.
|
||
* config/s390/s390.md: Likewise.
|
||
|
||
2017-03-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/79812
|
||
* config/i386/sse.md (VI8F_256_512): Remove mode iterator.
|
||
(<avx2_avx512>_perm<mode>): Rename to ...
|
||
(avx2_perm<mode>): ... this. Use VI8F_256 iterator instead
|
||
of VI8F_256_512.
|
||
(<avx512>_perm<mode>_mask): Rename to ...
|
||
(avx512vl_perm<mode>_mask): ... this. Use VI8F_256 iterator instead
|
||
of VI8F_256_512.
|
||
(<avx2_avx512>_perm<mode>_1<mask_name>): Rename to ...
|
||
(avx2_perm<mode>_1<mask_name): ... this. Use VI8F_256 iterator
|
||
instead of VI8F_256_512.
|
||
(avx512f_perm<mode>): New define_expand.
|
||
(avx512f_perm<mode>_mask): Likewise.
|
||
(avx512f_perm<mode>_1<mask_name>): New define_insn.
|
||
(<avx512>_vec_dup<mode>_1): Fix up vec_select mode.
|
||
|
||
2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
|
||
|
||
* config/mips/mips-msa.md (msa_fmax_a_<msafmt>, msa_fmin_a_<msafmt>,
|
||
msa_max_a_<msafmt>, msa_min_a_<msafmt>): Introduce mode interator for
|
||
if_then_else.
|
||
(smin<mode>3, smax<mode>3): Change operand print code from 'B' to 'E'.
|
||
|
||
2017-03-06 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitize/79783
|
||
* asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON
|
||
when having a SSA NAME w/o VAR_DECL assigned to it.
|
||
|
||
2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
|
||
|
||
* config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d,
|
||
msa_dpsub_<su>_d): Fix MODE for vec_select.
|
||
|
||
2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
|
||
|
||
* config/mips/mips.c (mips_gen_const_int_vector): Change type of last
|
||
argument.
|
||
* config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise.
|
||
|
||
2017-03-06 Richard Biener <rguenther@suse.de>
|
||
|
||
* lto-streamer.c (lto_check_version): Use %qs in diagnostics.
|
||
* plugin.c (register_plugin_info): Likewise.
|
||
* tree-chkp.c (chkp_make_static_const_bounds): Likewise.
|
||
|
||
2017-03-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/sse.md (sse_storehps, sse_storelps,
|
||
avx_<castmode><avxsizesuffix>_<castmode>,
|
||
avx512f_<castmode><avxsizesuffix>_<castmode>,
|
||
avx512f_<castmode><avxsizesuffix>_256<castmode>): Require
|
||
in condition that at least one operand is not a MEM.
|
||
|
||
2017-03-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/79805
|
||
* internal-fn.def (ATOMIC_BIT_TEST_AND_SET, ATOMIC_BIT_TEST_AND_RESET,
|
||
ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_COMPARE_EXCHANGE): Remove
|
||
ECF_NOTHROW.
|
||
* gimple-fold.c (fold_builtin_atomic_compare_exchange): Set
|
||
gimple_call_nothrow_p flag based on whether original builtin can throw.
|
||
If it can, emit following stmts on the fallthrough edge.
|
||
* tree-ssa-ccp.c (optimize_atomic_bit_test_and): Similarly, except
|
||
don't create new bb if inserting just debug stmts on the edge, try to
|
||
insert them on the fallthru bb or just reset debug stmts.
|
||
|
||
2017-03-03 Segher Boesssenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/43763
|
||
* config/rs6000/rs6000.c (rs6000_final_prescan_insn): Save and
|
||
restore recog_data (including the operand rtxes inside it) around
|
||
the call to get_insn_template.
|
||
|
||
2017-03-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/79699
|
||
* context.c (context::~context): Free MPFR caches to avoid
|
||
a memory leak on program exit.
|
||
|
||
2017-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_float_const_representable_p):
|
||
Use wide_int::ulow () instead of .elt (0).
|
||
|
||
2017-03-03 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*pushtf): Change *roF constraint to *roC.
|
||
(*pushxf): Limit oF constraint to 32bit targets and add oC
|
||
constraint for 64bit targets.
|
||
(pushxf splitter): Use PUSH_ROUNDING to calculate stack adjustment.
|
||
(*pushdf): Change rmF constraint to rmC.
|
||
|
||
2017-03-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree-ssa-loop-prefetch.c (pass_loop_prefetch::execute):
|
||
Remove unused variable.
|
||
|
||
2017-03-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/79807
|
||
* config/i386/i386.c (ix86_expand_multi_arg_builtin): If target
|
||
is a memory operand, increase num_memory.
|
||
(ix86_expand_args_builtin): Likewise.
|
||
|
||
2017-03-03 Jan Hubicka <jh@suse.cz>
|
||
|
||
PR lto/79760
|
||
* ipa-devirt.c (maybe_record_node): Properly handle
|
||
__cxa_pure_virtual visibility.
|
||
|
||
2017-03-03 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/79803
|
||
* tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove
|
||
assert.
|
||
(pass_loop_prefetch::execute): Disabled optimization if an
|
||
assumption about L1 cache size is not met.
|
||
|
||
2017-03-03 Martin Liska <mliska@suse.cz>
|
||
|
||
PR rtl-optimization/79574
|
||
* gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int.
|
||
(hash_scan_set): Likewise.
|
||
(dump_hash_table): Likewise.
|
||
(hoist_code): Likewise.
|
||
|
||
2017-03-03 Richard Biener <rguenther@suse.de>
|
||
|
||
* fixed-value.c (fixed_from_string): Restore use of elt (1)
|
||
in place of uhigh ().
|
||
(fixed_convert_from_real): Likewise.
|
||
|
||
2017-03-03 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/79514
|
||
* config/i386/i386.md (*pushxf_rounded): Use Pmode instead of DImode.
|
||
|
||
2017-03-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/79818
|
||
* match.pd ( X +- C1 CMP C2 -> X CMP C2 -+ C1): Add missing
|
||
TYPE_OVERFLOW_UNDEFINED check.
|
||
|
||
2017-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/vector.md (vector_ne_<mode>_p): Correct operand
|
||
numbers.
|
||
(vector_ae_<mode>_p): Likewise.
|
||
(vector_nez_<mode>_p): Likewise.
|
||
(vector_ne_v2di_p): Likewise.
|
||
(vector_ae_v2di_p): Likewise.
|
||
(vector_ne_<mode>_p): Likewise.
|
||
* config/rs6000/vsx.md (vsx_tsqrt<mode>2_fg): Correct operand
|
||
numbers.
|
||
(vsx_tsqrt<mode>2_fe): Likewise.
|
||
|
||
2017-03-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/79514
|
||
* config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern.
|
||
|
||
2017-03-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/79780
|
||
* cprop.c (one_cprop_pass): When second and further conditional trap
|
||
in a single basic block is turned into an unconditional trap, turn it
|
||
into a deleted note to avoid RTL verification failures.
|
||
|
||
2017-03-02 Richard Biener <rguenther@suse.de>
|
||
|
||
* fold-const.c (const_binop): Use ulow () instead of elt (0).
|
||
|
||
2017-03-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79345
|
||
PR c++/42000
|
||
* tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit
|
||
param and abort the walk, returning -1 if it is hit.
|
||
(walk_aliased_vdefs): Take a limit param and pass it on.
|
||
* tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param,
|
||
defaulting to 0 and return a signed int.
|
||
* tree-ssa-uninit.c (struct check_defs_data): New struct.
|
||
(check_defs): New helper.
|
||
(warn_uninitialized_vars): Use walk_aliased_vdefs to warn
|
||
about uninitialized memory.
|
||
* fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid
|
||
bogus uninitialized warning.
|
||
(fixed_convert_from_real): Likewise.
|
||
|
||
2017-03-02 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/66768
|
||
* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr
|
||
iv_use if base object can't be determined.
|
||
|
||
2017-03-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79345
|
||
* gensupport.h (struct pattern_stats): Add min_scratch_opno field.
|
||
* gensupport.c (get_pattern_stats_1) <case MATCH_SCRATCH>: Update it.
|
||
(get_pattern_stats): Initialize it.
|
||
* genemit.c (gen_expand): Verify match_scratch numbers come after
|
||
match_operand/match_dup numbers.
|
||
* config/i386/i386.md (<s>mul<mode>3_highpart): Swap match_dup and
|
||
match_scratch numbers.
|
||
* config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>):
|
||
Likewise.
|
||
* config/s390/s390.md (trunctdsd2): Likewise.
|
||
|
||
2017-03-02 Richard Biener <rguenther@suse.de>
|
||
|
||
* wide-int.h (wide_int_storage::operator=): Implement in terms
|
||
of wi::copy.
|
||
|
||
2017-03-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79777
|
||
* tree-ssa-pre.c (eliminate_insert): Give up if we simplify
|
||
the to insert expression to sth existing.
|
||
|
||
2017-03-01 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/79692
|
||
* gimple-ssa-sprintf.c
|
||
(directive::known_width_and_precision): New function.
|
||
(format_integer): Use it.
|
||
(get_mpfr_format_length): Consider the full range of precision
|
||
when computing %g output with the # flag. Set the likely byte
|
||
count to 3 rather than 1 when precision is indeterminate.
|
||
(format_floating): Correct the lower bound of precision.
|
||
|
||
2017-03-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* doc/invoke.texi: Document default code model for 64-bit Linux.
|
||
|
||
2017-03-01 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
|
||
|
||
PR target/79752
|
||
* config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit
|
||
udiv rather than div since input pattern is unsigned.
|
||
|
||
2017-03-01 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (print_reg): Warn for values of
|
||
unsupported size in integer register.
|
||
|
||
2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/79439
|
||
* config/rs6000/predicates.md (current_file_function_operand): Do
|
||
not allow self calls to be local if the function is replaceable.
|
||
|
||
2017-03-01 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
PR target/79395
|
||
* config/rs6000/altivec.h (vec_ctz and others): Change the
|
||
preprocessor macro that controls conditional compilation from
|
||
_ARCH_PWR9 to __POWER9_VECTOR__.
|
||
(vec_all_ne): Change parameterization of __altivec_scalar_pred
|
||
macro expansion under preprocessor #ifdef __POWER9_VECTOR__
|
||
control (instead of _ARCH_PWR9 control) so that template
|
||
definition uses power9-specific function.
|
||
(vec_any_eq): Likewise.
|
||
(vec_all_ne): Change macro definition to use a power9-specific
|
||
expansion under #ifdef __POWER9_VECTOR__ control (instead of
|
||
_ARCH_PWR9 control).
|
||
(vec_any_eq) Likewise.
|
||
* config/rs6000/rs6000-builtin.def (CMPNEF): Remove BU_P9V_AV_2
|
||
expansion for CMPNEF to remove support for xvcmpnesp instruction.
|
||
(CMPNED): Remove BU_P9V_AV2 expansion for CMPNED to remove
|
||
support for xvcmpnedp instruction.
|
||
(VCMPNEB_P): Replace BU_P9V_AV_P macro expansion with BU_P9V_AV_2
|
||
macro expansion so that Power9 implementation of vec_all_ne does
|
||
not use the AltiVec predicate framework.
|
||
(VCMPNEH_P): Likewise.
|
||
(VCMPNEW_P): Likewise.
|
||
(VCMPNED_P): Likewise.
|
||
(VCMPNEFP_P): Likewise.
|
||
(VCMPNEDP_P): Likewise.
|
||
(VCMPAEB_P): Add BU_P9V_AV_2 macro expansion to change
|
||
implementation of vec_any_eq to not use AltiVec predicate
|
||
framework.
|
||
(VCMPAEH_P): Likewise.
|
||
(VCMPAEW_P): Likewise.
|
||
(VCMPAED_P): Likewise.
|
||
(VCMPAEFP_P): Likewise.
|
||
(VCMPAEDP_P): Likewise.
|
||
(VCMPNE_P): Replace BU_P9V_OVERLOAD_P macro expansion with
|
||
BU_P9V_OVERLOAD_2 so that Power9 implementation of vec_all_ne does
|
||
not use the AltiVec predicate framework.
|
||
(VCMPAE_P): Add BU_P9V_OVERLOAD_2 macro to change implementation
|
||
of vec_any_eq to not use AltiVec predicate framework.
|
||
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
|
||
support for predefined __POWER9_VECTOR__ macro to indicate that
|
||
Power9 instruction selection is enabled.
|
||
(altivec_overloaded_builtins): Remove extraneous
|
||
ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded
|
||
function argument types RS6000_BTI_bool_V16QI and
|
||
RS6000_BTI_bool_V16QI. Remove erroneous ALTIVEC_BUILTIN_VEC_CMPNE
|
||
entry for overloaded function argument types RS6000_BTI_bool_V4SI
|
||
andRS6000_BTI_bool_V4SI, mapping to P9V_BUILTIN_CMPNEB. Remove
|
||
two entries mapping to P9V_BUITIN_CMPNED and one entry mapping to
|
||
P9V_BUILTIN_CMPNEF to force use of instructions not specific to
|
||
Power9 for implementations of vec_cmpne. Change the signature for
|
||
all definitions of the overloaded P9V_BUILTIN_VEC_CMPNE_P function
|
||
(representing vec_all_ne) to remove the previously described first
|
||
argument of type RS6000_BTI_INTSI, as this was an artifact of
|
||
reliance on the AltiVec predicate framework, which is no longer
|
||
used in the implementation of these functions. Add
|
||
P9V_BUILTIN_VEC_VCMPAE_P entries (representing the vec_anyeq
|
||
function) to match all of the P9V_BUILTIN_VEC_VCMNE_P entries
|
||
since, unlike the AltiVec predicate framework implementation, we
|
||
do not share function descriptors between vec_alle and vec_anyeq.
|
||
(altivec_resolve_overloaded_builtin): Add SFmode and DFmode to the
|
||
set of modes that receive special treatment even when
|
||
TARGET_P9_VECTOR is true. The special treatment emits code that
|
||
does not depend on Power9 instructions.
|
||
* config/rs6000/vector.md (vector_ne_<mode>_p): Change this
|
||
define_expand to not rely on AltiVec predicate framework.
|
||
(vector_ae_<mode>p): New define_expand to represent vec_any_eq
|
||
function.
|
||
(vector_ne_v2di_p): Change this define_expand to not rely on
|
||
AltiVec predicate framework.
|
||
(vector_ae_v2di_p): New define_expand to represent vec_any_eq
|
||
function.
|
||
(vector_ne_<mode>_p): Change this define_expand to not rely on
|
||
AltiVec predicate framework.
|
||
(vector_ae_<mode>p): New define_expand to represent vec_any_eq
|
||
function.
|
||
* config/rs6000/vsx.md (*vsx_ne_<mode>_p): For modes VSX_EXTRACT_I
|
||
(V16QI, V8HI, V4SI), correct a typo in the code emitted for this
|
||
define_insn pattern.
|
||
(*vsx_ne_<mode>_p): For modes VSX_F (V4SF and V2DF), remove this
|
||
define_insn pattern because the xvcmpne<VSs>. instruction is not
|
||
supported.
|
||
(vcmpne<VSs>): Remove this define_insn because xvcmpne<VSs>
|
||
instruction is not supported.
|
||
|
||
2017-03-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/nvptx/nvptx.c: Include intl.h.
|
||
|
||
2017-03-01 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR lto/78140
|
||
* ipa-prop.h (ipa_bits): Removed field known.
|
||
(ipa_jump_func): Removed field vr_known. Changed fields bits and m_vr
|
||
to pointers. Adjusted their comments to warn about their sharing.
|
||
(ipcp_transformation_summary): Change bits to a vector of pointers.
|
||
(ipa_check_create_edge_args): Moved to ipa-prop.c, declare.
|
||
(ipa_get_ipa_bits_for_value): Declare.
|
||
* tree-vrp.h (value_range): Mark as GTY((for_user)).
|
||
* ipa-prop.c (ipa_bit_ggc_hash_traits): New.
|
||
(ipa_bits_hash_table): Likewise.
|
||
(ipa_vr_ggc_hash_traits): Likewise.
|
||
(ipa_vr_hash_table): Likewise.
|
||
(ipa_print_node_jump_functions_for_edge): Adjust for bits and m_vr
|
||
being pointers and vr_known being removed.
|
||
(ipa_set_jf_unknown): Likewise.
|
||
(ipa_get_ipa_bits_for_value): New function.
|
||
(ipa_set_jfunc_bits): Likewise.
|
||
(ipa_get_value_range): New overloaded functions.
|
||
(ipa_set_jfunc_vr): Likewise.
|
||
(ipa_compute_jump_functions_for_edge): Use the above functions to
|
||
construct bits and vr parts of jump functions.
|
||
(ipa_check_create_edge_args): Move here from ipa-prop.h, also allocate
|
||
ipa_bits_hash_table and ipa_vr_hash_table if they do not already
|
||
exist.
|
||
(ipcp_grow_transformations_if_necessary): Also allocate
|
||
ipa_bits_hash_table and ipa_vr_hash_table if they do not already
|
||
exist.
|
||
(ipa_node_params_t::duplicate): Do not copy bits, just pointers to
|
||
them. Fix too long lines.
|
||
(ipa_write_jump_function): Adjust for bits and m_vr being pointers and
|
||
vr_known being removed.
|
||
(ipa_read_jump_function): Use new setter functions to construct bits
|
||
and vr parts of jump functions or set them to NULL.
|
||
(write_ipcp_transformation_info): Adjust for bits being pointers.
|
||
(read_ipcp_transformation_info): Likewise.
|
||
(ipcp_update_bits): Likewise. Fix excessively long lines a trailing
|
||
space.
|
||
Include gt-ipa-prop.h.
|
||
* ipa-cp.c (propagate_bits_across_jump_function): Adjust for bits
|
||
being pointers.
|
||
(ipcp_store_bits_results): Likewise.
|
||
(propagate_vr_across_jump_function): Adjust for m_vr being a pointer.
|
||
Do not write to existing jump functions but use a temporary instead.
|
||
|
||
2017-03-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/79681
|
||
* fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF,
|
||
attempt to use its first operand as BIT_FIELD_REF base.
|
||
|
||
2017-03-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/79721
|
||
* tree-chrec.c (chrec_evaluate): Perform computation of Newtons
|
||
interpolating formula in wrapping arithmetic.
|
||
(chrec_apply): Convert chrec_evaluate return value to wanted type.
|
||
|
||
2017-03-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79734
|
||
* tree-vect-generic.c (expand_vector_condition): Optimize
|
||
AVX512 vector boolean VEC_COND_EXPRs into bitwise operations.
|
||
Handle VEC_COND_EXPR where comparison has different inner width from
|
||
type's inner width.
|
||
|
||
2017-02-28 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (ARC Options): Copy-edit to fix punctuation,
|
||
markup, and similar issues. Remove @opindex entries for things
|
||
that aren't options. Add missing -mmpy-option entries.
|
||
|
||
2017-02-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79737
|
||
* gimple-ssa-store-merging.c (encode_tree_to_bitpos): If bitlen is
|
||
a multiple of BITS_PER_UNIT and !BYTES_BIG_ENDIAN, clear
|
||
tmpbuf[byte_size - 1]. Call natice_encode_expr with byte_size - 1
|
||
instead of byte_size. Formatting fix.
|
||
(shift_bytes_in_array_right): Formatting fix.
|
||
|
||
2017-02-28 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/79749
|
||
* config/sparc/sparc.c (sparc_frame_pointer_required): Add missing
|
||
condition on optimize for the leaf function test.
|
||
|
||
2017-02-28 Martin Liska <mliska@suse.cz>
|
||
|
||
PR lto/79625
|
||
* read-rtl-function.c (function_reader::handle_unknown_directive):
|
||
Bail out when one uses -flto.
|
||
|
||
2017-02-28 Martin Liska <mliska@suse.cz>
|
||
|
||
* common.opt: Replace space with tabular for options of <number>
|
||
type.
|
||
* config/i386/i386.opt: Show <number> value for
|
||
-mlarge-data-threshold.
|
||
* opts.c (print_filtered_help): Do not display number in hexadecimal
|
||
format.
|
||
|
||
2017-02-28 Martin Liska <mliska@suse.cz>
|
||
|
||
* common.opt: Fix --help=option -Q for options which are of
|
||
an enum type.
|
||
|
||
2017-02-28 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (print_reg): Error out for values
|
||
of 8-bit size in invalid integer register.
|
||
|
||
2017-02-28 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/79691
|
||
* passes.def (pass_all_optimizations_g): Enable pass_sprintf_length.
|
||
|
||
2017-02-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/79729
|
||
* config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace
|
||
gcc_unreachable with output_operand_lossage.
|
||
|
||
2017-02-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79740
|
||
* tree-ssa-sccvn.c (vn_nary_op_insert_into): Allow redundant
|
||
inserts.
|
||
(visit_nary_op): Insert the nary into the hashtable if we
|
||
pattern-matched sth.
|
||
* tree-ssa-pre.c (eliminate_insert): Robustify.
|
||
|
||
2017-02-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/79731
|
||
* fold-const.c (decode_field_reference): Reject out-of-bound
|
||
accesses.
|
||
|
||
2017-02-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386.c: Include intl.h.
|
||
(ix86_option_override_internal): Use cond ? G_("...") : G_("...")
|
||
instead of just cond ? "..." : "...".
|
||
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Likewise.
|
||
* coverage.c (read_counts_file): Likewise.
|
||
* omp-offload.c: Include intl.h.
|
||
(oacc_loop_fixed_partitions): Use cond ? G_("...") : G_("...") instead
|
||
of just cond ? "..." : "...".
|
||
* gcov.c (read_count_file): Use cond ? N_("...") : N_("...") instead
|
||
of just cond ? "..." : "...".
|
||
|
||
2017-02-28 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/79742
|
||
* config/arm/parsecpu.awk (gen_data): Set tuning target to 'tune for'
|
||
entry, if present.
|
||
* config/arm/arm-cpus.in (cortex-m0plus.small-multiply): Correct
|
||
'tune for' CPU name.
|
||
* config/arm/arm-cpu-data.h: Regenerated.
|
||
|
||
2017-02-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79732
|
||
* tree-inline.c (expand_call_inline): Do not shadow var.
|
||
|
||
2017-02-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79723
|
||
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Preserve
|
||
address-space properly.
|
||
|
||
2017-02-28 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* doc/optinfo.texi (Optimization groups): Fix option used for
|
||
OPTGROUP_ALL.
|
||
* doc/invoke.texi (-fopt-info): Document "omp".
|
||
* dumpfile.h: Sort OPTGROUP_OMP before OPTGROUP_VEC.
|
||
(OPTGROUP_ALL): Add OPTGROUP_OMP.
|
||
* hsa-gen.c (pass_data_gen_hsail): Use OPTGROUP_OMP.
|
||
* ipa-hsa.c (pass_data_ipa_hsa): Likewise.
|
||
* omp-simd-clone.c (pass_data_omp_simd_clone): Likewise.
|
||
|
||
* dumpfile.h (OPTGROUP_OPENMP): Rename to OPTGROUP_OMP. Adjust
|
||
all users.
|
||
* dumpfile.c (optgroup_options): Instead of "openmp", associate
|
||
OPTGROUP_OMP with "omp".
|
||
|
||
2017-02-27 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
PR target/79544
|
||
* config/rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD
|
||
for arithmetic shift of unsigned V2DI.
|
||
|
||
2017-02-27 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config.gcc (arc*-): Clean up, use arc/big.h, arc/elf.h, and
|
||
arc/linux.h headers.
|
||
* config/arc/arc.h (TARGET_OS_CPP_BUILTINS): Remove.
|
||
(LINK_SPEC): Likewise.
|
||
(ARC_TLS_EXTRA_START_SPEC): Likewise.
|
||
(EXTRA_SPECS): Likewise.
|
||
(STARTFILE_SPEC): Likewise.
|
||
(ENDFILE_SPEC): Likewise.
|
||
(LIB_SPEC): Likewise.
|
||
(TARGET_SDATA_DEFAULT): Likewise.
|
||
(TARGET_MMEDIUM_CALLS_DEFAULT): Likewise.
|
||
(MULTILIB_DEFAULTS): Likewise.
|
||
(DWARF2_UNWIND_INFO): Likewise.
|
||
* config/arc/big.h: New file.
|
||
* config/arc/elf.h: Likewise.
|
||
* config/arc/linux.h: Likewise.
|
||
* config/arc/t-uClibc: Remove.
|
||
|
||
2017-02-27 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/77536
|
||
* tree-ssa-loop-manip.c (niter_for_unrolled_loop): New function.
|
||
(tree_transform_and_unroll_loop): Use above function to compute the
|
||
estimated niter of unrolled loop and use it when scaling profile.
|
||
Also use count info rather than frequency if it's non-zero.
|
||
* tree-ssa-loop-manip.h niter_for_unrolled_loop(): New declaration.
|
||
* tree-vect-loop.c (scale_profile_for_vect_loop): New function.
|
||
(vect_transform_loop): Call above function.
|
||
|
||
2017-02-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/45397
|
||
* tree-ssa-pre.c (eliminate_insert): Handle BIT_AND_EXPR.
|
||
* tree-ssa-sccvn.c (valueized_wider_op): New helper.
|
||
(visit_nary_op): Add pattern matching for CSEing sign-changed
|
||
or truncated operations with wider ones.
|
||
|
||
2017-02-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79690
|
||
* tree-vect-stmts.c (vectorizable_store): Use vector type
|
||
built from the DR with address-space.
|
||
|
||
2017-02-26 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/invoke.texi (Optimize Options): Refine the description
|
||
of asan-use-after-return.
|
||
|
||
2017-02-25 Alan Modra <amodra@gmail.com>
|
||
|
||
PR rtl-optimization/79584
|
||
* lra-constraints.c (base_to_reg): Reload ad->base, the entire
|
||
base, not ad->base_term, the reg within base. Remove assertion
|
||
that ad->base == ad->base_term. Replace gen_int_mode using
|
||
bogus mode with const0_rtx.
|
||
|
||
2017-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/79396
|
||
* tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle
|
||
FMA_EXPR like tcc_binary or tcc_unary.
|
||
|
||
* tree-ssa-loop-niter.c (number_of_iterations_exit): Simplify warning.
|
||
|
||
PR debug/77589
|
||
* dwarf2out.c (struct dw_loc_list_struct): Add noted_variable_value
|
||
bitfield.
|
||
(size_of_loc_descr): Handle DW_OP_GNU_variable_value.
|
||
(output_loc_operands): Handle DW_OP_call_ref and
|
||
DW_OP_GNU_variable_value.
|
||
(struct variable_value_struct): New type.
|
||
(struct variable_value_hasher): Likewise.
|
||
(variable_value_hash): New variable.
|
||
(string_types): Remove.
|
||
(copy_loc_descr): New function.
|
||
(add_loc_descr_to_each): Clarify comment. Use copy_loc_descr.
|
||
(prepend_loc_descr_to_each): New function.
|
||
(add_loc_list): Fix comment typo. Use prepend_loc_descr_to_each
|
||
instead of add_loc_descr_to_each if the first argument is single
|
||
location list and the second has multiple.
|
||
(resolve_args_picking_1): Handle DW_OP_GNU_variable_value.
|
||
(loc_list_from_tree_1): For early_dwarf, emit DW_OP_GNU_variable_value
|
||
when looking for variable value which doesn't have other location info.
|
||
(loc_list_from_tree): Formatting fix.
|
||
(gen_array_type_die): Simplify DW_AT_string_length handling.
|
||
(adjust_string_types): Remove.
|
||
(gen_subprogram_die): Don't call adjust_string_types nor test/set
|
||
string_types. Call resolve_variable_values.
|
||
(prune_unused_types_walk_loc_descr): Handle DW_OP_GNU_variable_value.
|
||
(resolve_addr_in_expr): Likewise. Add A argument.
|
||
(copy_deref_exprloc): Remove deref argument. Adjust for the
|
||
original expression being DW_OP_GNU_variable_value with optionally
|
||
DW_OP_stack_value after it instead of DW_OP_call4 with DW_OP_deref
|
||
optionally after it.
|
||
(optimize_string_length): Rework for DW_OP_GNU_variable_value.
|
||
(resolve_addr): Adjust optimize_string_length and resolve_addr_in_expr
|
||
callers. Set remove_AT_byte_size if removing DW_AT_string_length.
|
||
(variable_value_hasher::hash, variable_value_hasher::equal): New
|
||
methods.
|
||
(resolve_variable_value_in_expr, resolve_variable_value,
|
||
resolve_variable_values, note_variable_value_in_expr,
|
||
note_variable_value): New functions.
|
||
(dwarf2out_early_finish): Call note_variable_value on all toplevel
|
||
DIEs.
|
||
|
||
2017-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/79677
|
||
* opts.h (handle_generated_option): Add GENERATED_P argument.
|
||
* opts-common.c (handle_option): Adjust function comment.
|
||
(handle_generated_option): Add GENERATED_P argument, pass it to
|
||
handle_option.
|
||
(control_warning_option): Pass false to handle_generated_option
|
||
GENERATED_P.
|
||
* opts.c (maybe_default_option): Pass true to handle_generated_option
|
||
GENERATED_P.
|
||
* optc-gen.awk: Likewise.
|
||
|
||
2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/sh/sh.md (tstsi_t): If operands[0] is a SUBREG instead of
|
||
a REG, look at the REG it is a SUBREG of.
|
||
(splitter for cmpeqsi_t): Ditto.
|
||
|
||
2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/pa/pa.c (pa_combine_instructions): Do not share RTL. Make
|
||
the special USEs with the pattern of the insn, not the insn itself.
|
||
|
||
2017-02-24 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
PR target/79473
|
||
* doc/invoke.texi: Document -mload-store-pairs.
|
||
|
||
2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
|
||
Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* config/nios2/nios2.c (nios2_simple_const_p): Returns false if the
|
||
argument isn't a CONST_INT.
|
||
(nios2_alternate_compare_const): Assert op is a CONST_INT.
|
||
(nios2_valid_compare_const_p): Assert op is a CONST_INT.
|
||
(nios2_validate_compare): Bypass alternate compare logic if *op2
|
||
is not a CONST_INT.
|
||
(ldstwm_operation_p): Return false if first_base is not a REG or
|
||
if first_offset is not a CONST_INT.
|
||
|
||
2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/cris/cris.md: Use correct operand in a define_peephole2.
|
||
|
||
2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/c6x/c6x.c (predicate_insn): Do not incorrectly share RTL.
|
||
|
||
2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/arc/arc.c (arc_ccfsm_advance): Only take the PATTERN of
|
||
this_insn if it is an INSN or JUMP_INSN.
|
||
(force_offsettable): Look at base, not at addr.
|
||
* config/arc/predicates.md (brcc_nolimm_operator): Don't call INTVAL
|
||
on things that aren't necessarily CONST_INTs.
|
||
|
||
2017-02-24 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* doc/invoke.texi (x86 Options, -mfpmath=sse): Mention that
|
||
-mfpmath=sse is the default also for x86-32 targets with SSE2
|
||
instruction set when @option{-ffast-math} is enabled
|
||
|
||
2017-02-24 Jeff Law <law@redhat.com>
|
||
|
||
PR rtl-optimizatoin/79286
|
||
* ira.c (update_equiv_regs): Drop may_trap_p exception to
|
||
dominance test.
|
||
|
||
2017-02-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79389
|
||
* gimple-ssa-split-paths.c (is_feasible_trace): Properly skip
|
||
debug insns.
|
||
|
||
2017-02-24 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* tree-ssa-loop-niter.c (number_of_iterations_exit): Update
|
||
function comment to reflect reality.
|
||
(loop_exits_before_overflow): Fix typo in function description.
|
||
|
||
2017-02-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79389
|
||
* gimple-ssa-split-paths.c (is_feasible_trace): Verify more
|
||
properly that a threading opportunity exists. Detect conditional
|
||
copy/constant propagation opportunities.
|
||
|
||
2017-02-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/visium/visium.md (type): Add trap.
|
||
(b): New mode attribute.
|
||
(*btst): Rename into...
|
||
(*btst<mode>): ...this and adjust.
|
||
(*cbranchsi4_btst_insn): Rename into...
|
||
(*cbranch<mode>4_btst_insn): ...this and adjust.
|
||
(trap): New define_insn.
|
||
|
||
2017-02-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79389
|
||
* ifcvt.c (struct noce_if_info): Add rev_cond field.
|
||
(noce_reversed_cond_code): New function.
|
||
(noce_emit_store_flag): Use rev_cond if non-NULL instead of
|
||
reversed_comparison_code. Formatting fix.
|
||
(noce_try_store_flag): Test rev_cond != NULL in addition to
|
||
reversed_comparison_code.
|
||
(noce_try_store_flag_constants): Likewise.
|
||
(noce_try_store_flag_mask): Likewise.
|
||
(noce_try_addcc): Use rev_cond if non-NULL instead of
|
||
reversed_comparison_code.
|
||
(noce_try_cmove_arith): Likewise. Formatting fixes.
|
||
(noce_try_minmax, noce_try_abs): Clear rev_cond.
|
||
(noce_find_if_block): Initialize rev_cond.
|
||
(find_cond_trap): Call noce_get_condition with then_bb == trap_bb
|
||
instead of false as last argument never attempt to reverse it
|
||
afterwards.
|
||
|
||
2017-02-23 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/79663
|
||
* tree-predcom.c (combine_chains): Process refs in reverse order
|
||
only for ZERO length chains, and add explaining comment.
|
||
|
||
2017-02-23 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/79578
|
||
* tree-ssa-dse.c (clear_bytes_written_by): Use OEP_ADDRESS_OF
|
||
in call to operand_equal_p.
|
||
|
||
2017-01-23 Dominique d'Humieres <dominiq@lps.ens.fr>
|
||
|
||
PR target/71017
|
||
* config/i386/cpuid.h: Fix another undefined behavior.
|
||
|
||
2017-02-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79683
|
||
* tree-vect-stmts.c (vect_analyze_stmt): Do not overwrite
|
||
vector types for data-refs.
|
||
|
||
2017-02-23 Martin Liska <mliska@suse.cz>
|
||
|
||
* params.def (PARAM_MIN_NONDEBUG_INSN_UID): Change default to 0.
|
||
|
||
2017-02-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/79665
|
||
* internal-fn.c (get_range_pos_neg): Moved to ...
|
||
* tree.c (get_range_pos_neg): ... here. No longer static.
|
||
* tree.h (get_range_pos_neg): New prototype.
|
||
* expr.c (expand_expr_real_2) <case TRUNC_DIV_EXPR>: If both arguments
|
||
are known to be in between 0 and signed maximum inclusive, try to
|
||
expand both unsigned and signed divmod and use the cheaper one from
|
||
those.
|
||
|
||
2017-02-22 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/79578
|
||
* tree-ssa-dse.c (clear_bytes_written_by): Use operand_equal_p
|
||
to compare base operands.
|
||
|
||
2017-02-22 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/79211
|
||
* config/rs6000/rs6000.md (*fsel<SFDF:mode><SFDF2:mode>4): Use
|
||
gpc_reg_operand instead of fpr_reg_operand.
|
||
|
||
2017-02-22 Sameera Deshpande <sameera.deshpande@imgtec.com>
|
||
|
||
* config/mips/mips.c (mips_return_in_memory): Force FP
|
||
vector types to be returned in memory for o32 ABI.
|
||
|
||
2017-02-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* dwarf2out.c (gen_variable_die): For -gdwarf-5, use DW_TAG_variable
|
||
instead of DW_TAG_member for static data member declarations and don't
|
||
set no_linkage_name for static inline data members.
|
||
(gen_member_die): For -gdwarf-5 don't change DW_TAG_variable
|
||
to DW_TAG_member.
|
||
|
||
2017-02-22 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/invoke.texi: Replace inequality signs with square brackets
|
||
for -Wnormalized.
|
||
|
||
2017-02-22 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
PR target/78660
|
||
* lra-constraints.c (simplify_operand_subreg): Handle
|
||
WORD_REGISTER_OPERATIONS targets.
|
||
|
||
2017-02-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70465
|
||
* reg-stack.c (emit_swap_insn): Treat (float_extend:?F (mem:?F))
|
||
and (const_double:?F) like (mem:?F) for the purpose of fxch %st(1)
|
||
elimination by swapping fld*.
|
||
|
||
2017-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79673
|
||
* tree-ssa-pre.c (compute_avail): Use wide_int_to_tree to
|
||
convert the [TARGET_]MEM_REF offset INTEGER_CST, scrapping off
|
||
irrelevant address-space qualifiers and avoiding a
|
||
ADDR_SPACE_CONVERT_EXPR from fold_convert.
|
||
|
||
2017-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79666
|
||
* tree-vrp.c (extract_range_from_binary_expr_1): Make sure
|
||
to not symbolically negate if that may introduce undefined
|
||
overflow.
|
||
|
||
2017-02-22 Martin Liska <mliska@suse.cz>
|
||
|
||
PR lto/79587
|
||
* data-streamer-in.c (streamer_read_gcov_count): Remove assert.
|
||
* data-streamer-out.c (streamer_write_gcov_count_stream):
|
||
Likewise.
|
||
* value-prof.c (stream_out_histogram_value): Make assert more
|
||
precise based on type of counter.
|
||
|
||
2017-02-21 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/79593
|
||
* config/i386/i386.md (standard_x87sse_constant_load splitter):
|
||
Use nonimmediate_operand instead of memory_operand for operand 1.
|
||
(float-extend standard_x87sse_constant_load splitter): Ditto.
|
||
|
||
2017-02-21 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/79621
|
||
* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Ignore
|
||
blocks with edges to themselves.
|
||
|
||
2017-02-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/79633
|
||
* tree-chkp-opt.c (chkp_optimize_string_function_calls): Use
|
||
is_gimple_call instead of comparing gimple_code with GIMPLE_CALL.
|
||
Use gimple_call_builtin_p.
|
||
|
||
PR target/79570
|
||
* sel-sched.c (moveup_expr_cached): Don't call sel_bb_head
|
||
on temporarily removed DEBUG_INSNs.
|
||
|
||
PR tree-optimization/79649
|
||
* tree-loop-distribution.c (classify_partition): Give up on
|
||
non-generic address space loads/stores.
|
||
|
||
2017-02-21 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* doc/loop.texi (Loop manipulation): Remove nonexistent
|
||
tree_ssa_loop_version from the documentation.
|
||
* cfgloopmanip.c (loop_version): Document CONDITION_BB argument.
|
||
|
||
2017-02-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/79494
|
||
* config/i386/i386.c (ix86_expand_split_stack_prologue): Call
|
||
make_reg_eh_region_note_nothrow_nononlocal on call_insn.
|
||
* config/rs6000/rs6000.c: Include except.h.
|
||
(rs6000_expand_split_stack_prologue): Call
|
||
make_reg_eh_region_note_nothrow_nononlocal on the call insn.
|
||
|
||
2017-02-21 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR lto/79579
|
||
* ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges
|
||
have been analyzed.
|
||
|
||
2017-02-21 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* common.opt (-fipa-cp-alignment): Mark as ignored and preserved
|
||
for backward compatibility only.
|
||
* doc/invoke.texi (Option Summary): Remove all references to
|
||
-fipa-cp-alignment.
|
||
|
||
2017-02-21 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
PR target/78660
|
||
Revert:
|
||
2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* lra-constraints.c (curr_insn_transform): Handle
|
||
WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
|
||
|
||
2017-02-21 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/i386/i386.opt: Replace -masm-dialect with -masm.
|
||
|
||
2017-02-21 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR translation/79638
|
||
* config/nvptx/nvptx.c (ENTRY_TEMPLATE): Single out "%ntid.y".
|
||
|
||
2017-02-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/67205
|
||
* config/arm/arm.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
|
||
(arm_function_ok_for_sibcall): Return false for an indirect call by
|
||
descriptor if all the argument registers are used.
|
||
(arm_relayout_function): Use FUNCTION_ALIGNMENT macro to adjust the
|
||
alignment of the function.
|
||
|
||
2017-02-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/61441
|
||
* simplify-rtx.c (simplify_const_unary_operation): For
|
||
-fsignaling-nans and sNaN operand, return NULL_RTX rather than
|
||
the sNaN unmodified.
|
||
|
||
2017-02-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
|
||
(LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
|
||
instead of SYSTEM_HEADER_DIR.
|
||
|
||
2017-02-20 Gerald Pfeifer <gerald@pfeifer.com>
|
||
Martin Liška <mliska@suse.cz>
|
||
|
||
* doc/invoke.texi (use-after-scope-direct-emission-threshold):
|
||
Fix typos and grammar, use active voice, and clarify.
|
||
|
||
2017-02-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR middle-end/79537
|
||
* gimplify.c (gimplify_expr): Handle unused *&&L;.
|
||
|
||
PR sanitizer/79558
|
||
* ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null.
|
||
|
||
2017-02-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/79568
|
||
* config/i386/i386.c (ix86_expand_builtin): Handle
|
||
OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in
|
||
ix86_builtins_isa[fcode].isa as a requirement of those
|
||
flags and any other flag in the bitmask.
|
||
(ix86_init_mmx_sse_builtins): Use 0 instead of
|
||
~OPTION_MASK_ISA_64BIT as mask.
|
||
* config/i386/i386-builtin.def (__builtin_ia32_rdtsc,
|
||
__builtin_ia32_rdtscp, __builtin_ia32_pause, __builtin_ia32_bsrsi,
|
||
__builtin_ia32_rdpmc, __builtin_ia32_rolqi, __builtin_ia32_rolhi,
|
||
__builtin_ia32_rorqi, __builtin_ia32_rorhi): Likewise.
|
||
|
||
2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
PR target/78012
|
||
* lra-constraints.c (split_reg): Check requested split mode
|
||
is supported by the register.
|
||
|
||
2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* lra-constraints.c (simplify_operand_subreg): Remove early
|
||
return false.
|
||
|
||
2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
PR target/78660
|
||
* lra-constraints.c (curr_insn_transform): Tighten condition
|
||
for converting SUBREG reloads from OP_OUT to OP_INOUT.
|
||
|
||
2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
PR target/78660
|
||
* lra-constraints.c (curr_insn_transform): Handle
|
||
WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
|
||
|
||
2017-02-19 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Revert:
|
||
2016-05-30 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
|
||
|
||
2017-02-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR c++/69523
|
||
* doc/invoke.texi (C++ Dialect Options) [-Wliteral-suffix]: Update
|
||
description.
|
||
|
||
2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format
|
||
for FMA_EXPR.
|
||
|
||
2017-02-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* final.c (last_columnnum, override_columnnum): New variables.
|
||
(final_start_function): Set last_columnnum, pass it to begin_prologue
|
||
hook and pass 0 to dwarf2out_begin_prologue.
|
||
(final_scan_insn): Update override_columnnum. Pass last_columnnum
|
||
to source_line debug hook.
|
||
(notice_source_line): Compute last_columnnum and for debug_column_info
|
||
return true on column changes.
|
||
* debug.h (struct gcc_debug_hooks): Add column argument to
|
||
source_line and begin_prologue hooks.
|
||
(debug_nothing_int_charstar_int_bool): Remove prototype.
|
||
(debug_nothing_int_int_charstar,
|
||
debug_nothing_int_int_charstar_int_bool): New prototypes.
|
||
(dwarf2out_begin_prologue): Add column argument.
|
||
* debug.c (do_nothing_debug_hooks): Adjust source_line and
|
||
begin_prologue hooks.
|
||
(debug_nothing_int_charstar_int_bool): Remove.
|
||
(debug_nothing_int_int_charstar,
|
||
debug_nothing_int_int_charstar_int_bool): New functions.
|
||
* dwarf2out.c (dwarf2out_begin_prologue): Add column argument, pass it
|
||
through to dwarf2out_source_line.
|
||
(dwarf2_lineno_debug_hooks): Adjust begin_prologue hook.
|
||
(dwarf2out_source_line): Add column argument, emit it if requested.
|
||
* sdbout.c (sdbout_source_line, sdbout_begin_prologue): Add column
|
||
arguments.
|
||
* xcoffout.h (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
|
||
* xcoffout.c (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
|
||
* vmsdbgout.c (vmsdbgout_begin_prologue): Add column argument, pass it
|
||
through to dwarf2out_begin_prologue.
|
||
(vmsdbgout_source_line): Add column argument, pass it through to
|
||
dwarf2out_source_line.
|
||
* dbxout.c (dbxout_begin_prologue): Add column argument, adjust
|
||
dbxout_source_line caller.
|
||
(dbxout_source_line): Add column argument.
|
||
|
||
* common.opt (gno-column-info, gcolumn-info): New options.
|
||
* dwarf2out.c (dwarf2_lineno_debug_hooks): Formatting fix.
|
||
(check_die): Also test for multiple DW_AT_decl_column attributes.
|
||
(add_src_coords_attributes, dwarf2out_imported_module_or_decl_1): Add
|
||
DW_AT_decl_column if requested.
|
||
(gen_subprogram_die): Compare and/or add also DW_AT_decl_column
|
||
if requested.
|
||
(gen_variable_die): Likewise.
|
||
(add_call_src_coords_attributes): Add DW_AT_call_column if requested.
|
||
* doc/invoke.texi (-gcolumn-info, -gno-column-info): Document.
|
||
|
||
PR target/79569
|
||
* config/i386/i386.opt (m3dnowa): Replace Undocumented with Report.
|
||
* common/config/i386/i386-common.c (OPTION_MASK_ISA_3DNOW_A_SET): Define.
|
||
(ix86_handle_option): Handle OPT_m3dnowa.
|
||
* doc/invoke.texi (-m3dnowa): Document.
|
||
* doc/extend.texi (__builtin_ia32_pmulhuw, __builtin_ia32_pf2iw): Use
|
||
-m3dnowa instead of -m3dnow -march=athlon.
|
||
|
||
PR target/79559
|
||
* config/i386/i386.c (ix86_print_operand): Use output_operand_lossage
|
||
instead of gcc_assert for K, r and R code checks. Formatting fixes.
|
||
|
||
2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/79261
|
||
* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add
|
||
support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be.
|
||
* config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call
|
||
generator for vsx_xxpermdi_<mode>_be.
|
||
* config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to
|
||
force big-endian semantics.
|
||
(vsx_xxpermdi_<mode>_be): New define_expand with same
|
||
implementation as previous version of vsx_xxpermdi_<mode>.
|
||
|
||
2017-02-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79327
|
||
* gimple-ssa-sprintf.c (format_integer): Remove likely_adjust
|
||
variable, its initialization and use.
|
||
|
||
2017-02-17 Julia Koval <julia.koval@intel.com>
|
||
|
||
* common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.
|
||
(OPTION_MASK_ISA_PKU_UNSET): New.
|
||
(ix86_handle_option): Handle -mrdpid.
|
||
* config/i386/cpuid.h (bit_RDPID): New.
|
||
* config/i386/driver-i386.c (host_detect_local_cpu):
|
||
Detect RDPID feature.
|
||
* config/i386/i386-builtin.def (__builtin_ia32_rdpid): New.
|
||
* config/i386/i386-c.c (ix86_target_macros_internal):
|
||
Handle RDPID flag.
|
||
* config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts.
|
||
(ix86_valid_target_attribute_inner_p): Add "rdpid".
|
||
(ix86_expand_builtin): Handle IX86_BUILTIN_RDPID.
|
||
* config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New.
|
||
* config/i386/i386.md (define_insn "rdpid"): New.
|
||
* config/i386/i386.opt Add -mrdpid.
|
||
* config/i386/immintrin.h (_rdpid_u32): New.
|
||
|
||
2017-02-17 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/79541
|
||
* lra-constraints.c (curr_insn_transform): Remove wrong asm insn
|
||
instead of transforming it into USE.
|
||
|
||
2017-02-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md (extendsfdf2): Remove default arguments.
|
||
If HONOR_SNANS (SFmode) force the input to a register.
|
||
(*extendsfdf2_fpr): Add !HONOR_SNANS (SFmode) condition.
|
||
(*extendsfdf2_snan): New pattern, used when using SNaNs; it generates
|
||
an frsp or similar insn.
|
||
|
||
2017-02-17 Martin Liska <mliska@suse.cz>
|
||
|
||
PR rtl-optimization/79577
|
||
* params.def (selsched-max-sched-times): Increase minimum to 1.
|
||
|
||
2017-02-17 Martin Liska <mliska@suse.cz>
|
||
|
||
PR rtl-optimization/79574
|
||
* gcse.c (want_to_gcse_p): Prevent integer overflow.
|
||
|
||
2017-02-17 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/79529
|
||
* tree-ssa-loop-unswitch.c (is_maybe_undefined): Use
|
||
ssa_defined_default_def_p to handle cases which are implicitly
|
||
defined.
|
||
* tree-ssa.c (ssa_defined_default_def_p): New function.
|
||
(ssa_undefined_value_p): Use ssa_defined_default_def_p to handle cases
|
||
which are implicitly defined.
|
||
* tree-ssa.h (ssa_defined_default_def_p): Declare.
|
||
|
||
2017-02-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/79576
|
||
* params.def (max-ssa-name-query-depth): Limit to 10.
|
||
|
||
2017-02-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79552
|
||
* tree-ssa-structalias.c (visit_loadstore): Properly verify
|
||
default defs.
|
||
|
||
2017-02-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR bootstrap/79567
|
||
* genmatch.c (output_line_directive): Handle DIR_SEPARATOR_2.
|
||
|
||
2017-02-17 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR middle-end/79536
|
||
* fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr.
|
||
(fold_negate_expr): New wrapper.
|
||
|
||
2017-02-16 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (C++ Dialect Options) [-Wno-non-template-friend]:
|
||
Correct terminology and de-emphasize pre-standard behavior.
|
||
|
||
2017-02-16 Alan Modra <amodra@gmail.com>
|
||
|
||
PR rtl-optimization/79286
|
||
* ira.c (def_dominates_uses): New function.
|
||
(update_equiv_regs): Don't create an equivalence for insns that
|
||
may trap where the register def does not dominate the use.
|
||
|
||
2017-02-16 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/78127
|
||
* lra.c (lra): Call lra_eliminate before finish the loop after
|
||
lra_constraint.
|
||
|
||
2017-02-16 Richard Biener <rguenther@suse.de>
|
||
|
||
* graphite.h: Do not include isl/isl_val_gmp.h, instead include
|
||
isl/isl_val.h.
|
||
* graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
|
||
(gcc_expression_from_isl_expr_int): Use generic isl_val interface.
|
||
* graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
|
||
(isl_val_int_from_wi): New function.
|
||
(extract_affine_gmp): Rename to ...
|
||
(extract_affine_wi): ... this, take a widest_int.
|
||
(extract_affine_int): Just wrap extract_affine_wi.
|
||
(add_param_constraints): Use isl_val_int_from_wi.
|
||
(add_loop_constraints): Likewise, and extract_affine_wi.
|
||
|
||
2017-02-15 Jeff Law <law@redhat.com>
|
||
|
||
PR middle-end/79521
|
||
* ira-costs.c (scan_one_insn): Check have_regs_of_mode before calling
|
||
ira_init_register_move_cost_if_necessary.
|
||
|
||
2017-02-15 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/32003
|
||
* doc/invoke.texi (-fdump-final-insns): Replace option accidentally
|
||
removed in a prior commit.
|
||
|
||
2017-02-15 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/79347
|
||
* tree-vect-loop-manip.c (vect_do_peeling): Maintain profile
|
||
counters during peeling.
|
||
|
||
2017-02-15 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* Makefile.in (site.exp): Remove "set ISLVER".
|
||
|
||
2017-02-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/79487
|
||
* real.c (real_from_integer): Call real_convert even for decimal.
|
||
|
||
2017-02-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
PR target/79421
|
||
* config/s390/s390.c: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
|
||
|
||
2017-02-14 Andrew Pinski <apinski@cavium.com>
|
||
|
||
* config/aarch64/aarch64-cores.def (thunderx2t99): Move to under 'C"
|
||
cores and change the partno/implementer to be correct.
|
||
(thunderx2t99p1): New core which replaces thunderx2t99 and still has
|
||
the 'B" as the implementer.
|
||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||
|
||
2017-02-14 Carl Love <cel@us.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c: Add case statement entry to make the
|
||
xvcvuxdsp built-in argument unsigned.
|
||
* config/rs6000/vsx.md: Fix the source and return operand types so they
|
||
match the instruction definitions from the ISA document. Fix typo
|
||
in the instruction generation for the (define_insn "vsx_xvcvuxdsp"
|
||
statement.
|
||
|
||
2017-02-14 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/79282
|
||
* lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add
|
||
member early_clobber_alts.
|
||
* lra-lives.c (reg_early_clobber_p): New.
|
||
(process_bb_lives): Use it.
|
||
* lra.c (new_insn_reg): New arg early_clobber_alts. Use it.
|
||
(debug_operand_data): Initialize early_clobber_alts.
|
||
(setup_operand_alternative): Set up early_clobber_alts.
|
||
(collect_non_operand_hard_regs): Ditto. Pass early clobber
|
||
alternatives to new_insn_reg.
|
||
(add_regs_to_insn_regno_info): Add arg early_clobber_alts. Use
|
||
it.
|
||
(lra_update_insn_regno_info): Pass the new arg.
|
||
|
||
2017-02-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/79505
|
||
* omp-offload.c (free_oacc_loop): Release loop->ifns vector.
|
||
(new_oacc_loop_raw): Don't clear already cleared fields.
|
||
|
||
PR target/79481
|
||
* config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
|
||
_mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
|
||
_mm512_prefetch_i64gather_ps): New inline functions and macros.
|
||
|
||
2017-02-14 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/79495
|
||
* config/i386/i386.md (*movxf_internal): Add (o,rC) alternative.
|
||
|
||
2017-02-14 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/79498
|
||
* config/i386/i386.c (timode_scalar_chain::convert_insn): Insert
|
||
the extra instruction to the right place to store 128-bit constant
|
||
when needed.
|
||
|
||
2017-02-14 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/79448
|
||
* gimple-ssa-sprintf.c (format_directive): Avoid issuing INT_MAX
|
||
warning for strings of unknown length.
|
||
|
||
2017-02-13 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config.gcc (supported_defaults) [powerpc*-*-*]: Update.
|
||
|
||
2017-02-14 Jeff Law <law@redhat.com>
|
||
|
||
PR target/79404
|
||
* ira-costs.c (scan_one_insn): Initialize register move costs
|
||
for pseudos seen in USE/CLOBBER insns.
|
||
|
||
PR tree-optimization/79095
|
||
* tree-vrp.c (extract_range_from_binary_expr_1): For EXACT_DIV_EXPR,
|
||
if the numerator has the range ~[0,0] make the resultant range ~[0,0].
|
||
(extract_range_from_binary_expr): For MINUS_EXPR with no derived range,
|
||
if the operands are known to be not equal, then the resulting range
|
||
is ~[0,0].
|
||
(intersect_ranges): If the new range is ~[0,0] and the old range is
|
||
wide, then prefer ~[0,0].
|
||
* tree-vrp.c (overflow_comparison_p_1): New function.
|
||
(overflow_comparison_p): New function.
|
||
* tree-vrp.c (register_edge_assert_for_2): Register additional asserts
|
||
if NAME is used in an overflow test.
|
||
(vrp_evaluate_conditional_warnv_with_ops): If the ops represent an
|
||
overflow check that can be expressed as an equality test, then adjust
|
||
ops to be that equality test.
|
||
|
||
2017-02-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390-builtin-types.def: Remove flags argument.
|
||
* config/s390/s390.c (s390_init_builtins): Likewise.
|
||
|
||
2017-02-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree-ssa-loop-unswitch.c (hoist_guard): Release get_loop_body
|
||
vector. Fix trailing white spaces.
|
||
|
||
2017-02-14 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_simd_container_mode): Handle
|
||
HFmode.
|
||
|
||
2017-02-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/68664
|
||
* config/arm/arm.c (arm_sched_can_speculate_insn):
|
||
New function. Declare prototype.
|
||
(TARGET_SCHED_CAN_SPECULATE_INSN): Define.
|
||
|
||
2017-02-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/68664
|
||
* config/aarch64/aarch64.c (aarch64_sched_can_speculate_insn):
|
||
New function.
|
||
(TARGET_SCHED_CAN_SPECULATE_INSN): Define.
|
||
|
||
2017-02-14 Amit Pawar <amit.pawar@amd.com>
|
||
|
||
* config/i386/i386.c (znver1_cost): Fix the alignment for function and
|
||
max skip bytes for function, loop and jump.
|
||
|
||
2017-02-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* gimple-pretty-print.c (dump_unary_rhs): Adjust dump format for
|
||
ABS_EXPR for gimple dump.
|
||
|
||
2017-02-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/79462
|
||
* config/sh/sh.c (expand_cbranchdi4): Don't clear operands[4].
|
||
|
||
PR tree-optimization/79408
|
||
* tree-vrp.c (simplify_div_or_mod_using_ranges): Handle also the
|
||
case when on TRUNC_MOD_EXPR op0 is INTEGER_CST.
|
||
(simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
|
||
also if rhs1 is INTEGER_CST.
|
||
|
||
2017-02-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/79432
|
||
* tree-into-ssa.c (insert_phi_nodes): When the function can
|
||
have abnormal edges rewrite SSA names with broken use-def
|
||
dominance out of SSA and register them for PHI insertion.
|
||
|
||
2017-02-13 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/79496
|
||
* gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call): Avoid
|
||
clearing info.nowrite flag when snprintf size argument is a range.
|
||
|
||
2017-02-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cprop.c (cprop_jump): Add missing space in string literal.
|
||
* tree-ssa-structalias.c (rewrite_constraints): Likewise.
|
||
(get_constraint_for_component_ref): Likewise.
|
||
* df-core.c (df_worklist_dataflow_doublequeue): Likewise.
|
||
* tree-outof-ssa.c (insert_partition_copy_on_edge): Likewise.
|
||
* lra-constraints.c (process_alt_operands): Likewise.
|
||
* ipa-inline.c (inline_small_functions): Likewise.
|
||
* tree-ssa-sccvn.c (visit_reference_op_store): Likewise.
|
||
* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
|
||
* trans-mem.c (diagnose_tm_1_op): Likewise.
|
||
* omp-grid.c (grid_find_single_omp_among_assignments): Likewise.
|
||
(grid_parallel_clauses_gridifiable): Likewise.
|
||
|
||
* config/nvptx/mkoffload.c (process): Add space in between
|
||
, and %d.
|
||
|
||
* config/i386/i386.h (REG_CLASS_NAMES): Add , in between
|
||
"MOD4_SSE_REGS" and "ALL_REGS".
|
||
|
||
* spellcheck.c (test_data): Add , in between "foo" and "food".
|
||
|
||
2017-02-13 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
|
||
|
||
PR target/79449
|
||
* config/rs6000/rs6000.c (expand_block_compare): Make sure runtime
|
||
boundary crossing check and subsequent code generation agree.
|
||
|
||
2017-02-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (has_memory_op): Delete.
|
||
(aarch64_madd_needs_nop): Use contains_mem_rtx_p instead of
|
||
has_memory_op.
|
||
|
||
2017-02-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/79388
|
||
PR rtl-optimization/79450
|
||
* combine.c (distribute_notes): When removing TEM_INSN for which
|
||
corresponding dest has last value recorded, invalidate that last
|
||
value.
|
||
|
||
2017-02-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm.c (arm_print_tune_info): Use ASM_COMMENT_START instead
|
||
of explicit '@'. Add missing assembly comment marker on branch costs
|
||
printout.
|
||
|
||
2017-02-13 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* gengtype-lex.l (<in_struct>): Add '/'.
|
||
|
||
2017-02-13 Martin Liska <mliska@suse.cz>
|
||
|
||
PR c/79471
|
||
* calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC.
|
||
|
||
2017-02-13 Richard Biener <rguenther@suse.de>
|
||
|
||
* configure.ac (HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS):
|
||
Remove.
|
||
* configure: Re-generate.
|
||
* config.in: Likewise.
|
||
* graphite-dependences.c: Simplify as if
|
||
HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS was defined.
|
||
* graphite-isl-ast-to-gimple.c: Likewise.
|
||
* graphite-optimize-isl.c: Likewise.
|
||
* graphite-poly.c: Likewise.
|
||
* graphite-sese-to-poly.c: Likewise.
|
||
* graphite.h: Likewise.
|
||
* toplev.c: Include isl/version.h and use isl_version () for
|
||
printing the ISL version.
|
||
* doc/install.texi: Update ISL requirement.
|
||
|
||
2017-02-12 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/standards.texi (Standards): Update reference to
|
||
Objective-C 2.0.
|
||
|
||
2017-02-12 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/extend.texi (Named Address Spaces): sourceware.org now
|
||
defaults to https.
|
||
* doc/install.texi (Binaries): Ditto.
|
||
(Specific): Ditto.
|
||
|
||
2017-02-11 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/cpp.texi: Replace "stringify"/"stringification" with C
|
||
standard terminology "stringize"/"stringizing" throughout.
|
||
* doc/cppinternals.texi: Likewise.
|
||
|
||
2017-02-11 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi: Fix some spelling mistakes and typos.
|
||
* doc/invoke.texi: Likewise.
|
||
|
||
2017-02-11 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/79224
|
||
* params.def (inline-min-speedup) Change from 10 to 8.
|
||
|
||
2017-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* doc/invoke.texi (fopenmp): Bump OpenMP version from 4.0 to
|
||
4.5.
|
||
|
||
2017-02-11 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/79224
|
||
* ipa-inline-analysis.c (get_minimal_bb): New function.
|
||
(record_modified): Use it.
|
||
(remap_edge_change_prob): Handle also ancestor functions.
|
||
|
||
2017-02-11 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/contrib.texi (Contributors): Remove broken link into
|
||
the Mauve CVS repository.
|
||
|
||
2017-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/79454
|
||
* internal-fn.c (expand_vector_ubsan_overflow): Use piece-wise
|
||
result computation whenever lhs doesn't have vector mode, not
|
||
just when it has BLKmode.
|
||
|
||
2017-02-10 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/makefile.texi (profiledbootstrap): Refer to the
|
||
installation instructions only in textual form.
|
||
|
||
2017-02-10 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
|
||
|
||
PR target/79295
|
||
* config/rs6000/altivec.md (bcd<bcd_add_sub>): Fix constraints.
|
||
|
||
2017-02-10 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/install.texi (Specific): Use https for blackfin.uclinux.org.
|
||
(Specific): Update mingw-w64 reference.
|
||
(Binaries): Ditto.
|
||
(Specific): Remove broken link to Renesas RX processor.
|
||
|
||
2017-02-10 Richard Biener <rguenther@suse.de>
|
||
|
||
* toplev.c (process_options): Do not mention obsolete graphite
|
||
options when printing sorry message about missing graphite support.
|
||
Mention -floop-nest-optimize.
|
||
|
||
2017-02-10 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
* config/aarch64/arm_neon.h (vtst_p8): Rewrite without asm.
|
||
(vtst_p16): Likewise.
|
||
(vtstq_p8): Likewise.
|
||
(vtstq_p16): Likewise.
|
||
(vtst_p64): New.
|
||
(vtstq_p64): Likewise.
|
||
* config/arm/arm_neon.h (vgetq_lane_p64): New.
|
||
(vset_lane_p64): New.
|
||
(vsetq_lane_p64): New.
|
||
|
||
2017-02-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79411
|
||
* tree-ssa-reassoc.c (is_reassociable_op): Return false if
|
||
stmt operands are SSA_NAMEs used in abnormal phis.
|
||
(can_reassociate_p): Return false if op is SSA_NAME used in abnormal
|
||
phis.
|
||
|
||
2017-02-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/70795
|
||
* cgraphunit.c (cgraph_node::add_new_function): Set externally_visible
|
||
flag if needed.
|
||
|
||
2017-02-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree-ssa-loop-unswitch.c (hoist_guard): Update profile.
|
||
|
||
2017-02-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-offload.c (oacc_loop_auto_partitions): Use || instead of |
|
||
to avoid warning.
|
||
|
||
PR c/79413
|
||
* gimplify.h (is_gimple_sizepos): Only test for INTEGER_CST constants,
|
||
not arbitrary TREE_CONSTANT.
|
||
|
||
PR c/79431
|
||
* gimplify.c (gimplify_adjust_omp_clauses): Ignore
|
||
"omp declare target link" attribute unless is_global_var.
|
||
* omp-offload.c (find_link_var_op): Likewise.
|
||
|
||
2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
|
||
Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
* gimplify.c (gimplify_scan_omp_clauses): No special handling for
|
||
OMP_CLAUSE_TILE.
|
||
(gimplify_adjust_omp_clauses): Don't delete TILE.
|
||
(gimplify_omp_for): Deal with TILE.
|
||
* internal-fn.c (expand_GOACC_TILE): New function.
|
||
* internal-fn.def (GOACC_DIM_POS): Comment may be overly conservative.
|
||
(GOACC_TILE): New.
|
||
* omp-expand.c (struct oacc_collapse): Add tile and outer fields.
|
||
(expand_oacc_collapse_init): Add LOC paramter. Initialize tile
|
||
element fields.
|
||
(expand_oacc_collapse_vars): Add INNER parm, adjust for tiling,
|
||
avoid DIV for outermost collapse var.
|
||
(expand_oacc_for): Insert tile element loop as needed. Adjust.
|
||
Remove out of date comments, fix whitespace.
|
||
* omp-general.c (omp_extract_for_data): Deal with tiling.
|
||
* omp-general.h (enum oacc_loop_flags): Add OLF_TILE flag,
|
||
adjust OLF_DIM_BASE value.
|
||
(struct omp_for_data): Add tiling field.
|
||
* omp-low.c (scan_sharing_clauses): Allow OMP_CLAUSE_TILE.
|
||
(lower_oacc_head_mark): Add OLF_TILE as appropriate. Ensure 2 levels
|
||
for auto loops. Remove default auto determining, moved to
|
||
oacc_loop_fixed_partitions.
|
||
* omp-offload.c (struct oacc_loop): Change 'ifns' to vector of call
|
||
stmts, add e_mask field.
|
||
(oacc_dim_call): New function, abstracted out from oacc_thread_numbers.
|
||
(oacc_thread_numbers): Use oacc_dim_call.
|
||
(oacc_xform_tile): New.
|
||
(new_oacc_loop_raw): Initialize e_mask, adjust for ifns vector.
|
||
(finish_oacc_loop): Adjust for ifns vector.
|
||
(oacc_loop_discover_walk): Append loop abstraction sites to list,
|
||
add case for GOACC_TILE fns.
|
||
(oacc_loop_xform_loop): Delete.
|
||
(oacc_loop_process): Iterate over call list directly, and add
|
||
handling for GOACC_TILE fns.
|
||
(oacc_loop_fixed_partitions): Determine default auto, deal with TILE,
|
||
dump partitioning.
|
||
(oacc_loop_auto_partitions): Add outer_assign parm. Assign all but
|
||
vector partitioning to outer loops. Assign 2 partitions to loops
|
||
when available. Add TILE handling.
|
||
(oacc_loop_partition): Adjust oacc_loop_auto_partitions call.
|
||
(execite_oacc_device_lower): Process GOACC_TILE fns, ignore unknown specs.
|
||
* tree-nested.c (convert_nonlocal_omp_clauses): Allow OMP_CLAUSE_TILE.
|
||
* tree.c (omp_clause_num_ops): Adjust TILE ops.
|
||
* tree.h (OMP_CLAUSE_TILE_ITERVAR, OMP_CLAUSE_TILE_COUNT): New.
|
||
|
||
2017-02-09 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* configure.ac (ACX_BUGURL): Update.
|
||
* configure: Regenerate.
|
||
|
||
2017-02-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69823
|
||
* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
|
||
Properly enumerate all BBs in the region. Use auto_vec/auto_bitmap.
|
||
|
||
2017-02-09 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
* config/arc/arc-c.def: Add __NPS400__ definition.
|
||
* config/arc/arc.h (CPP_SPEC): Don't define __NPS400__ here.
|
||
(TARGET_NPS400): Define.
|
||
|
||
2017-02-09 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
* config/arc/arc-arch.h (arc_arch_t): Move unchanged to earlier in
|
||
file.
|
||
(arc_cpu_t): Change base_architecture field, arch, to a arc_arc_t
|
||
pointer, arch_info.
|
||
(arc_cpu_types): Fill the arch_info field with a pointer into the
|
||
arc_arch_types table.
|
||
(arc_selected_cpu): Declare.
|
||
* config/arc/arc.c (arc_selected_cpu): Make global.
|
||
(arc_selected_arch): Delete.
|
||
(arc_base_cpu): Delete.
|
||
(arc_override_options): Remove references to deleted variables,
|
||
update access to arch information.
|
||
(ARC_OPT): Update access to arch information.
|
||
(ARC_OPTX): Likewise.
|
||
* config/arc/arc.h (arc_base_cpu): Remove declaration.
|
||
(TARGET_ARC600): Update access to arch information.
|
||
(TARGET_ARC601): Likewise.
|
||
(TARGET_ARC700): Likewise.
|
||
(TARGET_EM): Likewise.
|
||
(TARGET_HS): Likewise.
|
||
* config/arc/driver-arc.c (arc_cpu_to_as): Update access to arch
|
||
information.
|
||
|
||
2017-02-08 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
PR target/78604
|
||
* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Invert
|
||
condition/operands for integer GE/LE/GEU/LEU operations.
|
||
|
||
2017-02-08 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR translation/79397
|
||
* config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling
|
||
of AltiVec.
|
||
|
||
2017-02-08 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/79375
|
||
* ipa-prop.c (ipa_alloc_node_params): Make static, return bool
|
||
whether allocation happened.
|
||
(ipa_initialize_node_params): Do not call ipa_alloc_node_params if
|
||
nothing was allocated.
|
||
|
||
2017-02-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79408
|
||
* tree-vrp.c (simplify_div_or_mod_using_ranges): If op1 is not
|
||
constant, but SSA_NAME with a known integer range, use the minimum
|
||
of that range instead of op1 to determine if modulo can be replaced
|
||
with its first operand.
|
||
|
||
2016-02-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/riscv/riscv.c (riscv_build_integer_1): Avoid use of INT16_MAX.
|
||
|
||
2017-02-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/71824
|
||
* graphite-scop-detection.c (scop_detection::build_scop_breadth):
|
||
Check all loops contained in the merged region.
|
||
|
||
2017-02-07 Andrew Pinski <apinski@cavium.com>
|
||
|
||
* config/aarch64/aarch64.md (popcount<mode>2): New pattern.
|
||
|
||
2017-02-07 Andrew Pinski <apinski@cavium.com>
|
||
|
||
* config/aarch64/aarch64-cores.def (thunderx): Disable LSE.
|
||
(thunderxt88): Likewise.
|
||
(thunderxt81): Disable LSE and change v8.1 to v8.
|
||
(thunderxt83): Likewise.
|
||
|
||
2017-02-07 Jakub Jelinek <jakub@redhat.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/79399
|
||
* ira-int.h (struct target_ira_int): Change x_max_struct_costs_size
|
||
type from int to size_t.
|
||
* ira-costs.c (struct_costs_size): Change type from int to size_t.
|
||
|
||
2017-02-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/79386
|
||
* cprop.c (bypass_conditional_jumps): Initialize
|
||
bypass_last_basic_block already before splitting bbs after
|
||
unconditional traps...
|
||
(bypass_conditional_jumps): ... rather than here.
|
||
|
||
PR target/79299
|
||
* config/i386/sse.md (xtg_mode, gatherq_mode): New mode attrs.
|
||
(*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2,
|
||
*avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2): Use them,
|
||
fix -masm=intel patterns.
|
||
|
||
2017-02-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79256
|
||
PR middle-end/79278
|
||
* builtins.c (get_object_alignment_2): Use min_align_of_type
|
||
to extract alignment for MEM_REFs to honor BIGGEST_FIELD_ALIGNMENT
|
||
and ADJUST_FIELD_ALIGN.
|
||
|
||
* doc/tm.texi.in (ADJUST_FIELD_ALIGN): Adjust to take additional
|
||
type parameter.
|
||
* doc/tm.texi: Regenerate.
|
||
* stor-layout.c (layout_decl): Adjust.
|
||
(update_alignment_for_field): Likewise.
|
||
(place_field): Likewise.
|
||
(min_align_of_type): Likewise.
|
||
* config/arc/arc.h (ADJUST_FIELD_ALIGN): Adjust.
|
||
* config/epiphany/epiphany.h (ADJUST_FIELD_ALIGN): Likewise.
|
||
* config/epiphany/epiphany.c (epiphany_adjust_field_align): Likewise.
|
||
* config/frv/frv.h (ADJUST_FIELD_ALIGN): Likewise.
|
||
* config/frv/frv.c (frv_adjust_field_align): Likewise.
|
||
* config/i386/i386.h (ADJUST_FIELD_ALIGN): Likewise.
|
||
* config/i386/i386.c (x86_field_alignment): Likewise.
|
||
* config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise.
|
||
* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise.
|
||
* config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
|
||
* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
|
||
* config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Likewise.
|
||
* config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
|
||
Likewise.
|
||
|
||
Revert
|
||
2017-01-30 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79256
|
||
* targhooks.c (default_builtin_vector_alignment_reachable): Honor
|
||
BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
|
||
alignment on TYPE.
|
||
|
||
2017-02-07 Toma Tabacu <toma.tabacu@imgtec.com>
|
||
|
||
* config/mips/mips.c (mips_expand_builtin_insn): Convert the QImode
|
||
argument of the pshufh, psllh, psllw, psrah, psraw, psrlh, psrlw
|
||
builtins to SImode and emit a zero-extend, if necessary.
|
||
|
||
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
|
||
|
||
* docs/invoke.texi (RISC-V Options): Alphabetize.
|
||
|
||
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
|
||
|
||
* doc/invoke.texi (RISC-V Options): Use two spaces to separate
|
||
options.
|
||
|
||
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
|
||
|
||
* config/riscv/riscv.c: New file.
|
||
* gcc/common/config/riscv/riscv-common.c: Likewise.
|
||
* config.gcc: Likewise.
|
||
* config/riscv/constraints.md: Likewise.
|
||
* config/riscv/elf.h: Likewise.
|
||
* config/riscv/generic.md: Likewise.
|
||
* config/riscv/linux.h: Likewise.
|
||
* config/riscv/multilib-generator: Likewise.
|
||
* config/riscv/peephole.md: Likewise.
|
||
* config/riscv/pic.md: Likewise.
|
||
* config/riscv/predicates.md: Likewise.
|
||
* config/riscv/riscv-builtins.c: Likewise.
|
||
* config/riscv/riscv-c.c: Likewise.
|
||
* config/riscv/riscv-ftypes.def: Likewise.
|
||
* config/riscv/riscv-modes.def: Likewise.
|
||
* config/riscv/riscv-opts.h: Likewise.
|
||
* config/riscv/riscv-protos.h: Likewise.
|
||
* config/riscv/riscv.h: Likewise.
|
||
* config/riscv/riscv.md: Likewise.
|
||
* config/riscv/riscv.opt: Likewise.
|
||
* config/riscv/sync.md: Likewise.
|
||
* config/riscv/t-elf-multilib: Likewise.
|
||
* config/riscv/t-linux: Likewise.
|
||
* config/riscv/t-linux-multilib: Likewise.
|
||
* config/riscv/t-riscv: Likewise.
|
||
* configure.ac: Likewise.
|
||
* doc/contrib.texi: Add Kito Cheng, Palmer Dabbelt, and Andrew
|
||
Waterman as RISC-V maintainers.
|
||
* doc/install.texi: Add RISC-V entries.
|
||
* doc/invoke.texi: Add RISC-V options section.
|
||
* doc/md.texi: Add RISC-V constraints section.
|
||
* configure: Regenerated.
|
||
|
||
2017-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/66144
|
||
* config/rs6000/vector.md (vcond<mode><mode>): Allow the true and
|
||
false values to be constant vectors with all 0 or all 1 bits set.
|
||
(vcondu<mode><mode>): Likewise.
|
||
* config/rs6000/predicates.md (vector_int_reg_or_same_bit): New
|
||
predicate.
|
||
(fpmask_comparison_operator): Update comment.
|
||
(vecint_comparison_operator): New predicate.
|
||
* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Optimize
|
||
vector conditionals when the true and false values are constant
|
||
vectors with all 0 bits or all 1 bits set.
|
||
|
||
2017-02-06 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/79376
|
||
* gimple-fold.c (get_range_strlen): Set the minimum length to zero.
|
||
|
||
2017-02-06 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/sse.md (vector modes -> vec_extract* splitter): Use
|
||
explicit subreg RTX with operand 1. Use VECTOR_MODE_P predicate
|
||
to simplify split condition.
|
||
|
||
2017-02-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-expand.c (oxpand_omp_atomic_fetch_op,
|
||
expand_omp_atomic_pipeline): Return false if can_atomic_load_p is
|
||
false.
|
||
|
||
2017-02-06 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/68664
|
||
* target.def (can_speculate_insn): New hook.
|
||
* doc/tm.texi.in (TARGET_SCHED_CAN_SPECULATE_INSN): New hook.
|
||
* doc/tm.texi: Regenerate.
|
||
* sched-rgn.c (can_schedule_ready_p): Use the new hook.
|
||
* config/rs6000/rs6000.c (TARGET_SCHED_CAN_SPECULATE_INSN): New macro.
|
||
(rs6000_sched_can_speculate_insn): New function.
|
||
|
||
2017-02-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79284
|
||
* tree-vectorizer.h (VECT_SCALAR_BOOLEAN_TYPE_P): Define.
|
||
* tree-vect-stmts.c (vect_get_vec_def_for_operand,
|
||
vectorizable_mask_load_store, vectorizable_operation,
|
||
vect_is_simple_cond, get_same_sized_vectype): Use it instead
|
||
of comparing TREE_CODE of a type against BOOLEAN_TYPE.
|
||
* tree-vect-patterns.c (check_bool_pattern, search_type_for_mask_1,
|
||
vect_recog_bool_pattern, vect_recog_mask_conversion_pattern): Likewise.
|
||
* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
|
||
* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
|
||
Remove redundant gimple_code (stmt) == GIMPLE_ASSIGN test after
|
||
is_gimple_assign (stmt). Replace another such test with
|
||
is_gimple_assign (stmt).
|
||
|
||
2017-02-06 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/78883
|
||
* config/avr/avr.c (rtl-iter.h): Include it.
|
||
(TARGET_LEGITIMATE_COMBINED_INSN): New hook define...
|
||
(avr_legitimate_combined_insn): ...and implementation.
|
||
|
||
2017-02-06 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/predicates.md ("larl_operand"): Use macros from hwint.h.
|
||
* config/s390/s390.c (s390_const_operand_ok)
|
||
(s390_canonicalize_comparison, s390_extract_part)
|
||
(s390_single_part, s390_contiguous_bitmask_nowrap_p)
|
||
(s390_contiguous_bitmask_p, s390_rtx_costs)
|
||
(legitimize_pic_address): Likewise.
|
||
* config/s390/s390.md ("clzdi2", "clztidi2"): Likewise.
|
||
* config/s390/vx-builtins.md ("vec_genbytemaskv16qi")
|
||
("vec_permi<mode>", "vfae<mode>", "*vfaes<mode>", "vstrc<mode>")
|
||
("*vstrcs<mode>"): Use UINTVAL() to set unsigned HOST_WIDE_INT.
|
||
* config/s390/vector.md ("vec_vfenes<mode>"): Likewise.
|
||
|
||
2017-02-06 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
* config/avr/avr.md (*addhi3_zero_extend): Add alternative where
|
||
REGNO($0) == REGNO($1).
|
||
|
||
2017-02-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/linux.h(SIZE_TYPE): Add comment.
|
||
|
||
2017-02-06 Julian Brown <julian@codesourcery.com>
|
||
Naveen H.S <Naveen.Hurugalawadi@cavium.com>
|
||
Virendra Pathak <virendra.pathak@broadcom.com>
|
||
|
||
* config/aarch64/aarch64-cores.def: Change the scheduler
|
||
to Thunderx2t99.
|
||
* config/aarch64/aarch64.md: Include thunderx2t99.md.
|
||
* config/aarch64/thunderx2t99.md: New file.
|
||
|
||
2017-02-05 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/standards.texi (Go Language): Update link to language
|
||
standard.
|
||
|
||
2017-02-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree-eh.c (lower_resx): Sanitize profile.
|
||
(cleanup_empty_eh_move_lp): Likewise.
|
||
|
||
2017-02-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR tree-ssa/79347
|
||
* cfgloopmanip.c (lv_adjust_loop_entry_edge, loop_version): Add
|
||
ELSE_PROB.
|
||
* cfgloopmanip.h (loop_version): Update prototype.
|
||
* modulo-sched.c (sms_schedule): Update call of loop_version.
|
||
* tree-if-conv.c(version_loop_for_if_conversion): Likewise.
|
||
* tree-parloops.c (gen_parallel_loop): Likewise.
|
||
* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
|
||
* tree-ssa-loop-split.c (split_loop): Likewise.
|
||
* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Likewise.
|
||
* tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
|
||
|
||
2017-02-05 Martin Liska <mliska@suse.cz>
|
||
|
||
PR bootstrap/78985
|
||
* config/s390/s390.c (s390_gimplify_va_arg): Initialize local
|
||
variable to NULL.
|
||
(print_operand_address): Initialize a struct to zero.
|
||
|
||
2017-02-05 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/contrib.texi (Contributors): Refer to Hans Boehm's
|
||
garbage collector only in textual form.
|
||
|
||
2017-02-05 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/extend.texi (x86 specific memory model extensions for
|
||
transactional memory): Simplify a phrase.
|
||
|
||
2017-02-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/79353
|
||
* config/sparc/sync.md (atomic_loaddi_1): Replace 'U' constraint with
|
||
'r', 'm' constraint with 'T' and !TARGET_ARCH64 with TARGET_ARCH32.
|
||
(atomic_storedi_1): Likewise.
|
||
|
||
2017-02-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79338
|
||
* tree-parloops.c (gather_scalar_reductions): Don't call
|
||
vect_analyze_loop_form for loop->inner before destroying loop's
|
||
loop_vinfo.
|
||
|
||
2017-02-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/79327
|
||
* gimple-ssa-sprintf.c (tree_digits): Avoid adding the base prefix
|
||
when precision has resulted in leading zeros.
|
||
(format_integer): Adjust the likely counter to assume an unknown
|
||
argument that may be zero is non-zero.
|
||
|
||
2017-02-03 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/78689
|
||
* tree-inline.c (copy_tree_body_r) [COND_EXPR]: Revert change to
|
||
avoid copying non-taken branch.
|
||
|
||
2017-02-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79340
|
||
* tree-vect-loop.c (vectorizable_reduction): Release
|
||
vec_defs elements after safe_splicing them into other vectors.
|
||
Formatting fixes.
|
||
|
||
PR tree-optimization/79327
|
||
* gimple-ssa-sprintf.c (adjust_range_for_overflow): If returning
|
||
true, always set *argmin and *argmax to TYPE_{MIN,MAX}_VALUE of
|
||
dirtype.
|
||
(format_integer): Use wide_int_to_tree instead of build_int_cst
|
||
+ to_?hwi. If argmin is NULL, just set argmin and argmax to
|
||
TYPE_{MIN,MAX}_VALUE of argtype. Simplify and fix computation
|
||
of shortest and longest sequence.
|
||
|
||
2017-02-03 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (dimode_scalar_chain::convert_reg):
|
||
Use pextrd for TARGET_SSE4_1 when creating scalar copy.
|
||
|
||
2017-02-03 Walter Lee <walt@tilera.com>
|
||
|
||
PR target/78862
|
||
* config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage
|
||
after initial stackframe link reg save.
|
||
* config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise.
|
||
|
||
2017-02-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/79354
|
||
* config/rs6000/rs6000.md (movsi_from_sf): Use wb constraint instead of
|
||
wu for stxssp alternative.
|
||
|
||
2017-02-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/79352
|
||
* gimple-fold.c (get_range_strlen): Add argument.
|
||
(get_range_strlen): Change return type to bool.
|
||
(get_maxval_strlen): Pass in a dummy argument.
|
||
* gimple-fold.h (get_range_strlen): Change return type to bool.
|
||
* gimple-ssa-sprintf.c (get_string_length): Set unlikely counter.
|
||
* tree.h (array_at_struct_end_p): Add argument.
|
||
* tree.c (array_at_struct_end_p): Handle it.
|
||
|
||
2017-02-03 Martin Liska <mliska@suse.cz>
|
||
|
||
PR lto/66295
|
||
* multiple_target.c (create_dispatcher_calls): Redirect edge
|
||
from a caller of a dispatcher.
|
||
(expand_target_clones): Make the clones local.
|
||
(ipa_target_clone): Do both target clones and resolvers.
|
||
(ipa_dispatcher_calls): Remove the pass.
|
||
(pass_dispatcher_calls::gate): Likewise.
|
||
(make_pass_dispatcher_calls): Likewise.
|
||
* passes.def (pass_target_clone): Put as very first IPA early
|
||
pass.
|
||
|
||
2017-02-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* symtab.c (symtab_node::binds_to_current_def_p): Bail out
|
||
in case of a function with ifunc attribute.
|
||
|
||
2017-02-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* cgraph.c (cgraph_node::dump): Dump function version info.
|
||
* symtab.c (symtab_node::dump_base): Add missing new line.
|
||
|
||
2017-02-02 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree-ssa-ifcombine.c (update_profile_after_ifcombine): New function.
|
||
(ifcombine_ifandif): Use it.
|
||
|
||
2017-02-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/invoke.texi: Document default value for
|
||
use-after-scope-direct-emission-threshold.
|
||
|
||
2017-02-03 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/79339
|
||
* gimple-ssa-sprintf.c (format_floating_max): Call mpfr_clear.
|
||
(format_floating): Likewise.
|
||
|
||
2017-02-03 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/79337
|
||
* ipa-prop.c (ipa_node_params_t::insert): Remove current
|
||
implementation.
|
||
(ipa_node_params_t::remove): Likewise.
|
||
* ipa-prop.h (ipa_node_params::ipa_node_params): Make default
|
||
initialization from removed ipa_node_params_t::insert.
|
||
(ipa_node_params::~ipa_node_params): Move from removed
|
||
ipa_node_params_t::release.
|
||
* symbol-summary.h (symbol_summary::m_released): New member.
|
||
Do not release a summary twice. Do not allow to call finalizer
|
||
for types of a summary that live in GGC memory.
|
||
|
||
2017-02-02 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
|
||
|
||
* config/aarch64/aarch64.c (thunderx2t99_tunings): Enable AES and
|
||
cmp_branch fusion.
|
||
|
||
2017-02-02 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/79275
|
||
* gimple-ssa-sprintf.c (get_string_length): Set lower bound to zero.
|
||
(format_string): Tighten up the range of output for non-constant
|
||
strings and correct the expected range for wide non-constant strings.
|
||
|
||
2017-02-02 Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/invoke.texi (-maccumulate-args): Fix bad grammar.
|
||
|
||
PR middle-end/32003
|
||
* doc/invoke.texi (-fdump-tree-): Remove pass-specific options from
|
||
index.
|
||
(-fdump-tree-@var): Add to index and document how to come up
|
||
with pass-specific option and dump file names.
|
||
(-fdump-passes): Clarify where to look for output.
|
||
|
||
2017-02-02 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/77445
|
||
* tree-ssa-threadbackward.c (profitable_jump_thread_path): Dump
|
||
statistics of the analyzed path; allow threading for speed when
|
||
any of BBs along the path are optimized for speed.
|
||
|
||
2017-02-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR middle-end/78468
|
||
* emit-rtl.c (init_emit): Add ??? comment for problematic alignment
|
||
settings of the virtual registers.
|
||
|
||
Revert again
|
||
2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* explow.c (get_dynamic_stack_size): Take known alignment of stack
|
||
pointer + STACK_DYNAMIC_OFFSET into account when calculating the size
|
||
needed.
|
||
|
||
2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/vx-builtins.md ("vec_ceil", "vec_floor")
|
||
("vec_trunc", "vec_roundc", "vec_round"): Remove expanders.
|
||
|
||
2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md: Add missing comments with the expanded
|
||
mnemonics.
|
||
* config/s390/vector.md: Likewise.
|
||
* config/s390/vx-builtins.md: Likewise.
|
||
|
||
2017-02-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/79197
|
||
* config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ...
|
||
(fixuns_trunc<mode>di2): ... this, remove previous expander. Put all
|
||
conditions on a single line.
|
||
|
||
2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
|
||
__S390_VX__ to __VX__.
|
||
|
||
2017-02-01 Andrew Pinski <apinski@cavium.com>
|
||
|
||
* tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Pass
|
||
stmt_info to record_stmt_cost.
|
||
(vect_get_known_peeling_cost): Pass stmt_info if known to
|
||
record_stmt_cost.
|
||
* config/aarch64/aarch64-protos.h (cpu_vector_cost): Split
|
||
cpu_vector_cost field into
|
||
scalar_int_stmt_cost and scalar_fp_stmt_cost. Split vec_stmt_cost
|
||
field into vec_int_stmt_cost and vec_fp_stmt_cost.
|
||
* config/aarch64/aarch64.c (generic_vector_cost): Update for the
|
||
splitting of scalar_stmt_cost and vec_stmt_cost.
|
||
(thunderx_vector_cost): Likewise.
|
||
(cortexa57_vector_cost): LIkewise.
|
||
(exynosm1_vector_cost): Likewise.
|
||
(xgene1_vector_cost): Likewise.
|
||
(thunderx2t99_vector_cost): Improve after the splitting of the two
|
||
fields.
|
||
(aarch64_builtin_vectorization_cost): Update for the splitting of
|
||
scalar_stmt_cost and vec_stmt_cost.
|
||
|
||
2017-02-01 Torvald Riegel <triegel@redhat.com>
|
||
Richard Henderson <rth@redhat.com>
|
||
|
||
* builtins.c (fold_builtin_atomic_always_lock_free): Make "lock-free"
|
||
conditional on existance of a fast atomic load.
|
||
* optabs-query.c (can_atomic_load_p): New function.
|
||
* optabs-query.h (can_atomic_load_p): Declare it.
|
||
* optabs.c (expand_atomic_exchange): Always delegate to libatomic if
|
||
no fast atomic load is available for the particular size of access.
|
||
(expand_atomic_compare_and_swap): Likewise.
|
||
(expand_atomic_load): Likewise.
|
||
(expand_atomic_store): Likewise.
|
||
(expand_atomic_fetch_op): Likewise.
|
||
* testsuite/lib/target-supports.exp
|
||
(check_effective_target_sync_int_128): Remove x86 because it provides
|
||
no fast atomic load.
|
||
(check_effective_target_sync_int_128_runtime): Likewise.
|
||
|
||
2017-02-01 Richard Biener <rguenther@suse.de>
|
||
|
||
* graphite.c: Include tree-vectorizer.h for find_loop_location.
|
||
(graphite_transform_loops): Provide opt-info for optimized nests.
|
||
* tree-parloop.c (parallelize_loops): Provide opt-info for
|
||
parallelized loops.
|
||
|
||
2017-02-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/79315
|
||
* tree-cfg.c (move_stmt_op): Never set TREE_BLOCK when it
|
||
was not set before.
|
||
|
||
2017-02-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/71824
|
||
* graphite-scop-detection.c (scop_detection::build_scop_breadth):
|
||
Verify the loops are valid in the merged SESE region.
|
||
(scop_detection::can_represent_loop_1): Check analyzing the
|
||
evolution of the number of iterations in the region succeeds.
|
||
|
||
2017-01-31 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* config/i386/i386.c (ix86_expand_split_stack_prologue): Add
|
||
REG_ARGS_SIZE note to 32-bit push insns and call insn.
|
||
|
||
2017-01-31 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR preprocessor/79210
|
||
* input.c (get_substring_ranges_for_loc): Replace line_width
|
||
assertion with error-handling.
|
||
|
||
2017-01-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/77318
|
||
* graphite-sese-to-poly.c (extract_affine): Fix assert.
|
||
(create_pw_aff_from_tree): Take loop parameter.
|
||
(add_condition_to_pbb): Pass loop of the condition to
|
||
create_pw_aff_from_tree.
|
||
|
||
2017-01-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/s390/s390.c (s390_asan_shadow_offset): New function.
|
||
(TARGET_ASAN_SHADOW_OFFSET): Redefine.
|
||
|
||
2017-01-31 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/78597
|
||
PR target/79038
|
||
* config/rs6000/rs6000-protos.h (convert_float128_to_int): Delete,
|
||
no longer used.
|
||
(convert_int_to_float128): Likewise.
|
||
* config/rs6000/rs6000.c (convert_float128_to_int): Likewise.
|
||
(convert_int_to_float128): Likewise.
|
||
* config/rs6000/rs6000.md (UNSPEC_IEEE128_MOVE): Likewise.
|
||
(UNSPEC_IEEE128_CONVERT): Likewise.
|
||
(floatsi<mode>2, FLOAT128 iterator): Bypass calling
|
||
rs6000_expand_float128_convert if we have IEEE 128-bit hardware.
|
||
Use local variables for IBM extended format.
|
||
(fix_trunc<mode>si2, FLOAT128 iterator): Likewise.
|
||
(fix_trunc<mode>si2_fprs): Likewise.
|
||
(fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
|
||
(floatuns<IEEE128:mode>2, IEEE128 iterator): Likewise.
|
||
(fix<uns>_<mode>si2_hw): Rework the IEEE 128-bt hardware support
|
||
to know that we can now have integers of all sizes in vector
|
||
registers.
|
||
(fix<uns>_<mode>di2_hw): Likewise.
|
||
(float<uns>_<mode>si2_hw): Likewise.
|
||
(fix_<mode>si2_hw): Likewise.
|
||
(fixuns_<mode>si2_hw): Likewise.
|
||
(float<uns>_<mode>di2_hw): Likewise.
|
||
(float_<mode>di2_hw): Likewise.
|
||
(float_<mode>si2_hw): Likewise.
|
||
(floatuns_<mode>di2_hw): Likewise.
|
||
(floatuns_<mode>si2_hw): Likewise.
|
||
(xscvqp<su>wz_<mode>): Delete, no longer used.
|
||
(xscvqp<su>dz_<mode>): Likewise.
|
||
(xscv<su>dqp_<mode>): Likewise.
|
||
(ieee128_mfvsrd_64bit): Likewise.
|
||
(ieee128_mfvsrd_32bit): Likewise.
|
||
(ieee128_mfvsrwz): Likewise.
|
||
(ieee128_mtvsrw): Likewise.
|
||
(ieee128_mtvsrd_64bit): Likewise.
|
||
(ieee128_mtvsrd_32bit): Likewise.
|
||
|
||
2017-01-31 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/79285
|
||
* ipa-prop.c (ipa_free_all_node_params): Call release method
|
||
instead of ~sumbol_summary to not to trigger double times
|
||
dtor of hash_map.
|
||
|
||
2017-01-31 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR tree-optimization/71691
|
||
* bitmap.h (class auto_bitmap): New.
|
||
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Call
|
||
is_maybe_undefined instead of ssa_undefined_value_p.
|
||
|
||
2017-01-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
|
||
__S390_ARCH_LEVEL__ to __ARCH__.
|
||
|
||
2017-01-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/79267
|
||
* value-prof.c (gimple_ic): Only drop lhs for noreturn calls
|
||
if should_remove_lhs_p is true.
|
||
|
||
2017-01-30 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/63238
|
||
* dwarf2out.c (clone_as_declaration): Drop DW_AT_alignment.
|
||
(add_alignment_attribute): New.
|
||
(base_type_die): Add alignment attribute.
|
||
(subrange_type_die): Likewise.
|
||
(modified_type_die): Likewise.
|
||
(gen_array_type_die): Likewise.
|
||
(gen_descr_array_type_die: Likewise.
|
||
(gen_enumeration_type_die): Likewise.
|
||
(gen_subprogram_die): Likewise.
|
||
(gen_variable_die): Likewise.
|
||
(gen_field_die): Likewise.
|
||
(gen_ptr_to_mbr_type_die): Likewise.
|
||
(gen_struct_or_union_type_die): Likewise.
|
||
(gen_subroutine_type_die): Likewise.
|
||
(gen_typedef_die): Likewise.
|
||
(base_type_cmp): Compare alignment attribute.
|
||
|
||
2017-01-30 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
|
||
|
||
PR target/79170
|
||
* config/rs6000/altivec.md (*setb_internal): Rename to setb_signed.
|
||
(setb_unsigned) New pattern for setb with CCUNS.
|
||
* config/rs6000/rs6000.c (expand_block_compare): Use a different
|
||
subfc./subfe sequence to avoid overflow problems. Generate a
|
||
shorter sequence with cmpld/setb for power9.
|
||
* config/rs6000/rs6000.md (subf<mode>3_carry_dot2): Add a new pattern
|
||
for generating subfc. instruction.
|
||
(cmpstrsi): Add TARGET_POPCNTD predicate as the generate sequence
|
||
now uses this instruction.
|
||
|
||
2017-01-30 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR debug/79289
|
||
* dwarf2out.c (gen_type_die_with_usage): When picking a variant
|
||
for FUNCTION_TYPE/METHOD_TYPE, use the first matching one.
|
||
|
||
2017-01-30 Martin Sebor <msebor@redhat.com>
|
||
|
||
* gimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision):
|
||
Move constant to the right of a relational operator.
|
||
(get_mpfr_format_length, format_character, format_string): Ditto.
|
||
(should_warn_p, maybe_warn): Same.
|
||
|
||
* doc/invoke.texi (-Wformat-truncation=1): Fix typo.
|
||
|
||
2017-01-30 Maxim Ostapenko <m.ostapenko@samsung.com>
|
||
|
||
PR lto/79061
|
||
* asan.c (get_translation_unit_decl): Remove function.
|
||
(asan_add_global): Force has_dynamic_init to zero in LTO mode.
|
||
|
||
2017-01-30 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/79259
|
||
* opts.c (common_handle_option): Enable flag_ipa_bit_cp w/
|
||
-fprofile-generate.
|
||
|
||
2017-01-30 Martin Liska <mliska@suse.cz>
|
||
|
||
PR bootstrap/78985
|
||
* config/aarch64/cortex-a57-fma-steering.c (func_fma_steering::analyze):
|
||
Initialize variables with NULL value.
|
||
|
||
2017-01-30 Richard Earnshaw <rearnsh@arm.com>
|
||
|
||
PR target/79260
|
||
* config.gcc (arm*-*-*): Add arm/arm-flags.h and arm/arm-isa.h to
|
||
tm_p_file.
|
||
* arm/arm-protos.h: Don't directly include arm-flags.h and arm-isa.h.
|
||
|
||
2017-01-30 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79276
|
||
* tree-vrp.c (process_assert_insertions): Properly adjust common
|
||
when removing a duplicate.
|
||
|
||
2017-01-30 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79256
|
||
* targhooks.c (default_builtin_vector_alignment_reachable): Honor
|
||
BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
|
||
alignment on TYPE.
|
||
* tree.c (build_aligned_type): Set TYPE_USER_ALIGN.
|
||
|
||
2017-01-30 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
PR target/79240
|
||
* config/s390/s390.md ("*r<noxa>sbg_<mode>_srl_bitmask")
|
||
("*r<noxa>sbg_<mode>_sll_bitmask")
|
||
("*extzv_<mode>_srl<clobbercc_or_nocc>")
|
||
("*extzv_<mode>_sll<clobbercc_or_nocc>"):
|
||
Use contiguous_bitmask_nowrap_operand.
|
||
|
||
2017-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/79268
|
||
* config/rs6000/altivec.h (vec_xl): Revise #define.
|
||
(vec_xst): Likewise.
|
||
|
||
2017-01-27 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (print_reg): Use REGNO instead of true_regnum.
|
||
|
||
2017-01-27 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR rtl-optimization/79194
|
||
* cprop.c (one_cprop_pass): Move deletion of code after unconditional
|
||
traps before call to bypass_conditional_jumps.
|
||
|
||
2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR tree-optimization/71374
|
||
* lra-constraints.c (check_conflict_input_operands): New.
|
||
(match_reload): Use it.
|
||
|
||
2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/79131
|
||
* lra-assigns.c (find_hard_regno_for_1): Take endianess for into
|
||
account to calculate conflict_set.
|
||
|
||
2017-01-27 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR rtl-optimization/78559
|
||
* combine.c (try_combine): Discard REG_EQUAL and REG_EQUIV for
|
||
other_insn in combine.
|
||
|
||
2017-01-27 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
||
|
||
* builtin-types.def: Use unsigned_char_type_node for BT_UINT8. Use
|
||
uint16_type_node for BT_UINT16.
|
||
|
||
2017-01-27 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* doc/sourcebuild.texi (Testsuites): Add "GIMPLE Tests" and
|
||
"RTL Tests" to menu.
|
||
(GIMPLE Tests): New node.
|
||
(RTL Tests): New node.
|
||
|
||
2017-01-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79245
|
||
* tree-loop-distribution.c (distribute_loop): Apply cost
|
||
modeling also to detected patterns.
|
||
|
||
2017-01-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/71433
|
||
* tree-vrp.c (register_new_assert_for): Revert earlier changes.
|
||
(compare_assert_loc): New function.
|
||
(process_assert_insertions): Sort and optimize assert locations
|
||
to remove duplicates and push down identical assertions on
|
||
edges to their destination block.
|
||
|
||
2017-01-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79244
|
||
* tree-vrp.c (remove_range_assertions): Forcefully propagate
|
||
out SSA names even if abnormal.
|
||
|
||
2017-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
|
||
* gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN
|
||
instead of MPFR_RNDN.
|
||
|
||
2017-01-27 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/79239
|
||
* arm.c (arm_option_override): Don't call build_target_option_node
|
||
until after doing all option overrides.
|
||
(arm_valid_target_attribute_tree): Likewise.
|
||
|
||
2017-01-27 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/invoke.texi (-fprofile-arcs): Document profiling support
|
||
for {cd}tors and C++ {cd}tors.
|
||
|
||
2017-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("*setmem_long_and")
|
||
("*setmem_long_and_31z"): Use zero_extend instead of and.
|
||
|
||
2017-01-26 Martin Sebor <msebor@redhat.com>
|
||
|
||
* gimple-ssa-sprintf.c (format_floating): Simplify the computation
|
||
of precision.
|
||
|
||
2017-01-26 Martin Sebor <msebor@redhat.com>
|
||
|
||
* gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and
|
||
HAVE_DFmode before using XFmode or DFmode.
|
||
(parse_directive): Avoid using the z length modifier to avoid
|
||
the ISO C++98 does not support the ‘z’ gnu_printf length modifier.
|
||
|
||
PR middle-end/78703
|
||
* gimple-ssa-sprintf.c (adjust_for_width_or_precision): Change
|
||
to accept adjustment as an array.
|
||
(get_int_range): New function.
|
||
(struct directive): Make width and prec arrays.
|
||
(directive::set_width, directive::set_precision): Call get_int_range.
|
||
(format_integer, format_floating): Handle width and precision ranges.
|
||
(format_string, parse_directive): Same.
|
||
|
||
2017-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/79129
|
||
* dwarf2out.c (generate_skeleton_bottom_up): For children with
|
||
comdat_type_p set, just clone them, but keep the children in the
|
||
original DIE.
|
||
|
||
PR debug/78835
|
||
* dwarf2out.c (prune_unused_types): Mark all functions with DIEs
|
||
which have direct callers with -fvar-tracking-assignments enabled
|
||
in the current TU.
|
||
(resolve_addr): Avoid adding skeleton DIEs for DW_AT_call_origin
|
||
inside of type units.
|
||
|
||
2017-01-26 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/78703
|
||
* gimple-ssa-sprintf.c (struct result_range): Add likely and
|
||
unlikely counters.
|
||
(struct format_result): Replace number_chars, number_chars_min,
|
||
and number_chars_max with a single member of struct result_range.
|
||
Remove bounded.
|
||
(format_result::operator+=): Adjust.
|
||
(struct fmtresult): Remove bounded. Handle likely and unlikely
|
||
counters.
|
||
(fmtresult::adjust_for_width_or_precision): New function.
|
||
(fmtresult:type_max_digits): New function.
|
||
(bytes_remaining): Handle likely and unlikely counters.
|
||
(min_bytes_remaining): Remove.
|
||
(format_percent): Simplify.
|
||
(format_integer, format_floating): Set likely and unlikely counters.
|
||
(get_string_length, format_character, format_string): Same.
|
||
(format_plain, should_warn_p): New function.
|
||
(maybe_warn): Call should_warn_p. Update diagnostic messages
|
||
and handle those for all directives, including plain strings.
|
||
(format_directive): Handle likely and unlikely counters.
|
||
Remove unnecessary quoting from diagnostics. Add an informational
|
||
note.
|
||
(add_bytes): Remove.
|
||
(pass_sprintf_length::compute_format_length): Simplify.
|
||
(try_substitute_return_value): Handle likely and unlikely counters.
|
||
|
||
2017-01-26 Carl Love <cel@us.ibm.com>
|
||
|
||
* config/rs6000/rs6000-c (altivec_overloaded_builtins): Remove
|
||
bogus entries for the P8V_BUILTIN_VEC_VGBBD built-ins
|
||
|
||
2017-01-26 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/79131
|
||
* lra-assigns.c (setup_live_pseudos_and_spill_after_risky): Take
|
||
endianess for subregs into account.
|
||
* lra-constraints.c (lra_constraints): Do risky transformations
|
||
always on the first iteration.
|
||
* lra-lives.c (check_pseudos_live_through_calls): Add arg
|
||
last_call_used_reg_set.
|
||
(process_bb_lives): Define and use last_call_used_reg_set.
|
||
* lra.c (lra): Always continue after lra_constraints on the first
|
||
iteration.
|
||
|
||
2017-01-26 Kirill Yukhin <kirill.yukhin@gmail.com>
|
||
|
||
* gcc.target/i386/avx512bw-kshiftlq-2.c: Use unsigned long long
|
||
constant.
|
||
* gcc.target/i386/avx512bw-kshiftrq-2.c: Ditto.
|
||
|
||
2017-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/avx512fintrin.h (_ktest_mask16_u8,
|
||
_ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): Move to ...
|
||
* config/i386/avx512dqintrin.h (_ktest_mask16_u8,
|
||
_ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): ... here.
|
||
* config/i386/i386-builtin.def (__builtin_ia32_ktestchi,
|
||
__builtin_ia32_ktestzhi, __builtin_ia32_kaddhi): Use
|
||
OPTION_MASK_ISA_AVX512DQ instead of OPTION_MASK_ISA_AVX512F.
|
||
* config/i386/sse.md (SWI1248_AVX512BWDQ2): New mode iterator.
|
||
(kadd<mode>, ktest<mode>): Use it instead of SWI1248_AVX512BWDQ.
|
||
|
||
2017-01-26 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/79199
|
||
* fold-const.c (operand_equal_p) [COND_EXPR]: Use OP_SAME_WITH_NULL
|
||
for the third operand.
|
||
|
||
2017-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/79236
|
||
* omp-low.c (struct omp_context): Add simt_stmt field.
|
||
(scan_omp_for): Return omp_context *.
|
||
(scan_omp_simd): Set simt_stmt on the non-_simt_ SIMD
|
||
context to the _simt_ SIMD stmt.
|
||
(lower_omp_for): For combined SIMD with sibling _simt_
|
||
SIMD, make sure to use the same decls in _looptemp_
|
||
clauses as in the sibling.
|
||
|
||
2017-01-26 David Sherwood <david.sherwood@arm.com>
|
||
|
||
PR middle-end/79212
|
||
* gimplify.c (omp_notice_variable): Add GOVD_SEEN flag to variables in
|
||
all contexts.
|
||
|
||
2017-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/70465
|
||
* reg-stack.c (emit_swap_insn): Instead of fld a; fld b; fxchg %st(1);
|
||
emit fld b; fld a; if possible.
|
||
|
||
* brig-builtins.def: Update copyright years.
|
||
* config/arm/arm_acle_builtins.def: Update copyright years.
|
||
|
||
2017-01-25 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/79179
|
||
* config/rs6000/vsx.md (vsx_extract_<mode>_store): Use wY
|
||
constraint instead of o for the stxsd instruction.
|
||
|
||
2017-01-25 Carl Love <cel@us.ibm.com>
|
||
|
||
* config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order
|
||
of entries for ALTIVEC_BUILTIN_VEC_PACKS and P8V_BUILTIN_VEC_VGBBD.
|
||
|
||
2017-01-25 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (C++ Dialect Options): Fix typo.
|
||
|
||
2017-01-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69264
|
||
* target.def (vector_alignment_reachable): Improve documentation.
|
||
* doc/tm.texi: Regenerate.
|
||
* targhooks.c (default_builtin_vector_alignment_reachable): Simplify
|
||
and add a comment.
|
||
* tree-vect-data-refs.c (vect_supportable_dr_alignment): Revert
|
||
earlier changes with respect to TYPE_USER_ALIGN.
|
||
(vector_alignment_reachable_p): Likewise. Improve dumping.
|
||
|
||
2016-01-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/79145
|
||
* config/arm/arm.md (xordi3): Force constant operand into a register
|
||
for TARGET_IWMMXT.
|
||
|
||
2016-01-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* doc/invoke.texi (-fstore-merging): Correct default optimization
|
||
levels at which it is enabled.
|
||
(-O): Move -fstore-merging from list to...
|
||
(-O2): ... Here.
|
||
|
||
2017-01-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/78363
|
||
* omp-expand.c: Include debug.h.
|
||
(expand_omp_taskreg): Make sure to generate early debug before
|
||
outlining anything from a function.
|
||
(expand_omp_target): Likewise.
|
||
(grid_expand_target_grid_body): Likewise.
|
||
|
||
2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
|
||
|
||
PR lto/79061
|
||
* asan.c (get_translation_unit_decl): New function.
|
||
(asan_add_global): Extract modules file name from globals
|
||
TRANSLATION_UNIT_DECL name.
|
||
|
||
2017-01-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/77439
|
||
* config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction
|
||
for long calls with APCS frame and VFP.
|
||
|
||
2017-01-24 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* cfg.c (original_copy_tables_initialized_p): New function.
|
||
* cfg.h (original_copy_tables_initialized_p): New decl.
|
||
* cfgrtl.c (relink_block_chain): Guard the call to
|
||
free_original_copy_tables with a call to
|
||
original_copy_tables_initialized_p.
|
||
* cgraph.h (symtab_node::native_rtl_p): New decl.
|
||
* cgraphunit.c (symtab_node::native_rtl_p): New function.
|
||
(symtab_node::needed_p): Don't assert for early assembly output
|
||
for __RTL functions.
|
||
(cgraph_node::finalize_function): Set "force_output" for __RTL
|
||
functions.
|
||
(cgraph_node::analyze): Bail out early for __RTL functions.
|
||
(analyze_functions): Update assertion to support __RTL functions.
|
||
(cgraph_node::expand): Bail out early for __RTL functions.
|
||
* final.c (rest_of_clean_state): Don't call delete_tree_ssa for
|
||
__RTL functions.
|
||
* function.h (struct function): Update comment for field
|
||
"pass_startwith".
|
||
* gimple-expr.c: Include "tree-pass.h".
|
||
(gimple_has_body_p): Return false for __RTL functions.
|
||
* Makefile.in (OBJS): Add run-rtl-passes.o.
|
||
* pass_manager.h (gcc::pass_manager::get_rest_of_compilation): New
|
||
accessor.
|
||
(gcc::pass_manager::get_clean_slate): New accessor.
|
||
* passes.c: Include "insn-addr.h".
|
||
(should_skip_pass_p): Add logging. Update logic for running
|
||
"expand" to be compatible with both __GIMPLE and __RTL. Guard
|
||
property-provider override so it is only done for gimple passes.
|
||
Don't skip dfinit.
|
||
(skip_pass): New function.
|
||
(execute_one_pass): Call skip_pass when skipping passes.
|
||
* read-md.c (md_reader::read_char): Support filtering
|
||
the input to a subset of line numbers.
|
||
(md_reader::md_reader): Initialize fields
|
||
m_first_line and m_last_line.
|
||
(md_reader::read_file_fragment): New function.
|
||
* read-md.h (md_reader::read_file_fragment): New decl.
|
||
(md_reader::m_first_line): New field.
|
||
(md_reader::m_last_line): New field.
|
||
* read-rtl-function.c (function_reader::create_function): Only
|
||
create cfun if it doesn't already exist. Set PROP_rtl on cfun's
|
||
curr_properties. Set DECL_INITIAL to a dummy block.
|
||
(read_rtl_function_body_from_file_range): New function.
|
||
* read-rtl-function.h (read_rtl_function_body_from_file_range):
|
||
New decl.
|
||
* run-rtl-passes.c: New file.
|
||
* run-rtl-passes.h: New file.
|
||
|
||
2017-01-24 Jeff Law <law@redhat.com>
|
||
|
||
* config/microblaze/microblaze.h (ASM_FORMAT_PRIVATE_NAME): Increase
|
||
buffer size.
|
||
|
||
2017-01-24 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/79159
|
||
* tree-ssa-loop-niter.c (get_cst_init_from_scev): New function.
|
||
(record_nonwrapping_iv): Improve boundary using above function if no
|
||
value range information.
|
||
|
||
2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
|
||
Martin Jambor <mjambor@suse.cz>
|
||
|
||
* brig-builtins.def: New file.
|
||
* builtins.def (DEF_HSAIL_BUILTIN): New macro.
|
||
(DEF_HSAIL_ATOMIC_BUILTIN): Likewise.
|
||
(DEF_HSAIL_SAT_BUILTIN): Likewise.
|
||
(DEF_HSAIL_INTR_BUILTIN): Likewise.
|
||
(DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN): Likewise.
|
||
* builtin-types.def (BT_INT8): New.
|
||
(BT_INT16): Likewise.
|
||
(BT_UINT8): Likewise.
|
||
(BT_UINT16): Likewise.
|
||
(BT_FN_ULONG): Likewise.
|
||
(BT_FN_UINT_INT): Likewise.
|
||
(BT_FN_UINT_ULONG): Likewise.
|
||
(BT_FN_UINT_LONG): Likewise.
|
||
(BT_FN_UINT_PTR): Likewise.
|
||
(BT_FN_ULONG_PTR): Likewise.
|
||
(BT_FN_INT8_FLOAT): Likewise.
|
||
(BT_FN_INT16_FLOAT): Likewise.
|
||
(BT_FN_UINT32_FLOAT): Likewise.
|
||
(BT_FN_UINT16_FLOAT): Likewise.
|
||
(BT_FN_UINT8_FLOAT): Likewise.
|
||
(BT_FN_UINT64_FLOAT): Likewise.
|
||
(BT_FN_UINT16_UINT32): Likewise.
|
||
(BT_FN_UINT32_UINT16): Likewise.
|
||
(BT_FN_UINT16_UINT16_UINT16): Likewise.
|
||
(BT_FN_INT_PTR_INT): Likewise.
|
||
(BT_FN_UINT_PTR_UINT): Likewise.
|
||
(BT_FN_LONG_PTR_LONG): Likewise.
|
||
(BT_FN_ULONG_PTR_ULONG): Likewise.
|
||
(BT_FN_VOID_UINT64_UINT64): Likewise.
|
||
(BT_FN_UINT8_UINT8_UINT8): Likewise.
|
||
(BT_FN_INT8_INT8_INT8): Likewise.
|
||
(BT_FN_INT16_INT16_INT16): Likewise.
|
||
(BT_FN_INT_INT_INT): Likewise.
|
||
(BT_FN_UINT_FLOAT_UINT): Likewise.
|
||
(BT_FN_FLOAT_UINT_UINT): Likewise.
|
||
(BT_FN_ULONG_UINT_UINT): Likewise.
|
||
(BT_FN_ULONG_UINT_PTR): Likewise.
|
||
(BT_FN_ULONG_ULONG_ULONG): Likewise.
|
||
(BT_FN_UINT_UINT_UINT): Likewise.
|
||
(BT_FN_VOID_UINT_PTR): Likewise.
|
||
(BT_FN_UINT_UINT_PTR: Likewise.
|
||
(BT_FN_UINT32_UINT64_PTR): Likewise.
|
||
(BT_FN_INT_INT_UINT_UINT): Likewise.
|
||
(BT_FN_UINT_UINT_UINT_UINT): Likewise.
|
||
(BT_FN_UINT_UINT_UINT_PTR): Likewise.
|
||
(BT_FN_UINT_ULONG_ULONG_UINT): Likewise.
|
||
(BT_FN_ULONG_ULONG_ULONG_ULONG): Likewise.
|
||
(BT_FN_LONG_LONG_UINT_UINT): Likewise.
|
||
(BT_FN_ULONG_ULONG_UINT_UINT): Likewise.
|
||
(BT_FN_VOID_UINT32_UINT64_PTR): Likewise.
|
||
(BT_FN_VOID_UINT32_UINT32_PTR): Likewise.
|
||
(BT_FN_UINT_UINT_UINT_UINT_UINT): Likewise.
|
||
(BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT): Likewise.
|
||
(BT_FN_ULONG_ULONG_ULONG_UINT_UINT): Likewise.
|
||
* doc/frontends.texi: List BRIG FE.
|
||
* doc/install.texi (Testing): Add BRIG tesring requirements.
|
||
* doc/invoke.texi (Overall Options): Mention BRIG.
|
||
* doc/standards.texi (Standards): Doucment BRIG HSA version.
|
||
|
||
2017-01-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR translation/79208
|
||
* ipa-devirt.c (odr_types_equivalent_p): Fix typo in diagnostic.
|
||
|
||
2017-01-24 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR bootstrap/79198
|
||
* ipa-prop.c (ipa_free_all_node_params): Call summary destructor.
|
||
* ipa-prop.c (ipa_node_params_t::insert): Initialize fields known_csts
|
||
and known_contexts.
|
||
|
||
2017-01-24 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR middle-end/79123
|
||
* gimple-ssa-warn-alloca.c (alloca_call_type): Make sure
|
||
casts from signed to unsigned really don't have a range.
|
||
|
||
2017-01-24 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
* gimple-ssa-sprintf.c (format_floating): Change MPFR_RNDx to
|
||
GMP_RNDx for compatiblity.
|
||
|
||
2017-01-24 Martin Liska <mliska@suse.cz>
|
||
|
||
PR bootstrap/79132
|
||
* tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Insert assert
|
||
that would prevent us to call alloca with -1 as argument.
|
||
|
||
2017-01-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* dwarf2out.c (output_compilation_unit_header, output_file_names):
|
||
Avoid -Wformat-security warning.
|
||
|
||
2017-01-23 Andrew Pinski <apinski@cavium.com>
|
||
|
||
* config/aarch64/aarch64.c (thunderx2t99_addrcost_table): Improve
|
||
cost table.
|
||
|
||
2017-01-23 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/78703
|
||
* gimple-ssa-sprintf.c (warn_level): New global.
|
||
(format_integer): Use it here and throughout the rest of the file.
|
||
Use the same switch to compute sign as base.
|
||
(maybe_warn): New function.
|
||
(format_directive): Factor out warnings into maybe_warn.
|
||
Add debugging output. Use warn_level.
|
||
(add_bytes): Use warn_level.
|
||
(pass_sprintf_length::compute_format_length): Add debugging output.
|
||
(try_substitute_return_value): Same.
|
||
(pass_sprintf_length::handle_gimple_call): Set and use warn_level.
|
||
|
||
PR middle-end/78703
|
||
* gimple-ssa-sprintf.c (struct format_result): Remove constant member.
|
||
(struct fmtresult, format_integer, format_floating): Adjust.
|
||
(fmtresult::fmtresult): Set max correctly in two argument ctor.
|
||
(get_string_length, format_string,format_directive): Same.
|
||
(pass_sprintf_length::compute_format_length): Same.
|
||
(try_substitute_return_value): Simplify slightly.
|
||
|
||
PR middle-end/78703
|
||
* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust formatting.
|
||
(fmtresult::operator+=): Outlined.
|
||
(struct fmtresult): Add ctors.
|
||
(struct conversion_spec): Rename...
|
||
(struct directive): ...to this. Add and remove data members.
|
||
(directive::set_width, directive::set_precision): New functions.
|
||
(format_percent): Use fmtresult ctor.
|
||
(get_width_and_precision): Remove.
|
||
(format_integer): Make naming changes. Avoid computing width and
|
||
precision.
|
||
(format_floating): Same. Adjust indentation.
|
||
(format_character, format_none): New functions.
|
||
(format_string): Moved character handling to format_character.
|
||
(format_directive): Remove arguments, change return type.
|
||
(parse_directive): New function.
|
||
(pass_sprintf_length::compute_format_length): Move directive
|
||
parsing to parse_directive.
|
||
|
||
2017-01-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree.h (assign_assembler_name_if_neeeded): Rename to ...
|
||
(assign_assembler_name_if_needed): ... this.
|
||
* tree.c (assign_assembler_name_if_neeeded): Rename to ...
|
||
(assign_assembler_name_if_needed): ... this.
|
||
(free_lang_data_in_cgraph): Adjust callers.
|
||
* cgraphunit.c (cgraph_node::analyze): Likewise.
|
||
* omp-expand.c (expand_omp_taskreg, expand_omp_target):
|
||
Likewise.
|
||
|
||
2017-01-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79088
|
||
PR tree-optimization/79188
|
||
* tree-ssa-threadupdate.c (mark_threaded_blocks): Move code
|
||
resetting loop bounds after last path deletion. Reset loop
|
||
bounds of the target loop, make code match the comments.
|
||
* tree-ssa-threadbackwards.c (pass_early_thread_jumps::execute):
|
||
Make sure loops need no fixups.
|
||
|
||
2017-01-23 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
* config/rs6000/rs6000-builtin.def (VSIEDPF): Add scalar insert
|
||
exponent support with double type for first argument.
|
||
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Changed
|
||
type returned by __builtin_vec_extract_sig,
|
||
__builtin_vec_extract_sig_sp, and __builtin_vec_extract_sig_dp
|
||
functions from "vector int" to "vector unsigned int" or from
|
||
"vector long long int" to "vector unsigned long long int".
|
||
Changed type returned by __builtin_vec_extract_exp,
|
||
__builtin_vec_extract_exp_sp, and __builtin_vec_extract_exp_dp
|
||
functions from "vector int" to "vector unsigned int" or from
|
||
"vector long long int" to "vector unsigned long long int".
|
||
Changed return type of __builtin_vec_test_data_class,
|
||
__builtin_vec_test_data_class_sp, and
|
||
__builtin_vec_test_data_class_dp from "vector int" to
|
||
"vector bool int" or from "vector long long int" to "vector bool
|
||
long long int" and changed second argument type from "unsigned
|
||
int" to "int". Added new overloaded function forms "vector float
|
||
__builtin_vec_insert_exp (vector float, vector unsigned int)" and
|
||
"vector float __builtin_vec_insert_exp_sp (vector float, vector
|
||
unsigned int)" and "vector double __builtin_vec_insert_exp (vector
|
||
double, vector unsigned long long int)" and "vector double
|
||
__builtin_vec_insert_exp_dp (vector double, vector unsigned long
|
||
long int)". Changed return type of
|
||
__builtin_scalar_test_data_class and
|
||
__builtin_scalar_test_data_class_sp and
|
||
__builtin_scalar_test_data_class_dp from "unsigned int" to "bool
|
||
int" and changed second argument from "unsigned int" to "int".
|
||
Changed type returned by __builtin_scalar_test_neg,
|
||
__builtin_scalar_test_neg_sp, and __builtin_scalar_test_neg_dp
|
||
from "int" to "bool int". Added new overloaded function form
|
||
"double __builtin_scalar_insert_exp (double, unsigned long long int)".
|
||
* config/rs6000/vsx.md (xsiexpdpf): New insn for scalar insert
|
||
exponent double-precision with floating point first argument.
|
||
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Adjust
|
||
documentation of scalar_test_data_class, scalar_test_neg,
|
||
scalar_extract_sig, scalar_extract_exp, scalar_insert_exp,
|
||
vector_extract_exp, vec_extract_sig, vec_insert_exp, and
|
||
vec_test_data_class built-in functions to reflect refinements in
|
||
their type signatures.
|
||
|
||
2017-01-23 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_elf_asm_constructor): Increase
|
||
size of buf.
|
||
(aarch64_elf_asm_destructor): Likewise.
|
||
|
||
2017-01-23 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR rtl-optimization/78634
|
||
* config/i386/i386.c (ix86_max_noce_ifcvt_seq_cost): New function.
|
||
(TARGET_MAX_NOCE_IFCVT_SEQ_COST): Define.
|
||
* ifcvt.c (noce_try_cmove): Add missing cost check.
|
||
|
||
PR rtl-optimization/71724
|
||
* combine.c (if_then_else_cond): Look for situations where it is
|
||
beneficial to undo the work of one of the recursive calls.
|
||
|
||
2017-01-23 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/70754
|
||
* tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE.
|
||
(reassociate_to_the_same_stmt): New parameter INSERT_BEFORE. Insert
|
||
combined stmt before it if not NULL.
|
||
(combine_chains): Process refs reversely and compute dominance point
|
||
for root ref.
|
||
|
||
2017-01-23 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/79196
|
||
* tree-ssa-strlen.c (fold_strstr_to_memcmp): Rename to ...
|
||
(fold_strstr_to_strncmp): ... this. Fold the pattern to strncmp
|
||
instead of memcmp.
|
||
(strlen_optimize_stmt): Call the renamed function.
|
||
|
||
2017-01-23 Michael Matz <matz@suse.de>
|
||
|
||
PR tree-optimization/78384
|
||
* tree-ssa-loop-split.c (patch_loop_exit): Use correct edge.
|
||
|
||
2017-01-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79186
|
||
* tree-vrp.c (register_new_assert_for): Make sure we've seen
|
||
both incoming edges before moving an assert.
|
||
|
||
2017-01-23 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* ipa-prop.c (load_from_param_1): Removed.
|
||
(load_from_unmodified_param): Bits from load_from_param_1 put back
|
||
here.
|
||
(load_from_param): Removed.
|
||
(compute_complex_assign_jump_func): Removed stmt2 and just replaced it
|
||
with stmt. Reverted back to use of load_from_unmodified_param.
|
||
|
||
2017-01-23 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/79108
|
||
* ipa-prop.h (ipa_param_descriptor): Anotate with with GTY(()).
|
||
(ipa_node_params): Annotate with GTY((for_user)). Make descriptors
|
||
field a pointer to garbage collected vector, mark lattices and
|
||
ipcp_orig_node with GTY((skip)).
|
||
(ipa_get_param_count): Adjust to descriptors being a pointer.
|
||
(ipa_get_param): Likewise.
|
||
(ipa_get_type): Likewise.
|
||
(ipa_get_param_move_cost): Likewise.
|
||
(ipa_set_param_used): Likewise.
|
||
(ipa_get_controlled_uses): Likewise.
|
||
(ipa_set_controlled_uses): Likewise.
|
||
(ipa_is_param_used): Likewise.
|
||
(ipa_node_params_t): Move into garbage collector. New methods insert
|
||
and remove.
|
||
(ipa_node_params_sum): Annotate wth GTY(()).
|
||
(ipa_check_create_node_params): Adjust to ipa_node_params_sum being
|
||
garbage collected.
|
||
(ipa_load_from_parm_agg): Adjust declaration.
|
||
* ipa-icf.c (param_used_p): Adjust to descriptors being a pointer.
|
||
* ipa-profile.c (ipa_profile): Likewise.
|
||
* ipa-prop.c (ipa_get_param_decl_index_1): Likewise.
|
||
(ipa_populate_param_decls): Make descriptors parameter garbage
|
||
collected.
|
||
(ipa_dump_param): Adjust to descriptors being a pointer.
|
||
(ipa_alloc_node_params): Likewise.
|
||
(ipa_initialize_node_params): Likewise.
|
||
(load_from_param_1): Make descriptors parameter garbage collected.
|
||
(load_from_unmodified_param): Likewise.
|
||
(load_from_param): Likewise.
|
||
(ipa_load_from_parm_agg): Likewise.
|
||
(ipa_node_params::~ipa_node_params): Removed.
|
||
(ipa_free_all_node_params): Remove call to delete operator.
|
||
(ipa_node_params_t::insert): New.
|
||
(ipa_node_params_t::remove): Likewise.
|
||
(ipa_node_params_t::duplicate): Adjust to descriptors being a pointer,
|
||
copy known_csts and known_contexts vectors.
|
||
(ipa_read_node_info): Adjust to descriptors being a pointer.
|
||
(ipcp_modif_dom_walker): Make m_descriptors field garbage
|
||
collected.
|
||
(ipcp_transform_function): Make descriptors variable garbage
|
||
collected.
|
||
|
||
2017-01-23 Andrew Senkevich <andrew.senkevich@intel.com>
|
||
|
||
* config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics.
|
||
* config/i386/avx512dqintrin.h: Ditto.
|
||
* config/i386/avx512fintrin.h: Ditto.
|
||
* gcc/config/i386/i386.c: Handle new builtins.
|
||
* config/i386/i386-builtin.def: Add new builtins.
|
||
* config/i386/sse.md (ktest<mode>, kortest<mode>): New.
|
||
(UNSPEC_KORTEST, UNSPEC_KTEST): New.
|
||
|
||
2017-01-23 Jakub Jelinek <jakub@redhat.com>
|
||
Martin Liska <mliska@suse.cz>
|
||
|
||
* asan.h: Define ASAN_USE_AFTER_SCOPE_ATTRIBUTE.
|
||
* asan.c (asan_expand_poison_ifn): Support stores and use
|
||
appropriate ASAN report function.
|
||
* internal-fn.c (expand_ASAN_POISON_USE): New function.
|
||
* internal-fn.def (ASAN_POISON_USE): Declare.
|
||
* tree-into-ssa.c (maybe_add_asan_poison_write): New function.
|
||
(maybe_register_def): Create ASAN_POISON_USE when sanitizing.
|
||
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Remove
|
||
ASAN_POISON calls w/o LHS.
|
||
* tree-ssa.c (execute_update_addresses_taken): Create clobber
|
||
for ASAN_MARK (UNPOISON, &x, ...) in order to prevent usage of a LHS
|
||
from ASAN_MARK (POISON, &x, ...) coming to a PHI node.
|
||
* gimplify.c (asan_poison_variables): Add attribute
|
||
use_after_scope_memory to variables that really needs to live
|
||
in memory.
|
||
* tree-ssa.c (is_asan_mark_p): Do not rewrite into SSA when
|
||
having the attribute.
|
||
|
||
2017-01-23 Martin Liska <mliska@suse.cz>
|
||
|
||
* asan.c (create_asan_shadow_var): New function.
|
||
(asan_expand_poison_ifn): Likewise.
|
||
* asan.h (asan_expand_poison_ifn): New declaration.
|
||
* internal-fn.c (expand_ASAN_POISON): Likewise.
|
||
* internal-fn.def (ASAN_POISON): New builtin.
|
||
* sanopt.c (pass_sanopt::execute): Expand
|
||
asan_expand_poison_ifn.
|
||
* tree-inline.c (copy_decl_for_dup_finish): Make function
|
||
external.
|
||
* tree-inline.h (copy_decl_for_dup_finish): Likewise.
|
||
* tree-ssa.c (is_asan_mark_p): New function.
|
||
(execute_update_addresses_taken): Rewrite local variables
|
||
(identified just by use-after-scope as addressable) into SSA.
|
||
|
||
2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/install.texi (Specific): opensource.apple.com uses https
|
||
now. Remove trailing slash.
|
||
|
||
2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* README.Portability: Remove note on an Irix compatibility issue.
|
||
|
||
2017-01-22 Dimitry Andric <dim@FreeBSD.org>
|
||
|
||
* gcov.c (INCLUDE_ALGORITHM): Define.
|
||
(INCLUDE_VECTOR): Define.
|
||
No longer include <vector> and <algorithm> directly.
|
||
|
||
2017-01-21 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/extend.texi (Thread-Local): Change www.akkadia.org reference
|
||
to https.
|
||
* doc/invoke.texi (Code Gen Options): Ditto.
|
||
|
||
2017-01-21 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/78407
|
||
* cfg.c (update_bb_profile_for_threading): Fix updating of probablity.
|
||
|
||
2017-01-21 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
rtl-optimization/79125
|
||
* cprop.c (local_cprop_pass): Handle cases where we make an
|
||
unconditional trap.
|
||
|
||
2017-01-20 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/61729
|
||
PR target/77850
|
||
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to
|
||
read from, for big endian.
|
||
|
||
2017-01-20 Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.c (aarch64_init_builtins): Register
|
||
register pauth builtins for LP64 only.
|
||
|
||
2017-01-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/79152
|
||
* gimplify.c (should_warn_for_implicit_fallthrough): Handle consecutive
|
||
non-case labels.
|
||
|
||
2017-01-20 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* omp-expand.c (expand_omp_simd): Clear PROP_gimple_lomp_dev regardless
|
||
of safelen status.
|
||
* omp-offload.c (pass_omp_device_lower::gate): Use PROP_gimple_lomp_dev.
|
||
* passes.c (dump_properties): Handle PROP_gimple_lomp_dev.
|
||
* tree-inline.c (expand_call_inline): Propagate PROP_gimple_lomp_dev.
|
||
|
||
2017-01-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/71270
|
||
* config/arm/arm.c (neon_valid_immediate): Reject vector constants
|
||
in big-endian mode when they are not a single duplicated value.
|
||
|
||
2017-01-20 Richard Biener <rguenther@suse.de>
|
||
|
||
* BASE-VER: Bump to 7.0.1.
|
||
|
||
2017-01-20 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* omp-low.c (omplow_simd_context): New struct. Use it...
|
||
(lower_rec_simd_input_clauses): ...here and...
|
||
(lower_rec_input_clauses): ...here to hold common data. Adjust all
|
||
references to idx, lane, max_vf, is_simt.
|
||
|
||
2017-01-20 Graham Markall <graham.markall@embecosm.com>
|
||
|
||
* config/arc/arc.h (LINK_SPEC): Use arclinux_nps emulation when
|
||
mcpu=nps400.
|
||
|
||
2017-01-20 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* hsa.h: Renaed to hsa-common.h. Adjusted a comment.
|
||
* hsa.c: Renaed to hsa-common.c. Change include of gt-hsa.h to
|
||
gt-hsa-common.h.
|
||
* Makefile.in (OBJS): Rename hsa.o to hsa-common.o.
|
||
(GTFILES): Rename hsa.c to hsa-common.c.
|
||
* hsa-brig.c: Change include of hsa.h to hsa-common.h.
|
||
* hsa-dump.c: Likewise.
|
||
* hsa-gen.c: Likewise.
|
||
* hsa-regalloc.c: Likewise.
|
||
* ipa-hsa.c: Likewise.
|
||
* omp-expand.c: Likewise.
|
||
* omp-low.c: Likewise.
|
||
* toplev.c: Likewise.
|
||
|
||
2017-01-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64279
|
||
* doc/invoke.texi: Document -Wduplicated-branches.
|
||
* fold-const.c (operand_equal_p): Handle MODIFY_EXPR, INIT_EXPR,
|
||
COMPOUND_EXPR, PREDECREMENT_EXPR, PREINCREMENT_EXPR,
|
||
POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, CLEANUP_POINT_EXPR, EXPR_STMT,
|
||
STATEMENT_LIST, and RETURN_EXPR. For non-pure non-const functions
|
||
return 0 only when not OEP_LEXICOGRAPHIC.
|
||
(fold_build_cleanup_point_expr): Use the expression
|
||
location when building CLEANUP_POINT_EXPR.
|
||
* tree-core.h (enum operand_equal_flag): Add OEP_LEXICOGRAPHIC.
|
||
* tree.c (add_expr): Handle error_mark_node.
|
||
|
||
2017-01-20 Martin Liska <mliska@suse.cz>
|
||
|
||
PR lto/69188
|
||
* tree-profile.c (init_ic_make_global_vars): Do not call
|
||
finalize_decl.
|
||
(gimple_init_gcov_profiler): Likewise.
|
||
|
||
2017-01-20 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/71190
|
||
* cgraph.h (maybe_create_reference): Remove argument and
|
||
update comment.
|
||
* cgraphclones.c (cgraph_node::create_virtual_clone): Remove one
|
||
argument.
|
||
* ipa-cp.c (create_specialized_node): Likewise.
|
||
* symtab.c (symtab_node::maybe_create_reference): Handle
|
||
VAR_DECLs and ADDR_EXPRs and select ipa_ref_use type.
|
||
|
||
2017-01-20 Martin Liska <mliska@suse.cz>
|
||
|
||
* read-rtl-function.c (function_reader::create_function): Use
|
||
build_decl instread of build_decl_stat.
|
||
|
||
2017-01-20 Andrew Senkevich <andrew.senkevich@intel.com>
|
||
|
||
* config/i386/avx512bwintrin.h: Add k-mask registers shift intrinsics.
|
||
* config/i386/avx512dqintrin.h: Ditto.
|
||
* config/i386/avx512fintrin.h: Ditto.
|
||
* config/i386/i386-builtin-types.def: Add new types.
|
||
* gcc/config/i386/i386.c: Handle new types.
|
||
* config/i386/i386-builtin.def (__builtin_ia32_kshiftliqi)
|
||
(__builtin_ia32_kshiftlihi, __builtin_ia32_kshiftlisi)
|
||
(__builtin_ia32_kshiftlidi, __builtin_ia32_kshiftriqi)
|
||
(__builtin_ia32_kshiftrihi, __builtin_ia32_kshiftrisi)
|
||
(__builtin_ia32_kshiftridi): New.
|
||
* config/i386/sse.md (k<code><mode>): Rename *k<code><mode>.
|
||
|
||
2017-01-19 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/78875
|
||
PR target/79140
|
||
* config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Unconditionally
|
||
define to rs6000_init_stack_protect_guard.
|
||
(rs6000_init_stack_protect_guard): New function.
|
||
|
||
2017-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
Yunqiang Su <yunqiang.su@imgtec.com>
|
||
|
||
* config.gcc (supported_defaults): Add madd4.
|
||
(with_madd4): Add validation.
|
||
(all_defaults): Add madd4.
|
||
* config/mips/mips.opt (mmadd4): New option.
|
||
* gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
|
||
mmadd4.
|
||
(TARGET_CPU_CPP_BUILTINS): Add builtin_define for
|
||
__mips_no_madd4.
|
||
(ISA_HAS_UNFUSED_MADD4): Gate with mips_madd4.
|
||
(ISA_HAS_FUSED_MADD4): Likewise.
|
||
* gcc/doc/invoke.texi (-mmadd4): Document the new option.
|
||
* gcc/doc/install.texi (--with-madd4): Document the new option.
|
||
|
||
2017-01-19 Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.c (enum aarch64_builtins): New
|
||
entries for AARCH64_PAUTH_BUILTIN_XPACLRI,
|
||
AARCH64_PAUTH_BUILTIN_PACIA1716, AARCH64_PAUTH_BUILTIN_AUTIA1716.
|
||
(aarch64_init_pauth_hint_builtins): New.
|
||
(aarch64_init_builtins): Call aarch64_init_pauth_hint_builtins.
|
||
(aarch64_expand_builtin): Expand new builtins.
|
||
|
||
2017-01-19 Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* reg-notes.def (CFA_TOGGLE_RA_MANGLE): New reg-note.
|
||
* combine-stack-adj.c (no_unhandled_cfa): Handle
|
||
REG_CFA_TOGGLE_RA_MANGLE.
|
||
* dwarf2cfi.c (dwarf2out_frame_debug): Handle REG_CFA_TOGGLE_RA_MANGLE.
|
||
* config/aarch64/aarch64.c (aarch64_expand_prologue): Generates DWARF
|
||
info for return address signing.
|
||
(aarch64_expand_epilogue): Likewise.
|
||
|
||
2017-01-19 Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* config/aarch64/aarch64-opts.h (aarch64_function_type): New enum.
|
||
* config/aarch64/aarch64-protos.h
|
||
(aarch64_return_address_signing_enabled): New declaration.
|
||
* config/aarch64/aarch64.c (aarch64_return_address_signing_enabled):
|
||
New function.
|
||
(aarch64_expand_prologue): Sign return address before it's pushed onto
|
||
stack.
|
||
(aarch64_expand_epilogue): Authenticate return address fetched from
|
||
stack.
|
||
(aarch64_override_options): Sanity check for ILP32 and ISA level.
|
||
(aarch64_attributes): New function attributes for "sign-return-address".
|
||
* config/aarch64/aarch64.md (UNSPEC_AUTI1716, UNSPEC_AUTISP,
|
||
UNSPEC_PACI1716, UNSPEC_PACISP, UNSPEC_XPACLRI): New unspecs.
|
||
("*do_return"): Generate combined instructions according to key index.
|
||
("<pauth_mnem_prefix>sp", "<pauth_mnem_prefix1716", "xpaclri"): New.
|
||
* config/aarch64/iterators.md (PAUTH_LR_SP, PAUTH_17_16): New integer
|
||
iterators.
|
||
(pauth_mnem_prefix, pauth_hint_num_a): New integer attributes.
|
||
* config/aarch64/aarch64.opt (msign-return-address=): New.
|
||
* doc/extend.texi (AArch64 Function Attributes): Documents
|
||
"sign-return-address=".
|
||
* doc/invoke.texi (AArch64 Options): Documents "-msign-return-address=".
|
||
|
||
2017-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* doc/invoke.texi: Add missing -mlxc1-sxc1 options to
|
||
overall option summary.
|
||
|
||
2017-01-19 Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* config/aarch64/aarch64-arches.def: New entry for "armv8.3-a".
|
||
* config/aarch64/aarch64.h (AARCH64_FL_V8_3, AARCH64_FL_FOR_ARCH8_3,
|
||
AARCH64_ISA_V8_3, TARGET_ARMV8_3): New.
|
||
* doc/invoke.texi (AArch64 Options): Document "armv8.3-a".
|
||
|
||
2017-01-19 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable
|
||
-mpower9-minmax by default for -mcpu=power9.
|
||
(ISA_3_MASKS_IEEE): Require -mvsx-small-integer to enable IEEE
|
||
128-bit floating point.
|
||
|
||
2017-01-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.md (cmpstrnsi, cmpstrsi): Fail if
|
||
optimizing for size.
|
||
|
||
2017-01-20 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/79144
|
||
* config/rs6000/rs6000.c (expand_strn_compare): Get the asm name
|
||
for strcmp and strncmp from corresponding builtin decl.
|
||
|
||
2017-01-19 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config.gcc (x86_64-*-rtems*): Use i386/rtemself.h
|
||
instead of i386/rtems-64.h.
|
||
* config/i386/rtems-64.h: Remove.
|
||
|
||
2017-01-19 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/78478
|
||
Revert:
|
||
2013-11-05 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define.
|
||
|
||
2017-01-19 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_simd_gen_const_vector_dup):
|
||
Change int to HOST_WIDE_INT.
|
||
* config/aarch64/aarch64-protos.h
|
||
(aarch64_simd_gen_const_vector_dup): Likewise.
|
||
* config/aarch64/aarch64-simd.md: Add copysign<mode>3.
|
||
|
||
2017-01-19 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* langhooks-def.h (lhd_type_for_size): New decl.
|
||
(LANG_HOOKS_TYPE_FOR_SIZE): Define as lhd_type_for_size.
|
||
* langhooks.c (lhd_type_for_size): New function, taken from
|
||
lto_type_for_size.
|
||
|
||
2017-01-19 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
* config/rs6000/power9.md (power9-alu): Remove 'cmp' type and add
|
||
define_bypass for CR latency.
|
||
(power9-cracked-alu): Update bypass latency and remove power9-branch.
|
||
(power9-alu2): Add define_bypass for CR latency.
|
||
(power9-cmp): New.
|
||
(power9-mul): Update insn latency.
|
||
(power9-mul-compare): Update insn latency, bypass latency and remove
|
||
power9-branch.
|
||
|
||
2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads):
|
||
Delete.
|
||
* config/aarch64/aarch64.md
|
||
(aarch64_reload_movcp<GPF_TF:mode><P:mode>): Delete reference to
|
||
aarch64_nopcrelative_literal_loads.
|
||
(aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
|
||
|
||
2017-01-19 Chenghua Xu <paul.hua.gm@gmail.com>
|
||
|
||
* config/mips/mips.h (ISA_HAS_FUSED_MADD4): Enable for
|
||
TARGET_LOONGSON_3A.
|
||
(ISA_HAS_UNFUSED_MADD4): Exclude TARGET_LOONGSON_3A.
|
||
|
||
2017-01-19 Doug Gilmore <doug.gilmore@imgtec.com>
|
||
|
||
PR target/78176
|
||
* config.gcc (supported_defaults): Add lxc1-sxc1.
|
||
(with_lxc1_sxc1): Add validation.
|
||
(all_defaults): Add lxc1-sxc1.
|
||
* config/mips/mips.opt (mlxc1-sxc1): New option.
|
||
* gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
|
||
mlxc1-sxc1.
|
||
(TARGET_CPU_CPP_BUILTINS): Add builtin_define for
|
||
__mips_no_lxc1_sxc1.
|
||
(ISA_HAS_LXC1_SXC1): Gate with mips_lxc1_sxc1.
|
||
* gcc/doc/invoke.texi (-mlxc1-sxc1): Document the new option.
|
||
* doc/install.texi (--with-lxc1-sxc1): Document the new option.
|
||
|
||
2017-01-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/72488
|
||
* tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make
|
||
sure to restore SSA info.
|
||
* tree-ssa.c (verify_ssa): Verify SSA info is not shared.
|
||
|
||
2017-01-19 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR rtl-optimization/79121
|
||
* expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness
|
||
of the inner type when shifting an extended value.
|
||
|
||
2017-01-17 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/78407
|
||
* symtab.c (symtab_node::equal_address_to): Fix comparing of
|
||
interposable aliases.
|
||
|
||
2017-01-18 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
PR target/78516
|
||
* config/rs6000/spe.md (mov_si<mode>_e500_subreg0): Fix constraints.
|
||
Use the evmergelohi instruction.
|
||
(mov_si<mode>_e500_subreg4_2_le): Likewise.
|
||
(mov_sitf_e500_subreg8_2_be): Likewise.
|
||
(mov_sitf_e500_subreg12_2_le): Likewise.
|
||
(mov_si<mode>_e500_subreg0_2_le): Fix constraints.
|
||
(mov_si<mode>_e500_subreg4_2_be): Likewise.
|
||
(mov_sitf_e500_subreg8_2_le): Likewise.
|
||
(mov_sitf_e500_subreg12_2_be): Likewise.
|
||
|
||
2017-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/altivec.md (altivec_vbpermq): Change "type"
|
||
attribute from vecsimple to vecperm.
|
||
(altivec_vbpermq2): Likewise.
|
||
|
||
2017-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/79040
|
||
* config/rs6000/altivec.h: Fix typo of vec_cntlz to vec_cnttz.
|
||
|
||
2017-01-18 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
|
||
* config/rs6000/rs6000-protos.h (expand_strn_compare): Add arg.
|
||
* config/rs6000/rs6000.c (expand_strn_compare): Add ability to expand
|
||
strcmp. Fix bug where comparison didn't stop with zero byte. Fix
|
||
case where N arg is SIZE_MAX.
|
||
* config/rs6000/rs6000.md (cmpstrnsi): Args to expand_strn_compare.
|
||
(cmpstrsi): Add pattern.
|
||
|
||
2017-01-18 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
|
||
__builtin_vec_revb builtins.
|
||
* config/rs6000/rs6000-builtins.def (P9V_BUILTIN_XXBRQ_V16QI): Add
|
||
built-in functions to support generation of the ISA 3.0 XXBR<x>
|
||
vector byte reverse instructions.
|
||
(P9V_BUILTIN_XXBRQ_V1TI): Likewise.
|
||
(P9V_BUILTIN_XXBRD_V2DI): Likewise.
|
||
(P9V_BUILTIN_XXBRD_V2DF): Likewise.
|
||
(P9V_BUILTIN_XXBGW_V4SI): Likewise.
|
||
(P9V_BUILTIN_XXBGW_V4SF): Likewise.
|
||
(P9V_BUILTIN_XXBGH_V8HI): Likewise.
|
||
(P9V_BUILTIN_VEC_REVB): Likewise.
|
||
* config/rs6000/vsx.md (p9_xxbrq_v1ti): New insns/expanders to
|
||
generate the ISA 3.0 XXBR<x> vector byte reverse instructions.
|
||
(p9_xxbrq_v16qi): Likewise.
|
||
(p9_xxbrd_<mode>, VSX_D iterator): Likewise.
|
||
(p9_xxbrw_<mode>, VSX_W iterator): Likewise.
|
||
(p9_xxbrh_v8hi): Likewise.
|
||
* config/rs6000/altivec.h (vec_revb): Define if ISA 3.0.
|
||
* doc/extend.texi (RS/6000 Altivec Built-ins): Document the
|
||
vec_revb built-in functions.
|
||
|
||
2017-01-18 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR rtl-optimization/78952
|
||
* config/i386/i386.md (any_extract): New code iterator.
|
||
(*insvqi_2): Use any_extract for source operand.
|
||
(*insvqi_3): Use any_shiftrt for source operand.
|
||
|
||
2017-01-18 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_sched_adjust_priority)
|
||
New function.
|
||
(TARGET_SCHED_ADJUST_PRIORITY): Define target hook.
|
||
|
||
2017-01-18 Matthias Klose <doko@ubuntu.com>
|
||
|
||
* doc/install.texi: Allow default for --with-target-bdw-gc-include.
|
||
|
||
2016-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/altivec.h (vec_bperm): Change #define.
|
||
* config/rs6000/altivec.md (UNSPEC_VBPERMD): New enum constant.
|
||
(altivec_vbpermq2): New define_insn.
|
||
(altivec_vbpermd): Likewise.
|
||
* config/rs6000/rs6000-builtin.def (VBPERMQ2): New monomorphic
|
||
function interface.
|
||
(VBPERMD): Likewise.
|
||
(VBPERM): New polymorphic function interface.
|
||
* config/rs6000/r6000-c.c (altivec_overloaded_builtins_table):
|
||
Add entries for P9V_BUILTIN_VEC_VBPERM.
|
||
* doc/extend.texi: Add interfaces for vec_bperm.
|
||
|
||
2017-01-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390-c.c (s390_expand_overloaded_builtin): Downcase
|
||
first letter of error messages.
|
||
(s390_resolve_overloaded_builtin): Likewise.
|
||
* config/s390/s390.c (s390_expand_builtin): Likewise.
|
||
(s390_invalid_arg_for_unprototyped_fn): Likewise.
|
||
(s390_valid_target_attribute_inner_p): Likewise.
|
||
* config/s390/s390.md ("tabort"): Likewise.
|
||
|
||
2017-01-18 Toma Tabacu <toma.tabacu@imgtec.com>
|
||
|
||
* config/mips/mips.h (ISA_HAS_DIV3): Remove unused macro.
|
||
(ISA_AVOID_DIV_HILO): New macro.
|
||
(ISA_HAS_DIV): Use new ISA_AVOID_DIV_HILO macro.
|
||
(ISA_HAS_DDIV): Likewise.
|
||
|
||
2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
* doc/invoke.texi (fabi-version): Correct number of occurrences.
|
||
|
||
2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
* doc/invoke.texi (fabi-version): Spelling fix.
|
||
|
||
2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
PR c++/70182
|
||
* doc/invoke.texi (fabi-version): Mention mangling fix for
|
||
operator names.
|
||
|
||
2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
PR c++/77489
|
||
* doc/invoke.texi (fabi-version): Document discriminator mangling.
|
||
|
||
2017-01-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/78875
|
||
* config/rs6000/rs6000-opts.h (stack_protector_guard): New enum.
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Handle
|
||
the new options.
|
||
* config/rs6000/rs6000.md (stack_protect_set): Handle the new more
|
||
flexible settings.
|
||
(stack_protect_test): Ditto.
|
||
* config/rs6000/rs6000.opt (mstack-protector-guard=,
|
||
mstack-protector-guard-reg=, mstack-protector-guard-offset=): New
|
||
options.
|
||
* doc/invoke.texi (Option Summary) [RS/6000 and PowerPC Options]:
|
||
Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and
|
||
-mstack-protector-guard-offset=.
|
||
(RS/6000 and PowerPC Options): Ditto.
|
||
|
||
2017-01-17 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.h (MASK_CLASS_P): New define.
|
||
* config/i386/i386.c (inline_secondary_memory_needed): Ensure that
|
||
there are no registers from different register sets also when
|
||
mask registers are used. Update function comment.
|
||
* config/i386/i386.md (*movsi_internal): Split (*k/*krm) alternative
|
||
to (*k/*r) and (*k/*km) alternatives.
|
||
|
||
2017-01-17 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (eh_return): Remove pattern and splitter.
|
||
* config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove.
|
||
(EH_RETURN_HANDLER_RTX): New define.
|
||
* config/aarch64/aarch64.c (aarch64_frame_pointer_required):
|
||
Force frame pointer in EH return functions.
|
||
(aarch64_expand_epilogue): Add barrier for eh_return.
|
||
(aarch64_final_eh_return_addr): Remove.
|
||
(aarch64_eh_return_handler_rtx): New function.
|
||
* config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr):
|
||
Remove.
|
||
(aarch64_eh_return_handler_rtx): New prototype.
|
||
|
||
2017-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/altivec.h (vec_rlmi): New #define.
|
||
(vec_vrlnm): Likewise.
|
||
(vec_rlnm): Likewise.
|
||
* config/rs6000/altivec.md (UNSPEC_VRLMI): New UNSPEC enum value.
|
||
(UNSPEC_VRLNM): Likewise.
|
||
(VIlong): New mode iterator.
|
||
(altivec_vrl<VI_char>mi): New define_insn.
|
||
(altivec_vrl<VI_char>nm): Likewise.
|
||
* config/rs6000/rs6000-builtin.def (VRLWNM): New monomorphic
|
||
function entry.
|
||
(VRLDNM): Likewise.
|
||
(RLNM): New polymorphic function entry.
|
||
(VRLWMI): New monomorphic function entry.
|
||
(VRLDMI): Likewise.
|
||
(RLMI): New polymorphic function entry.
|
||
* config/rs6000/r6000-c.c (altivec_overloaded_builtin_table): Add
|
||
new entries for P9V_BUILTIN_VEC_RLMI and P9V_BUILTIN_VEC_RLNM.
|
||
* doc/extend.texi: Add description of vec_rlmi, vec_rlnm, and
|
||
vec_vrlnm.
|
||
|
||
2017-01-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/78839
|
||
* dwarf2out.c (field_byte_offset): Restore the
|
||
PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET
|
||
and DECL_FIELD_BIT_OFFSET. Use fold_build2 instead of build2 + fold.
|
||
(analyze_variants_discr, gen_variant_part): Use fold_build2 instead
|
||
of build2 + fold.
|
||
|
||
2017-01-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/67205
|
||
* config/aarch64/aarch64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define
|
||
|
||
2017-01-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/71669
|
||
* dwarf2out.c (add_data_member_location_attribute): For constant
|
||
offset bitfield emit for -gdwarf-5 DW_AT_data_bit_offset attribute
|
||
instead of DW_AT_data_member_location, DW_AT_bit_offset and
|
||
DW_AT_byte_size attributes.
|
||
|
||
2017-01-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_emit_move): Also use a TOC reference
|
||
after forcing to constant memory when the code model is medium.
|
||
|
||
2017-01-17 Julia Koval <julia.koval@intel.com>
|
||
|
||
PR target/76731
|
||
* config/i386/avx512fintrin.h
|
||
(_mm512_i32gather_ps): Change __addr type to void const*.
|
||
(_mm512_mask_i32gather_ps): Ditto.
|
||
(_mm512_i32gather_pd): Ditto.
|
||
(_mm512_mask_i32gather_pd): Ditto.
|
||
(_mm512_i64gather_ps): Ditto.
|
||
(_mm512_mask_i64gather_ps): Ditto.
|
||
(_mm512_i64gather_pd): Ditto.
|
||
(_mm512_mask_i64gather_pd): Ditto.
|
||
(_mm512_i32gather_epi32): Ditto.
|
||
(_mm512_mask_i32gather_epi32): Ditto.
|
||
(_mm512_i32gather_epi64): Ditto.
|
||
(_mm512_mask_i32gather_epi64): Ditto.
|
||
(_mm512_i64gather_epi32): Ditto.
|
||
(_mm512_mask_i64gather_epi32): Ditto.
|
||
(_mm512_i64gather_epi64): Ditto.
|
||
(_mm512_mask_i64gather_epi64): Ditto.
|
||
(_mm512_i32scatter_ps): Change __addr type to void*.
|
||
(_mm512_mask_i32scatter_ps): Ditto.
|
||
(_mm512_i32scatter_pd): Ditto.
|
||
(_mm512_mask_i32scatter_pd): Ditto.
|
||
(_mm512_i64scatter_ps): Ditto.
|
||
(_mm512_mask_i64scatter_ps): Ditto.
|
||
(_mm512_i64scatter_pd): Ditto.
|
||
(_mm512_mask_i64scatter_pd): Ditto.
|
||
(_mm512_i32scatter_epi32): Ditto.
|
||
(_mm512_mask_i32scatter_epi32): Ditto.
|
||
(_mm512_i32scatter_epi64): Ditto.
|
||
(_mm512_mask_i32scatter_epi64): Ditto.
|
||
(_mm512_i64scatter_epi32): Ditto.
|
||
(_mm512_mask_i64scatter_epi32): Ditto.
|
||
(_mm512_i64scatter_epi64): Ditto.
|
||
(_mm512_mask_i64scatter_epi64): Ditto.
|
||
* config/i386/avx512pfintrin.h
|
||
(_mm512_mask_prefetch_i32gather_pd): Change __addr type to void const*.
|
||
(_mm512_mask_prefetch_i32gather_ps): Ditto.
|
||
(_mm512_mask_prefetch_i64gather_pd): Ditto.
|
||
(_mm512_mask_prefetch_i64gather_ps): Ditto.
|
||
(_mm512_prefetch_i32scatter_pd): Change __addr type to void*.
|
||
(_mm512_prefetch_i32scatter_ps): Ditto.
|
||
(_mm512_mask_prefetch_i32scatter_pd): Ditto.
|
||
(_mm512_mask_prefetch_i32scatter_ps): Ditto.
|
||
(_mm512_prefetch_i64scatter_pd): Ditto.
|
||
(_mm512_prefetch_i64scatter_ps): Ditto.
|
||
(_mm512_mask_prefetch_i64scatter_pd): Ditto.
|
||
(_mm512_mask_prefetch_i64scatter_ps): Ditto.
|
||
* config/i386/avx512vlintrin.h
|
||
(_mm256_mmask_i32gather_ps): Change __addr type to void const*.
|
||
(_mm_mmask_i32gather_ps): Ditto.
|
||
(_mm256_mmask_i32gather_pd): Ditto.
|
||
(_mm_mmask_i32gather_pd): Ditto.
|
||
(_mm256_mmask_i64gather_ps): Ditto.
|
||
(_mm_mmask_i64gather_ps): Ditto.
|
||
(_mm256_mmask_i64gather_pd): Ditto.
|
||
(_mm_mmask_i64gather_pd): Ditto.
|
||
(_mm256_mmask_i32gather_epi32): Ditto.
|
||
(_mm_mmask_i32gather_epi32): Ditto.
|
||
(_mm256_mmask_i32gather_epi64): Ditto.
|
||
(_mm_mmask_i32gather_epi64): Ditto.
|
||
(_mm256_mmask_i64gather_epi32): Ditto.
|
||
(_mm_mmask_i64gather_epi32): Ditto.
|
||
(_mm256_mmask_i64gather_epi64): Ditto.
|
||
(_mm_mmask_i64gather_epi64): Ditto.
|
||
(_mm256_i32scatter_ps): Change __addr type to void*.
|
||
(_mm256_mask_i32scatter_ps): Ditto.
|
||
(_mm_i32scatter_ps): Ditto.
|
||
(_mm_mask_i32scatter_ps): Ditto.
|
||
(_mm256_i32scatter_pd): Ditto.
|
||
(_mm256_mask_i32scatter_pd): Ditto.
|
||
(_mm_i32scatter_pd): Ditto.
|
||
(_mm_mask_i32scatter_pd): Ditto.
|
||
(_mm256_i64scatter_ps): Ditto.
|
||
(_mm256_mask_i64scatter_ps): Ditto.
|
||
(_mm_i64scatter_ps): Ditto.
|
||
(_mm_mask_i64scatter_ps): Ditto.
|
||
(_mm256_i64scatter_pd): Ditto.
|
||
(_mm256_mask_i64scatter_pd): Ditto.
|
||
(_mm_i64scatter_pd): Ditto.
|
||
(_mm_mask_i64scatter_pd): Ditto.
|
||
(_mm256_i32scatter_epi32): Ditto.
|
||
(_mm256_mask_i32scatter_epi32): Ditto.
|
||
(_mm_i32scatter_epi32): Ditto.
|
||
(_mm_mask_i32scatter_epi32): Ditto.
|
||
(_mm256_i32scatter_epi64): Ditto.
|
||
(_mm256_mask_i32scatter_epi64): Ditto.
|
||
(_mm_i32scatter_epi64): Ditto.
|
||
(_mm_mask_i32scatter_epi64): Ditto.
|
||
(_mm256_i64scatter_epi32): Ditto.
|
||
(_mm256_mask_i64scatter_epi32): Ditto.
|
||
(_mm_i64scatter_epi32): Ditto.
|
||
(_mm_mask_i64scatter_epi32): Ditto.
|
||
(_mm256_i64scatter_epi64): Ditto.
|
||
(_mm256_mask_i64scatter_epi64): Ditto.
|
||
(_mm_i64scatter_epi64): Ditto.
|
||
(_mm_mask_i64scatter_epi64): Ditto.
|
||
* config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT)
|
||
(V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT)
|
||
(V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT)
|
||
(V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT)
|
||
(V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT)
|
||
(V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT)
|
||
(V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT)
|
||
(V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT)
|
||
(V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT)
|
||
(V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT)
|
||
(V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT)
|
||
(V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT)
|
||
(V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT)
|
||
(VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT)
|
||
(VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT)
|
||
(VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT)
|
||
(VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT)
|
||
(VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT)
|
||
(VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT)
|
||
(VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT)
|
||
(VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT)
|
||
(VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT)
|
||
(VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT)
|
||
(VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT)
|
||
(VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT)
|
||
(VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT)
|
||
(VOID_QI_V8DI_PCINT_INT_INT): Remove.
|
||
(V16SF_V16SF_PCVOID_V16SI_HI_INT, V8DF_V8DF_PCVOID_V8SI_QI_INT)
|
||
(V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT)
|
||
(V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT)
|
||
(V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT)
|
||
(VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT)
|
||
(VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT)
|
||
(VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT)
|
||
(VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT)
|
||
(V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT)
|
||
(V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT
|
||
(V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT)
|
||
(V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT)
|
||
(V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT)
|
||
(V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT)
|
||
(V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT)
|
||
(V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT)
|
||
(VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT)
|
||
(VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT)
|
||
(VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT)
|
||
(VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT)
|
||
(VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT)
|
||
(VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT)
|
||
(VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT)
|
||
(VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT)
|
||
(VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT)
|
||
(VOID_QI_V8DI_PCVOID_INT_INT): Add.
|
||
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin
|
||
definitions accordingly.
|
||
|
||
2017-01-17 Kito Cheng <kito.cheng@gmail.com>
|
||
Kuan-Lin Chen <kuanlinchentw@gmail.com>
|
||
|
||
PR target/79079
|
||
* internal-fn.c (expand_mul_overflow): Use convert_modes instead of
|
||
gen_lowpart.
|
||
|
||
2017-01-17 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/79058
|
||
* ira-conflicts.c (ira_build_conflicts): Update total conflict
|
||
hard regs for inner regno.
|
||
|
||
2017-01-17 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/71207
|
||
* ipa-polymorphic-call.c (contains_type_p): Fix wrong
|
||
assumption and add comment.
|
||
|
||
2017-01-17 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* ipa-visibility.c (localize_node): New function, broken out of ...
|
||
(function_and_variable_visibility): ... here. Call it.
|
||
|
||
2017-01-17 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/77445
|
||
* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
|
||
correctly set frequency of oudgoing edge.
|
||
(duplicate_thread_path): Fix profile updating.
|
||
|
||
2017-01-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/79046
|
||
* configure.ac: Add GCC_BASE_VER.
|
||
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
|
||
version from BASE-VER file.
|
||
(CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
|
||
(gcc.o): Depend on $(BASEVER).
|
||
* common.opt (dumpfullversion): New option.
|
||
* gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
|
||
* doc/invoke.texi: Document -dumpfullversion.
|
||
* doc/install.texi: Document --with-gcc-major-version-only.
|
||
* configure: Regenerated.
|
||
|
||
2017-01-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/71433
|
||
* tree-vrp.c (register_new_assert_for): Merge same asserts
|
||
on all incoming edges.
|
||
(process_assert_insertions_for): Handle insertions at the
|
||
beginning of BBs.
|
||
|
||
2017-01-17 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* config/i386/cygwin.h (LIBGCJ_SONAME): Remove.
|
||
* config/i386/mingw32.h (LIBGCJ_SONAME): Remove.
|
||
|
||
2017-01-17 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
PR target/78633
|
||
* config/sh/sh.md (cmpeqsi_t+1): Call copy_rtx to avoid invalid
|
||
RTL sharing.
|
||
|
||
2017-01-17 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/79066
|
||
* config/rs6000/rs6000.md (elf_high, elf_low): Disable when pic.
|
||
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't allow
|
||
symbolic stack limit when pic.
|
||
|
||
2017-01-16 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/78608
|
||
* gimple-ssa-sprintf.c (tree_digits): Avoid negating TYPE_MIN.
|
||
|
||
2017-01-16 Jeff Law <law@redhat.com>
|
||
|
||
Revert:
|
||
2016-12-02 Tadek Kijkowski <tkijkowski@gmail.com>
|
||
* Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
|
||
for several include directories that may be relative to sysroot.
|
||
* config/i386/x-mingw32 (gplus_includedir): Define.
|
||
(gplus_tool_includedir, gplus_backward_include_dir): Likewise.
|
||
(native_system_includedir): Likewise.
|
||
* config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
|
||
override if TARGET_SYSTEM_ROOT is defined.
|
||
(NATIVE_SYSTEM_HEADER_DIR): Likewise.
|
||
|
||
PR tree-optimization/79090
|
||
PR tree-optimization/33562
|
||
PR tree-optimization/61912
|
||
PR tree-optimization/77485
|
||
* tree-ssa-dse.c (compute_trims): Accept STMT argument. Dump STMT
|
||
and computed trims into the dump file.
|
||
|
||
2017-01-17 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.h (LIMIT_RELOAD_CLASS): Remove.
|
||
|
||
2017-01-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/79089
|
||
* gimplify.c (gimplify_init_constructor): If want_value and
|
||
object == lhs, unshare lhs to avoid invalid tree sharing. Formatting
|
||
fix.
|
||
|
||
PR target/79080
|
||
* loop-doloop.c (doloop_modify): Call unshare_all_rtl_in_chain on
|
||
sequence. Formatting fixes.
|
||
(doloop_optimize): Formatting fixes.
|
||
|
||
PR driver/49726
|
||
* gcc.c (debug_level_greater_than_spec_func): New function.
|
||
(static_spec_functions): Add debug-level-gt spec function.
|
||
(ASM_DEBUG_SPEC, cpp_options): Use %:debug-level-gt(0) instead of
|
||
!g0.
|
||
* config/darwin.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
|
||
* config/darwin9.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
|
||
* common.opt (g, gcoff, gdwarf, gdwarf-, ggdb, gno-pubnames,
|
||
gpubnames, ggnu-pubnames, gno-record-gcc-switches,
|
||
grecord-gcc-switches, gno-strict-dwarf, gstrict-dwarf, gstabs,
|
||
gstabs+, gtoggle, gvms, gxcoff, gxcoff+): Add Driver flag.
|
||
|
||
2017-01-16 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.h (HARD_REGNO_CALLER_SAVE_MODE): Apply HImode and
|
||
QImode fixups to general and mask registers only.
|
||
|
||
2017-01-16 Carl Love <cel@us.ibm.com>
|
||
|
||
* config/rs6000/rs6000-c (altivec_overloaded_builtins): Add support
|
||
for built-in functions
|
||
vector signed char vec_nabs (vector signed char)
|
||
vector signed short vec_nabs (vector signed short)
|
||
vector signed int vec_nabs (vector signed int)
|
||
vector signed long long vec_nabs (vector signed long long)
|
||
vector float vec_nabs (vector float)
|
||
vector double vec_nabs (vector double)
|
||
* config/rs6000/rs6000-builtin.def: Add definitions for NABS functions
|
||
and NABS overload.
|
||
* config/rs6000/altivec.md: New define_expand nabs<mode>2 types
|
||
* config/rs6000/altivec.h: New define for vec_nabs built-in function.
|
||
* doc/extend.texi: Update the documentation file for the new built-in
|
||
functions.
|
||
|
||
2017-01-16 Martin Sebor <msebor@redhat.com>
|
||
|
||
* gimple-ssa-sprintf.c (format_directive): Correct a typo in a warning
|
||
message.
|
||
|
||
2017-01-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (rtx_is_swappable_p): Change
|
||
UNSPEC_VSX__XXSPLTD to require special splat handling.
|
||
|
||
2017-01-16 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR bootstrap/78616
|
||
* system.h: Poison strndup.
|
||
|
||
2017-01-16 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/79098
|
||
* config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Don't
|
||
use a switch.
|
||
|
||
2017-01-16 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
* config/avr/avr.h (BRANCH_COST) [reload_completed]: Increase by 4.
|
||
|
||
2017-01-15 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (ix86_legitimate_combined_insn): Do not
|
||
call recog here. Assert that INSN_CODE (insn) is non-negative.
|
||
|
||
2017-01-15 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/72749
|
||
* cfgrtl.c (rtl_split_edge): Also patch jump insns that jump to the
|
||
fallthrough.
|
||
* haifa-sched.c (dump_insn_stream): Don't crash if there is a label
|
||
in the currently scheduled RTL fragment.
|
||
|
||
2017-01-15 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/78751
|
||
* ifcvt.c (find_cond_trap): If we generated a non-existing insn,
|
||
give up.
|
||
|
||
2017-01-14 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/79090
|
||
* tree-ssa-dse.c (valid_ao_ref_for_dse): Reject zero length and
|
||
variable length stores.
|
||
(compute_trims): Delete dead assignment to *trim_tail.
|
||
(dse_dom_walker::dse_optimize_stmt): Optimize mem* calls with
|
||
zero length.
|
||
|
||
2017-01-14 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR rtl-optimization/78626
|
||
PR rtl-optimization/78727
|
||
* cprop.c (one_cprop_pass): Collect unconditional traps in the middle
|
||
of a block, and split such blocks after everything else is finished.
|
||
|
||
2017-01-14 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/72749
|
||
* combine.c (recog_for_combine_1): Set INSN_CODE before calling
|
||
target legitimate_combined_insn.
|
||
* config/rs6000/rs6000.c (TARGET_LEGITIMATE_COMBINED_INSN): Define.
|
||
(rs6000_legitimate_combined_insn): New function.
|
||
* config/rs6000/rs6000.md (UNSPEC_DOLOOP): Delete, and remove
|
||
all uses.
|
||
(ctr<mode>_internal3): Rename from *ctr<mode>_internal5.
|
||
(ctr<mode>_internal4): Rename from *ctr<mode>_internal6.
|
||
(ctr<mode>_internal1, ctr<mode>_internal2): Remove '*' from name.
|
||
|
||
2017-01-14 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/frontends.texi (G++ and GCC): Remove references to Java.
|
||
|
||
2017-01-13 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/33562
|
||
PR tree-optimization/61912
|
||
PR tree-optimization/77485
|
||
* tree-ssa-dse.c (delete_dead_call): Accept gsi rather than
|
||
a statement.
|
||
(delete_dead_assignment): Likewise.
|
||
(dse_dom_walker::dse_optimize_stmt): Pass in the gsi rather than
|
||
statement to delete_dead_call and delete_dead_assignment.
|
||
|
||
2017-01-13 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/78304
|
||
* substring-locations.c (format_warning_va): Strengthen case 1 so
|
||
that both endpoints of the substring must be within the format
|
||
range for just the substring to be printed.
|
||
|
||
2017-01-13 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.opt (msgx): Use ix86_isa_flags2 variable.
|
||
* config/i386/i386.c (ix86_target_string): Add missing options
|
||
to isa_opts and reorder options by implied ISAs. Rename isa_opts2 to
|
||
isa2_opts, ix86_flag_opts to flag2_opts, ix86_target_other to
|
||
flags_other and ix86_target_other to flags2_other. Display unknown
|
||
isa2 options.
|
||
(ix86_valid_target_attribute_inner_p): Add missing options and
|
||
reorder options by implied ISAs, as in ix86_target_string.
|
||
|
||
2017-01-13 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* hash-table.h (hash_table::too_empty_p): New function.
|
||
(hash_table::expand): Use it.
|
||
(hash_table::traverse): Likewise.
|
||
(hash_table::empty_slot): Use sizeof (value_type) instead of
|
||
sizeof (PTR) to convert bytes to elements. Shrink the table
|
||
if the current size is excessive for the current number of
|
||
elements.
|
||
|
||
2017-01-13 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* ira-costs.c (record_reg_classes): Break from the inner loop
|
||
early once alt_fail is known to be true. Update outer loop
|
||
handling accordingly.
|
||
|
||
2017-01-13 Jeff Law <law@redhat.com>
|
||
|
||
* tree-ssa-dse.c (decrement_count): New function.
|
||
(increment_start_addr, maybe_trim_memstar_call): Likewise.
|
||
(dse_dom_walker::optimize_stmt): Call maybe_trim_memstar_call directly
|
||
when we know the partially dead statement is a mem* function.
|
||
|
||
PR tree-optimization/61912
|
||
PR tree-optimization/77485
|
||
* tree-ssa-dse.c: Include expr.h.
|
||
(maybe_trim_constructor_store): New function.
|
||
(maybe_trim_partially_dead_store): Call maybe_trim_constructor_store.
|
||
|
||
PR tree-optimization/33562
|
||
PR tree-optimization/61912
|
||
PR tree-optimization/77485
|
||
* doc/invoke.texi: Document new dse-max-object-size param.
|
||
* params.def (PARM_DSE_MAX_OBJECT_SIZE): New PARAM.
|
||
* tree-ssa-dse.c: Include params.h.
|
||
(dse_store_status): New enum.
|
||
(initialize_ao_ref_for_dse): New, partially extracted from
|
||
dse_optimize_stmt.
|
||
(valid_ao_ref_for_dse, normalize_ref): New.
|
||
(setup_live_bytes_from_ref, compute_trims): Likewise.
|
||
(clear_bytes_written_by, maybe_trim_complex_store): Likewise.
|
||
(maybe_trim_partially_dead_store): Likewise.
|
||
(maybe_trim_complex_store): Likewise.
|
||
(dse_classify_store): Renamed from dse_possibly_dead_store_p.
|
||
Track what bytes live from the original store. Return tri-state
|
||
for dead, partially dead or live.
|
||
(dse_dom_walker): Add constructor, destructor and new private members.
|
||
(delete_dead_call, delete_dead_assignment): New extracted from
|
||
dse_optimize_stmt.
|
||
(dse_optimize_stmt): Make a member of dse_dom_walker.
|
||
Use initialize_ao_ref_for_dse.
|
||
|
||
PR tree-optimization/33562
|
||
PR tree-optimization/61912
|
||
PR tree-optimization/77485
|
||
* sbitmap.h (bitmap_count_bits): Prototype.
|
||
(bitmap_clear_range, bitmap_set_range): Likewise.
|
||
* sbitmap.c (bitmap_clear_range): New function.
|
||
(bitmap_set_range, sbitmap_popcount, bitmap_count_bits): Likewise.
|
||
|
||
2017-01-13 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/79043
|
||
* function.c (set_cfun): Add new argument force.
|
||
* function.h (set_cfun): Likewise.
|
||
* ipa-inline-transform.c (inline_call): Use the function when
|
||
strict alising from is dropped for function we inline to.
|
||
|
||
2017-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-pretty-print.c (dump_generic_node): Fix inverted condition
|
||
for dumping GIMPLE INTEGER_CSTs.
|
||
|
||
2017-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __STDC_VERSION__
|
||
to 201112L since C++17.
|
||
|
||
2017-01-13 Maxim Ostapenko <m.ostapenko@samsung.com>
|
||
|
||
PR sanitizer/78887
|
||
* asan.c (asan_needs_odr_indicator_p): Don't emit ODR indicators
|
||
if -fsanitize=kernel-address is present.
|
||
|
||
2017-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-pretty-print.c (dump_generic_node): Dump INTEGER_CSTs
|
||
as _Literal ( type ) number in case usual suffixes do not
|
||
preserve all information.
|
||
|
||
2017-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/77283
|
||
* gimple-ssa-split-paths.c: Include gimple-ssa.h, tree-phinodes.h
|
||
and ssa-iterators.h.
|
||
(is_feasible_trace): Implement a cost model based on joiner
|
||
PHI node uses.
|
||
|
||
2017-01-12 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/79004
|
||
* config/rs6000/rs6000.md (FP_ISA3): Do not optimize converting
|
||
char or short to __float128/_Float128 directly.
|
||
|
||
2017-01-12 Martin Sebor <msebor@redhat.com>
|
||
|
||
to -Wformat-overflow.
|
||
* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust.
|
||
(min_bytes_remaining): Same.
|
||
(get_string_length): Same.
|
||
(format_string): Same.
|
||
(format_directive): Same.
|
||
(add_bytes): Same.
|
||
(pass_sprintf_length::handle_gimple_call): Same.
|
||
|
||
2017-01-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gimple-ssa-sprintf.c (try_substitute_return_value): Remove
|
||
info.nowrite calls with no lhs that can't throw. Return bool
|
||
whether gsi_remove has been called or not.
|
||
(pass_sprintf_length::handle_gimple_call): Return bool whether
|
||
try_substitute_return_value called gsi_remove. Formatting fix.
|
||
(pass_sprintf_length::execute): Don't use gsi_remove if
|
||
handle_gimple_call returned true.
|
||
|
||
PR bootstrap/79069
|
||
* cfgrtl.c (rtl_tidy_fallthru_edge): For any_uncondjump_p that can't
|
||
be removed due to side-effects, don't remove following barrier nor
|
||
turn the successor edge into fallthru edge.
|
||
|
||
2017-01-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/79044
|
||
* config/rs6000/rs6000.c (insn_is_swappable_p): Mark
|
||
element-reversing loads and stores as not swappable.
|
||
|
||
2017-01-12 Nathan Sidwell <nathan@acm.org>
|
||
Nicolai Stange <nicstange@gmail.com>
|
||
|
||
* combine.c (try_combine): Don't ignore result of overlap checking
|
||
loop. Combine overlap & asm check into single loop.
|
||
|
||
2017-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-pretty-print.c (dump_generic_node): Provide -gimple
|
||
variant for MEM_REF. Sanitize INTEGER_CST for -gimple.
|
||
|
||
2017-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree.c (initialize_tree_contains_struct): Make TS_OPTIMIZATION
|
||
and TS_TARGET_OPTION directly derive from TS_BASE.
|
||
* tree-core.h (tree_optimization_option): Derive from tree_base.
|
||
(tree_target_option): Likewise.
|
||
|
||
2017-01-11 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (memory_address_length): Increase len
|
||
only when rip_relative_addr_p returns false.
|
||
|
||
2017-01-11 Julia Koval <julia.koval@intel.com>
|
||
|
||
* common/config/i386/i386-common.c (OPTION_MASK_ISA_SGX_UNSET): New.
|
||
(OPTION_MASK_ISA_SGX_SET): New.
|
||
(ix86_handle_option): Handle OPT_msgx.
|
||
* config.gcc: Added sgxintrin.h.
|
||
* config/i386/driver-i386.c (host_detect_local_cpu): Detect sgx.
|
||
* config/i386/i386-c.c (ix86_target_macros_internal): Define __SGX__.
|
||
* config/i386/i386.c (ix86_target_string): Add -msgx.
|
||
(PTA_SGX): New.
|
||
(ix86_option_override_internal): Handle new options.
|
||
(ix86_valid_target_attribute_inner_p): Add sgx.
|
||
* config/i386/i386.h (TARGET_SGX, TARGET_SGX_P): New.
|
||
* config/i386/i386.opt: Add msgx.
|
||
* config/i386/sgxintrin.h: New file.
|
||
* config/i386/x86intrin.h: Add sgxintrin.h.
|
||
|
||
2017-01-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/71537
|
||
* fold-const.c (maybe_nonzero_address): Return 1 for function
|
||
local objects.
|
||
(tree_single_nonzero_warnv_p): Don't handle function local objects
|
||
here.
|
||
|
||
PR c++/72813
|
||
* gcc.c (default_compilers): Don't add -o %g.s for -S -save-temps
|
||
of c-header.
|
||
|
||
2017-01-11 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR driver/78877
|
||
* opts.c: Include "spellcheck.h"
|
||
(struct string_fragment): New struct.
|
||
(struct edit_distance_traits<const string_fragment &>): New
|
||
struct.
|
||
(get_closest_sanitizer_option): New function.
|
||
(parse_sanitizer_options): Offer suggestions for unrecognized arguments.
|
||
|
||
2017-01-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): For DWARF5 decrease
|
||
by 12.
|
||
(DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Always
|
||
DWARF_COMPILE_UNIT_HEADER_SIZE plus 12.
|
||
(DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE): Define.
|
||
(calc_base_type_die_sizes): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE
|
||
for initial die_offset if dwarf_split_debug_info.
|
||
(output_comp_unit): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE for
|
||
initial next_die_offset if dwo_id is non-NULL. Don't emit padding
|
||
fields.
|
||
(output_skeleton_debug_sections): Formatting fix. Use
|
||
DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE instead of
|
||
DWARF_COMPILE_UNIT_HEADER_SIZE. Don't emit padding.
|
||
|
||
2017-01-11 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/arm/cortex-a53.md: Add bypasses for
|
||
cortex_a53_r2f_cvt.
|
||
(cortex_a53_r2f): Only use for transfers.
|
||
(cortex_a53_f2r): Likewise.
|
||
(cortex_a53_r2f_cvt): Add reservation for conversions.
|
||
(cortex_a53_f2r_cvt): Likewise.
|
||
|
||
2017-01-11 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/arm/arm_neon.h: Add __artificial__ and gnu_inline
|
||
to all inlined functions, change static to extern.
|
||
|
||
2017-01-11 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
PR target/78253
|
||
* config/arm/arm.c (legitimize_pic_address): Handle reference to
|
||
weak symbol.
|
||
(arm_assemble_integer): Likewise.
|
||
|
||
2017-01-11 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config.gcc: Use new awk script to check CPU, FPU and architecture
|
||
parameters for --with-... options.
|
||
* config/arm/parsecpu.awk: New file
|
||
* config/arm/arm-cpus.in: New file.
|
||
* config/arm/arm-opts.h: Include arm-cpu.h instead of processing .def
|
||
files.
|
||
* config/arm/arm.c: Include arm-cpu-data.h instead of processing .def
|
||
files.
|
||
* config/arm/t-arm: Update dependency rules.
|
||
* common/config/arm/arm-common.c: Include arm-cpu-cdata.h instead
|
||
of processing .def files.
|
||
* config/arm/genopt.sh: Deleted.
|
||
* config/arm/gentune.sh: Deleted.
|
||
* config/arm/arm-cores.def: Deleted.
|
||
* config/arm/arm-arches.def: Deleted.
|
||
* config/arm/arm-fpus.def: Deleted.
|
||
* config/arm/arm-tune.md: Regenerated.
|
||
* config/arm/arm-tables.opt: Regenerated.
|
||
* config/arm/arm-cpu.h: New generated file.
|
||
* config/arm/arm-cpu-data.h: New generated file.
|
||
* config/arm/arm-cpu-cdata.h: New generated file.
|
||
|
||
2017-01-11 Maxim Ostapenko <m.ostapenko@samsung.com>
|
||
|
||
PR lto/79042
|
||
* lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized
|
||
bit.
|
||
(input_varpool_node): Unpack dynamically_initialized bit.
|
||
|
||
2017-01-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/79032
|
||
* lra-constraints.c (simplify_operand_subreg): In the MEM case, test
|
||
the alignment of the adjusted memory reference against that of MODE,
|
||
instead of the alignment of the original memory reference.
|
||
|
||
2017-01-11 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* hsa.c (hsa_callable_function_p): Revert addition of DECL_ARTIFICIAL
|
||
test.
|
||
* ipa-hsa.c (process_hsa_functions): Only duplicate non-artificial
|
||
decorated functions.
|
||
|
||
2017-01-11 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vrp.c (evrp_dom_walker::before_dom_children): Also
|
||
set range/nonnull info for PHI results. Do not set it on
|
||
stmts marked for removal.
|
||
|
||
2017-01-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* expr.c (store_field): In the bitfield case, fetch the return value
|
||
from the registers before applying a single big-endian adjustment.
|
||
Always do a final load for a BLKmode value not larger than a word.
|
||
|
||
2017-01-10 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c++/77949
|
||
* input.c (selftest::test_accessing_ordinary_linemaps): Verify
|
||
that we correctly handle column numbers greater than
|
||
LINE_MAP_MAX_COLUMN_NUMBER.
|
||
|
||
2017-01-10 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/78245
|
||
* gimple-ssa-sprintf.c (get_destination_size): Call
|
||
{init,fini}object_sizes.
|
||
* tree-object-size.c (addr_object_size): Adjust.
|
||
(pass_through_call): Adjust.
|
||
(pass_object_sizes::execute): Adjust.
|
||
* tree-object-size.h (fini_object_sizes): Declare.
|
||
|
||
2017-01-10 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/78775
|
||
* builtins.c (get_size_range): Move...
|
||
* calls.c: ...to here.
|
||
(alloc_max_size): Accept zero argument.
|
||
(operand_signed_p): Remove.
|
||
(maybe_warn_alloc_args_overflow): Call get_size_range.
|
||
* calls.h (get_size_range): Declare.
|
||
|
||
2017-01-10 Joe Seymour <joe.s@somniumtech.com>
|
||
|
||
* config/msp430/driver-msp430.c (msp430_mcu_data): Sync with data
|
||
from TI's devices.csv file as of September 2016.
|
||
* config/msp430/msp430.c (msp430_mcu_data): Likewise.
|
||
|
||
2017-01-10 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi: Tweak formatting to fix overfull hbox warnings.
|
||
* doc/invoke.texi: Likewise.
|
||
* doc/md.texi: Likewise.
|
||
* doc/objc.texi: Likewise.
|
||
|
||
2017-01-10 Joshua Conner <joshconner@google.com>
|
||
|
||
* config/arm/fuchsia-elf.h: New file.
|
||
* config/fuchsia.h: New file.
|
||
* config.gcc (*-*-fuchsia*): Set native_system_header_dir.
|
||
(aarch64*-*-fuchsia*, arm*-*-fuchsia*, x86_64-*-fuchsia*): Add to
|
||
targets.
|
||
* config.host: (aarch64*-*-fuchsia*, arm*-*-fuchsia*): Add to hosts.
|
||
|
||
2016-01-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/79034
|
||
* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
|
||
Propagate out degenerate PHIs in the joiner.
|
||
|
||
2017-01-10 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf.c (sort_sem_items_by_decl_uid): New function.
|
||
(sort_congruence_classes_by_decl_uid): Likewise.
|
||
(sort_congruence_class_groups_by_decl_uid): Likewise.
|
||
(sem_item_optimizer::merge_classes): Sort class, groups in these
|
||
classes and members in the groups by DECL_UID of declarations.
|
||
This would make merge operations stable.
|
||
|
||
2017-01-10 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf.c (sem_item_optimizer::sem_item_optimizer): Remove
|
||
usage of m_classes_vec.
|
||
(sem_item_optimizer::~sem_item_optimizer): Likewise.
|
||
(sem_item_optimizer::get_group_by_hash): Likewise.
|
||
(sem_item_optimizer::subdivide_classes_by_equality): Likewise.
|
||
(sem_item_optimizer::subdivide_classes_by_sensitive_refs): Likewise.
|
||
(sem_item_optimizer::verify_classes): Likewise.
|
||
(sem_item_optimizer::process_cong_reduction): Likewise.
|
||
(sem_item_optimizer::dump_cong_classes): Likewise.
|
||
(sem_item_optimizer::merge_classes): Likewise.
|
||
* ipa-icf.h (congruence_class_hash): Rename from
|
||
congruence_class_group_hash. Remove declaration of m_classes_vec.
|
||
|
||
2017-01-10 Andrew Senkevich <andrew.senkevich@intel.com>
|
||
|
||
* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET,
|
||
OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET): New.
|
||
* config.gcc: Add avx512vpopcntdqintrin.h.
|
||
* config/i386/avx512vpopcntdqintrin.h: New.
|
||
* config/i386/cpuid.h (bit_AVX512VPOPCNTDQ): New.
|
||
* config/i386/i386-builtin-types.def: Add new types.
|
||
* config/i386/i386-builtin.def (__builtin_ia32_vpopcountd_v16si,
|
||
__builtin_ia32_vpopcountd_v16si_mask, __builtin_ia32_vpopcountq_v8di,
|
||
__builtin_ia32_vpopcountq_v8di_mask): New.
|
||
* config/i386/i386-c.c (ix86_target_macros_internal): Define
|
||
__AVX512VPOPCNTDQ__.
|
||
* config/i386/i386.c (ix86_target_string): Add -mavx512vpopcntdq.
|
||
(PTA_AVX512VPOPCNTDQ): Define.
|
||
* config/i386/i386.h (TARGET_AVX512VPOPCNTDQ,
|
||
TARGET_AVX512VPOPCNTDQ_P): Define.
|
||
* config/i386/i386.opt: Add mavx512vpopcntdq.
|
||
* config/i386/immintrin.h: Include avx512vpopcntdqintrin.h.
|
||
* config/i386/sse.md (define_insn "vpopcount<mode><mask_name>"): New.
|
||
|
||
2017-01-01 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/77484
|
||
* predict.def (PRED_CALL): Set to 67.
|
||
|
||
2017-01-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* expr.c (store_field): In the bitfield case, if the value comes from
|
||
a function call and is of an aggregate type returned in registers, do
|
||
not modify the field mode; extract the value in all cases if the mode
|
||
is BLKmode and the size is not larger than a word.
|
||
|
||
2017-01-09 Dominique d'Humieres <dominiq@lps.ens.fr>
|
||
|
||
PR target/71017
|
||
* config/i386/cpuid.h: Fix undefined behavior.
|
||
|
||
2017-01-04 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/79007
|
||
PR tree-optimization/67955
|
||
* tree-ssa-alias.c (same_addr_size_stores_p): Only need to be
|
||
conservative for pt.null when flag_non_call_exceptions is on.
|
||
|
||
2017-01-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR translation/79019
|
||
PR translation/79020
|
||
* params.def (PARAM_INLINE_MIN_SPEEDUP,
|
||
PARAM_IPA_CP_SINGLE_CALL_PENALTY,
|
||
PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD): Fix typos
|
||
in descriptions.
|
||
* config/avr/avr.opt (maccumulate-args): Likewise.
|
||
* config/msp430/msp430.opt (mwarn-mcu): Likewise.
|
||
* common.opt (freport-bug): Likewise.
|
||
* cif-code.def (CIF_FINAL_ERROR): Likewise.
|
||
* doc/invoke.texi (ipa-cp-single-call-penalty): Likewise.
|
||
* config/s390/s390.c (s390_invalid_binary_op): Fix spelling in
|
||
translatable string.
|
||
* config/i386/i386.c (function_value_32): Likewise.
|
||
* config/nios2/nios2.c (nios2_valid_target_attribute_rec): Likewise.
|
||
* config/msp430/msp430.c (msp430_option_override, msp430_attr):
|
||
Likewise.
|
||
* config/msp430/driver-msp430.c (msp430_select_hwmult_lib): Likewise.
|
||
* common/config/msp430/msp430-common.c (msp430_handle_option):
|
||
Likewise.
|
||
* symtab.c (symtab_node::verify_base): Likewise.
|
||
* opts.c (set_debug_level): Likewise.
|
||
* tree.c (verify_type_variant): Likewise. Fix typo in comment.
|
||
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
|
||
missing whitespace to translatable strings.
|
||
* config/avr/avr.md (bswapsi2): Fix typo in comment.
|
||
* config/sh/superh.h: Likewise.
|
||
* config/i386/xopintrin.h: Likewise.
|
||
* config/i386/znver1.md: Likewise.
|
||
* config/rs6000/rs6000.c (struct rs6000_opt_mask): Likewise.
|
||
* ipa-inline-analysis.c (compute_inline_parameters): Likewise.
|
||
* double-int.h (struct double_int): Likewise.
|
||
* double-int.c (div_and_round_double): Likewise.
|
||
* wide-int.cc: Likewise.
|
||
* tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
|
||
* tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
|
||
* cfgcleanup.c (crossjumps_occured): Renamed to ...
|
||
(crossjumps_occurred): ... this.
|
||
(try_crossjump_bb, try_head_merge_bb, try_optimize_cfg, cleanup_cfg):
|
||
Adjust all uses.
|
||
|
||
PR tree-optimization/78899
|
||
* tree-if-conv.c (version_loop_for_if_conversion): Instead of
|
||
returning bool return struct loop *, NULL for failure and the new
|
||
loop on success.
|
||
(versionable_outer_loop_p): Don't version outer loop if it has
|
||
dont_vectorized bit set.
|
||
(tree_if_conversion): When versioning outer loop, ensure
|
||
tree_if_conversion is performed also on the inner loop of the
|
||
non-vectorizable outer loop copy.
|
||
* tree-vectorizer.c (set_uid_loop_bbs): Formatting fix. Fold
|
||
LOOP_VECTORIZED in inner loop of the scalar outer loop and
|
||
prevent vectorization of it.
|
||
(vectorize_loops): For outer + inner LOOP_VECTORIZED, ensure
|
||
the outer loop vectorization of the non-scalar version is attempted
|
||
before vectorization of the inner loop in scalar version. If
|
||
outer LOOP_VECTORIZED guarded loop is not vectorized, prevent
|
||
vectorization of its inner loop.
|
||
* tree-vect-loop-manip.c (rename_variables_in_bb): If outer_loop
|
||
has 2 inner loops, rename also on edges from bb whose single pred
|
||
is outer_loop->header. Fix typo in function comment.
|
||
|
||
2017-01-09 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR bootstrap/79033
|
||
* asan.c (asan_emit_stack_protection): Increase local buffer size
|
||
to avoid snprintf truncation warning.
|
||
|
||
2017-01-09 Andrew Pinski <apinski@cavium.com>
|
||
|
||
* config/aarch64/aarch64-cores.def: Add thunderx2t99. Change vulcan
|
||
to reference thunderx2t99 for the tuning structure
|
||
* config/aarch64/aarch64-cost-tables.h (vulcan_extra_costs):
|
||
Rename to ...
|
||
(thunderx2t99_extra_costs): This.
|
||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||
* config/aarch64/aarch64.c (vulcan_addrcost_table): Rename to ...
|
||
(vulcan_addrcost_table): This.
|
||
(vulcan_regmove_cost): Rename to ...
|
||
(thunderx2t99_regmove_cost): This.
|
||
(vulcan_vector_cost): Rename to ...
|
||
(thunderx2t99_vector_cost): this.
|
||
(vulcan_branch_cost): Rename to ...
|
||
(thunderx2t99_branch_cost): This.
|
||
(vulcan_tunings): Rename to ...
|
||
(thunderx2t99_tunings): This and s/vulcan/thunderx2t99 .
|
||
* doc/invoke.texi (AARCH64/mtune): Add thunderx2t99.
|
||
|
||
2017-01-09 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/78365
|
||
PR ipa/78599
|
||
* ipa-prop.h (ipa_jump_func): Swap positions of vr_known and m_vr.
|
||
* ipa-cp.c (ipa_vr_operation_and_type_effects): New function.
|
||
(propagate_vr_accross_jump_function): Use the above function for all
|
||
value range computations for pass-through jump functions and type
|
||
converasion from explicit value range values.
|
||
(ipcp_propagate_stage): Do not attempt to deduce types of formal
|
||
parameters from TYPE_ARG_TYPES.
|
||
* ipa-prop.c (ipa_write_jump_function): Remove trailing whitespace.
|
||
(ipa_write_node_info): Stream type of the actual argument.
|
||
(ipa_read_node_info): Likewise. Also remove trailing whitespace.
|
||
|
||
2017-01-09 Martin Liska <mliska@suse.cz>
|
||
|
||
PR pch/78970
|
||
* gcc.c (driver_handle_option): Handle OPT_E and set have_E.
|
||
(lookup_compiler): Do not show error message with have_E.
|
||
|
||
2017-01-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/78938
|
||
* tree-vect-stmts.c (vectorizable_condition): For non-masked COND_EXPR
|
||
where comp_vectype is VECTOR_BOOLEAN_TYPE_P, use
|
||
BIT_{NOT,XOR,AND,IOR}_EXPR on the comparison operands instead of
|
||
{EQ,NE,GE,GT,LE,LT}_EXPR directly inside of VEC_COND_EXPR. Formatting
|
||
fixes.
|
||
|
||
2017-01-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* tree-ssa-address.c (gen_addr_rtx): Don't handle index if it
|
||
is const0_rtx.
|
||
|
||
2017-01-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/78997
|
||
* tree-vect-slp.c (vect_mask_constant_operand_p): Handle SSA
|
||
name condition properly.
|
||
|
||
2017-01-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/79000
|
||
* dwarf2out.c (is_cxx): New overload with context.
|
||
(is_naming_typedef_decl): Use it.
|
||
|
||
2017-01-08 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* invoke.texi (Option Summary): Correct spacing in option lists
|
||
and add line breaks to fix over-long lines.
|
||
|
||
2017-01-08 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR middle-end/17660
|
||
|
||
* extend.texi (Common Variable Attributes): Add xref to GCC
|
||
Internals manual to explain mode attribute keywords.
|
||
|
||
2017-01-08 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR other/16519
|
||
* doc/invoke.texi (Option Summary): Move -pthread to Linker Options
|
||
and Preprocessor Options.
|
||
(Options for Linking): Document -pthread here....
|
||
(RS/6000 and PowerPC Options): ...not here.
|
||
(Solaris 2 Options): ...or here.
|
||
* doc/cppopts.texi: Document -pthread.
|
||
|
||
2017-01-08 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/77708
|
||
* doc/invoke.texi (Warning Options): Document -Wformat-truncation.
|
||
* gimple-ssa-sprintf.c (call_info::reval_used, call_info::warnopt):
|
||
New member functions.
|
||
(format_directive): Used them.
|
||
(add_bytes): Same.
|
||
(pass_sprintf_length::handle_gimple_call): Same.
|
||
* graphite-sese-to-poly.c (tree_int_to_gmp): Increase buffer size
|
||
to avoid truncation for any argument.
|
||
(extract_affine_mul): Same.
|
||
* tree.c (get_file_function_name): Same.
|
||
|
||
2017-01-01 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/77484
|
||
* predict.def (PRED_INDIR_CALL): Set to 86.
|
||
|
||
2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR preprocessor/54124
|
||
* doc/cppopts.texi: Reformat -d subtable to list the full name
|
||
of the options. Add cross-reference to the docs for the general
|
||
compiler -d options.
|
||
* doc/invoke.texi (Developer Options): Add cross-reference to the
|
||
preprocessor-specific -d option documentation.
|
||
|
||
2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR preprocessor/13498
|
||
* doc/cpp.texi (Search Path): Rewrite to remove obsolete and
|
||
redudant material, and reflect new command-line options.
|
||
(System Headers): Likewise.
|
||
|
||
2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/cppdiropts.texi: Merge documentation of -I, -iquote,
|
||
-isystem, and -idirafter. Copy-edit.
|
||
* doc/cppopts.texi: Copy-edit. Remove contradiction about
|
||
default for -ftrack-macro-expansion. Delete obsolete and
|
||
badly-formatted implementation details about -fdebug-cpp output.
|
||
* doc/cppwarnopts.texi: Copy-edit.
|
||
|
||
2017-01-07 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c++/72803
|
||
* input.c (selftest::test_accessing_ordinary_linemaps): Verify
|
||
that the transition from a max line width >= 1<<10 to narrower
|
||
lines works correctly.
|
||
|
||
2017-01-07 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* doc/options.texi (PerFunction): New.
|
||
* opt-functions.awk (switch_flags): Map both Optimization and
|
||
PerFunction to CL_OPTIMIZATION.
|
||
* opth-gen.awk: Test for PerFunction flag along with
|
||
Optimization.
|
||
* optc-save-gen.awk: Likewise. Introduce var_opt_hash and set
|
||
it only when the latter is present. Skip those that don't in
|
||
the hash function generator.
|
||
* common.opt (fvar-tracking): Mark as PerFunction instead of
|
||
Optimization.
|
||
(fvar-tracking-assignments): Likewise.
|
||
(fvar-tracking-assignments-toggle): Likewise.
|
||
(fvar-tracking-uninit): Likewise.
|
||
|
||
2017-01-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR translation/79018
|
||
* params.def (PARAM_MAX_STORES_TO_MERGE): Add missing space between
|
||
the and store.
|
||
|
||
2017-01-06 Mikael Pettersson <mikpelinux@gmail.com>
|
||
|
||
PR target/57583
|
||
* config/m68k/m68k.opt (LONG_JUMP_TABLE_OFFSETS): New option.
|
||
* config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Handle
|
||
TARGET_LONG_JUMP_TABLE_OFFSETS.
|
||
* config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
|
||
* config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
|
||
* config/m68k/m68k.h (CASE_VECTOR_MODE): Likewise.
|
||
(ASM_OUTPUT_ADDR_DIFF_ELF): Likewise.
|
||
* config/m68k/m68k.md (tablejump expander): Likewise.
|
||
(*tablejump_pcrel_hi): Renamed from unnamed insn, reject
|
||
TARGET_LONG_JUMP_TABLE_OFFSETS.
|
||
(*tablejump_pcrel_si): New insn, handle TARGET_LONG_JUMP_TABLE_OFFSETS.
|
||
* doc/invoke.texi (M68K options): Add -mlong-jump-table-offsets.
|
||
|
||
2017-01-06 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
|
||
David Holsgrove <david.holsgrove@xilinx.com>
|
||
|
||
* common/config/microblaze/microblaze-common.c
|
||
(TARGET_EXCEPT_UNWIND_INFO): Remove.
|
||
* config/microblaze/microblaze-protos.h (microblaze_eh_return):
|
||
New prototype.
|
||
* config/microblaze/microblaze.c (microblaze_must_save_register)
|
||
(microblaze_expand_epilogue, microblaze_return_addr): Handle
|
||
calls_eh_return.
|
||
(microblaze_eh_return): New function.
|
||
* config/microblaze/microblaze.h (RETURN_ADDR_OFFSET)
|
||
(EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM)
|
||
(EH_RETURN_STACKADJ_RTX, ASM_PREFERRED_EH_DATA_FORMAT): New macros.
|
||
* config/microblaze/microblaze.md (eh_return): New pattern.
|
||
|
||
2017-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* system.h (GCC_DIAGNOSTIC_PUSH_IGNORED, GCC_DIAGNOSTIC_POP,
|
||
GCC_DIAGNOSTIC_STRINGIFY): Define.
|
||
|
||
* read-rtl.c (rtx_reader::read_rtx_code): Avoid -Wsign-compare warning.
|
||
|
||
2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm.md (<mcrr>): New.
|
||
(<mrrc>): New.
|
||
* config/arm/arm.c (arm_arch5te): New.
|
||
(arm_option_override): Set arm_arch5te.
|
||
(arm_coproc_builtin_available): Add support for mcrr, mcrr2, mrrc
|
||
and mrrc2.
|
||
* config/arm/arm-builtins.c (MCRR_QUALIFIERS): Define to...
|
||
(arm_mcrr_qualifiers): ... this. New.
|
||
(MRRC_QUALIFIERS): Define to...
|
||
(arm_mrrc_qualifiers): ... this. New.
|
||
* config/arm/arm_acle.h (__arm_mcrr, __arm_mcrr2, __arm_mrrc,
|
||
__arm_mrrc2): New.
|
||
* config/arm/arm_acle_builtins.def (mcrr, mcrr2, mrrc, mrrc2): New.
|
||
* config/arm/iterators.md (MCRRI, mcrr, MCRR): New.
|
||
(MRRCI, mrrc, MRRC): New.
|
||
* config/arm/unspecs.md (VUNSPEC_MCRR, VUNSPEC_MCRR2, VUNSPEC_MRRC,
|
||
VUNSPEC_MRRC2): New.
|
||
|
||
2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm.md (<mcr>): New.
|
||
(<mrc>): New.
|
||
* config/arm/arm.c (arm_coproc_builtin_available): Add
|
||
support for mcr, mrc, mcr2 and mrc2.
|
||
* config/arm/arm-builtins.c (MCR_QUALIFIERS): Define to...
|
||
(arm_mcr_qualifiers): ... this. New.
|
||
(MRC_QUALIFIERS): Define to ...
|
||
(arm_mrc_qualifiers): ... this. New.
|
||
(MCR_QUALIFIERS): Define to ...
|
||
(arm_mcr_qualifiers): ... this. New.
|
||
* config/arm/arm_acle.h (__arm_mcr, __arm_mrc, __arm_mcr2,
|
||
__arm_mrc2): New.
|
||
* config/arm/arm_acle_builtins.def (mcr, mcr2, mrc, mrc2): New.
|
||
* config/arm/iterators.md (MCRI, mcr, MCR, MRCI, mrc, MRC): New.
|
||
* config/arm/unspecs.md (VUNSPEC_MCR, VUNSPEC_MCR2, VUNSPEC_MRC,
|
||
VUNSPEC_MRC2): New.
|
||
|
||
2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm.md (*ldc): New.
|
||
(*stc): New.
|
||
(<ldc>): New.
|
||
(<stc>): New.
|
||
* config/arm/arm.c (arm_coproc_builtin_available): Add
|
||
support for ldc,ldcl,stc,stcl,ldc2,ldc2l,stc2 and stc2l.
|
||
(arm_coproc_ldc_stc_legitimate_address): New.
|
||
* config/arm/arm-builtins.c (arm_type_qualifiers): Add
|
||
'qualifier_const_pointer'.
|
||
(LDC_QUALIFIERS): Define to...
|
||
(arm_ldc_qualifiers): ... this. New.
|
||
(STC_QUALIFIERS): Define to...
|
||
(arm_stc_qualifiers): ... this. New.
|
||
* config/arm/arm-protos.h
|
||
(arm_coproc_ldc_stc_legitimate_address): New.
|
||
* config/arm/arm_acle.h (__arm_ldc, __arm_ldcl, __arm_stc,
|
||
__arm_stcl, __arm_ldc2, __arm_ldc2l, __arm_stc2, __arm_stc2l): New.
|
||
* config/arm/arm_acle_builtins.def (ldc, ldc2, ldcl, ldc2l, stc,
|
||
stc2, stcl, stc2l): New.
|
||
* config/arm/constraints.md (Uz): New.
|
||
* config/arm/iterators.md (LDCI, STCI, ldc, stc, LDC STC): New.
|
||
* config/arm/unspecs.md (VUNSPEC_LDC, VUNSPEC_LDC2, VUNSPEC_LDCL,
|
||
VUNSPEC_LDC2L, VUNSPEC_STC, VUNSPEC_STC2, VUNSPEC_STCL,
|
||
VUNSPEC_STC2L): New.
|
||
|
||
2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm.md (<cdp>): New.
|
||
* config/arm/arm.c (neon_const_bounds): Rename this ...
|
||
(arm_const_bounds): ... this.
|
||
(arm_coproc_builtin_available): New.
|
||
* config/arm/arm-builtins.c (SIMD_MAX_BUILTIN_ARGS): Increase.
|
||
(arm_type_qualifiers): Add 'qualifier_unsigned_immediate'.
|
||
(CDP_QUALIFIERS): Define to...
|
||
(arm_cdp_qualifiers): ... this. New.
|
||
(void_UP): Define.
|
||
(arm_expand_builtin_args): Add case for 6 arguments.
|
||
* config/arm/arm-protos.h (neon_const_bounds): Rename this ...
|
||
(arm_const_bounds): ... this.
|
||
(arm_coproc_builtin_available): New.
|
||
* config/arm/arm_acle.h (__arm_cdp): New.
|
||
(__arm_cdp2): New.
|
||
* config/arm/arm_acle_builtins.def (cdp): New.
|
||
(cdp2): New.
|
||
* config/arm/iterators.md (CDPI,CDP,cdp): New.
|
||
* config/arm/neon.md: Rename all 'neon_const_bounds' to
|
||
'arm_const_bounds'.
|
||
* config/arm/types.md (coproc): New.
|
||
* config/arm/unspecs.md (VUNSPEC_CDP, VUNSPEC_CDP2): New.
|
||
* gcc/doc/extend.texi (ACLE): Add a mention of Coprocessor intrinsics.
|
||
* gcc/doc/sourcebuild.texi (arm_coproc1_ok, arm_coproc2_ok,
|
||
arm_coproc3_ok, arm_coproc4_ok): Document new effective targets.
|
||
|
||
2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm-builtins.c (arm_unsigned_binop_qualifiers): New.
|
||
(UBINOP_QUALIFIERS): New.
|
||
(si_UP): Define.
|
||
(acle_builtin_data): New. Change comment.
|
||
(arm_builtins): Remove ARM_BUILTIN_CRC32B, ARM_BUILTIN_CRC32H,
|
||
ARM_BUILTIN_CRC32W, ARM_BUILTIN_CRC32CB, ARM_BUILTIN_CRC32CH,
|
||
ARM_BUILTIN_CRC32CW. Add ARM_BUILTIN_ACLE_BASE and include
|
||
arm_acle_builtins.def.
|
||
(ARM_BUILTIN_ACLE_PATTERN_START): Define.
|
||
(arm_init_acle_builtins): New.
|
||
(CRC32_BUILTIN): Remove.
|
||
(bdesc_2arg): Remove entries for crc32b, crc32h, crc32w,
|
||
crc32cb, crc32ch and crc32cw.
|
||
(arm_init_crc32_builtins): Remove.
|
||
(arm_init_builtins): Use arm_init_acle_builtins rather
|
||
than arm_init_crc32_builtins.
|
||
(arm_expand_acle_builtin): New.
|
||
(arm_expand_builtin): Use 'arm_expand_acle_builtin'.
|
||
* config/arm/arm_acle_builtins.def: New.
|
||
|
||
2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm-builtins.c (neon_builtin_datum): Rename to ..
|
||
(arm_builtin_datum): ... this.
|
||
(arm_init_neon_builtin): Rename to ...
|
||
(arm_init_builtin): ... this. Add a new parameters PREFIX
|
||
and USE_SIG_IN_NAME.
|
||
(arm_init_neon_builtins): Replace 'arm_init_neon_builtin' with
|
||
'arm_init_builtin'. Replace type 'neon_builtin_datum' with
|
||
'arm_builtin_datum'.
|
||
(arm_init_vfp_builtins): Likewise.
|
||
(builtin_arg): Rename enum's replacing 'NEON_ARG' with
|
||
'ARG_BUILTIN' and add a 'ARG_BUILTIN_NEON_MEMORY.
|
||
(arm_expand_neon_args): Rename to ...
|
||
(arm_expand_builtin_args): ... this. Rename builtin_arg
|
||
enum values and differentiate between ARG_BUILTIN_MEMORY
|
||
and ARG_BUILTIN_NEON_MEMORY.
|
||
(arm_expand_neon_builtin_1): Rename to ...
|
||
(arm_expand_builtin_1): ... this. Rename builtin_arg enum
|
||
values, arm_expand_builtin_args and add bool parameter NEON.
|
||
(arm_expand_neon_builtin): Use arm_expand_builtin_1.
|
||
(arm_expand_vfp_builtin): Likewise.
|
||
(NEON_MAX_BUILTIN_ARGS): Remove, it was unused.
|
||
|
||
2017-01-01 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/77484
|
||
* predict.def (PRED_POLYMORPHIC_CALL): Set to 59.
|
||
* predict.c (tree_estimate_probability_bb): Reverse direction of
|
||
polymorphic call predictor.
|
||
|
||
2017-01-06 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* passes.c (execute_one_pass): Split out pass-skipping logic into...
|
||
(determine_pass_name_match): ...this new function and...
|
||
(should_skip_pass_p): ...this new function.
|
||
|
||
2017-01-06 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* ipa-visibility.c (function_and_variable_visibility): Reformat
|
||
comments and long lines. Remove extrneous if.
|
||
* symtab.c (symtab_node::make_decl_local): Fix code format.
|
||
(symtab_node::set_section_for_node): Fix comment typo.
|
||
|
||
2017-01-06 Martin Liska <mliska@suse.cz>
|
||
|
||
PR bootstrap/79003
|
||
* lra-constraints.c: Rename invariant to lra_invariant.
|
||
* predict.c (set_even_probabilities): Initialize e to NULL.
|
||
|
||
2017-01-05 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/78910
|
||
* gimple-ssa-sprintf.c (tree_digits): Add an argument.
|
||
(format_integer): Correct off-by-one error in the handling
|
||
of precision with negative numbers in signed conversions..
|
||
|
||
2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/invoke.texi (C Dialect Options): Adjust -fsso-struct entry.
|
||
|
||
2017-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/71016
|
||
* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Pass cond_stmt to
|
||
factor_out_conditional_conversion. Formatting fix.
|
||
(factor_out_conditional_conversion): Add cond_stmt argument.
|
||
If arg1 is INTEGER_CST, punt if new_arg0 is not any operand of
|
||
cond_stmt and if arg0_def_stmt is not the only stmt in its bb.
|
||
Formatting fix.
|
||
|
||
2017-01-05 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* Makefile.in (OBJS): Add read-md.o, read-rtl.o,
|
||
read-rtl-function.o, and selftest-rtl.o.
|
||
* config/aarch64/aarch64.c: Include selftest.h and selftest-rtl.h.
|
||
(selftest::aarch64_test_loading_full_dump): New function.
|
||
(selftest::aarch64_run_selftests): New function.
|
||
(TARGET_RUN_TARGET_SELFTESTS): Wire it up to
|
||
selftest::aarch64_run_selftests.
|
||
* config/i386/i386.c
|
||
(selftest::ix86_test_loading_dump_fragment_1): New function.
|
||
(selftest::ix86_test_loading_call_insn): New function.
|
||
(selftest::ix86_test_loading_full_dump): New function.
|
||
(selftest::ix86_test_loading_unspec): New function.
|
||
(selftest::ix86_run_selftests): Call the new functions.
|
||
* emit-rtl.c (maybe_set_max_label_num): New function.
|
||
* emit-rtl.h (maybe_set_max_label_num): New decl.
|
||
* function.c (instantiate_decls): Guard call to
|
||
instantiate_decls_1 with if (DECL_INITIAL (fndecl)).
|
||
* function-tests.c (selftest::verify_three_block_rtl_cfg): Remove
|
||
"static".
|
||
* gensupport.c (gen_reader::gen_reader): Pass "false"
|
||
for new "compact" param of rtx_reader.
|
||
* print-rtl.c (rtx_writer::print_rtx_operand): Print "(nil)"
|
||
rather than an empty string for NULL strings.
|
||
* read-md.c: Potentially include config.h rather than bconfig.h.
|
||
Wrap include of errors.h with #ifdef GENERATOR_FILE.
|
||
(have_error): New global, copied from errors.c.
|
||
(md_reader::read_name): Rename to...
|
||
(md_reader::read_name_1): ...this, adding "out_loc" param,
|
||
and converting "missing name or number" to returning false, rather
|
||
than failing.
|
||
(md_reader::read_name): Reimplement in terms of read_name_1.
|
||
(md_reader::read_name_or_nil): New function.
|
||
(md_reader::read_string): Handle "(nil)" by returning NULL.
|
||
(md_reader::md_reader): Add new param "compact".
|
||
(md_reader::read_md_files): Wrap with #ifdef GENERATOR_FILE.
|
||
(md_reader::read_file): New method.
|
||
* read-md.h (md_reader::md_reader): Add new param "compact".
|
||
(md_reader::read_file): New method.
|
||
(md_reader::is_compact): New accessor.
|
||
(md_reader::read_name): Convert return type from void to file_location.
|
||
(md_reader::read_name_or_nil): New decl.
|
||
(md_reader::read_name_1): New decl.
|
||
(md_reader::m_compact): New field.
|
||
(noop_reader::noop_reader): Pass "false" for new "compact" param
|
||
of rtx_reader.
|
||
(rtx_reader::rtx_reader): Add new "compact" param.
|
||
(rtx_reader::read_rtx_operand): Make virtual and convert return
|
||
type from void to rtx.
|
||
(rtx_reader::read_until): New decl.
|
||
(rtx_reader::handle_any_trailing_information): New virtual function.
|
||
(rtx_reader::postprocess): New virtual function.
|
||
(rtx_reader::finalize_string): New virtual function.
|
||
(rtx_reader::m_in_call_function_usage): New field.
|
||
(rtx_reader::m_reuse_rtx_by_id): New field.
|
||
* read-rtl-function.c: New file.
|
||
* selftest-rtl.c (selftest::assert_rtx_ptr_eq_at): New function.
|
||
* selftest-rtl.h (ASSERT_RTX_PTR_EQ): New macro.
|
||
(selftest::verify_three_block_rtl_cfg): New decl.
|
||
* read-rtl-function.h: New file.
|
||
* read-rtl.c: Potentially include config.h rather than bconfig.h.
|
||
For host, include function.h, memmodel.h, and emit-rtl.h.
|
||
(one_time_initialization): New function.
|
||
(struct compact_insn_name): New struct.
|
||
(compact_insn_names): New array.
|
||
(find_code): Handle insn codes in compact dumps.
|
||
(apply_subst_iterator): Wrap with #ifdef GENERATOR_FILE.
|
||
(bind_subst_iter_and_attr): Likewise.
|
||
(add_condition_to_string): Likewise.
|
||
(add_condition_to_rtx): Likewise.
|
||
(apply_attribute_uses): Likewise.
|
||
(add_current_iterators): Likewise.
|
||
(apply_iterators): Likewise.
|
||
(initialize_iterators): Guard usage of apply_subst_iterator with
|
||
#ifdef GENERATOR_FILE.
|
||
(read_conditions): Wrap with #ifdef GENERATOR_FILE.
|
||
(md_reader::read_mapping): Likewise.
|
||
(add_define_attr_for_define_subst): Likewise.
|
||
(add_define_subst_attr): Likewise.
|
||
(read_subst_mapping): Likewise.
|
||
(check_code_iterator): Likewise.
|
||
(rtx_reader::read_rtx): Likewise. Move one-time initialization
|
||
logic to...
|
||
(one_time_initialization): New function.
|
||
(rtx_reader::read_until): New method.
|
||
(read_flags): New function.
|
||
(parse_reg_note_name): New function.
|
||
(rtx_reader::read_rtx_code): Initialize "iterator" to NULL.
|
||
Handle reuse_rtx ids.
|
||
Wrap iterator lookup within #ifdef GENERATOR_FILE.
|
||
Add parsing support for RTL dumps, mirroring the special-cases in
|
||
print_rtx, by calling read_flags, reading REG_NOTE names, INSN_UID
|
||
values, and calling handle_any_trailing_information.
|
||
(rtx_reader::read_rtx_operand): Convert return type from void
|
||
to rtx, returning return_rtx. Handle case 'e'. Call
|
||
finalize_string on XSTR and XTMPL fields.
|
||
(rtx_reader::read_nested_rtx): Handle dumps in which trailing
|
||
"(nil)" values were omitted. Call the postprocess vfunc on the
|
||
return_rtx.
|
||
(rtx_reader::rtx_reader): Add new "compact" param and pass to base
|
||
class ctor. Initialize m_in_call_function_usage. Call
|
||
one_time_initialization.
|
||
* rtl-tests.c (selftest::test_uncond_jump): Call
|
||
set_new_first_and_last_insn.
|
||
* rtl.h (read_rtx): Wrap decl with #ifdef GENERATOR_FILE.
|
||
* selftest-rtl.c: New file.
|
||
* selftest-rtl.h (class selftest::rtl_dump_test): New class.
|
||
(selftest::get_insn_by_uid): New decl.
|
||
* selftest-run-tests.c (selftest::run_tests): Call
|
||
read_rtl_function_c_tests.
|
||
* selftest.h (selftest::read_rtl_function_c_tests): New decl.
|
||
* tree-dfa.c (ssa_default_def): Return NULL_TREE for rtl function
|
||
dumps.
|
||
|
||
2017-01-05 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*testqi_ext_3): No need to handle memory
|
||
operands in a special way. Assert that pos+len <= mode precision.
|
||
|
||
2017-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* common.opt (fvect-cost-model): Remove RejectNegative flag, use
|
||
3 argument Alias with unlimited for the negative form.
|
||
(fno-vect-cost-model): Removed.
|
||
|
||
2017-01-05 Martin Liska <mliska@suse.cz>
|
||
|
||
* hsa-gen.c (gen_hsa_divmod): New function.
|
||
(gen_hsa_insn_for_internal_fn_call): Use the function for IFN_DIVMOD.
|
||
|
||
2017-01-05 Martin Liska <mliska@suse.cz>
|
||
|
||
PR pch/78970
|
||
* gcc.c (lookup_compiler): Reject '-' filename for a precompiled
|
||
header.
|
||
|
||
2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_expand_setmem): Unroll the loop for
|
||
small constant length operands.
|
||
|
||
2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_expand_setmem): Avoid overlapping bytes
|
||
between loop iterations.
|
||
|
||
2017-01-05 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/78815
|
||
* gimplify.c (gimplify_decl_expr): Compare to
|
||
asan_poisoned_variables instread of checking flags.
|
||
(gimplify_target_expr): Likewise.
|
||
(gimplify_expr): Likewise.
|
||
(gimplify_function_tree): Conditionally initialize
|
||
asan_poisoned_variables.
|
||
|
||
2017-01-04 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimizatin/78812
|
||
* rtl.h (contains_mem_rtx_p): Prototype.
|
||
* ifcvt.c (containts_mem_rtx_p): Move from here to...
|
||
* rtlanal.c (contains_mem_rtx_p): Here and remove static linkage.
|
||
* gcse.c (prune_expressions): Use contains_mem_rtx_p to discover
|
||
and prune MEMs that are not at the toplevel of a SET_SRC rtx. Look
|
||
through ZERO_EXTEND and SIGN_EXTEND when trying to avoid pruning MEMs.
|
||
|
||
2017-01-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* input.c (assert_char_at_range): Default-initialize actual_range.
|
||
|
||
2017-01-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* df-scan.c (df_ref_create_structure): Make regno unsigned,
|
||
to match the caller.
|
||
|
||
2017-01-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* cfgexpand.c (expand_gimple_basic_block): Disregard debug
|
||
insns after final jump in test to emit dummy move.
|
||
|
||
2017-01-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* gimple-iterator.h (gsi_one_nondebug_before_end_p): New.
|
||
* tree-eh.c (cleanup_empty_eh): Skip more debug stmts.
|
||
|
||
2017-01-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* multiple_target.c (create_dispatcher_calls): Init e_next.
|
||
* tree-ssa-loop-split.c (split_loop): Init border.
|
||
* tree-vect-loop.c (vect_determine_vectorization_factor): Init
|
||
scalar_type.
|
||
|
||
2017-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/71977
|
||
PR target/70568
|
||
PR target/78823
|
||
* config/rs6000/predicates.md (sf_subreg_operand): New predicate.
|
||
(altivec_register_operand): Do not return true if the operand
|
||
contains a SUBREG mixing SImode and SFmode.
|
||
(vsx_register_operand): Likewise.
|
||
(vsx_reg_sfsubreg_ok): New predicate.
|
||
(vfloat_operand): Do not return true if the operand contains a
|
||
SUBREG mixing SImode and SFmode.
|
||
(vint_operand): Likewise.
|
||
(vlogical_operand): Likewise.
|
||
(gpc_reg_operand): Likewise.
|
||
(int_reg_operand): Likewise.
|
||
* config/rs6000/rs6000-protos.h (valid_sf_si_move): Add declaration.
|
||
* config/rs6000/rs6000.c (valid_sf_si_move): New function to
|
||
determine if a MOVSI or MOVSF operation contains SUBREGs that mix
|
||
SImode and SFmode.
|
||
(rs6000_emit_move_si_sf_subreg): New helper function.
|
||
(rs6000_emit_move): Call rs6000_emit_move_si_sf_subreg to possbily
|
||
fixup SUBREGs involving SImode and SFmode.
|
||
* config/rs6000/vsx.md (SFBOOL_*): New constants that are operand
|
||
numbers for the new peephole2 optimization.
|
||
(peephole2 for SFmode unions): New peephole2 to optimize cases in
|
||
the GLIBC math library that do AND/IOR/XOR operations on single
|
||
precision floating point.
|
||
* config/rs6000/rs6000.h (TARGET_NO_SF_SUBREG): New internal
|
||
target macros to say whether we need to avoid SUBREGs mixing
|
||
SImode and SFmode.
|
||
(TARGET_ALLOW_SF_SUBREG): Likewise.
|
||
* config/rs6000/rs6000.md (UNSPEC_SF_FROM_SI): New unspecs.
|
||
(UNSPEC_SI_FROM_SF): Likewise.
|
||
(iorxor): Change spacing.
|
||
(and_ior_xor): New iterator for AND, IOR, and XOR.
|
||
(movsi_from_sf): New insns for SImode/SFmode SUBREG support.
|
||
(movdi_from_sf_zero_ext): Likewise.
|
||
(mov<mode>_hardfloat, FMOVE32 iterator): Use register_operand
|
||
instead of gpc_reg_operand. Add SImode/SFmode SUBREG support.
|
||
(movsf_from_si): New insn for SImode/SFmode SUBREG support.
|
||
(fma<mode>4): Use gpc_reg_operand instead of register_operand.
|
||
(fms<mode>4): Likewise.
|
||
(fnma<mode>4): Likewise.
|
||
(fnms<mode>4): Likewise.
|
||
(nfma<mode>4): Likewise.
|
||
(nfms<mode>4): Likewise.
|
||
|
||
2017-01-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/64767
|
||
* doc/invoke.texi: Document -Wpointer-compare.
|
||
|
||
2017-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* optc-gen.awk: Emit #error for -W*/-f*/-m* Enum without
|
||
RejectNegative.
|
||
|
||
* dwarf2out.c (output_loc_list): Don't throw away 64K+ location
|
||
descriptions for -gdwarf-5 and emit them as uleb128 instead of
|
||
2-byte data.
|
||
|
||
2017-01-04 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
PR target/78056
|
||
* doc/sourcebuild.texi (PowerPC-specific attributes): Add
|
||
documentation of the powerpc_popcntb_ok attribute.
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
|
||
code to issue warning messages if a requested CPU configuration is
|
||
not supported by the binary (assembler and loader) toolchain.
|
||
(spe_init_builtins): Add two assertions to prevent ICE if attempt is
|
||
made to define a built-in function that has been disabled.
|
||
(paired_init_builtins): Add assertion to prevent ICE if attempt is
|
||
made to define a built-in function that has been disabled.
|
||
(altivec_init_builtins): Add comment explaining why definition
|
||
of the DST built-in functions is not preceded by an assertion
|
||
check. Add assertions to prevent ICE if attempts are made to
|
||
define an altivec predicate or an abs* built-in function that has
|
||
been disabled.
|
||
(htm_init_builtins): Add comment explaining why definition of the
|
||
htm built-in functions is not preceded by an assertion check.
|
||
|
||
2017-01-04 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimizatin/67955
|
||
* tree-ssa-alias.c (same_addr_size_stores_p): Check offsets first.
|
||
Allow any SSA_VAR_P as the base objects. Use integer_zerop. Verify
|
||
the points-to solution does not include pt_null. Use DECL_PT_UID
|
||
unconditionally.
|
||
|
||
2017-01-04 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (HI/SImode test with imm to QImode splitters):
|
||
Use gen_int_mode instead of gen_lopwart for const_int operands.
|
||
|
||
2017-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/71563
|
||
* match.pd: Simplify X << Y into X if Y is known to be 0 or
|
||
out of range value - has low bits known to be zero.
|
||
|
||
2017-01-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* Makefile.in (aclocal_deps): Update and order as per aclocal.m4.
|
||
* configure: Regenerate.
|
||
* config.in: Regenerate.
|
||
|
||
2017-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/77569
|
||
* input.c (ebcdic_execution_charset::on_error): Don't use strstr for
|
||
a substring of the message, but strcmp with the whole message. Ifdef
|
||
ENABLE_NLS, translate the message first using dgettext.
|
||
|
||
2017-01-03 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimizatin/78856
|
||
* tree-ssa-threadupdate.c: Include tree-vectorizer.h.
|
||
(mark_threaded_blocks): Remove code to truncate thread paths that
|
||
cross multiple loop headers. Instead invalidate the cached loop
|
||
iteration information and handle case of a thread path walking
|
||
into an irreducible region.
|
||
|
||
2017-01-03 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/78900
|
||
* config/rs6000/rs6000.c (rs6000_split_signbit): Change some
|
||
assertions. Add support for doing the signbit if the IEEE 128-bit
|
||
floating point value is in a GPR.
|
||
* config/rs6000/rs6000.md (Fsignbit): Delete.
|
||
(signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa".
|
||
Update the length attribute if the value is in a GPR.
|
||
(signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate
|
||
the sign or zero extension instruction, since the value is always 0/1.
|
||
(signbit<mode>2_dm2): Delete using <Fsignbit>.
|
||
|
||
PR target/78953
|
||
* config/rs6000/vsx.md (vsx_extract_<mode>_store_p9): If we are
|
||
extracting SImode to a GPR register so that we can generate a
|
||
store, limit the vector to be in a traditional Altivec register
|
||
for the vextuwrx instruction.
|
||
|
||
2017-01-03 Ian Lance Taylor <iant@google.com>
|
||
|
||
* godump.c (go_format_type): Treat ENUMERAL_TYPE like INTEGER_TYPE.
|
||
|
||
2017-01-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/78696
|
||
* gimple-ssa-sprintf.c (format_floating): Correct handling of
|
||
precision. Use MPFR for %f for greater fidelity. Correct handling
|
||
of %g.
|
||
(pass_sprintf_length::compute_format_length): Set width and precision
|
||
specified by asrerisk to void_node for vararg functions.
|
||
(try_substitute_return_value): Adjust dump output.
|
||
|
||
2017-01-03 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* doc/invoke.texi (RS6000 options): LRA is enabled by default.
|
||
|
||
2017-01-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/invoke.texi (SPARC options): Document -mlra as the default.
|
||
* config/sparc/sparc.c (sparc_option_override): Force LRA unless
|
||
-mlra/-mno-lra was passed to the compiler.
|
||
|
||
2017-01-03 James Cowgill <James.Cowgill@imgtec.com>
|
||
|
||
PR rtl-optimization/65618
|
||
* emit-rtl.c (try_split): Move initialization of "before" and
|
||
"after" to just before the call to emit_insn_after_setloc.
|
||
|
||
2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/md.texi (Standard Names): Remove reference to Java frontend.
|
||
|
||
2017-01-03 Pierre-Marie de Rodat <derodat@adacore.com>
|
||
|
||
* dwarf2out.c (gen_enumeration_type_die): When
|
||
-gno-strict-dwarf, add a DW_AT_encoding attribute.
|
||
|
||
2017-01-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/78965
|
||
* gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length):
|
||
Change first argument from const call_info & to call_info &. For %n
|
||
set info.nowrite to false.
|
||
|
||
PR middle-end/78901
|
||
* gimple-ssa-sprintf.c (try_substitute_return_value): Don't change
|
||
possibly throwing calls.
|
||
|
||
* genmatch.c (dt_node::gen_kids_1): If generic_exprs include SSA_NAME
|
||
and exprs_len || fns_len, emit the code for SSA_NAME next to the exprs
|
||
and fns handling, rather than in a separate case SSA_NAME.
|
||
|
||
2017-01-02 Jeff Law <law@redhat.com>
|
||
|
||
* config/darwin-driver.c (darwin_driver_init): Const-correctness
|
||
fixes for first_period and second_period variables.
|
||
|
||
2017-01-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/78967
|
||
* config/i386/i386.md (UNSPEC_NOREX_MEM): New unspec.
|
||
(*insvqi_1): New insn pattern.
|
||
(*insvqi_1_mem_rex64): Ditto.
|
||
(*insvqi_2): Ditto.
|
||
(*insvqi_3): Rename from *insvqi.
|
||
|
||
(*extzvqi_mem_rex64): Add UNSPEC_NOREX_MEM tag.
|
||
|
||
2017-01-02 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/cfg.texi (Edges): Remove reference to Java.
|
||
(Maintaining the CFG): Ditto.
|
||
|
||
2017-01-01 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/77674
|
||
* symtab.c (symtab_node::binds_to_current_def_p): Fix handling of
|
||
transparent aliases.
|
||
|
||
2017-01-01 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/77484
|
||
* predict.def (PRED_CALL): Update hitrate.
|
||
(PRED_INDIR_CALL, PRED_POLYMORPHIC_CALL): New predictors.
|
||
* predict.c (tree_estimate_probability_bb): Split CALL predictor
|
||
into direct/indirect/polymorphic variants.
|
||
|
||
2017-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) 2017 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.
|