Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r265937
|
|
From-SVN: r265936
|
|
* gcc.dg/pr87874.c (em): Declare uint64_max as
const unsigned long long int.
From-SVN: r265929
|
|
overflow when...
2018-11-08 Jozef Lawrynowicz <jozef.l@mittosystems.com>
* gcc.dg/attr-alloc_size-10.c: Fix calculation of USHRT_MAX to prevent
integer overflow when sizeof(short) == sizeof(int).
* gcc.dg/attr-alloc_size-11.c: Likewise.
* gcc.dg/attr-alloc_size-3.c: Likewise.
* gcc.dg/attr-alloc_size-5.c: Likewise.
* gcc.dg/builtin-stringop-chk-7.c: Likewise.
From-SVN: r265928
|
|
instructions in assembler output.
2018-11-08 Jozef Lawrynowicz <jozef.l@mittosystems.com>
* c-c++-common/patchable_function_entry-decl.c: Add regex to search for
uppercase "NOP" instructions in assembler output.
* c-c++-common/patchable_function_entry-default.c: Likewise.
* c-c++-common/patchable_function_entry-definition.c: Likewise.
From-SVN: r265927
|
|
2018-11-08 Jozef Lawrynowicz <jozef.l@mittosystems.com>
* c-c++-common/pr27336.c: Skip test if the target keeps null pointer
checks.
* gcc.dg/addr_equal-1.c: Likewise.
* gcc.dg/tree-ssa/pr78154.c: Likewise.
* gcc.dg/tree-ssa/vrp111.c: Likewise.
From-SVN: r265926
|
|
This patch is updating all soft-fp from glibc, most changes are
copyright years update, and changes other than years update are list
bellow, this patch has been tested with riscv32-elf(rv32imac),
riscv64-elf(rv64imac) and nds32le-elf(v3), didn't introduce new test
fail:
soft-fp/op-4.h
- soft-fp: Use temporary variable in FP_FRAC_SUB_3/FP_FRAC_SUB_4
- ff48ea6787526d7e669af93ce2681b911d39675c
soft-fp/op-8.h
- soft-fp: Add implementation for 128 bit self-contained
- af1d5782c1e3a635fdd13d6688be64de7759857c
soft-fp/op-common.h
- Add narrowing multiply functions.
- 69a01461ee1417578d2ba20aac935828b50f1118
soft-fp/extended.h
soft-fp/half.h
soft-fp/single.h
soft-fp/double.h
soft-fp/quad.h
- Do not use packed structures in soft-fp.
- 049375e2b5fc707436fd5d80337c253beededb2d
2018-11-08 Kito Cheng <kito@andestech.com>
* soft-fp/adddf3.c: Update from glibc.
* soft-fp/addsf3.c: Likewise.
* soft-fp/addtf3.c: Likewise.
* soft-fp/divdf3.c: Likewise.
* soft-fp/divsf3.c: Likewise.
* soft-fp/divtf3.c: Likewise.
* soft-fp/double.h: Likewise.
* soft-fp/eqdf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendhftf2.c: Likewise.
* soft-fp/extendsfdf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/extendxftf2.c: Likewise.
* soft-fp/fixdfdi.c: Likewise.
* soft-fp/fixdfsi.c: Likewise.
* soft-fp/fixdfti.c: Likewise.
* soft-fp/fixhfti.c: Likewise.
* soft-fp/fixsfdi.c: Likewise.
* soft-fp/fixsfsi.c: Likewise.
* soft-fp/fixsfti.c: Likewise.
* soft-fp/fixtfdi.c: Likewise.
* soft-fp/fixtfsi.c: Likewise.
* soft-fp/fixtfti.c: Likewise.
* soft-fp/fixunsdfdi.c: Likewise.
* soft-fp/fixunsdfsi.c: Likewise.
* soft-fp/fixunsdfti.c: Likewise.
* soft-fp/fixunshfti.c: Likewise.
* soft-fp/fixunssfdi.c: Likewise.
* soft-fp/fixunssfsi.c: Likewise.
* soft-fp/fixunssfti.c: Likewise.
* soft-fp/fixunstfdi.c: Likewise.
* soft-fp/fixunstfsi.c: Likewise.
* soft-fp/fixunstfti.c: Likewise.
* soft-fp/floatdidf.c: Likewise.
* soft-fp/floatdisf.c: Likewise.
* soft-fp/floatditf.c: Likewise.
* soft-fp/floatsidf.c: Likewise.
* soft-fp/floatsisf.c: Likewise.
* soft-fp/floatsitf.c: Likewise.
* soft-fp/floattidf.c: Likewise.
* soft-fp/floattihf.c: Likewise.
* soft-fp/floattisf.c: Likewise.
* soft-fp/floattitf.c: Likewise.
* soft-fp/floatundidf.c: Likewise.
* soft-fp/floatundisf.c: Likewise.
* soft-fp/floatunditf.c: Likewise.
* soft-fp/floatunsidf.c: Likewise.
* soft-fp/floatunsisf.c: Likewise.
* soft-fp/floatunsitf.c: Likewise.
* soft-fp/floatuntidf.c: Likewise.
* soft-fp/floatuntihf.c: Likewise.
* soft-fp/floatuntisf.c: Likewise.
* soft-fp/floatuntitf.c: Likewise.
* soft-fp/gedf2.c: Likewise.
* soft-fp/gesf2.c: Likewise.
* soft-fp/getf2.c: Likewise.
* soft-fp/half.h: Likewise.
* soft-fp/ledf2.c: Likewise.
* soft-fp/lesf2.c: Likewise.
* soft-fp/letf2.c: Likewise.
* soft-fp/muldf3.c: Likewise.
* soft-fp/mulsf3.c: Likewise.
* soft-fp/multf3.c: Likewise.
* soft-fp/negdf2.c: Likewise.
* soft-fp/negsf2.c: Likewise.
* soft-fp/negtf2.c: Likewise.
* soft-fp/op-1.h: Likewise.
* soft-fp/op-2.h: Likewise.
* soft-fp/op-4.h: Likewise.
* soft-fp/op-8.h: Likewise.
* soft-fp/op-common.h: Likewise.
* soft-fp/quad.h: Likewise.
* soft-fp/single.h: Likewise.
* soft-fp/soft-fp.h: Likewise.
* soft-fp/subdf3.c: Likewise.
* soft-fp/subsf3.c: Likewise.
* soft-fp/subtf3.c: Likewise.
* soft-fp/truncdfsf2.c: Likewise.
* soft-fp/trunctfdf2.c: Likewise.
* soft-fp/trunctfhf2.c: Likewise.
* soft-fp/trunctfsf2.c: Likewise.
* soft-fp/trunctfxf2.c: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.
From-SVN: r265925
|
|
section is too large for a...
2018-11-08 Jozef Lawrynowicz <jozef.l@mittosystems.com>
* lib/gcc-dg.exp (gcc-dg-prune): Add new regexps for when the size of
an output section is too large for a memory region, or a memory
region overflows.
From-SVN: r265924
|
|
* fe.h (Suppress_Checks): Declare.
* gcc-interface/misc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions
only if checks are not suppressed and -faggressive-loop-optimizations
only if they are.
* gcc-interface/trans.c (struct loop_info_d): Remove has_checks and
warned_aggressive_loop_optimizations fields.
(gigi): Do not clear warn_aggressive_loop_optimizations here.
(Raise_Error_to_gnu): Do not set has_checks.
(gnat_to_gnu) <N_Indexed_Component>: Remove support for aggressive
loop optimizations.
From-SVN: r265921
|
|
This patch ports various fprintf calls in the inlining code to using
the dump API, using the %C format code for printing cgraph_node *.
I focussed on the dump messages that seemed most significant to
end-users; I didn't port all of the calls.
Doing so makes this information appear in -fopt-info and in
optimization records, rather than just in the dump_file.
It also changes the affected dumpfile-dumps from being unconditional
(assuming the dump_file is enabled) to being guarded by the MSG_*
status. Hence various tests with dg-final scan-*-dump directives
need to gain "-all" or "-optimized" suffixes to -fdump-ipa-inline.
The use of %C throughout also slightly changes the dump format for
several messages, e.g. changing:
Inlining void inline_me(char*) into int main(int, char**).
to:
../../src/gcc/testsuite/g++.dg/tree-ssa/inline-1.C:13:8: optimized: Inlining void inline_me(char*)/0 into int main(int, char**)/2.
amongst other things adding "/order" suffixes to the cgraph node
names.
gcc/ChangeLog:
PR ipa/86395
* doc/invoke.texi (-fdump-ipa-): Document the "-optimized",
"-missed", "-note", and "-all" sub-options.
* ipa-inline.c (caller_growth_limits): Port from fprintf to dump
API.
(can_early_inline_edge_p): Likewise.
(want_early_inline_function_p): Likewise.
(want_inline_self_recursive_call_p): Likewise.
(recursive_inlining): Likewise.
(inline_small_functions): Likewise.
(flatten_function): Likewise.
(ipa_inline): Likewise.
(inline_always_inline_functions): Likewise.
(early_inline_small_functions): Likewise.
(early_inliner): Likewise.
* tree-inline.c (expand_call_inline): Likewise.
gcc/testsuite/ChangeLog:
PR ipa/86395
* g++.dg/ipa/devirt-12.C: Add "-all" suffix to
"-fdump-ipa-inline".
* g++.dg/ipa/imm-devirt-1.C: Add "-optimized" suffix to
"-fdump-tree-einline".
* g++.dg/tree-prof/inline_mismatch_args.C: Add "-all" suffix to
"-fdump-tree-einline".
* g++.dg/tree-ssa/inline-1.C: Add "-optimized" suffix to
"-fdump-tree-einline".
* g++.dg/tree-ssa/inline-2.C: Likewise.
* g++.dg/tree-ssa/inline-3.C: Likewise.
* g++.dg/tree-ssa/inline-4.C: New test, based on inline-1.C, but
using "-fopt-info-inline".
* gcc.dg/ipa/fopt-info-inline-1.c: New test.
* gcc.dg/ipa/inline-4.c: Add "-all" suffix to
"-fdump-ipa-inline". Add "-fopt-info-inline" and dg-optimized
directive.
* gcc.dg/ipa/inline-7.c: Add "-optimized" suffix to
"-fdump-tree-einline". Add "-fopt-info-inline" and dg-optimized
directive. Update scan-tree-dump-times to reflect /order
suffixes.
* gcc.dg/ipa/inlinehint-4.c: Update scan-tree-dump-times to
reflect /order suffixes.
* gcc.dg/plugin/dump-1.c: Add "-loop" to "-fopt-info-note" to
avoid getting extra messages from inliner.
* gcc.dg/plugin/dump-2.c: Likewise.
* gcc.dg/pr26570.c: Add dg-prune-output to ignore new
"function body not available" missed optimization messages.
* gcc.dg/pr71969-2.c: Update scan-tree-dump-times to reflect
/order suffixes.
* gcc.dg/pr71969-3.c: Likewise.
* gcc.dg/tree-ssa/inline-11.c: Add "-all" suffix to
"-fdump-tree-einline".
* gcc.dg/tree-ssa/inline-3.c: Add "-optimized" suffix to
"-fdump-tree-einline". Update scan-tree-dump-times to reflect
/order suffixes.
* gcc.dg/tree-ssa/inline-4.c: Add "-optimized" suffix to
"-fdump-tree-einline". Add "-fopt-info-inline" and dg-optimized
directive.
* gcc.dg/tree-ssa/inline-8.c: Add "-optimized" suffix to
"-fdump-tree-einline".
* gfortran.dg/pr79966.f90: Update scan-ipa-dump to reflect /order
suffixes.
From-SVN: r265920
|
|
Numerous formatted messages from the inliner use %f, mostly as %f, but
occasionally with length modifiers.
This patch implements the simplest case of "%f" for pp_format (with no
modifier support) to make it easier to port these messages from fprintf
to dump_printf_loc.
The selftest has an assertion that %f on 1.0 is printed as "1.000000".
This comes from the host's sprintf, and I believe this is guaranteed by
POSIX: "If the precision is missing, it shall be taken as 6". If this is
an issue I can drop the selftest.
gcc/c-family/ChangeLog:
* c-format.c (gcc_dump_printf_char_table): Add entry for %f.
gcc/ChangeLog:
* pretty-print.c (pp_format): Handle %f.
(selftest::test_pp_format): Add test of %f.
* pretty-print.h (pp_double): New macro.
gcc/testsuite/ChangeLog:
* gcc.dg/format/gcc_diag-10.c: Add coverage for %f.
From-SVN: r265919
|
|
This patch implements support for %C in dump_printf for dumping
cgraph_node *.
(I would have preferred to have a code for printing symtab_node *
and both subclasses, but there doesn't seem to be a good way for
-Wformat to handle inheritance, so, failing that, I went with
this approach).
gcc/c-family/ChangeLog:
* c-format.c (local_cgraph_node_ptr_node): New variable.
(gcc_dump_printf_char_table): Add entry for %C.
(get_pointer_to_named_type): New function, taken from the handling
code for "gimple *" from...
(init_dynamic_diag_info): ...here. Add handling for
"cgraph_node *".
* c-format.h (T_CGRAPH_NODE): New.
gcc/ChangeLog:
* dump-context.h (ASSERT_IS_CGRAPH_NODE): New macro.
* dumpfile.c (make_item_for_dump_cgraph_node): Move to before...
(dump_pretty_printer::decode_format): Implement "%C" for
cgraph_node *.
(selftest::test_capture_of_dump_calls): Rename "where" to
"stmt_loc". Convert test_decl to a function decl and set its
location. Add a symbol_table_test RAII instance and a
cgraph_node, using it to test "%C" and dump_symtab_node.
gcc/testsuite/ChangeLog:
* gcc.dg/format/gcc_diag-10.c (cgraph_node): New typedef.
(test_dump): Add testing of %C.
From-SVN: r265918
|
|
* gcc-interface/decl.c (components_to_record): Remove obsolete kludge.
* gcc-interface/utils.c (make_packable_type): Set TYPE_PACKED on the
new type but do not take into account the setting on the old type for
the new fields. Rename a local variable.
(finish_record_type): Clear DECL_BIT_FIELD_TYPE on a variant part at
offset 0, if any.
(create_field_decl): Tweak comment.
From-SVN: r265917
|
|
dwarf2out.c:22479 since r264943)
PR middle-end/87916
* cgraphclones.c (duplicate_thunk_for_node): Also set DECL_IGNORED_P.
From-SVN: r265916
|
|
This patch adds a selftest fixture for overriding the "symtab" global,
so that selftests involving symtab nodes can be isolated from each
other: each selftest can have its own symbol_table instance.
In particular, this ensures that nodes can have a predictable "order"
and thus predictable dump names within selftests.
gcc/ChangeLog:
* cgraph.c: Include "selftest.h".
(saved_symtab): New variable.
(selftest::symbol_table_test::symbol_table_test): New ctor.
(selftest::symbol_table_test::~symbol_table_test): New dtor.
(selftest::test_symbol_table_test): New test.
(selftest::cgraph_c_tests): New.
* cgraph.h (saved_symtab): New decl.
(selftest::symbol_table_test): New class.
* selftest-run-tests.c (selftest::run_tests): Call
selftest::cgraph_c_tests.
* selftest.h (selftest::cgraph_c_tests): New decl.
From-SVN: r265915
|
|
2018-11-08 Richard Biener <rguenther@suse.de>
* tree-data-ref.h (lambda_int): New typedef.
(lambda_vector_gcd): Adjust.
(lambda_vector_new): Likewise.
(lambda_matrix_new): Likewise.
* tree-data-ref.c (print_lambda_vector): Adjust.
From-SVN: r265914
|
|
2018-11-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/87929
* tree-complex.c (expand_complex_comparison): Clean EH.
* gcc.dg/pr87929.c: New testcase.
From-SVN: r265912
|
|
2018-11-08 Martin Liska <mliska@suse.cz>
* doc/extend.texi: Reword.
* predict.c (expr_expected_value_1): Likewise.
2018-11-08 Martin Liska <mliska@suse.cz>
* gcc.dg/pr87811.c: Update scanned pattern.
* gcc.dg/pr87811-2.c: Likewise.
From-SVN: r265911
|
|
* g++.dg/lto/pr87906_0.C: Use moon instead of possibly predefined
sun.
* g++.dg/lto/pr87906_1.C: Likewise.
From-SVN: r265910
|
|
2018-11-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/87913
* tree-ssa-phiopt.c (minmax_replacement): Turn EQ/NE compares
of extreme values to ordered comparisons.
* gcc.dg/tree-ssa/phi-opt-20.c: New testcase.
From-SVN: r265909
|
|
gcc/testsuite/
* gcc.target/mips/mips.exp (mips-dg-options):
Add mips_option_dependency msoft-float vs no-mmi and
mips16/micromips vs no-mmi/ext/ext2 only gcc
config with Loongson target.
From-SVN: r265908
|
|
2018-11-07 Sandra Loosemore <sandra@codesourcery.com>
PR middle-end/42726
gcc/
* doc/invoke.texi (Code Gen Options): Clarify -fno-common behavior.
From-SVN: r265906
|
|
2018-11-07 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi: Remove leading dash from @opindex entries
throughout the file.
From-SVN: r265904
|
|
2018-11-07 Sandra Loosemore <sandra@codesourcery.com>
PR driver/80828
gcc/
* doc/invoke.texi (Option Summary): Add -e and --entry.
(Link Options): Likewise.
From-SVN: r265903
|
|
From-SVN: r265902
|
|
https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00502.html
PR 87926
* Makefile.in (bitmap.o-warn): Add -Wno-error to unbreak
--disable-checking bootstrap.
From-SVN: r265899
|
|
2018-11-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
* config/iconv.m4 (AM_ICONV_LINK): Don't overwrite CPPFLAGS.
Append $INCICONV to it.
gcc/
* configure: Regenerated.
libcpp/
* configure: Likewise.
libstdc++-v3/
* configure: Likewise.
intl/
* configure: Likewise.
From-SVN: r265896
|
|
__SIZE_TYPE__.
2018-11-07 Jozef Lawrynowicz <jozef.l@mittosystems.com>
* gcc.c-torture/compile/pr65595.c: Change type of "num" argument to
memcpy from "unsigned long" to __SIZE_TYPE__.
From-SVN: r265895
|
|
2018-11-07 Jozef Lawrynowicz <jozef.l@mittosystems.com>
PR c/87691
gcc/ChangeLog:
* stor-layout.c (compute_record_mode): Set TYPE_MODE of UNION_TYPE
to the mode of the widest field iff the widest field has mode class
MODE_INT, or MODE_PARTIAL_INT and the union would be passed by
reference.
gcc/testsuite/ChangeLog:
* gcc.target/msp430/pr87691.c: New test.
From-SVN: r265894
|
|
From-SVN: r265892
|
|
* common.opt: Add -Wattribute-warning.
* doc/invoke.texi: Add documentation for -Wno-attribute-warning.
* expr.c (expand_expr_real_1): Add new attribute to warning_at
call to allow user configure behavior of "warning" attribute.
* gcc.dg/Wno-attribute-warning.c: New test.
From-SVN: r265891
|
|
* g++.dg/gomp/atomic-5.C (f1): Adjust expected lines of read-only
variable messages.
* testsuite/libgomp.c-c++-common/taskloop-reduction-1.c (S): Change
type of s and t members from unsigned long int to
unsigned long long int.
From-SVN: r265887
|
|
From-SVN: r265886
|
|
* builtin-types.def (BT_FN_VOID_BOOL, BT_FN_UINT_UINT_PTR_PTR,
BT_FN_BOOL_UINT_LONGPTR_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR,
BT_FN_BOOL_UINT_ULLPTR_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR,
BT_FN_BOOL_LONG_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR,
BT_FN_BOOL_BOOL_ULL_ULL_ULL_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR): New.
* omp-builtins.def (BUILT_IN_GOMP_LOOP_START,
BUILT_IN_GOMP_LOOP_ORDERED_START, BUILT_IN_GOMP_LOOP_DOACROSS_START,
BUILT_IN_GOMP_LOOP_ULL_START, BUILT_IN_GOMP_LOOP_ULL_ORDERED_START,
BUILT_IN_GOMP_LOOP_ULL_DOACROSS_START, BUILT_IN_GOMP_SECTIONS2_START,
BUILT_IN_GOMP_WORKSHARE_TASK_REDUCTION_UNREGISTER): New.
* omp-general.h (struct omp_for_data): Add have_reductemp member.
* omp-general.c (omp_extract_for_data): Initialize it.
* omp-low.c (build_outer_var_ref): Ignore taskgroup outer contexts.
Fix up the condition when lookup_decl should be used.
(scan_sharing_clauses): Call install_var_local for reductions with
task modifier even in worksharing contexts.
(lower_rec_input_clauses): Don't lookup_decl reductemp in worksharing
contexts. Handle reductions with task modifier in worksharing
contexts. Ignore _reductemp_ clause in worksharing contexts.
(lower_reduction_clauses): Ignore reduction clause with task modifiers
even in worksharing contexts.
(lower_send_clauses): Likewise.
(maybe_add_implicit_barrier_cancel): Add OMP_RETURN argument, don't
rely that it is the last stmt in body so far. Ignore outer taskgroup
contexts.
(omp_task_reductions_find_first): Move earlier.
(lower_omp_task_reductions): Add forward declaration. Handle
OMP_FOR and OMP_SECTIONS, add support for parallel cancellation.
(lower_omp_sections): Handle reduction clauses with taskgroup
modifiers. Adjust maybe_add_implicit_barrier_cancel caller.
(lower_omp_single): Adjust maybe_add_implicit_barrier_cancel caller.
(lower_omp_for): Likewise. Handle reduction clauses with taskgroup
modifiers.
* omp-expand.c (omp_adjust_chunk_size): Don't adjust anything if
chunk_size is zero.
(determine_parallel_type): Don't combine parallel with worksharing
which has _reductemp_ clause.
(expand_omp_for_generic): Add SCHED_ARG argument. Handle expansion
of worksharing loops with task reductions.
(expand_omp_for_static_nochunk): Handle expansion of worksharing
loops with task reductions.
(expand_omp_for_static_chunk): Likewise.
(expand_omp_for): Adjust expand_omp_for_generic caller, use
GOMP_loop{,_ull}{,_ordered,_doacross}_start builtins if there are
task reductions.
(expand_omp_sections): Handle expansion of sections with task
reductions.
gcc/fortran/
* types.def (BT_FN_VOID_BOOL, BT_FN_UINT_UINT_PTR_PTR,
BT_FN_BOOL_UINT_LONGPTR_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR,
BT_FN_BOOL_UINT_ULLPTR_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR,
BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR,
BT_FN_BOOL_LONG_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR,
BT_FN_BOOL_BOOL_ULL_ULL_ULL_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR): New.
libgomp/
* libgomp_g.h (GOMP_loop_start, GOMP_loop_ordered_start,
GOMP_loop_doacross_start, GOMP_loop_ull_start,
GOMP_loop_ull_ordered_start, GOMP_loop_ull_doacross_start,
GOMP_workshare_task_reduction_unregister, GOMP_sections2_start): New
prototypes.
* libgomp.h (struct gomp_doacross_work_share): Add extra field.
(struct gomp_work_share): Add task_reductions field.
(struct gomp_taskgroup): Add workshare flag.
(gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
(gomp_workshare_taskgroup_start,
gomp_workshare_task_reduction_register): New prototypes.
(gomp_init_work_share, gomp_work_share_start): Change bool argument
to size_t.
* libgomp.map (GOMP_5.0): Export GOMP_loop_start,
GOMP_loop_ordered_start, GOMP_loop_doacross_start,
GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
GOMP_loop_ull_doacross_start,
GOMP_workshare_task_reduction_unregister and GOMP_sections2_start.
* loop.c: Include string.h.
(GOMP_loop_runtime_next): Add ialias.
(GOMP_taskgroup_reduction_register): Add ialias_redirect.
(gomp_loop_static_start, gomp_loop_dynamic_start,
gomp_loop_guided_start, gomp_loop_ordered_static_start,
gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
or gomp_doacross_init callers.
(gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
GOMP_loop_doacross_start): New functions.
* loop_ull.c: Include string.h.
(GOMP_loop_ull_runtime_next): Add ialias.
(GOMP_taskgroup_reduction_register): Add ialias_redirect.
(gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
gomp_loop_ull_ordered_dynamic_start,
gomp_loop_ull_ordered_guided_start,
gomp_loop_ull_doacross_static_start,
gomp_loop_ull_doacross_dynamic_start,
gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
and gomp_doacross_ull_init callers.
(gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
GOMP_loop_ull_doacross_start): New functions.
* sections.c: Include string.h.
(GOMP_taskgroup_reduction_register): Add ialias_redirect.
(GOMP_sections_start): Adjust gomp_work_share_start caller.
(GOMP_sections2_start): New function.
* ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
EXTRA argument. If not needed to prepare array, if extra is 0,
clear ws->doacross, otherwise allocate just doacross structure and
extra payload. If array is needed, allocate also extra payload.
(GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
GOMP_doacross_ull_wait): Handle doacross->array == NULL like
doacross == NULL.
* parallel.c (GOMP_cancellation_point): If taskgroup has workshare
flag set, check cancelled of prev taskgroup if any.
(GOMP_cancel): If taskgroup has workshare flag set, set cancelled
on prev taskgroup if any.
* single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
gomp_work_share_start callers.
* target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
If taskgroup has workshare flag set, check cancelled on prev
taskgroup if any. Guard all cancellation tests with
gomp_cancel_var test.
* taskloop.c (GOMP_taskloop): Likewise.
* task.c (GOMP_task, gomp_create_target_task, gomp_task_run_pre,
GOMP_taskwait_depend): Likewise.
(gomp_taskgroup_init): Clear workshare flag, reorder initialization.
(gomp_reduction_register): Add always_inline attribute. Add
ORIG argument, if non-NULL, don't allocate memory, but copy it
from there.
(gomp_create_artificial_team): New function.
(GOMP_taskgroup_reduction_register): Extend function comment.
Use gomp_create_artificial_team. Adjust gomp_reduction_register
caller.
(gomp_parallel_reduction_register): Adjust gomp_reduction_register
caller.
(gomp_workshare_task_reduction_register,
gomp_workshare_taskgroup_start,
GOMP_workshare_task_reduction_unregister): New functions.
* team.c (gomp_new_team): Adjust gomp_init_work_share caller.
* work.c (gomp_init_work_share): Change ORDERED argument from
bool to size_t, if more than 1 allocate also extra payload at the
end of array. Never keep ordered_team_ids NULL, set it
to inline_ordered_team_ids instead.
(gomp_work_share_start): Change ORDERED argument from bool to size_t,
return true instead of ws.
* testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
* testsuite/libgomp.c-c++-common/task-reduction-6.c (struct S):
Use unsigned long long int instead of unsigned long int.
(main): Verify r == t.
* testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
* testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
* testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
* testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
* testsuite/libgomp.c++/task-reduction-14.C: New test.
* testsuite/libgomp.c++/task-reduction-15.C: New test.
* testsuite/libgomp.c++/task-reduction-16.C: New test.
* testsuite/libgomp.c++/task-reduction-17.C: New test.
* testsuite/libgomp.c++/task-reduction-18.C: New test.
* testsuite/libgomp.c++/task-reduction-19.C: New test.
From-SVN: r265885
|
|
* config/abi/pre/gnu.ver: Fix patterns for size_t parameters.
From-SVN: r265884
|
|
When an abbreviation ends with a dot followed by whitespace, Texinfo
thinks the dot ends a sentence, and applies spacing rules etc. based
on that. To prevent this, there is the @: macro.
This patch puts @: after every vs., e.g., and i.e. where it is needed.
In a few cases there was "@ " already, or "@\n", but @: is slightly
better, and more consistent.
* target.def: Put @: after every vs., e.g., and i.e. where it is
followed by whitespace.
* doc/extend.texi: Ditto.
* doc/fragments.texi: Ditto.
* doc/gimple.texi: Ditto.
* doc/implement-c.texi: Ditto.
* doc/install.texi: Ditto.
* doc/invoke.texi: Ditto.
* doc/md.texi: Ditto.
* doc/plugins.texi: Ditto.
* doc/rtl.texi: Ditto.
* doc/sourcebuild.texi: Ditto.
* doc/tm.texi.in: Ditto.
* doc/ux.texi: Ditto.
* doc/tm.texi: Regenerate.
From-SVN: r265882
|
|
This adds support for the Arm Ares CPU for in the arm port.
It implements the Armv8.2-A architecture with the optional features
of statistical profiling, dot product and FP16 on by default.
Note: Ares is a codename to enable early adopters and in time
we will add the final product name once it's announced.
* config/arm/arm-cpus.in (ares): New entry.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Likewise.
* doc/invoke.texi (ARM Options): Document ares.
From-SVN: r265881
|
|
This adds support for the Arm Ares CPU for AArch64.
It implements the Armv8.2-A architecture with the optional features
of statistical profiling, dot product and FP16 on by default.
Note: Ares is a codename to enable early adopters and in time
we will add the final product name once it's announced.
* config/aarch64/aarch64-cores.def (ares): Define.
* config/aarch64/aarch64-tune.md: Regenerate.
* doc/invoke.texi (AArch64 Options): Document ares value for mtune.
From-SVN: r265880
|
|
https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00468.html
PR c++/87904
* cp-tree.h (struct tree_overload): Fix comment.
* tree.c (ovl_iterator::reveal_node): Propagate OVL_DEDUP_P.
PR c++/87904
* g++.dg/lookup/pr87904.C: New.
From-SVN: r265879
|
|
* gcc.dg/pr87874.c: Compile only for int128 effective target.
From-SVN: r265878
|
|
* tree.c (fld_incomplete_type_of): Clear TREE_ADDRESSABLE.
(free_lang_data_in_decl): Set TREE_ADDRESSABLE for public vars and
functions; clear TYPE_DECL_SUPPRESS_DEBUG and DECL_MODE for
TYPE_DECL.
From-SVN: r265877
|
|
2018-11-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/87914
* tree-vect-loop.c (vect_is_simple_reduction): Improve detection
of nested cycles.
(vectorizable_reduction): Handle shifts and rotates by dispatching
to vectorizable_shift.
* tree-vect-stmts.c (vect_get_vec_def_for_operand_1): Handle
in-loop uses of vect_nested_cycle defs. Merge cycle and internal
def cases.
(vectorizable_shift): Export and handle being called as
vect_nested_cycle.
(vect_analyze_stmt): Call vectorizable_shift after
vectorizable_reduction.
* tree-vectorizer.h (vectorizable_shift): Declare.
* lib/target-supports.exp (check_effective_target_vect_var_shift): New.
(check_avx2_available): Likewise.
* g++.dg/vect/pr87914.cc: New testcase.
From-SVN: r265876
|
|
TREE_VALUE of enum.
* ipa-devirt.c (odr_types_equivalent_p): Expect constants
than const decls in TREE_VALUE of enum.
(dump_type_inheritance_graph): Improve duplicate dumping.
(free_enum_values): New.
(build_type_inheritance_graph): Use it.
* tree.c (free_lang_data_in_type): Free TYPE_VALUES of enums
which are not main variants or not ODR types.
(verify_type_variant): Expect variants to have no TYPE_VALUES.
From-SVN: r265875
|
|
This patch extends update-quadmath.py to update fmaq from glibc.
The issue in that function was that quadmath-imp.h had a struct in a
union with mant_high and mant_low fields (up to 64-bit) whereas glibc
has mantissa0, mantissa1, mantissa2 and mantissa3 (up to 32-bit). The
patch changes those fields to be the same as in glibc, moving printf /
strtod code that also uses those fields back to closer to the glibc
form. This allows fmaq to be updated automatically from glibc (which
brings in at least one bug fix from glibc from 2015).
nanq was also using the mant_high field name, and had other issues: it
only partly initialized the union from which a value was returned, and
setting mant_high to 1 meant a signaling NaN would be returned rather
than a quiet NaN. This patch fixes those issues as part of updating
it to use the changed interfaces (but does not fix the issue of not
using the argument).
Bootstrapped with no regressions on x86_64-pc-linux-gnu.
* quadmath-imp.h (ieee854_float128): Use mantissa0, mantissa1,
mantissa2 and mantissa3 fields instead of mant_high and mant_low.
Change nan field to ieee_nan.
* update-quadmath.py (update_sources): Also update fmaq.c.
* math/nanq.c (nanq): Use ieee_nan field of union.
Zero-initialize f. Set quiet_nan field.
* printf/flt1282mpn.c, printf/printf_fphex.c, strtod/mpn2flt128.c,
strtod/strtoflt128.c: Use mantissa0, mantissa1, mantissa2 and
mantissa3 fields. Use ieee_nan and quiet_nan field.
* math/fmaq.c: Regenerate from glibc sources with
update-quadmath.py.
From-SVN: r265874
|
|
and last.
2018-11-07 Richard Biener <rguenther@suse.de>
* ipa-inline.c (want_inline_small_function_p): Compute
big_speedup_p lazily and last.
From-SVN: r265873
|
|
incomplete variant of complete type.
* tree.c (fld_type_variant_equal_p): Skip TYPE_ALIGN check when
building incomplete variant of complete type.
(fld_type_variant): Do not copy TYPE_ALIGN when building incomplete
variant of complete type.
From-SVN: r265872
|
|
gcc/
* config/mips/mips.c: Fix typo in documentation of
mips_loongson_ext2_prefetch_cookie.
(mips_option_override): fix brain twister logical.
* config/mips/mips.h: Fix typo in documentation of
ISA_HAS_CTZ_CTO and define pattern.
* config/mips/mips.md (prefetch): Hoist EXT2 above
the 2EF/EXT block.
(prefetch_indexed): Hoist EXT2 above the EXT block.
gcc/testsuite/
* gcc.target/mips/loongson-ctz.c: Fix typo.
* gcc.target/mips/loongson-dctz.c: Fix typo.
From-SVN: r265871
|
|
parameter types of function and method types.
* tree.c (free_lang_data_in_type): Add fld parameter; simplify
return and parameter types of function and method types.
(free_lang_data_in_cgraph): Update.
From-SVN: r265870
|
|
2018-11-07 Martin Liska <mliska@suse.cz>
PR rtl-optimization/87868
* postreload-gcse.c (eliminate_partially_redundant_load): Set
threshold to max_count if we would overflow.
* profile-count.h: Make max_count a public constant.
From-SVN: r265869
|
|
2018-11-07 Martin Liska <mliska@suse.cz>
* mem-stats.h: Fix GNU coding style.
From-SVN: r265868
|