gccadmin [Sun, 22 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230718
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 21 Nov 2015 23:59:49 +0000 (23:59 +0000)]
* lto.c (iterative_hash_canonical_type): Always recurse for pointers.
(gimple_register_canonical_type_1): Check that pointers do not get
canonical types.
(gimple_register_canonical_type): Do not register pointers.
* tree.c (build_pointer_type_for_mode,build_reference_type_for_mode):
In LTO we do not compute TYPE_CANONICAL of pointers.
(gimple_canonical_types_compatible_p): Improve coments; sanity check
that pointers do not have canonical type that would make us believe
they are different.
* alias.c (get_alias_set): Do structural type equality on pointers;
enable pointer path for LTO; also glob pointer to vector with pointer
to vector element; glob pointers and references for LTO; do more strict
sanity checking about build_pointer_type returning the canonical type
which is also the main variant.
(record_component_aliases): When component type is pointer and we
do LTO; record void_type_node alias set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230715
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 21 Nov 2015 22:30:28 +0000 (22:30 +0000)]
* lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
flag for types that are not ODR; fix loop walking parameters.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230712
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Sat, 21 Nov 2015 20:06:17 +0000 (20:06 +0000)]
2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
* simplify.c (gfc_simplify_cshift): Work around bootstrap issues
due to inappropriate warning options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230710
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Sat, 21 Nov 2015 16:25:23 +0000 (16:25 +0000)]
2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
* simplify.c (gfc_simplify_cshift): Implement simplification of CSHIFT.
(gfc_simplify_spread): Remove a FIXME and add error condition.
* intrinsic.h: Prototype for gfc_simplify_cshift
* intrinsic.c (add_functions): Use gfc_simplify_cshift.
2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/simplify_cshift_1.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230709
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Sat, 21 Nov 2015 14:08:44 +0000 (14:08 +0000)]
* gcc.dg/atomic-generic.c: Include <string.h>.q
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230708
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sat, 21 Nov 2015 14:02:45 +0000 (14:02 +0000)]
* gfortran.dg/submodule_6.f08: Add dg-require-effective-target lto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230707
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Sat, 21 Nov 2015 14:01:05 +0000 (14:01 +0000)]
* config/nvptx/nvptx.md (clz<mode>2): Use operand 1 for type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230706
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Sat, 21 Nov 2015 13:57:09 +0000 (13:57 +0000)]
* config/nvptx/nvptx.c (write_function_decl_and_comment): Print
leading blank line.
(write_func_decl_from_insn): Likewise.
(init_output_initializer, nvptx_assemble_undefined_decl): Likewise.
(nvptx_file_end): Likewise.
(nvptx_function_end): Undent output.
(nvptx_expand_call): Fix formatting.
(nvptx_output_call_insn): Indent output.
* config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON,
ASM__OUTPUT_ALIGNED_DECL_LOCAL): Print leading blank line.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230705
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 21 Nov 2015 12:20:56 +0000 (12:20 +0000)]
* g++.dg/init/vbase1.C: Also run on i?86-*-*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230704
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 21 Nov 2015 08:24:13 +0000 (08:24 +0000)]
PR debug/66432
* tree-inline.c (copy_debug_stmt): If
gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL
in decl_debug_args, don't call remap_gimple_op_r on it.
* gcc.dg/debug/pr66432.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230702
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sat, 21 Nov 2015 05:38:25 +0000 (05:38 +0000)]
* testsuite/23_containers/vector/profile/vector.cc: Add maxdata option on AIX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230701
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 21 Nov 2015 04:43:50 +0000 (04:43 +0000)]
PR go/66378
syscall: Fix initial offset value in syscall.Sendfile.
Bug reported in https://gcc.gnu.org/PR66378.
Reviewed-on: https://go-review.googlesource.com/17159
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230699
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 21 Nov 2015 03:57:48 +0000 (03:57 +0000)]
* ipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL;
do not check AGGREGATE_TYPE_P when adding TYPE_MODE;
Check that all record types are complete.
* ipa-icf-gimple.c (func_checker::compatible_types_p): Do not
compare alias sets for types w/o alias sets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230698
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 21 Nov 2015 01:47:13 +0000 (01:47 +0000)]
PR go/66406
* go.test/go-test.exp (go-gc-tests): Skip nilptr.go if PIE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230697
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 21 Nov 2015 01:41:24 +0000 (01:41 +0000)]
PR go/65785
net: don't run multicast listen test on nil interface in short mode
This is a backport of https://golang.org/cl/17154.
The gccgo bug report https://gcc.gnu.org/PR65785 points out that the
multicast listen tests will use the network even with -test.short.
Fix test by checking testing.Short with a nil interface.
Reviewed-on: https://go-review.googlesource.com/17158
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230695
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 21 Nov 2015 01:27:44 +0000 (01:27 +0000)]
PR go/66574
runtime: Use clock_gettime to get current time.
Fetch the current time in nanoseconds, not microseconds, by using
clock_gettime rather than gettimeofday.
Update golang/go#11222.
Fixes https://gcc.gnu.org/PR66574.
Reviewed-on: https://go-review.googlesource.com/17156
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230694
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 21 Nov 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230692
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 20 Nov 2015 23:44:25 +0000 (23:44 +0000)]
PR go/68141
compiler: Use references in Archive_iterator comparison functions.
Fixes minor performance problem pointed out in
https://gcc.gnu.org/PR68141 .
Reviewed-on: https://go-review.googlesource.com/17153
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230689
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 20 Nov 2015 22:48:47 +0000 (22:48 +0000)]
PR go/68072
cmd/cgo: ignore vars with no name or type if they have a AttrSpecification
Backport of master CL https://golang.org/cl/17151.
Fixes https://gcc.gnu.org/PR/68072.
Reviewed-on: https://go-review.googlesource.com/17152
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230685
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Fri, 20 Nov 2015 22:12:28 +0000 (22:12 +0000)]
* g++.dg/init/vbase1.C: Only run on x86_64-*-* as this testcase
isn't portable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230683
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 20 Nov 2015 22:01:46 +0000 (22:01 +0000)]
* config/sparc/sparc.md (umulxhi_vis): Move around.
(*umulxhi_sp64): Likewise.
(umulxhi_v8plus): Likewise.
(xmulx_vis): Likewise.
(*xmulx_sp64): Likewise.
(xmulx_v8plus): Likewise.
(xmulxhi_vis): Likewise.
(*xmulxhi_sp64): Likewise.
(xmulxhi_v8plus): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230681
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 20 Nov 2015 21:30:16 +0000 (21:30 +0000)]
cmd: Use correct install tool dir with gccgo
When using the go command built from gccgo to build and
install a go tool, use the value from runtime GCCGOTOOLDIR as
the install directory.
This also fixes the output from 'go tool' when used with the
gccgo-built go command, to only include the go tools and not
other binaries found in the same directory.
Reviewed-on: https://go-review.googlesource.com/16516
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230677
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Fri, 20 Nov 2015 20:36:03 +0000 (20:36 +0000)]
Add testcase erroneously omitted from r230638
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230675
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Fri, 20 Nov 2015 20:08:47 +0000 (20:08 +0000)]
PR 62314: add ability to add fixit-hints to a diagnostic
This is the combination of two patches:
[PATCH 01/02] PR/62314: add ability to add fixit-hints
[PATCH 02/02] C FE: add fix-it hint for . vs ->
gcc/ChangeLog:
PR 62314
* diagnostic-show-locus.c (colorizer::set_fixit_hint): New.
(class layout): Update comment
(layout::print_any_fixits): New method.
(layout::move_to_column): New method.
(diagnostic_show_locus): Add call to layout.print_any_fixits.
gcc/c/ChangeLog:
PR 62314
* c-typeck.c (should_suggest_deref_p): New function.
(build_component_ref): Special-case POINTER_TYPE when
generating a "not a structure of union" error message, and
suggest a "->" rather than a ".", providing a fix-it hint.
gcc/testsuite/ChangeLog:
PR 62314
* gcc.dg/fixits.c: New file.
* gcc.dg/plugin/diagnostic-test-show-locus-ascii-bw.c
(test_fixit_insert): New.
(test_fixit_remove): New.
(test_fixit_replace): New.
* gcc.dg/plugin/diagnostic-test-show-locus-ascii-color.c
(test_fixit_insert): New.
(test_fixit_remove): New.
(test_fixit_replace): New.
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(test_show_locus): Add tests of rendering fixit hints.
libcpp/ChangeLog:
PR 62314
* include/line-map.h (source_range::intersects_line_p): New
method.
(rich_location::~rich_location): New.
(rich_location::add_fixit_insert): New method.
(rich_location::add_fixit_remove): New method.
(rich_location::add_fixit_replace): New method.
(rich_location::get_num_fixit_hints): New accessor.
(rich_location::get_fixit_hint): New accessor.
(rich_location::MAX_FIXIT_HINTS): New constant.
(rich_location::m_num_fixit_hints): New field.
(rich_location::m_fixit_hints): New field.
(class fixit_hint): New class.
(class fixit_insert): New class.
(class fixit_remove): New class.
(class fixit_replace): New class.
* line-map.c (source_range::intersects_line_p): New method.
(rich_location::rich_location): Add initialization of
m_num_fixit_hints to both ctors.
(rich_location::~rich_location): New.
(rich_location::add_fixit_insert): New method.
(rich_location::add_fixit_remove): New method.
(rich_location::add_fixit_replace): New method.
(fixit_insert::fixit_insert): New.
(fixit_insert::~fixit_insert): New.
(fixit_insert::affects_line_p): New.
(fixit_remove::fixit_remove): New.
(fixit_remove::affects_line_p): New.
(fixit_replace::fixit_replace): New.
(fixit_replace::~fixit_replace): New.
(fixit_replace::affects_line_p): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230674
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 20 Nov 2015 19:50:46 +0000 (19:50 +0000)]
PR middle-end/68221
* omp-low.c (lower_rec_input_clauses): If C/C++ array reduction
has non-zero bias, subtract it in integer type instead of
pointer plus of negated bias.
* testsuite/libgomp.c/reduction-11.c: Remove xfail.
* testsuite/libgomp.c/reduction-12.c: Likewise.
* testsuite/libgomp.c++/reduction-11.C: Likewise.
* testsuite/libgomp.c++/reduction-12.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230672
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 20 Nov 2015 19:49:47 +0000 (19:49 +0000)]
PR middle-end/68339
* omp-low.c (expand_simd_clones): Call node->get_body () before
allocating stuff in GC.
* gcc.dg/vect/pr68339.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230671
138bc75d-0d04-0410-961f-
82ee72b054a4
jkratoch [Fri, 20 Nov 2015 19:00:51 +0000 (19:00 +0000)]
PR libstdc++/68448
* python/hook.in: Call register_libstdcxx_printers.
* python/libstdcxx/v6/__init__.py: Wrap it to
register_libstdcxx_printers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230669
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Fri, 20 Nov 2015 16:27:17 +0000 (16:27 +0000)]
Fix cygwin performance loss on linpack.
gcc/
* tree-vect-data-refs.c (compare_tree): Call STRIP_NOPS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230667
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 20 Nov 2015 16:15:57 +0000 (16:15 +0000)]
[AArch64] Add attribute for compatibility with ARM pipeline models
gcc/
* config/aarch64/aarch64.md (predicated): Copy attribute from
"arm.md".
* config/arm/arm.md (predicated): Added description.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230666
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 20 Nov 2015 15:51:35 +0000 (15:51 +0000)]
* c-common.c (shorten_compare): But look through macros from
system headers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230665
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Fri, 20 Nov 2015 15:19:09 +0000 (15:19 +0000)]
[ARM] Do not expand movmisalign pattern if not in 32-bit mode
* config/arm/arm.c (arm_option_override): Require TARGET_32BIT
for unaligned_access.
* config/arm/arm.md (unaligned_loadsi): Remove redundant TARGET_32BIT
from matching condition.
(unaligned_loadhis): Likewise.
(unaligned_loadhiu): Likewise.
(unaligned_storesi): Likewise.
(unaligned_storehi): Likewise.
* gcc.target/arm/armv6-unaligned-load-ice.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230664
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Fri, 20 Nov 2015 15:15:31 +0000 (15:15 +0000)]
[ARM] PR 68149 Fix ICE in unaligned_loaddi split
PR target/68149
* config/arm/arm.md (unaligned_loaddi): Delete.
(unaligned_storedi): Likewise.
* config/arm/arm.c (gen_movmem_ldrd_strd): Don't generate
unaligned DImode memory ops. Instead perform two back-to-back
unaligned SImode ops.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230663
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Fri, 20 Nov 2015 15:01:34 +0000 (15:01 +0000)]
Fix wrong attribution in gfortran ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230662
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Fri, 20 Nov 2015 14:50:35 +0000 (14:50 +0000)]
2015-11-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/68237
* decl.c (gfc_match_submod_proc): Test the interface symbol
before accessing its attributes.
2015-11-20 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66762
(gfc_get_symbol_decl): Test for attr.used_in_submodule as well
as attr.use_assoc (twice).
(gfc_create_module_variable): Ditto.
2015-11-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/68237
* gfortran.dg/submodule_12.f90: New test
PR fortran/66762
* gfortran.dg/submodule_6.f90: Add compile option -flto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230661
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Fri, 20 Nov 2015 14:24:07 +0000 (14:24 +0000)]
Sync top level configure with binutils-gdb.
2015-11-20 Tristan Gingold <gingold@adacore.com>
* configure.ac: Add aarch64-*-darwin* and arm-*-darwin*.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230660
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Fri, 20 Nov 2015 14:23:18 +0000 (14:23 +0000)]
* config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230659
138bc75d-0d04-0410-961f-
82ee72b054a4
alahay01 [Fri, 20 Nov 2015 14:20:24 +0000 (14:20 +0000)]
2015-11-20 Alan Hayward <alan.hayward@arm.com>
PR tree-optimization/68413
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Cache
evolution base
(vectorizable_reduction): Use cached base
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230658
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 20 Nov 2015 13:23:02 +0000 (13:23 +0000)]
compiler: Use receiver name in hash/equal for type within method.
Test case sent as https://golang.org/cl/17081.
Reviewed-on: https://go-review.googlesource.com/17082
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230657
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 20 Nov 2015 12:48:17 +0000 (12:48 +0000)]
Fix typo and trailing whitespace in dump-file strings in parloops
2015-11-20 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (build_new_reduction): Fix trailing whitespace in
dump-file string.
(try_create_reduction_list): Same. Fix typo in dump-file string.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230655
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Fri, 20 Nov 2015 12:24:34 +0000 (12:24 +0000)]
clang-format: split content of a list to multiple lines
* clang-format: Split content of a list to multiple
lines.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230654
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Fri, 20 Nov 2015 11:49:23 +0000 (11:49 +0000)]
[ARM] Disable neon testing for armv7-m
2015-11-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
* lib/target-supports.exp
(check_effective_target_arm_neon_ok_nocache): Add check
for M profile.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230653
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 20 Nov 2015 11:04:43 +0000 (11:04 +0000)]
* doc/md.texi (Standard Names): Move entry for addptr3 around,
add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes
glitch in entries for cbranch4 and jump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230651
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 20 Nov 2015 10:25:26 +0000 (10:25 +0000)]
Do final value replacement in try_create_reduction_list
2015-11-20 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68373
* tree-scalar-evolution.c (final_value_replacement_loop): Factor out of ...
(scev_const_prop): ... here.
* tree-scalar-evolution.h (final_value_replacement_loop): Declare.
* tree-parloops.c (try_create_reduction_list): Call
final_value_replacement_loop.
* gcc.dg/autopar/pr68373.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230650
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 20 Nov 2015 10:00:24 +0000 (10:00 +0000)]
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230649
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 20 Nov 2015 09:05:53 +0000 (09:05 +0000)]
Fix up misplaced ChangeLog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230648
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Fri, 20 Nov 2015 09:05:08 +0000 (09:05 +0000)]
PR tree-optimization/52272
* tree-ssa-loop-ivopts.c (struct iv_common_cand): New struct.
(struct iv_common_cand_hasher): New struct.
(iv_common_cand_hasher::hash): New function.
(iv_common_cand_hasher::equal): New function.
(struct ivopts_data): New fields, iv_common_cand_tab and
iv_common_cands.
(tree_ssa_iv_optimize_init): Initialize above fields.
(record_common_cand, common_cand_cmp): New functions.
(add_iv_candidate_derived_from_uses): New function.
(add_iv_candidate_for_use): Record iv_common_cands derived from
iv use in hash table, instead of adding candidates directly.
(add_iv_candidate_for_uses): Call add_iv_candidate_derived_from_uses.
(record_important_candidates): Add important candidates to iv uses'
related_cands. Always keep related_cands for future use.
(try_add_cand_for): Use iv uses' related_cands.
(free_loop_data, tree_ssa_iv_optimize_finalize): Release new fields
in struct ivopts_data, iv_common_cand_tab and iv_common_cands.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230647
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 20 Nov 2015 09:03:45 +0000 (09:03 +0000)]
PR c++/67354
* cp-tree.h (defer_mangling_aliases): Declare.
(generate_mangling_aliases): New prototype.
* decl2.c (defer_mangling_aliases): New variable.
(note_mangling_alias): Use !defer_mangling_aliases
instead of at_eof.
(generate_mangling_aliases): No longer static. Clear
defer_mangling_aliases.
* optimize.c (maybe_thunk_body): Defer emitting mangling aliases
if !defer_mangling_aliases until the fns are put into the same
comdat group.
* g++.dg/abi/mangle67.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230646
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 20 Nov 2015 07:42:04 +0000 (07:42 +0000)]
S/390: Add bswaphi2 pattern
gcc/testsuite/ChangeLog:
* gcc.target/s390/bswap-1.c: New test.
gcc/ChangeLog:
* config/s390/s390.md ("bswaphi2"): New pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230643
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 20 Nov 2015 07:36:07 +0000 (07:36 +0000)]
S/390: Clobber r1 in patterns resulting in pfpo instruction.
gcc/ChangeLog
* config/s390/s390.md (GPR1_REGNUM): New constant.
("*trunc<BFP:mode><DFP_ALL:mode>2")
("*trunc<DFP_ALL:mode><BFP:mode>2")
("trunc<BFP:mode><DFP_ALL:mode>2")
("trunc<DFP_ALL:mode><BFP:mode>2")
("*extend<BFP:mode><DFP_ALL:mode>2")
("*extend<DFP_ALL:mode><BFP:mode>2")
("extend<BFP:mode><DFP_ALL:mode>2")
("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1.
gcc/testsuite/ChangeLog
* gcc.target/s390/pfpo.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230642
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Fri, 20 Nov 2015 05:42:41 +0000 (05:42 +0000)]
gcc/testsuite/
* c-c++-common/attr-simd-3.c: Put xfail (PR68158) on dg-error.
* c-c++-common/attr-simd.c: Limit scan of dump to x86_64/i?86.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230641
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Fri, 20 Nov 2015 01:26:00 +0000 (01:26 +0000)]
C++ FE: offer suggestions for misspelled field names
gcc/c/ChangeLog:
* c-typeck.c (lookup_field_fuzzy): Move determination of closest
candidate into a new function, find_closest_identifier.
gcc/cp/ChangeLog:
* cp-tree.h (lookup_member_fuzzy): New decl.
* search.c: Include spellcheck.h.
(class lookup_field_fuzzy_info): New class.
(lookup_field_fuzzy_info::fuzzy_lookup_fnfields): New.
(lookup_field_fuzzy_info::fuzzy_lookup_field): New.
(lookup_field_fuzzy_r): New.
(lookup_member_fuzzy): New.
* typeck.c (finish_class_member_access_expr): When issuing
a "has no member named" error, call lookup_member_fuzzy, and
offer any result as a suggestion.
gcc/ChangeLog:
* spellcheck-tree.c (find_closest_identifier): New function, taken
from c/c-typeck.c:lookup_field_fuzzy, with NULL corrected to
NULL_TREE in two places.
* spellcheck.h (find_closest_identifier): New decl.
gcc/testsuite/ChangeLog:
* g++.dg/spellcheck-fields.C: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230638
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 20 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230637
138bc75d-0d04-0410-961f-
82ee72b054a4
torvald [Fri, 20 Nov 2015 00:10:08 +0000 (00:10 +0000)]
Support __cxa_free_exception and fix exception handling.
gcc/cp/
* except.c (do_free_exception): Use transactional wrapper.
libitm/
* testsuite/libitm.c++/eh-5.C: New.
* libitm.h (_ITM_cxa_free_exception): New.
* libitm.map (_ITM_cxa_free_exception): Add it.
* libitm.texi: Update ABI docs.
* libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
(gtm_transaction_cp::cxa_uncaught_count): Add.
(gtm_thread::cxa_unthrown): Remove.
(gtm_thread::cxa_uncaught_count_ptr): Add.
(gtm_thread::cxa_uncaught_count): Add.
(gtm_thread::drop_references_allocations): Rename to...
(gtm_thread::discard_allocation): ... this and adapt.
(gtm_thread::init_cpp_exceptions): New.
* beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
(gtm_thread::begin_transaction): Likewise.
(gtm_transaction_cp::save): Likewise.
(gtm_thread::trycommit): Likewise.
* eh_cpp.cc: Add overview comments.
(__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
(free_any_exception, _ITM_cxa_free_exception): New.
(gtm_thread::init_cpp_exceptions): Define.
(_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
(_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
(gtm_thread::revert_cpp_exceptions): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230634
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Fri, 20 Nov 2015 00:08:50 +0000 (00:08 +0000)]
* config/msp430/lib2hw_mul.S: Fix alignment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230633
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 19 Nov 2015 23:06:18 +0000 (23:06 +0000)]
fix PR68428: ignore bb dominated by the scop->exit
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230632
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 19 Nov 2015 22:56:42 +0000 (22:56 +0000)]
fix PR68341: correctly compute the insertion point for close phi nodes
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230631
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 19 Nov 2015 22:47:48 +0000 (22:47 +0000)]
add testcase for PR68335
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230630
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 19 Nov 2015 22:29:08 +0000 (22:29 +0000)]
PR c++/68422
* cp-tree.h (PACK_EXPANSION_SIZEOF_P): New.
* parser.c (cp_parser_sizeof_pack): Set it.
* pt.c (tsubst_copy) [SIZEOF_EXPR]: Likewise.
(tsubst_pack_expansion): Improve T... shortcut for expression packs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230629
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Thu, 19 Nov 2015 22:05:03 +0000 (22:05 +0000)]
gcc/
* config/nvptx/nvptx.h (SUPPORTS_WEAK): Define.
* config/nvptx/nvptx.c (nvptx_write_function_decl): Support
DECL_WEAK.
(nvptx_declare_objec_name): Likewise.
gcc/testsuite/
* lib/target-supports.exp (check_weak_available): Add nvptx-*-*.
* gcc.dg/attr-weakref-1.c: Skip for nvptx-*-*
* gcc.dg/special/weak-2.c: Likewise.
* gcc.dg/weak/weak-12.c: Likewise.
* gcc.dg/weak/weak-15.c: Likewise.
* gcc.dg/weak/weak-16.c: Likewise.
* gcc.dg/weak/weak-1.c: Likewise.
* gcc.dg/weak/weak-2.c: Likewise.
* gcc.dg/weak/weak-4.c: Likewise.
* gcc.dg/torture/pr53922.c: Likewise.
* gcc.dg/torture/pr60092.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230628
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Thu, 19 Nov 2015 22:04:00 +0000 (22:04 +0000)]
PR c/68412
* c-typeck.c (parser_build_binary_op): Properly handle
C_MAYBE_CONST_EXPR before calling warn_tautological_cmp.
* gcc.dg/pr68412-2.c: New test.
* gcc.dg/pr68412.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230627
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 19 Nov 2015 20:35:12 +0000 (20:35 +0000)]
fix bootstrap without ISL on old linkers
With and without this patch passes bootstrap on x86_64-linux with and without ISL.
The problem occurs on systems with older linkers that do not remove dead symbols.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230625
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Thu, 19 Nov 2015 18:58:39 +0000 (18:58 +0000)]
* libgomp.oacc-c-c++-common/reduction-dbl.c: New.
* libgomp.oacc-c-c++-common/reduction-flt.c: New.
* libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
* libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
* libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
and fix.
* libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
* libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230621
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 19 Nov 2015 18:25:38 +0000 (18:25 +0000)]
PR c++/68396
2015-11-19 Ryan Burn <contact@rnburn.com>
* pt.c (find_parameter_packs_r) [DECLTYPE_TYPE]: When traversing
the DECLTYPE_TYPE_EXPR, set type_pack_expansion_p to false.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230620
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Thu, 19 Nov 2015 17:37:12 +0000 (17:37 +0000)]
2015-11-19 David Edelsohn <dje.gcc@gmail.com>
Revert
2015-11-18 Alan Modra <amodra@gmail.com>
* config/rs6000/rs6000.c (use_toc_relative_ref): Ignore
type-limits warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230619
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 19 Nov 2015 17:30:24 +0000 (17:30 +0000)]
[Patch, vrp] Allow VRP type conversion folding only for widenings upto word mode
* tree.h (desired_pro_or_demotion_p): New function.
* tree-vrp.c (simplify_cond_using_ranges): Call it.
* gcc.dg/tree-ssa/vrp98.c: New testcase.
* gcc.target/avr/uint8-single-reg.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230618
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 19 Nov 2015 16:40:37 +0000 (16:40 +0000)]
2015-11-19 Bob Duff <duff@adacore.com>
* sem_elab.adb (Check_Internal_Call_Continue): Correction to previous
change: correctly handle generic formals/actuals that look like
renamings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230617
138bc75d-0d04-0410-961f-
82ee72b054a4
iverbin [Thu, 19 Nov 2015 16:22:13 +0000 (16:22 +0000)]
liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (struct TargetImageDesc): New.
(ImgDescMap): New typedef.
(image_descriptors): New static var.
(init): Allocate image_descriptors.
(offload): Remove vars2 argument. Pass NULL to __offload_offload1
instead of vars2.
(unregister_main_image): New static function.
(register_main_image): Call unregister_main_image at exit.
(GOMP_OFFLOAD_init_device): Print device number, fix offload args.
(GOMP_OFFLOAD_fini_device): Likewise.
(get_target_table): Remove vd1g and vd2g, don't pass them to offload.
(offload_image): Remove declaration of the struct TargetImage.
Free table. Insert new descriptor into image_descriptors.
(GOMP_OFFLOAD_unload_image): Call __offload_unregister_image, free
the corresponding descriptor, and remove it from address_table and
image_descriptors.
(GOMP_OFFLOAD_alloc): Print device number, remove vd1g.
(GOMP_OFFLOAD_free): Likewise.
(GOMP_OFFLOAD_host2dev): Print device number, remove vd1g and vd2g.
(GOMP_OFFLOAD_dev2host): Likewise.
(GOMP_OFFLOAD_run): Print device number, remove vd1g.
* plugin/offload_target_main.cpp (__offload_target_table_p1): Remove
vd2, don't pass it to __offload_target_enter.
(__offload_target_table_p2): Likewise.
(__offload_target_alloc): Likewise.
(__offload_target_free): Likewise.
(__offload_target_host2tgt_p1): Likewise.
(__offload_target_host2tgt_p2): Likewise.
(__offload_target_tgt2host_p1): Likewise.
(__offload_target_tgt2host_p2): Likewise.
(__offload_target_run): Likewise.
(__offload_target_tgt2tgt): Remove vd1g, don't pass it to
__offload_target_enter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230614
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 19 Nov 2015 16:18:39 +0000 (16:18 +0000)]
PR c++/67409
* decl.c (identify_goto): Add LOC and DIAG_KIND arguments, call
emit_diagnostic instead of permerror.
(check_previous_goto_1): Adjust identify_goto callers, treat all
cases but crossing initialization and entering scope of decl with
non-trivial dtor as unconditional hard errors.
(check_goto): Use identify_goto. Treat all cases but crossing
initialization and entering scope of decl with non-trivial dtor
as unconditional hard errors.
* g++.dg/eh/goto3.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230613
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Thu, 19 Nov 2015 16:12:50 +0000 (16:12 +0000)]
* fwprop.c (update_uses): Use flag_checking instead of
gcc_checking_assert.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230612
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Thu, 19 Nov 2015 15:18:03 +0000 (15:18 +0000)]
Fix typo in doc/gty.texi
gcc/ChangeLog:
* doc/gty.texi (Support for inheritance): Fix missing
parentheses in example.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230609
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Thu, 19 Nov 2015 15:12:35 +0000 (15:12 +0000)]
PR tree-optimization/68431
* tree-vrp.c (extract_range_from_binary_expr_1): Fix condition.
* gcc.dg/tree-ssa/pr68431.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230608
138bc75d-0d04-0410-961f-
82ee72b054a4
cesar [Thu, 19 Nov 2015 14:56:51 +0000 (14:56 +0000)]
gcc/cp/
* parser.h (struct cp_omp_declare_simd_data): Add clauses member.
(struct cp_parser): Change type the of oacc_routine to
cp_omp_declare_simd_data.
* parser.c (cp_ensure_no_oacc_routine): Rework to use
cp_omp_declare_simd_data.
(cp_parser_simple_declaration): Remove boolean first. Update call to
cp_parser_init_declarator. Don't NULL out oacc_routine.
(cp_parser_init_declarator): Remove boolean first parameter. Update
calls to cp_finalize_oacc_routine.
(cp_parser_late_return_type_opt): Handle acc routines.
(cp_parser_member_declaration): Remove first variable. Handle
acc routines like omp declare simd.
(cp_parser_function_definition_from_specifiers_and_declarator): Update
call to cp_finalize_oacc_routine.
(cp_parser_single_declaration): Update call to
cp_parser_init_declarator.
(cp_parser_save_member_function_body): Remove first_decl parameter.
Update call to cp_finalize_oacc_routine.
(cp_parser_finish_oacc_routine): Delete.
(cp_parser_oacc_routine): Rework to use cp_omp_declare_simd_data.
(cp_parser_late_parsing_oacc_routine): New function.
(cp_finalize_oacc_routine): Remove first argument. Add more error
handling and set the acc routine and 'omp declare target' attributes.
(cp_parser_pragma): Remove unnecessary call to
cp_ensure_no_oacc_routine.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230607
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Thu, 19 Nov 2015 14:40:28 +0000 (14:40 +0000)]
* config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1,
atomic_exchange<mode>): Input values can be immediates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230606
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 19 Nov 2015 13:31:33 +0000 (13:31 +0000)]
PR lto/61313
* configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified
by the user.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230603
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Thu, 19 Nov 2015 12:54:57 +0000 (12:54 +0000)]
clang-format: Enhance list of FOR_EACH macros
* clang-format: Enhance list of FOR_EACH macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230602
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Thu, 19 Nov 2015 12:32:09 +0000 (12:32 +0000)]
Add clang-format config to contrib folder
* .gitignore: Add .clang-format to ignored files.
* Makefile.in: Add clang-format.
* Makefile.tpl: Likewise.
* clang-format: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230601
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 19 Nov 2015 11:49:32 +0000 (11:49 +0000)]
PR target/68408
* config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine.
(DTORS_SECTION_ASM_OP): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230598
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 19 Nov 2015 08:49:59 +0000 (08:49 +0000)]
PR rtl-optimization/68376
* ifcvt.c (noce_try_abs): Disable one_cmpl optimization if
encountering x <= 0 ? ~x : x or x > 0 ? ~x : x.
* gcc.c-torture/execute/pr68376-1.c: New test.
* gcc.c-torture/execute/pr68376-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230596
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 19 Nov 2015 08:47:16 +0000 (08:47 +0000)]
2015-11-19 Richard Biener <rguenther@suse.de>
PR middle-end/68117
* tree-ssa.c (delete_tree_ssa): Revert removal of call to
redirect_edge_var_map_destroy.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230594
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 19 Nov 2015 08:30:19 +0000 (08:30 +0000)]
PR target/67770
* config/i386/i386.md (simple_return): Disable if
ix86_static_chain_on_stack is true.
* gcc.target/i386/pr67770.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230593
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 19 Nov 2015 08:27:12 +0000 (08:27 +0000)]
PR preprocessor/60736
* include/cpplib.h (cpp_errno_filename): New prototype.
* errors.c (cpp_errno): Don't handle msgid "" specially, use
_(msgid) instead of msgid as argument to cpp_error.
(cpp_errno_filename): New function.
* files.c (read_file_guts): Use cpp_errno_filename instead of
cpp_errno.
(open_file_failed): Likewise. Use file->name if file->path is NULL
in diagnostics.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230591
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 19 Nov 2015 08:17:21 +0000 (08:17 +0000)]
PR 68393: Handle SUBREG_PROMOTED_VAR_P in expand_direct_optab_fn
Do the usual dance when assigning to SUBREG_PROMOTED_VAR_P destinations:
first convert to the outer mode, then extend to the inner mode.
Tested that it fixes the powerpc64le-linux-gnu breakage. Also tested
on x86_64-linux-gnu and powerpc64-linux-gnu.
gcc/
PR bootstrap/68393
* internal-fn.c (expand_direct_optab_fn): Handle SUBREG_PROMOTED_VAR_P
destinations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230590
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 19 Nov 2015 04:26:48 +0000 (04:26 +0000)]
* c-common.c (shorten_compare): Don't -Wtype-limits if the
non-constant operand comes from a macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230589
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 19 Nov 2015 00:33:27 +0000 (00:33 +0000)]
[PATCH][PR tree-optimization/68198] Avoid CFG explosion due to threading
PR tree-optimization/68198
* tree-ssa-threadupdate.c (valid_jump_thread_path): Distinguish
between threading a multi-way branch and a thread path that contains
a multi-way branch. Disallow the case where a path contains a
multi-way branch and does not thread a multi-way branch.
(thread_through_all_blocks): Update comment.
PR tree-optimization/68198
* gcc.dg/tree-ssa/pr66752-3.c: Update expected output for VRP1.
* gcc.dg/tree-ssa/pr68198.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230586
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 19 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230585
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Wed, 18 Nov 2015 22:55:17 +0000 (22:55 +0000)]
2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/59910
* primary.c (gfc_match_structure_constructor): Reduce a structure
constructor in a DATA statement.
2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/59910
* gfortran.dg/pr59910.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230580
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Wed, 18 Nov 2015 22:51:39 +0000 (22:51 +0000)]
2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/43996
* simplify.c (gfc_simplify_spread): Issue error for too large array
constructor in a PARAMETER statement.
2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/43996
* gfortran.dg/pr43996.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230579
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 18 Nov 2015 22:13:44 +0000 (22:13 +0000)]
Add out-of-line versions of some <stdatomic.h> functions (PR c/65083).
PR c/65083 notes that some functions in <stdatomic.h> are normal
functions, not generic functions, and so need to have out-of-line
copies that can be called when macro expansion is suppressed (unlike
the generic functions where DR#419 makes it undefined if you suppress
a macro expansion).
This patch adds such out-of-line definitions in libatomic for those
six functions, at a new LIBATOMIC_1.2 symbol version, as trivial
wrappers to the <stdatomic.h> macros, along with declarations of those
functions in <stdatomic.h>. Tests are added that are based on the
corresponding tests for the macros, but with parentheses around the
function names to force the out-of-line functions to be used.
Bootstrapped with no regressions on x86_64-pc-linux-gnu.
gcc:
* ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence)
(atomic_flag_test_and_set, atomic_flag_test_and_set_explicit)
(atomic_flag_clear, atomic_flag_clear_explicit): Declare as
functions before defining as macros.
gcc/testsuite:
* gcc.dg/atomic/stdatomic-fence-2.c,
gcc.dg/atomic/stdatomic-flag-2.c: New tests.
libatomic:
* fence.c, flag.c: New files.
* Makefile.am (libatomic_la_SOURCES): Add fence.c and flag.c.
* Makefile.in: Regenerate.
* configure.ac (libtool_VERSION): Change to 3:0:2.
* configure: Regenerate.
* libatomic.map (LIBATOMIC_1.2): New symbol version.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230578
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 18 Nov 2015 21:59:30 +0000 (21:59 +0000)]
* gcc-interface/trans.c (elaborate_all_entities_for_package): New
function extracted from... Recurse on packages.
(elaborate_all_entities): ...here. Call it on packages.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230576
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 18 Nov 2015 21:55:11 +0000 (21:55 +0000)]
* gcc-interface/ada-tree.h (DECL_INVARIANT_P): New macro.
* gcc-interface/gigi.h (enum standard_datatypes): Remove
ADT_longjmp_decl and add ADT_not_handled_by_others_decl.
(longjmp_decl): Delete.
(not_handled_by_others_decl): New macro.
(build_simple_component_ref): Delete.
(build_component_ref): Adjust prototype.
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
build_component_ref.
(gnat_to_gnu_field): Set DECL_INVARIANT_P on discriminants
without default value.
* gcc-interface/trans.c (gigi): Reorder initialization sequence
and add not_handled_by_others_decl.
(Attribute_to_gnu): Adjust calls to build_component_ref.
(Subprogram_Body_to_gnu): Likewise.
(Call_to_gnu): Likewise.
(Exception_Handler_to_gnu_sjlj): Likewise.
(gnat_to_gnu): Likewise.
(range_check_info_d): Add inserted_cond field.
(Loop_Statement_to_gnu): Make two passes on the recorded range checks.
(build_noreturn_cond): New static function.
(Raise_Error_to_gnu): Record range checks in loops at -O1 and above.
(make_invariant): New static function.
(Loop_Statement_to_gnu): Use it to compute invariant expressions for
the loop bounds if possible, but do not require it if loop unswitching
is enabled.
* gcc-interface/utils.c (convert_to_fat_pointer): Likewise.
(convert): Likewise.
(maybe_unconstrained_array): Likewise. Call it instead of
build_simple_component_ref and add guard for CONSTRUCTORs.
(unchecked_convert): Likewise.
* gcc-interface/utils2.c (compare_fat_pointers): Likewise.
(build_simple_component_ref): Remove COMPONENT parameter, unify
code dealing with VIEW_CONVERT_EXPR and make it more general,
remove special treatment for CONSTRUCTORs of template types.
(build_component_ref): Remove COMPONENT parameter and adjust call
to build_simple_component_ref.
(maybe_wrap_malloc): Likewise.
(build_allocator): Likewise.
(gnat_invariant_expr): Look through overflow checks, deal with
addition and subtraction of constants and take into account
DECL_INVARIANT_P for the COMPONENT_REF case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230575
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Wed, 18 Nov 2015 21:33:57 +0000 (21:33 +0000)]
* config/nvptx/nvptx.c (nvptx_process_pars): Fix whitespace.
(nvptx_record_offload_symbol): Remove code compensating for lack
of default dimension handling.
(nvptx_goacc_validate_dims): Remove incorrect ARG_UNUSED markers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230571
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 18 Nov 2015 21:17:51 +0000 (21:17 +0000)]
* gcc-interface/misc.c: Move global variables to the top of the file.
(gnat_handle_option): Remove obsolete ATTRIBUTE_UNUSED markers.
(gnat_init_options): Minor tweak.
(gnat_post_options): Set -fstrict-overflow if not done by the user.
(internal_error_function): Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230569
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Wed, 18 Nov 2015 21:08:40 +0000 (21:08 +0000)]
Enable condegen in case of cond phis.
The codegen of conditional PHIs inside the scop where one predecessor dominates
the other was difficult so it wasn't enabled in the previous patch. After a
couple of bug-fixes this has been enabled in this patch. Not all the cases
could be handled in this case because it becomes difficult to map the basic
block back to original code in some cases.
Bug-fixes:
1. The vec_find returns -1 when no element was found. This wasn't checked.
2. When the arguments to pending phis could not be resolved in the second pass,
the codegen would fail so the new code should be cleaned up.
This patch passes regtest and bootstrap on linux-x86-64 with
BOOT_CFLAGS='-O2 -fgraphite-identity -floop-nest-optimize'
2015-11-14 hiraditya <hiraditya@msn.com>
* graphite-isl-ast-to-gimple.c (copy_loop_phi_args): Change the return
type to bool for early exit.
(translate_isl_ast_to_gimple::copy_loop_phi_nodes): Early return in
case of error.
(translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
(add_phi_arg_for_new_expr): Enable codegen for if-block where one predecessor
dominates the other.
(translate_isl_ast_to_gimple::copy_cond_phi_args): Fix. When the element is not
found it returns -1.
(translate_isl_ast_to_gimple::translate_pending_phi_nodes): Bail out early when
codegen fails.
(graphite_regenerate_ast_isl): Remove codegen region when pending phis
could not be generated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230567
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Wed, 18 Nov 2015 21:08:33 +0000 (21:08 +0000)]
Move codegen related functions to graphite-isl-ast-to-gimple.c
No functional changes intended.
This patch passes regtest and bootstrap on linux-x86-64 with
BOOT_CFLAGS='-O2 -fgraphite-identity -floop-nest-optimize'
gcc/ChangeLog:
2015-11-14 hiraditya <hiraditya@msn.com>
* graphite-isl-ast-to-gimple.c (struct ast_build_info): Remove semicolon.
(class translate_isl_ast_to_gimple): Indentation.
(translate_pending_phi_nodes): Comment.
(add_parameters_to_ivs_params): Moved from sese.c inside class translate_isl_ast_to_gimple.
(get_max_schedule_dimensions): Same.
(generate_isl_context): Same.
(extend_schedule): Same.
(generate_isl_schedule): Same.
(set_options): Same.
(scop_to_isl_ast): Same.
(is_valid_rename): Same.
(get_rename): Same.
(get_rename_from_scev): Same.
(get_def_bb_for_const): Same.
(get_new_name): Same.
(collect_all_ssa_names): Same.
(copy_loop_phi_args): Same.
(copy_loop_phi_nodes): Same.
(copy_loop_close_phi_args): Same.
(copy_loop_close_phi_nodes): Same.
(copy_cond_phi_args): Same.
(copy_cond_phi_nodes): Same.
(graphite_copy_stmts_from_block): Same.
(copy_bb_and_scalar_dependences): Same.
(add_phi_arg_for_new_expr): Same.
(rename_uses): Same.
(set_rename): Same.
(set_rename_for_each_def): Same.
(gsi_insert_earliest): Same.
(rename_all_uses): Same.
(codegen_error_p): Same.
(print_isl_ast_node): Same.
(translate_isl_ast_for_loop): Call function codegen_error_p.
(translate_isl_ast_to_gimple::translate_isl_ast): Same.
(translate_isl_ast_node_user): Make nb_loops const and release iv_map before exit.
(get_true_edge_from_guard_bb): Move all free-functions early.
(get_false_edge_from_guard_bb): Same.
(bb_contains_loop_close_phi_nodes): Same.
(bb_contains_loop_phi_nodes): Same.
(is_loop_closed_ssa_use): Same.
(number_of_phi_nodes): Same.
(phi_uses_name): Same.
(later_of_the_two): Same.
(substitute_ssa_name):
(get_edges): Same.
(get_loc): Same.
(get_loop_init_value): Same.
(find_init_value): Same.
(find_init_value_close_phi): Same.
(ast_build_before_for): Same.
(graphite_regenerate_ast_isl): Formatting changes.
* graphite-scop-detection.c (build_cross_bb_scalars_use): Same.
* sese.c (get_rename): Move to graphite-isl-ast-to-gimple.c
(set_rename): Same.
(gsi_insert_earliest): Same.
(collect_all_ssa_names): Same.
(rename_all_uses): Same.
(rename_uses): Same.
(get_def_bb_for_const): Same.
(copy_loop_phi_nodes): Same.
(copy_loop_close_phi_args): Same.
(copy_loop_close_phi_nodes): Same.
(copy_cond_phi_args): Same.
(copy_cond_phi_nodes): Same.
(set_rename_for_each_def): Same.
(graphite_copy_stmts_from_block): Same.
(copy_bb_and_scalar_dependences): Same.
(if_region_set_false_region): Same.
(scev_analyzable_p): Same.
* sese.h: Delete extern functions moved to graphite-isl-ast-to-gimple.c
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230566
138bc75d-0d04-0410-961f-
82ee72b054a4
andreast [Wed, 18 Nov 2015 20:48:18 +0000 (20:48 +0000)]
2015-11-18 Andreas Tobler <andreast@gcc.gnu.org>
* config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the
commit from r125920 for FreeBSD.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230565
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 18 Nov 2015 20:11:32 +0000 (20:11 +0000)]
Support GGC finalizers with PCH.
* ggc-page.c (ggc_globals): Change finalizers and vec_finalizers
to be vecs of vecs.
(add_finalizer): Split out from ggc_internal_alloc.
(ggc_handle_finalizers): Run finalizers for the current depth.
(init_ggc, ggc_pch_read): Reserve space for finalizers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230564
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Wed, 18 Nov 2015 19:45:47 +0000 (19:45 +0000)]
2015-11-18 Sandra Loosemore <sandra@codesourcery.com>
PR target/68410
* config/nios2/nios2.c (cdx_and_immed): Remove duplicate tests
from || expression.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230563
138bc75d-0d04-0410-961f-
82ee72b054a4
denisc [Wed, 18 Nov 2015 19:15:31 +0000 (19:15 +0000)]
* config/avr/avr-mcus.def: Add new avr4 devices atmega48pb and
atmega88pb. Add new avr5 devices ata5791, ata8210, ata8510, atmega168pb
and atmega328pb.
* doc/avr-mmcu.texi: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230562
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Wed, 18 Nov 2015 18:33:38 +0000 (18:33 +0000)]
gcc/
* config/nvptx/nvptx.c (bb_pair_t, bb_pair_vec_t): New types.
(pseudo_node_t, struct bracket, bracket_vec_t): New types.
(struct bb_sese): New struct.
(bb_sese::~bb_sese, bb_sese::append, bb_sese::remove): New.
(BB_GET_SESE, BB_SET_SESE): Define.
(nvptx_sese_number, nvptx_sese_pseudo, nvptx_sese_color): New.
(nvptx_find_sese): New.
(nvptx_neuter_pars): Find SESE regions when optimizing.
gcc/testsuite/
* gcc.dg/goacc/nvptx-sese-1.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230561
138bc75d-0d04-0410-961f-
82ee72b054a4