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
PR c++/65498
* pt.c (get_mostly_instantiated_function_type): Just return the
type of the partially instantiated template in DECL_TI_TEMPLATE.
From-SVN: r221641