* cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
dead calls back to live.
(cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
cross check to ...
(cgraph_node::verify_node): ... here; verify only callee edges,
not caller.
From-SVN: r221707
* ipa-inline-analysis.c (redirect_to_unreachable): New function.
(edge_set_predicate): Use it to mark unreachable edges.
(inline_summary_t::duplicate): Remove unnecesary code.
(remap_edge_summaries): Likewise.
(dump_inline_summary): Report contains_cilk_spawn.
(compute_inline_parameters): Compute contains_cilk_spawn.
(inline_read_section, inline_write_summary): Stream
contains_cilk_spawn.
* ipa-inline.c (can_inline_edge_p): Do not tuch
DECL_STRUCT_FUNCTION that may not be available;
use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
remove check for callee_fun->can_throw_non_call_exceptions and
replace it by optimization attribute check; check for flag_exceptions.
* ipa-inline-transform.c (inline_call): Maintain
DECL_FUNCTION_PERSONALITY
* ipa-inline.h (inline_summary): Add contains_cilk_spawn.
From-SVN: r221706
PR libstdc++/62259
PR libstdc++/65147
* include/std/atomic (atomic<T>): Increase alignment for types with
the same size as one of the integral types.
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
* testsuite/29_atomics/atomic/62259.cc: New.
From-SVN: r221703
2015-03-26 Richard Biener <rguenther@suse.de>
PR middle-end/65555
* tree-cfg.c (verify_gimple_call): Do not require a call to
have no LHS if it wasn't recognized as control altering yet.
* g++.dg/torture/pr65555.C: New testcase.
From-SVN: r221697
PR tree-optimization/64715
* passes.def: Add another instance of pass_object_sizes before
ccp1.
* tree-object-size.c (pass_object_sizes::execute): In
first_pass_instance, only handle __bos (, 1) and __bos (, 3)
calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
__bos result and the computed constant. Remove redundant
checks, obsoleted by gimple_call_builtin_p test.
* gcc.dg/builtin-object-size-15.c: New test.
* gcc.dg/pr64715-1.c: New test.
* gcc.dg/pr64715-2.c: New test.
From-SVN: r221694
* doc/install.texi (Building a native compiler): Document new
bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
configuration assumes that the host supports the linker plugin.
From-SVN: r221688
2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/65569
* config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
XXLXOR to create 0.0. On pre-VSX systems make sure the constant
0.0 is correctly setup.
(extenddftf2_internal): Likewise.
From-SVN: r221683
PR tree-optimization/65177
* tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
(bb_in_bbs): New.
(duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
edges not adjacent on the path to the original code.
* gcc.dg/tree-ssa/ssa-dom-thread-10.c: New.
From-SVN: r221675
* gcc.target/i386/sse-13.c: Include x86intrin.h and adjust #defines.
* gcc.target/i386/sse-23.c: Do not explicitly include wmmintrin.h,
smmintrin.h and mm3dnow.h.
From-SVN: r221674
PR go/65570
libgo/Makefile.am: add runtime/cgo to list of standard packages
The runtime/cgo package is treated specially by the go tool.
It needs to know that it is always available for gccgo.
From-SVN: r221673
config/ChangeLog:
PR bootstrap/65537
* bootstrap-lto-noplugin.mk: New build configuration.
gcc/ChangeLog:
PR bootstrap/65537
* doc/install.texi (Building a native compiler): Document new
bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
configuration assumes that the host supports the linker plugin.
From-SVN: r221667
PR fortran/64952
PR fortran/65532
fortran/
* gfortran.h (struct gfc_namespace): New field 'types_resolved'.
* resolve.c (resolve_types): Return early if field 'types_resolved'
is set. Set 'types_resolved' at the end.
testsuite/
* gfortran.dg/data_initialized_3.f90: New.
From-SVN: r221657
PR lto/65515
* lto-streamer-out.c (DFS::worklist): New struct.
(DFS::worklist_vec): New data member.
(DFS::next_dfs_num): Remove.
(DFS::DFS): Rewritten using worklist instead of recursion,
using most of code from DFS::DFS_write_tree.
(DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
pass it to DFS_write_tree calls.
(DFS::DFS_write_tree): Remove SINGLE_P argument, after
quick initial checks push it into worklist_vec and return.
From-SVN: r221656
2015-03-25 Richard Biener <rguenther@suse.de>
PR middle-end/65519
* genmatch.c (expr::gen_transform): Re-write to avoid
using gimple_build.
* gnat.dg/specs/opt2.ads: New testcase.
From-SVN: r221654
* ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
* ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
(sem_item::add_type): New function.
(sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
(sem_function::compare_polymorphic_p): Do not consider indirect calls.
(sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
(sem_function::equals_wpa): Fix typo.
* ipa-icf.h (sem_item::add_type): New function.
(symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
order.
Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r221645
PR go/65417
debug/elf: support reading debug info from 32-bit PPC objects
This is a backport of http://golang.org/7590 from the master
Go library.
From-SVN: r221644
PR go/65462
cmd: Fix dependencies for 'go get' with gccgo
Problem described in GCC BZ 65462.
Generate the list of the standard GO package names based on what was built into libgo in the libgo Makefile.
Change the var name from reqPkgSrc to reqStdPkgSrc to clarify it only affects standard GO packages.
Skip the attempted loading of a package only if it is a standard GO package and the flag is set indicating its source is not required to be available.
This requires a corresponding change to gotools to build and link in the new file containing the list of standard GO package names that was generated by the libgo Makefile.
gotools/:
PR go/65462
* Makefile.am (go_cmd_go_files): Add $(libgodir)/zstdpkglist.go.
* Makefile.in: Rebuild.
From-SVN: r221643