3914 lines
142 KiB
Plaintext
3914 lines
142 KiB
Plaintext
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-rtl-): 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.
|
||
|
||
* gcc.dg/torture/pr79276.c: New testcase.
|
||
|
||
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.
|