1542 lines
57 KiB
Plaintext
1542 lines
57 KiB
Plaintext
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.
|