Skip to content
Snippets Groups Projects
  1. Nov 28, 2017
    • Jakub Jelinek's avatar
      tree.def (SWITCH_EXPR): Change from 3 operand to 2 operand tree. · 9e851845
      Jakub Jelinek authored
      	* tree.def (SWITCH_EXPR): Change from 3 operand to 2 operand tree.
      	Adjust comment.
      	* tree.h (SWITCH_LABELS): Remove.
      	* gimplify.c (gimplify_switch_expr): Don't test SWITCH_LABELS,
      	assert SWITCH_BODY is non-NULL.
      	* tree-pretty-print.c (dump_generic_node): Remove SWITCH_LABELS
      	handling.
      	* tree.c (block_may_fallthru): Always return true; for SWITCH_EXPR.
      c/
      	* c-typeck.c (c_start_case): Build SWITCH_EXPR using build2 instead
      	of build3.
      cp/
      	* cp-gimplify.c (genericize_switch_stmt): Build SWITCH_EXPR using
      	build2_loc instead of build3_loc.
      ada/
      	* gcc-interface/trans.c (Case_Statement_to_gnu): Build SWITCH_EXPR
      	using build2 instead of build3.
      jit/
      	* jit-playback.c (add_switch): Build SWITCH_EXPR using build2 instead
      	of build3.  Formatting fixes.  Adjust funciton comment.
      fortran/
      	* trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
      	using fold_build2_loc instead of fold_build3_loc.
      	* trans-io.c (io_result): Likewise.
      	* trans-stmt.c (gfc_trans_integer_select, gfc_trans_character_select):
      	Likewise.
      go/
      	* go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR using
      	build2_loc instead of build3_loc.
      brig/
      	* brigfrontend/brig-branch-inst-handler.cc
      	(brig_branch_inst_handler::operator): Build SWITCH_EXPR using build2
      	instead of build3.
      
      From-SVN: r255192
      9e851845
    • Jakub Jelinek's avatar
      re PR tree-optimization/80788 (ICE in set_value_range, at tree-vrp.c:252) · 11c1e63c
      Jakub Jelinek authored
      	PR tree-optimization/80788
      	* match.pd (X +- C1 CMP C2 -> X CMP C2 -+ C1): If res
      	has TREE_OVERFLOW set, call drop_tree_overflow.
      
      	* gcc.dg/pr80788.c: New test.
      
      From-SVN: r255191
      11c1e63c
    • Richard Biener's avatar
      re PR target/83158 (gcc.target/i386/pr78057.c fail) · 6a7a7f92
      Richard Biener authored
      2017-11-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/83158
      	* tree-vrp.c (intersect_ranges): Prefer ~[0, 0] in a few more
      	cases.
      
      From-SVN: r255190
      6a7a7f92
    • Julia Koval's avatar
      * MAINTAINERS (write after approval): Add myself. · d2eaaa89
      Julia Koval authored
      From-SVN: r255189
      d2eaaa89
    • Segher Boessenkool's avatar
      rs6000: Improve comparison rtx_cost (PR81288) · b8adcbd9
      Segher Boessenkool authored
      The current rs6000 rtx_cost for comparisons against 0 is very high if
      TARGET_ISEL && !TARGET_MFCRF, much higher than for reg-reg comparisons,
      much higher than a load of 0 and such a reg-reg-comparison.  This leads
      to infinite recursion in CSE (see PR81288).
      
      This patch removes the too-high cost, also simplifying this code.
      
      
      	PR 81288/target
      	* config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle
      	TARGET_ISEL && !TARGET_MFCRF differently.  Simplify code.
      
      From-SVN: r255188
      b8adcbd9
    • Segher Boessenkool's avatar
      rs6000: Improve scc isel · fd8bf76c
      Segher Boessenkool authored
      If we have a negative condition we can use a literal 0 in the isel,
      instead of having to load it into a register.  If the condition is from
      a comparison with an immediate we can change e.g. LT to LE and adjust
      the immediate, saving a li instruction.
      
      
      	* config/rs6000/rs6000.md (<code><GPR:mode><GPR2:mode>2_isel): Change
      	LT/GT/LTU/GTU to LE/GE/LEU/GEU where possible.
      
      From-SVN: r255186
      fd8bf76c
    • GCC Administrator's avatar
      Daily bump. · 2ac1a8d8
      GCC Administrator authored
      From-SVN: r255185
      2ac1a8d8
    • Martin Sebor's avatar
      PR c++/83058 - ICE on C++ code with negative array index: in warn_placement_new_too_small · 9ca1eaac
      Martin Sebor authored
      gcc/cp/ChangeLog:
      
      	PR c++/83058
      	* init.c (warn_placement_new_too_small): Use offset_int instead of
      	HOST_WIDE_INT.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/83058
      	* g++.dg/warn/Wplacement-new-size-5.C: New test.
      
      From-SVN: r255182
      9ca1eaac
  2. Nov 27, 2017
    • Jakub Jelinek's avatar
      re PR c++/81888 (Structured bindings stopped working) · de3d4fd0
      Jakub Jelinek authored
      	PR c++/81888
      	* parser.c (cp_parser_decomposition_declaration): Reject just
      	BRACE_ENCLOSED_INITIALIZER_P initializers with nelts != 1 rather
      	than all such CONSTRUCTORs, and only if is_direct_init is true.
      
      	* g++.dg/cpp1z/decomp30.C: Add a test for structured binding with
      	= {} and = { a, a } initializers.
      	* g++.dg/cpp1z/decomp31.C: New test.
      
      From-SVN: r255180
      de3d4fd0
    • Jason Merrill's avatar
      pt.c (primary_template_specialization_p): Rename from · 528c7559
      Jason Merrill authored
      	* pt.c (primary_template_specialization_p): Rename from
      
      	primary_template_instantiation_p.  Don't check
      	DECL_TEMPLATE_INSTANTIATION.
      	* call.c, cp-tree.h, decl2.c: Adjust.
      
      From-SVN: r255179
      528c7559
    • Michael Meissner's avatar
      [gcc] · 32c95bca
      Michael Meissner authored
      2017-11-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR middle_end/82333
      	* varasm.c (compare_constant): Take the mode of the constants into
      	account when comparing floating point constants.
      
      [gcc/testsuite]
      2017-11-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR middle_end/82333
      	* gcc.target/powerpc/pr82333.c: New test.
      
      From-SVN: r255177
      32c95bca
    • Stephan Bergmann's avatar
      Add missing noexcept in string_view::find_first_of declaration · 0f42ffd7
      Stephan Bergmann authored
      2017-11-27  Stephan Bergmann  <sbergman@redhat.com>
      
      	* include/std/string_view (basic_string_view::find_first_of): Add
      	missing noexcept.
      
      From-SVN: r255176
      0f42ffd7
    • Gerald Pfeifer's avatar
      hash-set.h (DEFINE_DEBUG_HASH_SET): Remove static qualifier from explicit... · 4c71819d
      Gerald Pfeifer authored
      hash-set.h (DEFINE_DEBUG_HASH_SET): Remove static qualifier from explicit instantiation of debug_helper.
      
      	* hash-set.h (DEFINE_DEBUG_HASH_SET): Remove static qualifier
      	from explicit instantiation of debug_helper.
      	* vec.h (DEFINE_DEBUG_VEC): Ditto.
      
      From-SVN: r255175
      4c71819d
    • Stephan Bergmann's avatar
      Fix std::unordered_map deduction guide · 68e601d8
      Stephan Bergmann authored
      2017-11-27  Stephan Bergmann  <sbergman@redhat.com>
      
      	* include/bits/unordered_map.h (unordered_map): Fix deduction guide.
      	* include/debug/unordered_map (unordered_map): Likewise.
      
      From-SVN: r255174
      68e601d8
    • Richard Biener's avatar
      gimple-fold.c (gimple_fold_builtin_memory_op): Remove dead code, refactor a bit. · 42f74245
      Richard Biener authored
      2017-11-27  Richard Biener  <rguenther@suse.de>
      
      	* gimple-fold.c (gimple_fold_builtin_memory_op): Remove dead code,
      	refactor a bit.
      
      From-SVN: r255172
      42f74245
    • Richard Biener's avatar
      tree.c (wide_int_to_tree): Free discarded INTEGER_CST. · 53d2b7cb
      Richard Biener authored
      2017-11-27  Richard Biener  <rguenther@suse.de>
      
      	* tree.c (wide_int_to_tree): Free discarded INTEGER_CST.
      	(type_hash_canon): Also clear int_cst_hash_table entry for
      	TYPE_MIN/MAX_VALUE.
      	(build_nonstandard_integer_type): Hash all TYPE_MAX_VALUEs.
      
      From-SVN: r255171
      53d2b7cb
    • Tamar Christina's avatar
      extend.texi: Add -A suffix (ARMv8*-A, ARMv7-A). · d7dccfa3
      Tamar Christina authored
      2017-11-27  Tamar Christina  <tamar.christina@arm.com>
      
      	* doc/extend.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
      	* doc/invoke.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
      	* doc/sourcebuild.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
      
      From-SVN: r255169
      d7dccfa3
    • Jakub Jelinek's avatar
      re PR c++/81675 (attribute(noreturn) of destructor in :? not honored) · cb358080
      Jakub Jelinek authored
      	PR c++/81675
      	* cp-gimplify.c (cp_fold) <case COND_EXPR>: Don't return immediately
      	for VOID_TYPE_P COND_EXPRs, instead fold the operands and if op0 is
      	INTEGER_CST, ensure that both op1 and op2 are non-NULL and fall
      	through into normal folding, otherwise just rebuild x if any op
      	changed.
      
      	* g++.dg/warn/pr81675.C: New test.
      
      From-SVN: r255167
      cb358080
    • Markus Trippelsdorf's avatar
      Fix UB in hash-map.h · 04f91503
      Markus Trippelsdorf authored
      bootstrap-ubsan shows:
        gcc/hash-map.h:277:19: runtime error: member access within null pointer of type 'struct hash_map'
      
      Fix the issue by returning early.
      
      From-SVN: r255166
      04f91503
    • Eric Botcazou's avatar
      cfgloop.h (struct loop): Document usage of USHRT_MAX for unroll. · ff27462e
      Eric Botcazou authored
      	* cfgloop.h (struct loop): Document usage of USHRT_MAX for unroll.
      	* loop-unroll.c (decide_unroll_constant_iterations): Implement it.
      	(decide_unroll_runtime_iterations): Likewise.
      	(decide_unroll_stupid): Likewise.
      
      From-SVN: r255165
      ff27462e
    • Igor Tsimbalist's avatar
      Fix code generation for buildtin_longjmp with CET. · 39335d14
      Igor Tsimbalist authored
      According to the description of  inssp instruction from Intel CET it
      adusts the shadow stack pointer (ssp) only by value in the range of
      [0..255]. As a number of adjustment could be greater than 255 there
      should be a loop generated to adjust ssp.
      
      gcc/
      	* config/i386/i386.md: Add a loop with incssp.
      	* testsuite/gcc.target/i386/cet-sjlj-1.c: Fix test.
      	* testsuite/gcc.target/i386/cet-sjlj-4.c: Likewise.
      
      From-SVN: r255164
      39335d14
    • Martin Jambor's avatar
      [PR 81248] Fix ipa-sra size check · be025a2d
      Martin Jambor authored
      2017-11-27  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/81248
      	* tree-sra.c (splice_param_accesses): Remove size check.
      	(decide_one_param_reduction): Fix size check.
      	* gimple-pretty-print.c (dump_profile): Silence warning.
      	* params.def (PARAM_IPA_SRA_PTR_GROWTH_FACTOR): Adjust description.
      
      	testsuite/
      	* g++.dg/ipa/pr81248.C: New test.
      	* gcc.dg/tree-ssa/ssa-pre-31.c: Disable IPA-SRA.
      	* gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-2.c: Likewise.
      
      From-SVN: r255163
      be025a2d
    • Jakub Jelinek's avatar
      null-8.C (bar): New function. · 8cb71598
      Jakub Jelinek authored
      	* g++.dg/ubsan/null-8.C (bar): New function.
      	(foo): Use bar instead of __builtin_printf.
      
      From-SVN: r255162
      8cb71598
    • Jakub Jelinek's avatar
      re PR debug/81307 (g++.dg/debug/debug9.C -gstabs FAILs) · b8cb3096
      Jakub Jelinek authored
      	PR debug/81307
      	* dbxout.c (lastlineno): New variable.
      	(dbx_debug_hooks): Use dbxout_switch_text_section as
      	switch_text_section debug hook.
      	(dbxout_function_end): Switch to current_function_section
      	rather than function_section.  If crtl->has_bb_partition,
      	output just one N_FUN, depending on in_cold_section_p.
      	(dbxout_source_line): Remember last lineno in lastlineno.
      	(dbxout_switch_text_section): New function.
      	(dbxout_function_decl): Adjust dbxout_block caller.
      	(dbx_block_with_cold_children): New function.
      	(dbxout_block): Return true if any LBRAC/RBRAC have been
      	emitted.  Use dbx_block_with_cold_children at depth == 0
      	in second partition.  Add PARENT_BLOCKNUM argument, pass
      	it optionally adjusted to children.  Output LBRAC/RBRAC
      	around recursive call only if the block is in the current
      	partition, if not and anything was output, emit empty
      	range LBRAC/RBRAC.
      	* final.c (final_scan_insn): Compute cold_function_name
      	before calling switch_text_section debug hook.  Call
      	that hook even if dwarf2out_do_frame if not emitting
      	dwarf debug info.
      
      	* g++.dg/debug/debug9.C: Remove -fno-reorder-blocks-and-partition
      	workaround.
      
      From-SVN: r255161
      b8cb3096
    • Jakub Jelinek's avatar
      re PR target/83100 (powerpc: internal compiler error: in get_variable_section,... · 9adeb64a
      Jakub Jelinek authored
      re PR target/83100 (powerpc: internal compiler error: in get_variable_section, at varasm.c:1150 with -fdata-sections)
      
      	PR target/83100
      	* varasm.c (bss_initializer_p): Return true for DECL_COMMON
      	TREE_READONLY decls.
      
      	* gcc.dg/pr83100-1.c: New test.
      	* gcc.dg/pr83100-2.c: New test.
      	* gcc.dg/pr83100-3.c: New test.
      	* gcc.dg/pr83100-4.c: New test.
      
      From-SVN: r255160
      9adeb64a
    • Markus Trippelsdorf's avatar
      Fix PR82488 - signed integer overflow in expr.c · 99282f81
      Markus Trippelsdorf authored
      bootstrap-ubsan shows:
       gcc/expr.c:4103:17: runtime error: signed integer overflow: 0 - -9223372036854775808 cannot be represented in type 'long int'
      
      Fix by handling the saw_unknown case earlier.
      
      	PR rtl-optimization/82488
      	* expr.c (fixup_args_size_notes): Avoid signed integer overflow.
      
      diff --git a/gcc/expr.c b/gcc/expr.c
      index ee07de5aaa44..e9d8555c9452 100644
      --- a/gcc/expr.c
      +++ b/gcc/expr.c
      @@ -4100,10 +4100,13 @@ fixup_args_size_notes (rtx_insn *prev, rtx_insn *last, int end_args_size)
             if (STACK_GROWS_DOWNWARD)
       	this_delta = -(unsigned HOST_WIDE_INT) this_delta;
      
      -      args_size -= this_delta;
      +      if (saw_unknown)
      +	args_size = INT_MIN;
      +      else
      +	args_size -= this_delta;
           }
      
      -  return saw_unknown ? INT_MIN : args_size;
      +  return args_size;
       }
      
       #ifdef PUSH_ROUNDING
      --
      Markus
      
      From-SVN: r255159
      99282f81
    • GCC Administrator's avatar
      Daily bump. · 62e8530c
      GCC Administrator authored
      From-SVN: r255158
      62e8530c
  3. Nov 26, 2017
    • Uros Bizjak's avatar
      i386.c (processor_target_table): Add skylake_cost for skylake-avx512. · c234d831
      Uros Bizjak authored
      	* config/i386/i386.c (processor_target_table): Add skylake_cost for
      	skylake-avx512.
      	* config/i386/x86-tune-costs.h (skylake_memcpy, skylake_memset,
      	skylake_cost): New.
      
      	* config/i386/driver-i386.c (host_detect_local_cpu):
      	Detect skylake-avx512.
      
      	* config.gcc: Add -march=cannonlake.
      	* config/i386/driver-i386.c (host_detect_local_cpu): Detect cannonlake.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Handle cannonlake.
      	* config/i386/i386.c (processor_costs): Add m_CANNONLAKE.
      	(PTA_CANNONLAKE): New.
      	(processor_target_table): Add cannonlake.
      	(ix86_option_override_internal): Ditto.
      	(fold_builtin_cpu): Ditto.
      	(get_builtin_code_for_version): Handle cannonlake.
      	(M_INTEL_COREI7_CANNONLAKE): New.
      	* config/i386/i386.h (TARGET_CANNONLAKE, PROCESSOR_CANNONLAKE): New.
      	* doc/invoke.texi: Add -march=cannonlake.
      
      gcc/testsuite/
      
      	* gcc.target/i386/funcspec-56.inc: Handle new march.
      	* g++.dg/ext/mv16.C: Ditto.
      
      libgcc/
      
      	* config/i386/cpuinfo.c (get_intel_cpu): Handle cannonlake.
      	* config/i386/cpuinfo.h (processor_subtypes): Add
      	INTEL_COREI7_CANNONLAKE.
      
      From-SVN: r255155
      c234d831
    • Boris Kolpackov's avatar
      Plugin support on Windows/MinGW · 8c7dbea9
      Boris Kolpackov authored
      config/ChangeLog:
      2017-11-14 Boris Kolpackov  <boris@codesynthesis.com>
      
      	* gcc-plugin.m4: Add support for MinGW.
      
      gcc/ChangeLog:
      2017-11-14 Boris Kolpackov  <boris@codesynthesis.com>
      
      	* plugin.c (add_new_plugin): Use platform-specific library extensions.
      	(try_init_one_plugin): Alternative implementation for MinGW.
      	* Makefile.in (plugin_implib): New.
      	(gengtype-lex.c): Fix broken AIX workaround.
      	* configure: Regenerate.
      	* doc/plugins.texi: Document support for MinGW.
      
      gcc/c/ChangeLog:
      2017-11-14 Boris Kolpackov  <boris@codesynthesis.com>
      
      	* Make-lang.in (c.install-plugin): Install backend import library.
      
      gcc/cp/ChangeLog:
      2017-11-14 Boris Kolpackov  <boris@codesynthesis.com>
      
      	* Make-lang.in (c++.install-plugin): Install backend import library.
      
      libcc1/ChangeLog:
      2017-11-14 Boris Kolpackov  <boris@codesynthesis.com>
      
      	* configure: Regenerate.
      
      From-SVN: r255154
      8c7dbea9
    • GCC Administrator's avatar
      Daily bump. · 44dfb822
      GCC Administrator authored
      From-SVN: r255153
      44dfb822
  4. Nov 25, 2017
  5. Nov 24, 2017
    • Jakub Jelinek's avatar
      re PR fortran/81304 (Bogus warning with -Wsurprising and -fopenmp: Type... · 3b3e6283
      Jakub Jelinek authored
      re PR fortran/81304 (Bogus warning with -Wsurprising and -fopenmp: Type specified for intrinsic function 'min' / 'max')
      
      	PR fortran/81304
      	* trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set
      	attr.implicit_type in intrinsic_sym to avoid undesirable warning.
      
      	* testsuite/libgomp.fortran/pr81304.f90: New test.
      
      From-SVN: r255144
      3b3e6283
    • Jackson Woodruff's avatar
      Factor out division by squares · 19cf3a36
      Jackson Woodruff authored
      This patch implements the some of the division optimizations discussed in
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71026.
      
      The division reciprocal optimization now handles divisions by squares:
      
           x / (y * y) -> x  * (1 / y) * (1 / y)
      
      This requires at least one more division by y before it triggers - the
      3 divisions of (1/ y) are then CSEd into a single division.  Overall
      this changes 1 division into 1 multiply, which is generally much faster.
      
      
      2017-11-24  Jackson Woodruff  <jackson.woodruff@arm.com>
      
          gcc/
      	PR tree-optimization/71026
      	* tree-ssa-math-opts (is_division_by_square, is_square_of): New.
      	(insert_reciprocals): Change to insert reciprocals before a division
      	by a square and to insert the square of a reciprocal.
      	(execute_cse_reciprocals_1): Change to consider division by a square.
      	(register_division_in): Add importance parameter.
      
          testsuite/
      	PR tree-optimization/71026
      	* gfortran.dg/extract_recip_1.f: New test.
      	* gcc.dg/extract_recip_3.c: New test.
      	* gcc.dg/extract_recip_4.c: New test.
      
      From-SVN: r255141
      19cf3a36
    • Richard Biener's avatar
      re PR tree-optimization/82402 (error: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set) · 15b6695a
      Richard Biener authored
      2017-11-24  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/82402
      	* tree-vect-loop-manip.c (create_lcssa_for_virtual_phi): Properly
      	set SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
      
      	* gcc.dg/torture/pr82402.c: New testcase.
      
      From-SVN: r255140
      15b6695a
    • Marc Glisse's avatar
      Simplify 0 - ptr. · 406520e2
      Marc Glisse authored
      2017-11-24  Marc Glisse  <marc.glisse@inria.fr>
      
      	* match.pd (0-ptr): New transformation.
      
      From-SVN: r255139
      406520e2
    • Jan Hubicka's avatar
      re PR bootstrap/83015 (bootstrap comparison failure on ia64) · f4118c87
      Jan Hubicka authored
      	PR bootstrap/83015
      	* ipa-inline.c (inline_small_functions): Set current badnes correctly
      	when skipping checking.
      
      From-SVN: r255138
      f4118c87
    • Janne Blomqvist's avatar
      Whitespace fix for libgfortran/ChangeLog · 4dae9c64
      Janne Blomqvist authored
      From-SVN: r255137
      4dae9c64
Loading