- 02 Jul, 2018 12 commits
-
-
extract_range_from_binary_expr_1 into separate functions. From-SVN: r262306
Aldy Hernandez committed -
* tree-vrp.c (extract_range_from_unary_expr): Abstract ABS_EXPR code... (extract_range_from_abs_expr): ...here. From-SVN: r262305
Aldy Hernandez committed -
2018-07-02 Martin Liska <mliska@suse.cz> * gcc.dg/completion-1.c: New test. * gcc.dg/completion-2.c: New test. * gcc.dg/completion-3.c: New test. From-SVN: r262304
Martin Liska committed -
i386.c (ix86_finalize_stack_frame_flags): Do not overrule -fno-omit-frame-pointer when not optimizing. * config/i386/i386.c (ix86_finalize_stack_frame_flags): Do not overrule -fno-omit-frame-pointer when not optimizing. From-SVN: r262302
Eric Botcazou committed -
re PR lto/86321 (ICE: in splice_child_die, at dwarf2out.c:5693 for several Fortran tests with -g -flto) 2018-07-02 Richard Biener <rguenther@suse.de> PR lto/86321 * trans-types.c (gfc_get_array_type_bounds): Unshare TYPE_FIELDs for the distinct type copy. From-SVN: r262301
Richard Biener committed -
2018-07-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/45305 * expr.c : Add a prototype for scalarize_intrinsic_call. (gfc_simplify_expr): Use scalarize_intrinsic_call for elemental intrinsic function calls. (scalarize_intrinsic_call): Add 'init_flag' argument. Check if the expression or any of the actual argument expressions are NULL. Before calling gfc_check_init_expr, check 'init_flag'. Only simplify the scalarized expressions if there are no errors on the stack. (gfc_check_init_expr): Set 'init_flag' true in the call to scalarize_intrinsic_call. 2018-07-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/45305 * gfortran.dg/scalarize_parameter_array_2.f90: New test. From-SVN: r262300
Paul Thomas committed -
2018-07-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/45305 * expr.c : Add a prototype for scalarize_intrinsic_call. (gfc_simplify_expr): Use scalarize_intrinsic_call for elemental intrinsic function calls. (scalarize_intrinsic_call): Add 'init_flag' argument. Check if the expression or any of the actual argument expressions are NULL. Before calling gfc_check_init_expr, check 'init_flag'. Only simplify the scalarized expressions if there are no errors on the stack. (gfc_check_init_expr): Set 'init_flag' true in the call to scalarize_intrinsic_call. 2018-07-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/45305 * gfortran.dg/scalarize_parameter_array_2.f90: New test. From-SVN: r262299
Paul Thomas committed -
2018-07-02 Martin Liska <mliska@suse.cz> PR ipa/86279 * ipa-pure-const.c (malloc_candidate_p): Revert usage of ::get. (propagate_nothrow): Likewise. 2018-07-02 Martin Liska <mliska@suse.cz> PR ipa/86279 * gcc.dg/ipa/pr86279.c: New test. From-SVN: r262298
Martin Liska committed -
2018-07-02 Martin Liska <mliska@suse.cz> PR ipa/86323 * ipa-inline.c (early_inliner): Revert wrongly added ::get call. 2018-07-02 Martin Liska <mliska@suse.cz> PR ipa/86323 * g++.dg/ipa/pr86323.C: New test. From-SVN: r262297
Martin Liska committed -
2018-07-02 Martin Liska <mliska@suse.cz> * gnatvsn.ads: Bump Library_Version to 9. From-SVN: r262296
Martin Liska committed -
gcc/ChangeLog: * dumpfile.c (dump_generic_expr_loc): Undo removal of this function in r262149, changing "loc" param from source_location to const dump_location_t &. * dumpfile.h (dump_generic_expr_loc): Undo removal of this declaration, as above. From-SVN: r262295
David Malcolm committed -
From-SVN: r262294
GCC Administrator committed
-
- 01 Jul, 2018 8 commits
-
-
2018-07-01 Tom de Vries <tdevries@suse.de> revert: 2018-07-01 Tom de Vries <tdevries@suse.de> * gcc.dg/guality/prevent-optimization.h (VOLATILE): Define. * gcc.dg/guality/vla-1.c (f1): Mark local vla a as VOLATILE. From-SVN: r262290
Tom de Vries committed -
compatible output. * common/config/pdp11/pdp11-common.c (pdp11_handle_option): Handle -munit-asm, -mgnu-asm, -mdec-asm. * config/pdp11/pdp11-protos.h (pdp11_gen_int_label): New. (pdp11_output_labelref): New. (pdp11_output_def): New. (pdp11_output_addr_vec_elt): New. * config/pdp11/pdp11.c: Use tab between opcode and operands. Use %# and %@ format codes. (pdp11_option_override): New. (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define. (pdp11_output_ident): New. (pdp11_asm_named_section): New. (pdp11_asm_init_sections): New. (pdp11_file_start): New. (pdp11_file_end): New. (output_ascii): Use .ascii/.asciz for -mdec-asm. (pdp11_asm_print_operand): Update %# and %$ for -mdec-asm. Add %o, like %c but octal. (pdp11_option_override): New. * config/pdp11/pdp11.h (TEXT_SECTION_ASM_OP): Update for -mdec-asm. (DATA_SECTION_ASM_OP): Ditto. (READONLY_DATA_SECTION_ASM_OP): New. (IS_ASM_LOGICAL_LINE_SEPARATOR): New. (ASM_GENERATE_INTERNAL_LABEL): Use new function. (ASM_OUTPUT_LABELREF): Ditto. (ASM_OUTPUT_DEF): Ditto. (ASM_OUTPUT_EXTERNAL): New. (ASM_OUTPUT_SOURCE_FILENAME): New. (ASM_OUTPUT_ADDR_VEC_ELT): Use new function. (ASM_OUTPUT_SKIP): Update for -mdec-asm. * config/pdp11/pdp11.md: Use tab between opcode and operands. Use %# and %@ format codes. * config/pdp11/pdp11.opt (mgnu-asm): New. (mdec-asm): Conflicts with -mgnu-asm and -munix-asm. (munix-asm): Conflicts with -mdec-asm and -mgnu-asm. * doc/invoke.txt (PDP-11 Options): Add -mgnu-asm. From-SVN: r262289
Paul Koning committed -
2018-07-01 Tom de Vries <tdevries@suse.de> * lib/gcc-gdb-test.exp (gdb-test): Handle '@' prefix in line number argument. * gcc.dg/guality/const-volatile.c: Replace gdb-test line nrs 50 and 58 with @main. From-SVN: r262288
Tom de Vries committed -
2018-07-01 Tom de Vries <tdevries@suse.de> * gcc.dg/guality/prevent-optimization.h (VOLATILE): Define. * gcc.dg/guality/vla-1.c (f1): Mark local vla a as VOLATILE. From-SVN: r262287
Tom de Vries committed -
2018-07-01 Tom de Vries <tdevries@suse.de> * lib/gcc-dg.exp (get-absolute-line): Handle '.'. * gcc.dg/guality/vla-1.c: Use relative line numbers. From-SVN: r262286
Tom de Vries committed -
2018-07-01 Tom de Vries <tdevries@suse.de> * gcc.dg-selftests/dg-final.exp (verify_call_1): Factor out of ... (verify_call): ... here. Move to toplevel. (verify_call_np, dg_final_directive_check_utils): New proc. (toplevel): Call dg_final_directive_check_utils. * lib/gcc-dg.exp (get-absolute-line): Fix typo in variable reference. From-SVN: r262284
Tom de Vries committed -
From-SVN: r262283
Aldy Hernandez committed -
From-SVN: r262282
GCC Administrator committed
-
- 30 Jun, 2018 12 commits
-
-
gcc/ * config/riscv/predicates.md (p2m1_shift_operand): New. (high_mask_shift_operand): New. * config/riscv/riscv.md (lshrsi3_zero_extend_3+1): New combiner pattern using p2m1_shift_operand. (lshsi3_zero_extend_3+2): New combiner pattern using high_mask_shift_operand. gcc/testsuite/ * gcc.target/riscv/shift-shift-1.c: New. * gcc.target/riscv/shift-shift-2.c: New. * gcc.target/riscv/shift-shift-3.c: New. From-SVN: r262278
Jim Wilson committed -
vect_recog_rotate_pattern had code to prevent operations on invariants being vectorised unnecessarily: if (dt == vect_external_def && TREE_CODE (oprnd1) == SSA_NAME && is_a <loop_vec_info> (vinfo)) { struct loop *loop = as_a <loop_vec_info> (vinfo)->loop; ext_def = loop_preheader_edge (loop); if (!SSA_NAME_IS_DEFAULT_DEF (oprnd1)) { basic_block bb = gimple_bb (SSA_NAME_DEF_STMT (oprnd1)); if (bb == NULL || !dominated_by_p (CDI_DOMINATORS, ext_def->dest, bb)) ext_def = NULL; } } [..] if (ext_def) { basic_block new_bb = gsi_insert_on_edge_immediate (ext_def, def_stmt); gcc_assert (!new_bb); } This patch reuses the same idea for casts of invariants created during widening optimisations. One hitch was that vect_loop_versioning asserted that the vector loop preheader was still empty, although the cfg transformation it's doing should be correct either way. 2018-06-30 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vect-patterns.c (vect_get_external_def_edge): New function, split out from... (vect_recog_rotate_pattern): ...here. (vect_convert_input): Try to insert casts of invariants in the preheader. * tree-vect-loop-manip.c (vect_loop_versioning): Don't require the preheader to be empty. gcc/testsuite/ * gcc.dg/vect/vect-widen-mult-extern-1.c: New test. From-SVN: r262277
Richard Sandiford committed -
This patch adds helper functions for detecting widened operations and generalises the existing code to handle more cases. One of the main changes is to recognise multi-stage type conversions, which are possible even in the original IR and can also occur as a result of earlier pattern matching (especially after the main over-widening patch). E.g. for: unsigned int res = 0; for (__INTPTR_TYPE__ i = 0; i < N; ++i) { int av = a[i]; int bv = b[i]; short diff = av - bv; unsigned short abs = diff < 0 ? -diff : diff; res += abs; } we have: _9 = _7 - _8; diff_20 = (short int) _9; _10 = (int) diff_20; _11 = ABS_EXPR <_10>; where the first cast establishes the sign of the promotion done by the second cast. vect_recog_sad_pattern didn't handle this kind of intermediate promotion between the MINUS_EXPR and the ABS_EXPR. Sign extensions and casts from unsigned to signed are both OK there. Unsigned promotions aren't, and need to be rejected, but should have been folded away earlier anyway. Also, the dot_prod and widen_sum patterns both required the promotions to be from one signedness to the same signedness, rather than say signed char to unsigned int. That shouldn't be necessary, since it's only the sign of the input to the promotion that matters. Nothing requires the narrow and wide types in a DOT_PROD_EXPR or WIDEN_SUM_EXPR to have the same sign (and IMO that's a good thing). Fixing these fixed an XFAIL in gcc.dg/vect/vect-widen-mult-sum.c. vect_widened_op_tree is a bit more general than the current patch needs, since it copes with a tree of operations rather than a single statement. This is used by the later average-detection patch. The patch also uses a common routine to handle both the WIDEN_MULT_EXPR and WIDEN_LSHIFT_EXPR patterns. I hope this could be reused for other similar operations in future. Also, the patch means we recognise the index calculations in vect-mult-const-pattern*.c as widening multiplications, whereas the scan test was expecting them to be recognised as mult patterns instead. The patch makes the tests check specifically for the multiplication we care about. 2018-06-30 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vect-patterns.c (append_pattern_def_seq): Take an optional vector type. If given, install it in the new statement's STMT_VINFO_VECTYPE. (vect_element_precision): New function. (vect_unpromoted_value): New struct. (vect_unpromoted_value::vect_unpromoted_value): New function. (vect_unpromoted_value::set_op): Likewise. (vect_look_through_possible_promotion): Likewise. (vect_joust_widened_integer, vect_joust_widened_type): Likewise. (vect_widened_op_tree, vect_convert_input): Likewise. (vect_convert_inputs, vect_convert_output): Likewise. (vect_recog_dot_prod_pattern): Use vect_look_through_possible_promotion to handle the optional cast of the multiplication result and vect_widened_op_tree to detect the widened multiplication itself. Do not require the input and output of promotion casts to have the same sign, but base the signedness of the operation on the input rather than the result. If the pattern includes two promotions, check that those promotions have the same sign. Do not restrict the MULT_EXPR handling to a double-width result; handle quadruple-width results and wider. Use vect_convert_inputs to convert the inputs to the common type. (vect_recog_sad_pattern): Use vect_look_through_possible_promotion to handle the optional cast of the ABS result. Also allow a sign change or a sign extension between the ABS and MINUS. Use vect_widened_op_tree to detect the widened subtraction and use vect_convert_inputs to convert the inputs to the common type. (vect_handle_widen_op_by_const): Delete. (vect_recog_widen_op_pattern): New function. (vect_recog_widen_mult_pattern): Use it. (vect_recog_widen_shift_pattern): Likewise. (vect_recog_widen_sum_pattern): Use vect_look_through_possible_promotion to handle the promoted PLUS_EXPR operand. gcc/testsuite/ * gcc.dg/vect/vect-widen-mult-sum.c: Remove xfail. * gcc.dg/vect/no-scevccp-outer-6.c: Don't match widened multiplications by 4 in the computation of a[i]. * gcc.dg/vect/vect-mult-const-pattern-1.c: Test specifically for the main multiplication constant. * gcc.dg/vect/vect-mult-const-pattern-2.c: Likewise. * gcc.dg/vect/vect-widen-mult-const-s16.c: Likewise. * gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise. Expect the pattern to cast the result to int. * gcc.dg/vect/vect-reduc-dot-1.c: New test. * gcc.dg/vect/vect-reduc-dot-2.c: Likewise. * gcc.dg/vect/vect-reduc-dot-3.c: Likewise. * gcc.dg/vect/vect-reduc-dot-4.c: Likewise. * gcc.dg/vect/vect-reduc-dot-5.c: Likewise. * gcc.dg/vect/vect-reduc-dot-6.c: Likewise. * gcc.dg/vect/vect-reduc-dot-7.c: Likewise. * gcc.dg/vect/vect-reduc-dot-8.c: Likewise. * gcc.dg/vect/vect-reduc-sad-1.c: Likewise. * gcc.dg/vect/vect-reduc-sad-2.c: Likewise. * gcc.dg/vect/vect-reduc-sad-3.c: Likewise. * gcc.dg/vect/vect-reduc-sad-4.c: Likewise. * gcc.dg/vect/vect-reduc-sad-5.c: Likewise. * gcc.dg/vect/vect-reduc-sad-6.c: Likewise. * gcc.dg/vect/vect-reduc-sad-7.c: Likewise. * gcc.dg/vect/vect-reduc-sad-8.c: Likewise. * gcc.dg/vect/vect-widen-mult-1.c: Likewise. * gcc.dg/vect/vect-widen-mult-2.c: Likewise. * gcc.dg/vect/vect-widen-mult-3.c: Likewise. * gcc.dg/vect/vect-widen-mult-4.c: Likewise. From-SVN: r262276
Richard Sandiford committed -
Although the first pattern match wins in the sense that no later function can match the *old* gimple statement, it still seems worth letting them match the *new* gimple statements, just like we would if the original IR had included that sequence from the outset. This is mostly true after the later patch for PR85694, where e.g. we could recognise: signed char a; int ap = (int) a; int res = ap * 3; as the pattern: short ap' = (short) a; short res = ap' * 3; // S1: definition statement int res = (int) res; // S2: pattern statement and then apply the mult pattern to "ap' * 3". The patch needs to come first (without its own test cases) so that the main over-widening patch doesn't regress anything. 2018-06-30 Richard Sandiford <richard.sandiford@arm.com> gcc/ * gimple-iterator.c (gsi_for_stmt): Add a new overload that takes the containing gimple_seq *. * gimple-iterator.h (gsi_for_stmt): Declare it. * tree-vect-patterns.c (vect_recog_dot_prod_pattern) (vect_recog_sad_pattern, vect_recog_widen_sum_pattern) (vect_recog_widen_shift_pattern, vect_recog_rotate_pattern) (vect_recog_vector_vector_shift_pattern, vect_recog_divmod_pattern) (vect_recog_mask_conversion_pattern): Remove STMT_VINFO_IN_PATTERN_P checks. (vect_init_pattern_stmt, vect_set_pattern_stmt): New functions, split out from... (vect_mark_pattern_stmts): ...here. Handle cases in which the statement being replaced is part of an existing pattern definition sequence, inserting the new pattern statements before the original one. (vect_pattern_recog_1): Don't return a bool. If the statement is already part of a pattern, instead apply pattern matching to the pattern definition statements. Don't clear the STMT_VINFO_RELATED_STMT if is_pattern_stmt_p. (vect_pattern_recog): Don't break after the first match; continue processing the pattern definition statements instead. Don't bail out for STMT_VINFO_IN_PATTERN_P here. From-SVN: r262275
Richard Sandiford committed -
This patch adds an overload of vect_reassociating_reduction_p that checks for a vectorizable associative reduction, since the check was duplicated in three functions. 2018-06-30 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vect-patterns.c (vect_reassociating_reduction_p): New function. (vect_recog_dot_prod_pattern, vect_recog_sad_pattern) (vect_recog_widen_sum_pattern): Use it. From-SVN: r262274
Richard Sandiford committed -
As suggested by Richard B., this patch makes vect_is_simple_use check whether a defining statement has been replaced by a pattern statement, and if so returns the pattern statement instead. The reason for doing this is that the main patch for PR85694 makes over_widening handle more general cases. These over-widened patterns can still be useful when matching later statements; e.g. an overwidened MULT_EXPR could be the input to a DOT_PROD_EXPR. The patch doesn't do anything with the STMT_VINFO_IN_PATTERN_P checks in vect_recog_over_widening_pattern or vect_recog_widen_shift_pattern since later patches rewrite them anyway. Doing this fixed an XFAIL in vect-reduc-dot-u16b.c. 2018-06-30 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vect-loop.c (vectorizable_reduction): Assert that the phi is not a pattern statement and has not been replaced by a pattern statement. * tree-vect-patterns.c (type_conversion_p): Don't check STMT_VINFO_IN_PATTERN_P. (vect_recog_vector_vector_shift_pattern): Likewise. (vect_recog_dot_prod_pattern): Expect vect_is_simple_use to return the pattern statement rather than the original statement; check directly for a WIDEN_MULT_EXPR here. * tree-vect-slp.c (vect_get_and_check_slp_defs): Expect vect_is_simple_use to return the pattern statement rather than the original statement; use is_pattern_stmt_p to check for such a pattern statement. * tree-vect-stmts.c (process_use): Expect vect_is_simple_use to return the pattern statement rather than the original statement; don't do the same transformation here. (vect_is_simple_use): If the defining statement has been replaced by a pattern statement, return the pattern statement instead. Remove the corresponding (local) transformation from the vectype overload. gcc/testsuite/ * gcc.dg/vect/vect-reduc-dot-u16b.c: Remove xfail and update the test for vectorization along the lines described in the comment. From-SVN: r262273
Richard Sandiford committed -
As suggested by Richard B., this patch reorders the arguments to vect_is_simple_use so that def_stmt comes last and is optional. Many callers can then drop it, making it more obvious which of the remaining calls would be affected by the next patch. 2018-06-30 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vectorizer.h (vect_is_simple_use): Move the gimple ** to the end and default to null. * tree-vect-loop.c (vect_create_epilog_for_reduction) (vectorizable_reduction): Update calls accordingly, dropping the gimple ** argument if the passed-back statement isn't needed. * tree-vect-patterns.c (vect_get_internal_def, type_conversion_p) (vect_recog_rotate_pattern): Likewise. (vect_recog_mask_conversion_pattern): Likewise. * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise. (vect_mask_constant_operand_p): Likewise. * tree-vect-stmts.c (is_simple_and_all_uses_invariant, process_use): (vect_model_simple_cost, vect_get_vec_def_for_operand): Likewise. (get_group_load_store_type, get_load_store_type): Likewise. (vect_check_load_store_mask, vect_check_store_rhs): Likewise. (vectorizable_call, vectorizable_simd_clone_call): Likewise. (vectorizable_conversion, vectorizable_assignment): Likewise. (vectorizable_shift, vectorizable_operation): Likewise. (vectorizable_store, vect_is_simple_cond): Likewise. (vectorizable_condition, vectorizable_comparison): Likewise. (get_same_sized_vectype, vect_get_mask_type_for_stmt): Likewise. (vect_is_simple_use): Rename the def_stmt argument to def_stmt_out and move it to the end. Cope with null def_stmt_outs. From-SVN: r262272
Richard Sandiford committed -
* Makefile.in (FLAGS_TO_PASS): Add RANLIB_FOR_TARGET. From-SVN: r262271
Bernd Edlinger committed -
2018-06-30 Tom de Vries <tdevries@suse.de> * gcc.dg/guality/guality.exp (guality_transform_options): New proc. (toplevel): Apply guality_transform_options on DG_TORTURE_OPTIONS and LTO_TORTURE_OPTIONS. * gcc.dg/guality/prevent-optimization.h: New file. * gcc.dg/guality/pr45882.c: Include prevent-optimization.h. (a): Replace __attribute__((used)) with ATTRIBUTE_USED. From-SVN: r262270
Tom de Vries committed -
2018-06-30 Tom de Vries <tdevries@suse.de> * gcc.dg/guality/pr45882.c (foo): Use relative line numbers. * lib/gcc-dg.exp (dg-final): New proc. * lib/gcc-gdb-test.exp (gdb-test): Add and handle additional line number argument. From-SVN: r262269
Tom de Vries committed -
This patch turns dependencies of non-bootstrap targets on bootstrap targets for bootstrap builds into dependencies on stage_last. This arrangement gets stage1-bubble to run from stage_last if we haven't started a bootstrap yet, and to use the current stage otherwise. This was already the case of target libs, just not of non-bootstrapped host modules. In order to retain preexisting dependencies in non-bootstrap builds, or in gcc-less builds, this introduces support for @unless/@endunless pairs in Makefile.in. There is a remaining possibility of problem if activating, in a tree configured for bootstrap, a parallel build of two or more modules, at least one bootstrapped and one not. In this case, make might decide to build stage_current and stage_last in parallel, the latter will start a submake to build stage1 while the initial make, having satisfied stage_current, proceeds to build the bootstrapped module in non-bootstrapped configurations. The two builds will overlap and will likely conflict. This situation does NOT arise in normal settings, however: a post-bootstrap build of all-host all-target will indeed activate such targets concurrently, but only after building all bootstrapped modules successfully, and it will have both stage_last and stage_current targets already satisfied, so the potential race between builds will not arise. Another remaining problem, that is slightly expanded with this patch, is that of an interrupted build in a tree configured for bootstrap, continued with a non-bootstrapped target. Target modules that were not bootstrapped would already fail to complete the current stage when activated explicitly in the command line for a retry; host modules, however, would attempt to build their bootstrapped dependencies, which is what led to the problem of concurrent builds addressed with this patch. An interrupted or failed build might still recover correctly, if the non-bootstrapped target is activated in both builds, because then make will remove stage_last when its build command is interrupted, so that it will attempt to recreate it with stage1-bubble in the second try. A bootstrap build, however, will not be attempting to build stage_last, so the file will remain and the retry won't go through stage1-bubble. We have lived with that for target modules, so we can probably live with that for host modules too. Another undesirable consequence of this change is that non-boostrapped host modules, in a tree configured for bootstrap, when activated as make all-<module>, will build all of stage1 instead of only the module's usual dependencies. This is intentional and necessary to fix the parallel-build problem. If it's not desirable, disabling the unnecessary bootstrap configuration will suffice to restore the original set of dependencies. for ChangeLog * configure.ac: Introduce support for @unless/@endunless. * Makefile.tpl (dep-kind): Rewrite with cond; return postbootstrap in some cases. (make-postboot-dep, postboot-targets): New. (dependencies): Do not output postbootstrap dependencies at first. Output non-target ones changed for configure to depend on stage_last @if gcc-bootstrap, and the original deps @unless gcc-bootstrap. * configure.in, Makefile.in: Rebuilt. From-SVN: r262267
Alexandre Oliva committed -
From-SVN: r262266
GCC Administrator committed
-
- 29 Jun, 2018 8 commits
-
-
* config/v850/v850.c (v850_legitimate_address_p): Handle large displacements for TARGET_V850E2V3 and newer. (TARGET_LRA_P): Remove. Defaults to LRA now. * config/v850/v850.md (sign23byte_load): Remove. (unsign23byte_load, sign23hword_load, unsign23hword_load): Likewise. (23word_load, 23byte_store, 23hword_store, 23word_store): Likewise. From-SVN: r262257
Jeff Law committed -
gcc/testsuite/ChangeLog: * gcc.dg/strlenopt-46.c: Define strnlen for targets like Solaris 10 that don't define the function. From-SVN: r262255
Martin Sebor committed -
re PR c++/86184 (Conditional expression with omitted operand cannot use rvalue of type convertible to bool) PR c++/86184 * tree.c (cp_save_expr): Don't call save_expr for TARGET_EXPRs. * g++.dg/ext/cond3.C: New test. From-SVN: r262254
Marek Polacek committed -
2018-06-29 Martin Liska <mliska@suse.cz> PR lto/85759 * coverage.c (coverage_init): Mangle full path name. * doc/invoke.texi: Document the change. * gcov-io.c (mangle_path): New. * gcov-io.h (mangle_path): Likewise. * gcov.c (mangle_name): Use mangle_path for path mangling. From-SVN: r262251
Martin Liska committed -
In this testcase the user forces an odd register as the starting reg for a DFmode value. The output_move_double function tries to store that using an STRD instruction. But for TARGET_ARM the starting register of an STRD must be an even one. This is always the case with compiler-allocated registers for DFmode values, but the inline assembly forced our hand here. This patch restricts the STRD-emitting logic in output_move_double to not avoid odd-numbered source registers in STRD. I'm not a fan of the whole function, we should be exposing a lot of the logic in there to RTL rather than at the final output stage, but that would need to be fixed separately. * config/arm/arm.c (output_move_double): Don't allow STRD instructions if starting source register is not even. * gcc.target/arm/arm-soft-strd-even.c: New test. From-SVN: r262250
Kyrylo Tkachov committed -
* vim-gcc-dev/README: New file. * vim-gcc-dev/ftdetect/gcc-dev.vim: New file. * vim-gcc-dev/syntax/gcc-match.vim: New file. * gimple.vim: Move under vim-gcc-dev/syntax/. * gcc-rtl.vim: Likewise. From-SVN: r262249
Alexander Monakov committed -
2018-06-29 Tom de Vries <tdevries@suse.de> * gcc.dg/guality/pr45882.c (foo): Add line number var for breakpoint line, and use it. * lib/gcc-dg.exp (get-absolute-line): Factor out of ... (process-message): ... here. * lib/gcc-gdb-test.exp (gdb-test): Use get-absolute-line. From-SVN: r262248
Tom de Vries committed -
2018-06-29 Martin Liska <mliska@suse.cz> PR tree-optimization/86263 * tree-switch-conversion.c (switch_decision_tree::try_switch_expansion): Make edge redirection. 2018-06-29 Martin Liska <mliska@suse.cz> PR tree-optimization/86263 * gcc.dg/tree-ssa/pr86263.c: New test. From-SVN: r262247
Martin Liska committed
-