- 06 Jun, 2019 22 commits
-
-
* testsuite/23_containers/unordered_map/requirements/debug_container.cc: Do not test allocator rebinding extension for C++2a. * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Change dg-do directive for C++17 and C++2a. From-SVN: r272009
Jonathan Wakely committed -
2019-06-06 Andrew Stubbs <ams@codesourcery.com> gcc/ * config.gcc (amdgcn-*-*): Allow --with-arch=gfx906. * config/gcn/gcn.opt (gpu_type): Add gfx906. * config/gcn/t-gcn-hsa (MULTILIB_OPTIONS): Add gfx906 multilib. (MULTILIB_DIRNAMES): Rename gcn5 to gfx900. Add gfx906. From-SVN: r272007
Andrew Stubbs committed -
This patch fixes the failing gcc.dg/vect/slp-reduc-sad-2.c testcase on aarch64 by implementing a vec_init optab that can handle two half-width vectors producing a full-width one by concatenating them. In the gcc.dg/vect/slp-reduc-sad-2.c case it's a V8QI reg concatenated with a V8QI const_vector of zeroes. This can be implemented efficiently using the aarch64_combinez pattern that just loads a D-register to make use of the implicit zero-extending semantics of that load. Otherwise it concatenates the two vector using aarch64_simd_combine. With this patch I'm seeing the effect from richi's original patch that added gcc.dg/vect/slp-reduc-sad-2.c on aarch64 and 525.x264_r improves by about 1.5%. PR tree-optimization/90332 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Handle VALS containing two vectors. * config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Rename to... (@aarch64_combinez<mode>): ... This. (*aarch64_combinez_be<mode>): Rename to... (@aarch64_combinez_be<mode>): ... This. (vec_init<mode><Vhalf>): New define_expand. * config/aarch64/iterators.md (Vhalf): Handle V8HF. From-SVN: r272002
Kyrylo Tkachov committed -
The GNU extension that allows using the wrong allocator type with a container is disabled for C++2a mode, because the standard now requires a diagnostic. Fix the tests that fail when -std=gnu++2a is used. Also remove some reundant tests that are duplicates of another test except for a target specifier of c++11. Those tests previously set -std=gnu++11 explicitly but that was replaced globally with a target specifier. These tests existed to verify that explicit instantiation worked for both C++98 and C++11 modes, but now do nothing because both copies of the test use -std=gnu++14 by default. Instead of duplicating the test we should be regularly running the whole testsuite with different -std options. * testsuite/23_containers/deque/requirements/explicit_instantiation/ 1_c++0x.cc: Remove redundant test. * testsuite/23_containers/deque/requirements/explicit_instantiation/ 2.cc: Use target selector instead of preprocessor condition. * testsuite/23_containers/deque/requirements/explicit_instantiation/ 3.cc: Do not run test for C++2a. * testsuite/23_containers/forward_list/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/forward_list/requirements/ explicit_instantiation/5.cc: Do not test allocator rebinding extension for C++2a. * testsuite/23_containers/list/requirements/explicit_instantiation/ 1_c++0x.cc: Remove redundant test. * testsuite/23_containers/list/requirements/explicit_instantiation/ 2.cc: Use target selector instead of preprocessor condition. * testsuite/23_containers/list/requirements/explicit_instantiation/ 3.cc: Do not run test for C++2a. * testsuite/23_containers/list/requirements/explicit_instantiation/ 5.cc: Do not test allocator rebinding extension for C++2a. * testsuite/23_containers/map/requirements/explicit_instantiation/ 1_c++0x.cc: Remove redundant test. * testsuite/23_containers/map/requirements/explicit_instantiation/ 2.cc: Adjust comment. * testsuite/23_containers/map/requirements/explicit_instantiation/ 3.cc: Do not run test for C++2a. * testsuite/23_containers/map/requirements/explicit_instantiation/ 5.cc: Do not test allocator rebinding extension for C++2a. * testsuite/23_containers/multimap/requirements/explicit_instantiation/ 1_c++0x.cc: Remove redundant test. * testsuite/23_containers/multimap/requirements/explicit_instantiation/ 3.cc: Do not run test for C++2a. * testsuite/23_containers/multimap/requirements/explicit_instantiation/ 5.cc: Do not test allocator rebinding extension for C++2a. * testsuite/23_containers/multiset/requirements/explicit_instantiation/ 3.cc: Do not run test for C++2a. * testsuite/23_containers/multiset/requirements/explicit_instantiation/ 5.cc: Do not test allocator rebinding extension for C++2a. * testsuite/23_containers/set/requirements/explicit_instantiation/3.cc: Do not run test for C++2a. * testsuite/23_containers/set/requirements/explicit_instantiation/ 1_c++0x.cc: Remove redundant test. * testsuite/23_containers/set/requirements/explicit_instantiation/5.cc: Do not test allocator rebinding extension for C++2a. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation/5.cc: Do not test allocator rebinding extension for C++2a. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation/3.cc: Do not run test for C++2a. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation/5.cc: Do not test allocator rebinding extension for C++2a. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation/3.cc: Do not run test for C++2a. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation/5.cc: Do not test allocator rebinding extension for C++2a. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation/3.cc: Do not run test for C++2a. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation/5.cc: Do not test allocator rebinding extension for C++2a. * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/ 2.cc: Remove redundant test. * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/ 3.cc: Do not run test for C++2a. * testsuite/23_containers/vector/requirements/explicit_instantiation/ 3.cc: Likewise. From-SVN: r272001
Jonathan Wakely committed -
The type property predicates that are implemented by a compiler builtin already do the right checks in the compiler. The checks for complete type or unbounded arrays were wrong for these types anyway. * include/std/type_traits (is_empty, is_polymorphic, is_final) (is_abstract, is_aggregate): Remove static_assert. * testsuite/20_util/is_abstract/incomplete_neg.cc: Check for error from builtin only. * testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise. Add missing -std=gnu++17 option. * testsuite/20_util/is_empty/incomplete_neg.cc: New test. * testsuite/20_util/is_final/incomplete_neg.cc: New test. * testsuite/20_util/is_polymorphic/incomplete_neg.cc: Check for error from builtin only. From-SVN: r272000
Jonathan Wakely committed -
* testsuite/18_support/set_terminate.cc: Do not run for C++98 mode. * testsuite/18_support/set_unexpected.cc: Likewise. * testsuite/20_util/is_nothrow_invocable/value.cc: Test converting to void. * testsuite/20_util/is_nothrow_invocable/value_ext.cc: Fix constexpr function to be valid in C++11. * testsuite/26_numerics/complex/proj.cc: Do not run for C++98 mode. * testsuite/experimental/names.cc: Do not run for C++98 mode. Do not include Library Fundamentals or Networking headers in C++11 mode. * testsuite/ext/char8_t/atomic-1.cc: Do not run for C++98 mode. From-SVN: r271999
Jonathan Wakely committed -
Replace the _TC class template with the better-named _TupleConstraints one, which provides a different set of member functions. The new members do not distinguish construction from lvalues and rvalues, but expects the caller to do that by providing different template arguments. Within the std::tuple primary template and std::tuple<T1, T2> partial specialization the _TupleConstraints members are used via new alias templates like _ImplicitCtor and _ExplicitCtor which makes the constructor constraints less verbose and repetitive. For example, where we previously had: template<typename... _UElements, typename enable_if< _TMC<_UElements...>::template _MoveConstructibleTuple<_UElements...>() && _TMC<_UElements...>::template _ImplicitlyMoveConvertibleTuple<_UElements...>() && (sizeof...(_Elements) >= 1), bool>::type=true> constexpr tuple(_UElements&&... __elements) We now have: template<typename... _UElements, bool _Valid = __valid_args<_UElements...>(), _ImplicitCtor<_Valid, _UElements...> = true> constexpr tuple(_UElements&&... __elements) There are two semantic changes as a result of the refactoring: - The allocator-extended default constructor is now constrained. - The rewritten constraints fix PR 90700. * include/std/tuple (_TC): Replace with _TupleConstraints. (_TupleConstraints): New helper for SFINAE constraints, with more expressive member functions to reduce duplication when used. (tuple::_TC2, tuple::_TMC, tuple::_TNTC): Remove. (tuple::_TCC): Replace dummy type parameter with bool non-type parameter that can be used to check the pack size. (tuple::_ImplicitDefaultCtor, tuple::_ExplicitDefaultCtor) (tuple::_ImplicitCtor, tuple::_ExplicitCtor): New alias templates for checking constraints in constructors. (tuple::__valid_args, tuple::_UseOtherCtor, tuple::__use_other_ctor): New SFINAE helpers. (tuple::tuple): Use new helpers to reduce repitition in constraints. (tuple::tuple(allocator_arg_t, const Alloc&)): Constrain. (tuple<T1, T2>::_TCC, tuple<T1, T2>::_ImplicitDefaultCtor) (tuple<T1, T2>::_ExplicitDefaultCtor, tuple<T1, T2>::_ImplicitCtor) (tuple<T1, T2>::_ExplicitCtor): New alias templates for checking constraints in constructors. (tuple::__is_alloc_arg()): New SFINAE helpers. (tuple<T1, T2>::tuple): Use new helpers to reduce repitition in constraints. (tuple<T1, T2>::tuple(allocator_arg_t, const Alloc&)): Constrain. * testsuite/20_util/tuple/cons/90700.cc: New test. * testsuite/20_util/tuple/cons/allocators.cc: Add default constructor to meet new constraint on allocator-extended default constructor. From-SVN: r271998
Jonathan Wakely committed -
gcc/ChangeLog 2019-06-06 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config/msp430/msp430.md (ashlhi3): Use the const_variant of shift library functions only when not optimizing for size. (ashlsi3): Likewise. (ashrhi3): Likewise. (ashrsi3): Likewise. (lshrhi3): Likewise. (lshrsi3): Likewise. gcc/testsuite/ChangeLog 2019-06-06 Jozef Lawrynowicz <jozef.l@mittosystems.com> * gcc.target/msp430/size-optimized-shifts.c: New test. From-SVN: r271997
Jozef Lawrynowicz committed -
Fix PR88751 This patch implements a small improvement for the heuristic in lra which decides when it has to activate the simpler register allocation algorithm. gcc/ChangeLog: 2019-06-06 Andreas Krebbel <krebbel@linux.ibm.com> PR rtl-optimization/88751 * ira.c (ira): Use the number of the actually referenced registers when calculating the threshold. From-SVN: r271996
Andreas Krebbel committed -
From-SVN: r271994
Jakub Jelinek committed -
gcc/ChangeLog 2019-06-06 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config/msp430/msp430.md (ashlhi3): Force shift src operand into a register if it is in memory, so the shift can be emulated with a rotate instruction. (ashrhi3): Likewise. (lshrhi3): Likewise. gcc/testsuite/ChangeLog 2019-06-06 Jozef Lawrynowicz <jozef.l@mittosystems.com> * gcc.target/msp430/emulate-slli.c: New test. * gcc.target/msp430/emulate-srai.c: New test. * gcc.target/msp430/emulate-srli.c: New test. From-SVN: r271993
Jozef Lawrynowicz committed -
2019-06-06 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config/msp430/slli.S (__mspabi_slli_n): Put function in its own section. (__mspabi_slli): Likewise. (__mspabi_slll_n): Likewise. (__mspabi_slll): Likewise. * config/msp430/srai.S (__mspabi_srai_n): Likewise. (__mspabi_srai): Likewise. (__mspabi_sral_n): Likewise. (__mspabi_sral): Likewise. * config/msp430/srli.S (__mspabi_srli_n): Likewise. (__mspabi_srli): Likewise. (__mspabi_srll_n): Likewise. (__mspabi_srll): Likewise. From-SVN: r271992
Jozef Lawrynowicz committed -
2019-06-06 Martin Liska <mliska@suse.cz> PR tree-optimization/87954 * match.pd: Simplify mult where both arguments are 0 or 1. 2019-06-06 Martin Liska <mliska@suse.cz> PR tree-optimization/87954 * gcc.dg/pr87954.c: New test. From-SVN: r271991
Martin Liska committed -
2019-06-06 Richard Biener <rguenther@suse.de> * vr-values.c (vr_values::extract_range_from_ssa_name): Do not put equivalences on UNDEFINED ranges. * gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children): Make sure to drop defs of stmts added during simplification to VARYING. From-SVN: r271990
Richard Biener committed -
2019-06-06 Richard Biener <rguenther@suse.de> * tree-ssa-structalias.c: Include tree-cfg.h. (make_heapvar): Do not make heap vars artificial. (find_func_aliases_for_builtin_call): Handle stack allocation functions. (find_func_aliases): Delay processing of simple enough returns in non-IPA mode. (set_uids_in_ptset): Adjust. (find_what_var_points_to): Likewise. (solve_constraints): Do not dump points-to sets here. (compute_points_to_sets): Post-process return statements, amending the escaped solution. Dump points-to sets afterwards. (ipa_pta_execute): Dump points-to sets. * gcc.dg/tree-ssa/alias-37.c: New testcase. * gcc.dg/torture/20190604-1.c: Likewise. * gcc.dg/tree-ssa/pta-callused.c: Adjust. From-SVN: r271989
Richard Biener committed -
2019-06-06 Martin Liska <mliska@suse.cz> PR web/87933 * doc/install.texi: Fix HTML headers and titles for 'Installing GCC' pages. From-SVN: r271988
Martin Liska committed -
2019-06-06 Martin Liska <mliska@suse.cz> * ipa-icf-gimple.h (dump_message_1): Remove. (dump_message): Likewise. (return_false_with_message_1): Print also file. (return_false_with_msg): Likewise. (return_with_result): Likewise. (return_with_debug): Likewise. * ipa-icf.c (sem_function::equals_private): Remove call to dump_message. From-SVN: r271987
Martin Liska committed -
Fix order of dg-directives such that tests are executed only when there is no command line cpu option given. gcc/testsuite/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * gcc.target/arc/tmac-1.c: Reoreder dg-directives. * gcc.target/arc/tmac-2.c: Likewise. From-SVN: r271986
Claudiu Zissulescu committed -
PR c/90737 - [8/9/10 Regression] inconsistent address of a local converted to intptr_t between callee and caller gcc/c/ChangeLog: PR c/90737 * c-typeck.c (c_finish_return): Only consider functions returning pointers as candidates for -Wreturn-local-addr. gcc/cp/ChangeLog: PR c/90737 * typeck.c (maybe_warn_about_returning_address_of_local): Only consider functions returning pointers as candidates for -Wreturn-local-addr. gcc/testsuite/ChangeLog: PR c/90737 * c-c++-common/Wreturn-local-addr.c: New test. * g++.dg/warn/Wreturn-local-addr-6.C: New test. From-SVN: r271985
Martin Sebor committed -
gcc/ 2019-06-05 Hongtao Liu <hongtao.liu@intel.com> * config/i386/sse.md (define_mode_suffix vecmemsuffix): New. (define_insn "avx512dq_fpclass<mode><mask_scalar_merge_name>"): Enable memory operand for it. (define_insn "avx512dq_vmfpclass<mode><mask_scalar_merge_name>"): Ditto. gcc/testsuite 2019-06-05 Hongtao Liu <hongtao.liu@intel.com> * gcc.target/i386/avx512dq-vfpclasspd-1.c: Adjust scan assember for {x,y,z} suffix. * gcc.target/i386/avx512dq-vfpclassps-1.c: Ditto. From-SVN: r271984
Hongtao Liu committed -
In the runtime there are specialized fast map routines for certain kep types. This CL lets the compiler make use of these functions, instead of always using the generic ones. As we now generate multiple versions of map delete calls, to make things easier we delay the expansion of the built-in delete function to flatten phase. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/180858 From-SVN: r271983
Ian Lance Taylor committed -
From-SVN: r271982
GCC Administrator committed
-
- 05 Jun, 2019 18 commits
-
-
* config.host (rx-*-linux*): Add t-fdpbit to tmake_file Add appropriate tm_file clause as well. * config/rx/t-rx (HOST_LIBGCC2_CFLAGS): Remove. From-SVN: r271978
Yoshinori Sato committed -
* config/ia64/crtbegin.S (__dso_handle): Put in .sdata/.sbss rather than .data/.bss so it can be accessed via gp-relative addressing. From-SVN: r271977
James Clarke committed -
Scan inlinable methods for references to global variables and functions (forgot to do that earlier). Track all packages mentioned by exports (that should have been done earlier too). Record assembler name in export data, so that we can inline calls to non-Go functions. Modify gccgoimporter code to skip assembler name. This increases the number of inlinable functions in the standard library from 215 to 439. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/180677 From-SVN: r271976
Ian Lance Taylor committed -
gcc/testsuite/ChangeLog: * gcc.dg/format/gcc_diag-11.c: Skip until -Wformat-diag has been committed. From-SVN: r271975
Martin Sebor committed -
/cp 2019-06-05 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (smallest_type_location): New. (check_special_function_return_type): Use it. (grokdeclarator): Lkewise. /testsuite 2019-06-05 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/diagnostic/return-type-invalid-1.C: New. * g++.old-deja/g++.brendan/crash16.C: Adjust. * g++.old-deja/g++.law/ctors5.C: Likewise. /cp 2019-06-05 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (grokdeclarator): Use locations[ds_friend] in one place. /testsuite 2019-06-05 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/other/friend4.C: Test locations too. * g++.dg/other/friend5.C: Likewise. * g++.dg/other/friend7.C: Likewise. From-SVN: r271974
Paolo Carlini committed -
gcc/c/ChangeLog: * c-decl.c (start_decl): Adjust quoting and hyphenation in diagnostics. (finish_decl): Same. (finish_enum): Same. (start_function): Same. (declspecs_add_type): Same. * c-parser.c (warn_for_abs): Same. * c-typeck.c (build_binary_op): Same. gcc/c-family/ChangeLog: * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation. (handle_alias_ifunc_attribute): Same. (handle_copy_attribute): Same. (handle_weakref_attribute): Same. (handle_nonnull_attribute): Same. * c-warn.c (warn_for_sign_compare): Same. (warn_for_restrict): Same. * c.opt: Same. gcc/cp/ChangeLog: * call.c (build_conditional_expr_1): Adjust quoting and hyphenation. (convert_like_real): Same. (convert_arg_to_ellipsis): Same. * constexpr.c (diag_array_subscript): Same. * constraint.cc (diagnose_trait_expression): Same. * cvt.c (ocp_convert): Same. * decl.c (start_decl): Same. (check_for_uninitialized_const_var): Same. (grokfndecl): Same. (check_special_function_return_type): Same. (finish_enum_value_list): Same. (start_preparsed_function): Same. * parser.c (cp_parser_decl_specifier_seq): Same. * typeck.c (cp_build_binary_op): Same. (build_static_cast_1): Same. gcc/lto/ChangeLog: * lto-common.c (lto_file_finalize): Adjust quoting and hyphenation. gcc/objc/ChangeLog: * objc-act.c (objc_build_setter_call): Adjust quoting and hyphenation. * objc-encoding.c (encode_gnu_bitfield): Same. gcc/ChangeLog: * config/i386/i386-features.c (ix86_get_function_versions_dispatcher): Adjust quoting and hyphenation. * convert.c (convert_to_real_1): Same. * gcc.c (driver_wrong_lang_callback): Same. (driver::handle_unrecognized_options): Same. * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Same. * opts-common.c (cmdline_handle_error): Same. (read_cmdline_option): Same. * opts-global.c (complain_wrong_lang): Same. (print_ignored_options): Same. (handle_common_deferred_options): Same. * pretty-print.h: Same. * print-rtl.c (debug_bb_n_slim): Same. * sched-rgn.c (make_pass_sched_fusion): Same. * tree-cfg.c (verify_gimple_assign_unary): Same. (verify_gimple_label): Same. * tree-ssa-operands.c (verify_ssa_operands): Same. * varasm.c (do_assemble_alias): Same. (assemble_alias): Same. From-SVN: r271971
Martin Sebor committed -
* config/alpha/alpha.c (direct_return): Move down after struct machine_function definition; use saved frame_size; return bool. (struct machine_function): Add sa_mask, sa_size, frame_size. (alpha_sa_mask, alpha_sa_size, compute_frame_size): Merge into ... (alpha_compute_frame_layout): ... new function. (TARGET_COMPUTE_FRAME_LAYOUT): New. (alpha_initial_elimination_offset): Use saved sa_size. (alpha_vms_initial_elimination_offset): Likewise. (alpha_vms_can_eliminate): Remove alpha_sa_size call. (alpha_expand_prologue): Use saved frame data. Merge integer and fp register save loops. (alpha_expand_epilogue): Likewise. (alpha_start_function): Use saved frame data. * config/alpha/alpha-protos.h (direct_return): Update. (alpha_sa_size): Remove. From-SVN: r271970
Richard Henderson committed -
From-SVN: r271969
Nina Dinka Ranns committed -
2019-06-04 Nina Dinka Ranns <dinka.ranns@gmail.com> gcc/cp/ * pt.c (listify_autos): Use non cv qualified auto_node in std::initializer_list<auto>. testsuite/ * g++.dg/cpp0x/initlist-deduce2.C: New test. From-SVN: r271968
Nina Dinka Ranns committed -
* config/rs6000/aix-unwind.h (LR_REGNO): Rename to R_LR. (CR2_REGNO): Rename to R_CR2. (XER_REGNO): Rename to R_XER. (FIRST_ALTIVEC_REGNO): Rename to R_FIRST_ALTIVEC. (VRSAVE_REGNO): Rename to R_VRSAVE. (VSCR_REGNO): R_VSCR. From-SVN: r271967
David Edelsohn committed -
At least with -m32 you need -maltivec if you #include <altivec.h>. gcc/testsuite/ * g++.target/powerpc/undef-bool-3.C: Add -maltivec to dg-options. From-SVN: r271966
Segher Boessenkool committed -
gcc/c-family/ChangeLog: * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic. * c.opt (-Wformat-diag): Remove a spurious period. gcc/testsuite/ChangeLog: * gcc.dg/weak/weak-19.c: New test. From-SVN: r271965
Martin Sebor committed -
* fold-const.c (extract_muldiv_1) <PLUS_EXPR>: Do not distribute a multiplication by a power-of-two value. (fold_plusminus_mult_expr): Use pow2p_hwi to spot a power-of-two value and turn the modulo operation into a masking operation. From-SVN: r271963
Eric Botcazou committed -
gcc/testsuite/ChangeLog * gcc.target/aarch64/return_address_sign_b_1.c: New file. * gcc.target/aarch64/return_address_sign_b_2.c: New file. * gcc.target/aarch64/return_address_sign_b_3.c: New file. * gcc.target/aarch64/return_address_sign_builtin.c: New file. * g++.target/aarch64/return_address_sign_ab_exception.C: New file. * g++.target/aarch64/return_address_sign_b_exception.C: New file. From-SVN: r271954
Sam Tebbs committed -
PR debug/90733 * var-tracking.c (vt_expand_loc_callback): Don't create raw subregs with VOIDmode inner operands. * gcc.dg/pr90733.c: New test. From-SVN: r271952
Jakub Jelinek committed -
2019-06-05 Richard Biener <rguenther@suse.de> PR middle-end/90726 * tree-ssa-loop-niter.c (expand_simple_operations): Do not turn an expression graph into a tree. * gcc.dg/pr90726.c: Enable IVOPTs. From-SVN: r271950
Richard Biener committed -
* omp-expand.c (struct omp_region): Add has_lastprivate_conditional member. (expand_parallel_call): If region->inner->has_lastprivate_conditional, treat it like explicit monotonic schedule modifier. (expand_omp_for): Initialize has_lastprivate_conditional. If fd.lastprivate_conditional != 0, treat it like explicit monotonic schedule modifier. From-SVN: r271949
Jakub Jelinek committed -
* omp-low.c (lower_rec_input_clauses): For lastprivate conditional references, lookup in in hash map MEM_REF operand instead of the MEM_REF itself. (lower_omp_1): When looking for lastprivate conditional assignments, handle MEM_REFs with REFERENCE_TYPE operands. * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test. * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test. From-SVN: r271948
Jakub Jelinek committed
-