- 03 Jul, 2018 10 commits
-
-
The PR85694 series removed the only cases in which a pattern recogniser could attach patterns to more than one statement. I think it would be better to avoid adding any new instances of that, since it interferes with the normal matching order. This patch therefore switches the interface back to passing a single statement instead of a vector. It also gets rid of the clearing of STMT_VINFO_RELATED_STMT on failure, since no recognisers use it now. 2018-07-03 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vect-patterns.c (vect_recog_dot_prod_pattern): (vect_recog_sad_pattern, vect_recog_widen_op_pattern) (vect_recog_widen_mult_pattern, vect_recog_pow_pattern): (vect_recog_widen_sum_pattern, vect_recog_over_widening_pattern) (vect_recog_average_pattern, vect_recog_cast_forwprop_pattern) (vect_recog_widen_shift_pattern, vect_recog_rotate_pattern) (vect_recog_vector_vector_shift_pattern, vect_synth_mult_by_constant) (vect_recog_mult_pattern, vect_recog_divmod_pattern) (vect_recog_mixed_size_cond_pattern, vect_recog_bool_pattern) (vect_recog_mask_conversion_pattern): Replace vec<gimple *> parameter with a single stmt_vec_info. (vect_recog_func_ptr): Likewise. (vect_recog_gather_scatter_pattern): Likewise, folding in... (vect_try_gather_scatter_pattern): ...this. (vect_pattern_recog_1): Remove stmts_to_replace and just pass the stmt_vec_info of the statement to be matched. Don't clear STMT_VINFO_RELATED_STMT. (vect_pattern_recog): Update call accordingly. From-SVN: r262336
Richard Sandiford committed -
This patch adds detection of average instructions: a = (((wide) b + (wide) c) >> 1); --> a = (wide) .AVG_FLOOR (b, c); a = (((wide) b + (wide) c + 1) >> 1); --> a = (wide) .AVG_CEIL (b, c); in cases where users of "a" need only the low half of the result, making the cast to (wide) redundant. The heavy lifting was done by earlier patches. This showed up another problem in vectorizable_call: if the call is a pattern definition statement rather than the main pattern statement, the type of vectorised call might be different from the type of the original statement. 2018-07-03 Richard Sandiford <richard.sandiford@arm.com> gcc/ PR tree-optimization/85694 * doc/md.texi (avgM3_floor, uavgM3_floor, avgM3_ceil) (uavgM3_ceil): Document new optabs. * doc/sourcebuild.texi (vect_avg_qi): Document new target selector. * internal-fn.def (IFN_AVG_FLOOR, IFN_AVG_CEIL): New internal functions. * optabs.def (savg_floor_optab, uavg_floor_optab, savg_ceil_optab) (savg_ceil_optab): New optabs. * tree-vect-patterns.c (vect_recog_average_pattern): New function. (vect_vect_recog_func_ptrs): Add it. * tree-vect-stmts.c (vectorizable_call): Get the type of the zero constant directly from the associated lhs. gcc/testsuite/ PR tree-optimization/85694 * lib/target-supports.exp (check_effective_target_vect_avg_qi): New proc. * gcc.dg/vect/vect-avg-1.c: New test. * gcc.dg/vect/vect-avg-2.c: Likewise. * gcc.dg/vect/vect-avg-3.c: Likewise. * gcc.dg/vect/vect-avg-4.c: Likewise. * gcc.dg/vect/vect-avg-5.c: Likewise. * gcc.dg/vect/vect-avg-6.c: Likewise. * gcc.dg/vect/vect-avg-7.c: Likewise. * gcc.dg/vect/vect-avg-8.c: Likewise. * gcc.dg/vect/vect-avg-9.c: Likewise. * gcc.dg/vect/vect-avg-10.c: Likewise. * gcc.dg/vect/vect-avg-11.c: Likewise. * gcc.dg/vect/vect-avg-12.c: Likewise. * gcc.dg/vect/vect-avg-13.c: Likewise. * gcc.dg/vect/vect-avg-14.c: Likewise. From-SVN: r262335
Richard Sandiford committed -
The main over-widening patch can introduce quite a few extra casts, and in many cases those casts simply "tap into" an intermediate point in an existing extension. E.g. if we have: unsigned char a; int ax = (int) a; and a later operation using ax is shortened to "unsigned short", we would need: unsigned short ax' = (unsigned short) a; The a->ax extension requires one set of unpacks to get to unsigned short and another set of unpacks to get to int. The first set are then duplicated for ax'. If both ax and ax' are needed, the a->ax' extension would end up counting twice during cost calculations. This patch rewrites the original: int ax = (int) a; into a pattern: unsigned short ax' = (unsigned short) a; int ax = (int) ax'; so that each extension only counts once. 2018-07-03 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vect-patterns.c (vect_split_statement): New function. (vect_convert_input): Use it to try to split an existing cast. gcc/testsuite/ * gcc.dg/vect/vect-over-widen-5.c: Test that the extensions get split into two for use by the over-widening pattern. * gcc.dg/vect/vect-over-widen-6.c: Likewise. * gcc.dg/vect/vect-over-widen-7.c: Likewise. * gcc.dg/vect/vect-over-widen-8.c: Likewise. * gcc.dg/vect/vect-over-widen-9.c: Likewise. * gcc.dg/vect/vect-over-widen-10.c: Likewise. * gcc.dg/vect/vect-over-widen-11.c: Likewise. * gcc.dg/vect/vect-over-widen-12.c: Likewise. * gcc.dg/vect/vect-over-widen-13.c: Likewise. * gcc.dg/vect/vect-over-widen-14.c: Likewise. * gcc.dg/vect/vect-over-widen-15.c: Likewise. * gcc.dg/vect/vect-over-widen-16.c: Likewise. * gcc.dg/vect/vect-over-widen-22.c: New test. From-SVN: r262334
Richard Sandiford committed -
This patch is the main part of PR85694. The aim is to recognise at least: signed char *a, *b, *c; ... for (int i = 0; i < 2048; i++) c[i] = (a[i] + b[i]) >> 1; as an over-widening pattern, since the addition and shift can be done on shorts rather than ints. However, it ended up being a lot more general than that. The current over-widening pattern detection is limited to a few simple cases: logical ops with immediate second operands, and shifts by a constant. These cases are enough for common pixel-format conversion and can be detected in a peephole way. The loop above requires two generalisations of the current code: support for addition as well as logical ops, and support for non-constant second operands. These are harder to detect in the same peephole way, so the patch tries to take a more global approach. The idea is to get information about the minimum operation width in two ways: (1) by using the range information attached to the SSA_NAMEs (effectively a forward walk, since the range info is context-independent). (2) by back-propagating the number of output bits required by users of the result. As explained in the comments, there's a balance to be struck between narrowing an individual operation and fitting in with the surrounding code. The approach is pretty conservative: if we could narrow an operation to N bits without changing its semantics, it's OK to do that if: - no operations later in the chain require more than N bits; or - all internally-defined inputs are extended from N bits or fewer, and at least one of them is single-use. See the comments for the rationale. I didn't bother adding STMT_VINFO_* wrappers for the new fields since the code seemed more readable without. 2018-06-20 Richard Sandiford <richard.sandiford@arm.com> gcc/ * poly-int.h (print_hex): New function. * dumpfile.h (dump_dec, dump_hex): Declare. * dumpfile.c (dump_dec, dump_hex): New poly_wide_int functions. * tree-vectorizer.h (_stmt_vec_info): Add min_output_precision, min_input_precision, operation_precision and operation_sign. * tree-vect-patterns.c (vect_get_range_info): New function. (vect_same_loop_or_bb_p, vect_single_imm_use) (vect_operation_fits_smaller_type): Delete. (vect_look_through_possible_promotion): Add an optional single_use_p parameter. (vect_recog_over_widening_pattern): Rewrite to use new stmt_vec_info infomration. Handle one operation at a time. (vect_recog_cast_forwprop_pattern, vect_narrowable_type_p) (vect_truncatable_operation_p, vect_set_operation_type) (vect_set_min_input_precision): New functions. (vect_determine_min_output_precision_1): Likewise. (vect_determine_min_output_precision): Likewise. (vect_determine_precisions_from_range): Likewise. (vect_determine_precisions_from_users): Likewise. (vect_determine_stmt_precisions, vect_determine_precisions): Likewise. (vect_vect_recog_func_ptrs): Put over_widening first. Add cast_forwprop. (vect_pattern_recog): Call vect_determine_precisions. gcc/testsuite/ * gcc.dg/vect/vect-widen-mult-u8-u32.c: Check specifically for a widen_mult pattern. * gcc.dg/vect/vect-over-widen-1.c: Update the scan tests for new over-widening messages. * gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise. * gcc.dg/vect/vect-over-widen-2.c: Likewise. * gcc.dg/vect/vect-over-widen-2-big-array.c: Likewise. * gcc.dg/vect/vect-over-widen-3.c: Likewise. * gcc.dg/vect/vect-over-widen-3-big-array.c: Likewise. * gcc.dg/vect/vect-over-widen-4.c: Likewise. * gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise. * gcc.dg/vect/bb-slp-over-widen-1.c: New test. * gcc.dg/vect/bb-slp-over-widen-2.c: Likewise. * gcc.dg/vect/vect-over-widen-5.c: Likewise. * gcc.dg/vect/vect-over-widen-6.c: Likewise. * gcc.dg/vect/vect-over-widen-7.c: Likewise. * gcc.dg/vect/vect-over-widen-8.c: Likewise. * gcc.dg/vect/vect-over-widen-9.c: Likewise. * gcc.dg/vect/vect-over-widen-10.c: Likewise. * gcc.dg/vect/vect-over-widen-11.c: Likewise. * gcc.dg/vect/vect-over-widen-12.c: Likewise. * gcc.dg/vect/vect-over-widen-13.c: Likewise. * gcc.dg/vect/vect-over-widen-14.c: Likewise. * gcc.dg/vect/vect-over-widen-15.c: Likewise. * gcc.dg/vect/vect-over-widen-16.c: Likewise. * gcc.dg/vect/vect-over-widen-17.c: Likewise. * gcc.dg/vect/vect-over-widen-18.c: Likewise. * gcc.dg/vect/vect-over-widen-19.c: Likewise. * gcc.dg/vect/vect-over-widen-20.c: Likewise. * gcc.dg/vect/vect-over-widen-21.c: Likewise. From-SVN: r262333
Richard Sandiford committed -
r262275 allowed pattern matching on pattern statements. Testing for SVE on more benchmarks showed a case where this interacted badly with 14/n. The new over-widening detection could narrow a COND_EXPR A to another COND_EXPR B, which mixed_size_cond could then match. This was working as expected. However, we left B (now dead) in the pattern definition sequence with a non-null PATTERN_DEF_SEQ. mask_conversion also matched B, and unlike most recognisers, didn't clear PATTERN_DEF_SEQ before adding statements to it. This meant that the statements created by mixed_size_cond appeared in two supposedy separate sequences, causing much confusion. This patch removes pattern statements that are replaced by further pattern statements. As a belt-and-braces fix, it also nullifies PATTERN_DEF_SEQ on failure, in the same way Richard B. did recently for RELATED_STMT. I have patches to clean up the PATTERN_DEF_SEQ handling, but they only apply after the complete PR85694 sequence, whereas this needs to go in before 14/n. 2018-07-03 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vect-patterns.c (vect_mark_pattern_stmts): Remove pattern statements that have been replaced by further pattern statements. (vect_pattern_recog_1): Clear STMT_VINFO_PATTERN_DEF_SEQ on failure. gcc/testsuite/ * gcc.dg/vect/vect-mixed-size-cond-1.c: New test. From-SVN: r262332
Richard Sandiford committed -
2018-07-03 Richard Biener <rguenther@suse.de> * tree-vect-stmts.c (vect_is_simple_use): Consolidate dumping, always set *dt. Dump vectype in vectype overload. * dumpfile.h (dump_gimple_expr): New function. (dump_gimple_expr_loc): Likewise. * dumpfile.c (dump_gimple_expr): New function. (dump_gimple_expr_loc): Likewise. From-SVN: r262330
Richard Biener committed -
h8300.md (movqi_h8300, [...]): Consolidate the H8/300, H8/300H and H8/S variants into a single pattern. * config/h8300/h8300.md (movqi_h8300, movqi_h8300hs): Consolidate the H8/300, H8/300H and H8/S variants into a single pattern. (movhi_h8300, movqi_h8300hs): Similarly. (pushqi_h8300hs, pushhi_h8300hs): Consolidate into a single pattern. (QHI mode iterator): New. From-SVN: r262329
Jeff Law committed -
From-SVN: r262328
Jeff Law committed -
gcc/ * config/riscv/riscv.c (riscv_expand_epilogue): Use emit_jump_insn instead of emit_insn for interrupt returns. * config/riscv/riscv.md (riscv_met): Add (return) to rtl. (riscv_sret, riscv_uret): Likewise. gcc/testsuite/ * gcc.target/riscv/interrupt-debug.c: New. From-SVN: r262327
Jim Wilson committed -
From-SVN: r262326
GCC Administrator committed
-
- 02 Jul, 2018 23 commits
-
-
Extend __is_convertible_helper to also detect whether the conversion is non-throwing, for std::is_nothrow_convertible in C++2a, * include/std/type_traits [__cplusplus > 201703] (__is_convertible_helper::__is_nothrow_type): Define new member. (__is_convertible_helper<_From, _To, false>::__test_aux1): Add noexcept. (__is_convertible_helper<_From, _To, false>::__test_nothrow) (__is_convertible_helper<_From, _To, false>::__is_nothrow_type): Add new members. (is_nothrow_convertible, is_nothrow_convertible_v): Define for C++2a. * testsuite/20_util/is_nothrow_convertible/value.cc: New. * testsuite/20_util/is_nothrow_convertible/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc: New. From-SVN: r262322
Jonathan Wakely committed -
parser.c (set_and_check_decl_spec_loc): Use rich_location::add_range in error message about __thread and thread_local... /cp 2018-07-02 Paolo Carlini <paolo.carlini@oracle.com> * parser.c (set_and_check_decl_spec_loc): Use rich_location::add_range in error message about __thread and thread_local at the same time. /testsuite 2018-07-02 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/diagnostic/thread-thread_local.C: New. From-SVN: r262321
Paolo Carlini committed -
* include/std/type_traits (type_identity, type_identity_t): Define for C++2a. * testsuite/20_util/type_identity/requirements/alias_decl.cc: New. * testsuite/20_util/type_identity/requirements/ explicit_instantiation.cc:New. * testsuite/20_util/type_identity/requirements/typedefs.cc: New. From-SVN: r262319
Jonathan Wakely committed -
Avoid creation of unnecessary basic_string objects by using a simplified string_view type and performing comparisons on that type instead. A temporary basic_string object is still used when the sub_match's iterators are not contiguous, in order to get an object that the __string_view can reference. * include/bits/regex.h (sub_match::operator string_type): Call str(). (sub_match::compare): Use _M_str() instead of str(). (sub_match::_M_compare): New public function. (sub_match::__string_view): New helper type. (sub_match::_M_str): New overloaded functions to avoid creating a string_type object when not needed. (operator==, operator!=, operator<, operator>, operator<=, operator>=): Use sub_match::_M_compare instead of creating string_type objects. Fix Doxygen comments. * include/bits/regex_compiler.h (__has_contiguous_iter): Remove. (__is_contiguous_normal_iter): Rename to __is_contiguous_iter and simplify. (__enable_if_contiguous_iter, __disable_if_contiguous_iter): Use __enable_if_t. * include/std/type_traits (__enable_if_t): Define for C++11. * testsuite/28_regex/sub_match/compare.cc: New. * testsuite/util/testsuite_iterators.h (remove_cv): Add transformation trait. (input_iterator_wrapper): Use remove_cv for value_type argument of std::iterator base class. From-SVN: r262318
Jonathan Wakely committed -
This patch moves a workaround for locale differences from a selftest in pretty-print.c to selftest.h/c to make it reusable; I need this for a selftest in a followup patch. gcc/ChangeLog: * pretty-print.c (selftest::test_pp_format): Move save and restore of quotes to class auto_fix_quotes, and add an instance. * selftest.c: Include "intl.h". (selftest::auto_fix_quotes::auto_fix_quotes): New ctor. (selftest::auto_fix_quotes::~auto_fix_quotes): New dtor. * selftest.h (selftest::auto_fix_quotes): New class. From-SVN: r262317
David Malcolm committed -
PR go/86331 os: check return value as well as error from waitid https://gcc.gnu.org/PR86331 indicates that if a signal handler runs it is possible for syscall.Syscall6 to return a non-zero errno value even if no error occurs. That is a problem in general, but this fix will let us work around the general problem for the specific case of calling waitid. Reviewed-on: https://go-review.googlesource.com/121595 From-SVN: r262313
Ian Lance Taylor committed -
* config/aarch64/aarch64-protos.h, config/aarch64/aarch64.c (aarch64_sve_prepare_conditional_op): Remove. * config/aarch64/aarch64-sve.md (cond_<SVE_INT_BINARY><SVE_I>): Allow aarch64_simd_reg_or_zero as select operand; remove the aarch64_sve_prepare_conditional_op call. (cond_<SVE_INT_BINARY_SD><SVE_SDI>): Likewise. (cond_<SVE_COND_FP_BINARY><SVE_F>): Likewise. (*cond_<SVE_INT_BINARY><SVE_I>_z): New pattern. (*cond_<SVE_INT_BINARY_SD><SVE_SDI>_z): New pattern. (*cond_<SVE_COND_FP_BINARY><SVE_F>_z): New pattern. (*cond_<SVE_INT_BINARY><SVE_I>_any): New pattern. (*cond_<SVE_INT_BINARY_SD><SVE_SDI>_any): New pattern. (*cond_<SVE_COND_FP_BINARY><SVE_F>_any): New pattern and a splitters to match all of the *_any patterns. * config/aarch64/predicates.md (aarch64_sve_any_binary_operator): New. * config/aarch64/iterators.md (SVE_INT_BINARY_REV): Remove. (SVE_COND_FP_BINARY_REV): Remove. (sve_int_op_rev, sve_fp_op_rev): New. * config/aarch64/aarch64-sve.md (*cond_<SVE_INT_BINARY><SVE_I>_0): New. (*cond_<SVE_INT_BINARY_SD><SVE_SDI>_0): New. (*cond_<SVE_COND_FP_BINARY><SVE_F>_0): New. (*cond_<SVE_INT_BINARY><SVE_I>_2): Rename, add movprfx alternative. (*cond_<SVE_INT_BINARY_SD><SVE_SDI>_2): Similarly. (*cond_<SVE_COND_FP_BINARY><SVE_F>_2): Similarly. (*cond_<SVE_INT_BINARY><SVE_I>_3): Similarly; use sve_int_op_rev. (*cond_<SVE_INT_BINARY_SD><SVE_SDI>_3): Similarly. (*cond_<SVE_COND_FP_BINARY><SVE_F>_3): Similarly; use sve_fp_op_rev. * config/aarch64/aarch64-sve.md (cond_<SVE_COND_FP_BINARY><SVE_F>): Remove match_dup 1 from the inner unspec. (*cond_<SVE_COND_FP_BINARY><SVE_F>): Likewise. * config/aarch64/aarch64.md (movprfx): New attr. (length): Default movprfx to 8. * config/aarch64/aarch64-sve.md (*mul<SVE_I>3): Add movprfx alt. (*madd<SVE_I>, *msub<SVE_I): Likewise. (*<su>mul<SVE_I>3_highpart): Likewise. (*<SVE_INT_BINARY_SD><SVE_SDI>3): Likewise. (*v<ASHIFT><SVE_I>3): Likewise. (*<su><MAXMIN><SVE_I>3): Likewise. (*<su><MAXMIN><SVE_F>3): Likewise. (*fma<SVE_F>4, *fnma<SVE_F>4): Likewise. (*fms<SVE_F>4, *fnms<SVE_F>4): Likewise. (*div<SVE_F>4): Likewise. From-SVN: r262312
Richard Henderson committed -
2018-07-02 Martin Liska <mliska@suse.cz> PR testsuite/86366 * gcc.dg/profile-dir-1.c: Fix scanned pattern. * gcc.dg/profile-dir-2.c: Likewise. * gcc.dg/profile-dir-3.c: Likewise. From-SVN: r262311
Martin Liska committed -
2018-07-02 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/arm/arm-soft-strd-even.c: Skip if -mfloat-abi is overriden. From-SVN: r262309
Christophe Lyon committed -
Noticed by Christophe on arm-none-linux-gnueabihf. 2018-07-02 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vect-patterns.c (vect_recog_widen_shift_pattern): Fix typo in dump string. From-SVN: r262308
Richard Sandiford committed -
2018-07-02 Richard Biener <rguenther@suse.de> PR tree-optimization/86363 * tree-ssa-sccvn.c (vn_reference_lookup_3): Check the memset argument refers to a non-variable address. * gcc.dg/torture/pr86363.c: New testcase. From-SVN: r262307
Richard Biener committed -
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 7 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
-