redi [Fri, 2 Oct 2015 23:21:41 +0000 (23:21 +0000)]
Enable dual ABI for Filesystem library
* src/filesystem/Makefile.am: Add cxx11_abi_sources.
* src/filesystem/Makefile.in: Regenerate.
* src/filesystem/cow-dir.cc: New.
* src/filesystem/cow-ops.cc: New.
* src/filesystem/cow-path.cc: New.
* src/filesystem/dir.cc: Define macro for new ABI.
* src/filesystem/ops.cc: Likewise.
* src/filesystem/path.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228437
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 2 Oct 2015 22:18:06 +0000 (22:18 +0000)]
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Minor tweaks to match narrow char version.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228436
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 2 Oct 2015 22:13:18 +0000 (22:13 +0000)]
Fix tests that fail with old std::string
* testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
explicit instantiation with check for new ABI.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Likewise. Use wchar_t as char_type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228435
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 2 Oct 2015 22:13:12 +0000 (22:13 +0000)]
Use noexcept instead of _GLIBCXX_NOEXCEPT
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
(basic_string::front() const, basic_string::back() const): Use
noexcept instead of _GLIBCXX_NOEXCEPT macro.
(__versa_string::front, __versa_string::back): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228434
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 2 Oct 2015 21:47:38 +0000 (21:47 +0000)]
* acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228433
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Fri, 2 Oct 2015 21:24:50 +0000 (21:24 +0000)]
Help the offload gcc driver find the right assembler
gcc/
* gcc.c (process_command): Use spec_machine rather than
spec_host_machine to build tooldir_prefix2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228429
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Fri, 2 Oct 2015 19:43:41 +0000 (19:43 +0000)]
nvptx offloading linking
gcc/
* config/nvptx/mkoffload.c (Kind, Vis): Remove enums.
(Token, Stmt): Remove structs.
(decls, vars, fns): Remove variables.
(alloc_comment, append_stmt, is_keyword): Remove macros.
(tokenize, write_token, write_tokens, alloc_stmt, rev_stmts)
(write_stmt, write_stmts, parse_insn, parse_list_nosemi)
(parse_init, parse_file): Remove functions.
(read_file): Accept a pointer to a length and store into it.
(process): Don't try to parse the input file, just write it out as
a string, but looking for maps. Also write out the length.
(main): Don't use "-S" to compile PTX code.
libgomp/
* oacc-ptx.h: Remove file, moving its content into...
* config/nvptx/fortran.c: ... here...
* config/nvptx/oacc-init.c: ..., here...
* config/nvptx/oacc-parallel.c: ..., and here.
* config/nvptx/openacc.f90: New file.
* plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
(link_ptx): Don't link in predefined bits of PTX code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228418
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 2 Oct 2015 19:38:38 +0000 (19:38 +0000)]
Allow Filesystem TS to compile without wchar_t
* include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T]
(__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable.
* include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T]
(path::wstring, path::generic_wstring): Disable.
* src/filesystem/path.cc (path::_S_convert_loc)
[!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
* testsuite/experimental/filesystem/path/assign/assign.cc: Check for
wchar_t support.
* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228417
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 2 Oct 2015 19:38:27 +0000 (19:38 +0000)]
* testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic
name for paths. Prefer snprintf to sprintf.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228416
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 2 Oct 2015 19:31:46 +0000 (19:31 +0000)]
Re: [PATCH] Improve DOM's optimization of control statements
* tree-ssa-dom.c (optimize_stmt): Note when loop structures need
fixups.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228415
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Fri, 2 Oct 2015 19:27:30 +0000 (19:27 +0000)]
[PR target/67822] OpenMP offloading to nvptx fails
gcc/
PR target/67822
* config/nvptx/mkoffload.c (main): Scan the argument vector for
-fopenmp, and skip generating an offloading image if specified.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228414
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 2 Oct 2015 18:08:59 +0000 (18:08 +0000)]
* system.h (ROUND_UP): New macro definition.
(ROUND_DOWN): Ditto.
* ggc-page.c (ROUND_UP): Remove local macro definition.
(PAGE_ALIGN): Implement using ROUND_UP macro.
* config/i386/i386.h (PUSH_ROUNDING): Implement using ROUND_UP macro.
* config/i386/i386.c (function_arg_advance_64): Use ROUND_UP macro
to align values.
(ix86_compute_frame_layout): Ditto.
(ix86_expand_prologue): Ditto.
(ix86_adjust_stack_and_probe): Use ROUND_DOWN macro
to round down values.
(expand_set_or_movmem_via_rep): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228410
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 2 Oct 2015 18:01:50 +0000 (18:01 +0000)]
PR c/67730
* c-typeck.c (convert_for_assignment): Use the expansion point
location throughout.
* gcc.dg/pr67730-1.c: New test.
* gcc.dg/pr67730-2.c: New test.
* gcc.dg/pr67730.h: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228408
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 2 Oct 2015 17:49:15 +0000 (17:49 +0000)]
* genemit.c (gen_exp): Remove -Wduplicated-cond hack.
* c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
* c-c++-common/Wduplicated-cond-2.c: Skip until PR67819 is resolved.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228405
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 2 Oct 2015 16:34:34 +0000 (16:34 +0000)]
PR libstdc++/67747 use readdir instead of readdir_r
PR libstdc++/67747
* src/filesystem/dir.cc (native_readdir): Remove.
(_Dir::advance): Use readdir instead of native_readdir.
(recursive_directory_iterator(const path&, directory_options,
error_code*)): Use swap instead of reset.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228404
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Fri, 2 Oct 2015 16:04:00 +0000 (16:04 +0000)]
reject loops early where ivs cannot be represented
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228403
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Fri, 2 Oct 2015 16:03:54 +0000 (16:03 +0000)]
fix PR67754
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228402
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Fri, 2 Oct 2015 16:03:48 +0000 (16:03 +0000)]
add testcase
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228401
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Fri, 2 Oct 2015 15:28:23 +0000 (15:28 +0000)]
outline functions from stmt_simple_for_scop_p
Outlined functions from stmt_simple_for_scop_p. No functional changes intended.
Passes regtest and bootstrap.
gcc/ChangeLog:
2015-10-01 Aditya Kumar <hiraditya@msn.com>
* graphite-scop-detection.c (stmt_has_side_effects): New function
outlined from stmt_simple_for_scop_p.
(graphite_can_represent_stmt): Same.
(stmt_simple_for_scop_p): Moved code out of this function for better
readability.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228400
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Fri, 2 Oct 2015 15:25:26 +0000 (15:25 +0000)]
AVX-512. Add missing features to cpuinfo.c
gcc/
* config/i386/i386.c (processor_features): Add F_AVX512VBMI,
F_AVX512IFMA.
(isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA.
libgcc/
* config/i386/cpuinfo.c (processor_features): Add
FEATURE_AVX512VBMI and FEATURE_AVX512VBMI.
testsuite/
* gcc.target/i386/builtin_target.c: Handle "avx512ifma"
and "avx512vbmi".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228399
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Fri, 2 Oct 2015 15:07:46 +0000 (15:07 +0000)]
[AArch64] Use default_elf_asm_named_section instead of special cased hook
* config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228397
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Fri, 2 Oct 2015 15:04:59 +0000 (15:04 +0000)]
2015-10-02 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/67756
* lra-constraints.c (match_reload): Add a new parameter. Use it
for creating a pseudo with the same value.
(curr_insn_transform): Pass a new argument to match_reload.
2015-10-02 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/67756
* gcc.target/arm/pr67756.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228396
138bc75d-0d04-0410-961f-
82ee72b054a4
jiwang [Fri, 2 Oct 2015 14:47:34 +0000 (14:47 +0000)]
[AArch64] Add more TLS local executable testcases
2015-10-02 Jiong Wang <jiong.wang@arm.com>
* gcc.target/aarch64/tlsle12_tiny_1.c: New testcase for tiny model.
* gcc.target/aarch64/tlsle24_tiny_1.c: Likewise.
* gcc.target/aarch64/tlsle_sizeadj_tiny_1.c: TLS size truncation test
for tiny model.
* gcc.target/aarch64/tlsle_sizeadj_small_1.c: TLS size truncation test
for small model.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228395
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Fri, 2 Oct 2015 14:36:41 +0000 (14:36 +0000)]
Update extract_even_odd w/ AVX-512BW insns.
gcc/
* config/i386/i386.c (expand_vec_perm_even_odd_trunc): New.
(expand_vec_perm_even_odd_1): Handle V64QImode.
(ix86_expand_vec_perm_const_1): Try expansion with
expand_vec_perm_even_odd_trunc as well.
* config/i386/sse.md (VI124_AVX512F): Rename to ...
(define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend
to V54QI.
(define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ...
(define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend
to V32HI and V16SI.
(define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name.
(define_expand "vec_pack_trunc_<mode>"): Update iterator name.
(define_expand "vec_unpacks_lo_<mode>"): Ditto.
(define_expand "vec_unpacks_hi_<mode>"): Ditto.
(define_expand "vec_unpacku_lo_<mode>"): Ditto.
(define_expand "vec_unpacku_hi_<mode>"): Ditto.
gcc/testsuite/
* gcc.target/i386/vect-pack-trunc-1.c: New test.
* gcc.target/i386/vect-pack-trunc-2.c: Ditto.
* gcc.target/i386/vect-perm-even-1.c: Ditto.
* gcc.target/i386/vect-perm-odd-1.c: Ditto.
* gcc.target/i386/vect-unpack-1.c: Ditto.
* gcc.target/i386/vect-unpack-2.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228394
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Fri, 2 Oct 2015 14:29:44 +0000 (14:29 +0000)]
gcc/
* doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq,
-mavx521vbmi, -mavx512ifma. Add missing opindex-es.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228393
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 2 Oct 2015 13:44:41 +0000 (13:44 +0000)]
PR c/59218
* trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p.
(diagnose_tm_1_op): Also diagnose volatile accesses in
transaction_safe function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228392
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 2 Oct 2015 13:30:03 +0000 (13:30 +0000)]
* system.h (malloc.h): Don't include obsolete header.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228391
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Fri, 2 Oct 2015 13:08:43 +0000 (13:08 +0000)]
[AArch64] Use default_elf_asm_named_section instead of special cased hook
Hi,
The hook for TARGET_ASM_NAMED_SECTION was defined separately in
the backend around the time frame for GCC 4.7 under the assumption
that '@' would be used as a comment character in the binutils port.
This was indeed true in versions of the AArch64 port that never made it
into the FSF tree. However this practice was killed
before the binutils port made it upstream. Doing archaeology into
various revisions including the first commit of upstream binutils,
talking to Marcus about the history of this and actually testing the
first commit of binutils, I can confidently say that the upstream binutils
port never had any use of '@' as a comment character for AArch64
However we never got rid of the special cased handling in
GCC and the duplication of code in the AArch64 backend.
This was found when I was playing with Virtual Table verification
on ARM and AArch64 and discovered ICEs which were similar but manifested
in different places begging the obvious question.
Tested on aarch64-none-elf with no regressions.
Ok to apply ?
Ramana
2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete.
(TLS_SECTION_ASM_FLAG): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228390
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 2 Oct 2015 12:56:17 +0000 (12:56 +0000)]
PR c/64249
* c-common.c (warn_duplicated_cond_add_or_warn): New function.
* c-common.h (warn_duplicated_cond_add_or_warn): Declare.
* c.opt (Wduplicated-cond): New option.
* c-parser.c (c_parser_statement_after_labels): Add CHAIN parameter
and pass it down to c_parser_if_statement.
(c_parser_else_body): Add CHAIN parameter and pass it down to
c_parser_statement_after_labels.
(c_parser_if_statement): Add CHAIN parameter. Add code to warn about
duplicated if-else-if conditions.
* parser.c (cp_parser_statement): Add CHAIN parameter and pass it
down to cp_parser_selection_statement.
(cp_parser_selection_statement): Add CHAIN parameter. Add code to
warn about duplicated if-else-if conditions.
(cp_parser_implicitly_scoped_statement): Add CHAIN parameter and pass
it down to cp_parser_statement.
* doc/invoke.texi: Document -Wduplicated-cond.
* Makefile.in (insn-latencytab.o): Use -Wno-duplicated-cond.
(insn-dfatab.o): Likewise.
* genemit.c (gen_exp): Rewrite condition to avoid -Wduplicated-cond
warning.
* c-c++-common/Wduplicated-cond-1.c: New test.
* c-c++-common/Wduplicated-cond-2.c: New test.
* c-c++-common/Wduplicated-cond-3.c: New test.
* c-c++-common/Wduplicated-cond-4.c: New test.
* c-c++-common/Wmisleading-indentation.c (fn_37): Avoid
-Wduplicated-cond warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228388
138bc75d-0d04-0410-961f-
82ee72b054a4
renlin [Fri, 2 Oct 2015 12:52:36 +0000 (12:52 +0000)]
[PATCH][AARCH64]Add csneg3_uxtw_insn pattern
gcc/
2015-10-02 Renlin Li <renlin.li@arm.com>
* config/aarch64/aarch64.md (csneg3_uxtw_insn): New pattern.
gcc/testsuite/
2015-10-02 Renlin Li <renlin.li@arm.com>
* gcc.target/aarch64/csneg-1.c: Update test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228387
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Fri, 2 Oct 2015 12:30:05 +0000 (12:30 +0000)]
gcc/
* config/sh/sh.md: Add new unnamed split pattern to handle movt-movt
sequences.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228386
138bc75d-0d04-0410-961f-
82ee72b054a4
renlin [Fri, 2 Oct 2015 11:55:04 +0000 (11:55 +0000)]
[PATCH][AARCH64][PR66776]Add cmovdi_insn_uxtw pattern.
gcc/
2015-10-02 Renlin Li <renlin.li@arm.com>
PR target/66776
* config/aarch64/aarch64.md (cmovdi_insn_uxtw): New pattern.
gcc/testsuite/
2015-10-02 Renlin Li <renlin.li@arm.com>
PR target/66776
* gcc.target/aarch64/pr66776.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228384
138bc75d-0d04-0410-961f-
82ee72b054a4
fw [Fri, 2 Oct 2015 10:13:48 +0000 (10:13 +0000)]
MAINTAINERS: Update email address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228383
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 2 Oct 2015 09:45:45 +0000 (09:45 +0000)]
* gcc-interface/lang.opt (fbuiltin-printf): Accept.
* gcc-interface/misc.c (gnat_handle_option): Ignore it.
* gcc-interface/lang-specs.h (@ada, @adawhy, @adascil): Propagate -f*
flags as -g* and -m* flags past -gnatez.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228381
138bc75d-0d04-0410-961f-
82ee72b054a4
lkrupp [Fri, 2 Oct 2015 09:29:32 +0000 (09:29 +0000)]
2015-10-02 Louis Krupp <louis.krupp@zoho.com>
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228380
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 2 Oct 2015 09:28:56 +0000 (09:28 +0000)]
* gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Warnings>: Replace
linear search with call to find_opt and issue warnings if the -W
switch is not appropriate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228379
138bc75d-0d04-0410-961f-
82ee72b054a4
lkrupp [Fri, 2 Oct 2015 09:26:40 +0000 (09:26 +0000)]
Back out improper commit
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228378
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 2 Oct 2015 09:18:34 +0000 (09:18 +0000)]
* gcc-interface/ada-tree.h (DECL_RESTRICTED_ALIASING_P): New flag.
* gcc-interface/decl.c (gnat_to_gnu_param): For parameters passed by
reference but whose type isn't by-ref and whose mechanism hasn't been
forced to by-ref, set the DECL_RESTRICTED_ALIASING_P flag directly on
them instead of changing their type.
* gcc-interface/trans.c (scan_rhs_r): New helper function.
(independent_iterations_p): New predicate.
(Loop_Statement_to_gnu): For a loop with an iteration scheme, set an
ivdep pragma if the iterations are independent.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228377
138bc75d-0d04-0410-961f-
82ee72b054a4
lkrupp [Fri, 2 Oct 2015 08:41:13 +0000 (08:41 +0000)]
Delete undesirable svn:executable property
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228376
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Fri, 2 Oct 2015 08:36:45 +0000 (08:36 +0000)]
[RTL ifcvt] PR 67786, 67787: Check that intermediate instructions in the basic block don't clobber a reg used in condition
PR rtl-optimization/67786
PR rtl-optimization/67787
* ifcvt.c (bb_valid_for_noce_process_p): Reject basic block if
it modifies a reg used in the condition calculation.
* gcc.dg/pr67786.c: New test.
* gcc.dg/pr67787.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228375
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 2 Oct 2015 08:32:12 +0000 (08:32 +0000)]
[Patch AArch64] Improve SIMD concatenation with zeroes
gcc/
* config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Add
alternatives for reads from memory and moves from general-purpose
registers.
(*aarch64_combinez_be<mode>): Likewise.
gcc/testsuite/
* gcc.target/aarch64/vect_combine_zeroes_1.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228374
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 2 Oct 2015 08:10:46 +0000 (08:10 +0000)]
* gcc-interface/trans.c (find_loop_for): Use FOR_EACH_VEC_ELT_REVERSE.
(Loop_Statement_to_gnu): Use FOR_EACH_VEC_ELT.
(finalize_nrv): Use FOR_EACH_VEC_SAFE_ELT and initialize field.
(build_stmt_group): Add blank lines.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228373
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Fri, 2 Oct 2015 08:08:38 +0000 (08:08 +0000)]
PR target/51726
* g++.dg/ext/selectany2.C: Allow uninitialized variable case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228371
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Fri, 2 Oct 2015 08:06:52 +0000 (08:06 +0000)]
PR target/51726
* config/i386/winnt.c (ix86_handle_selectany_attribute): Handle
selectany within this function without need to keep attribute.
(i386_pe_encode_section_info): Remove selectany-code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228370
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Oct 2015 07:34:53 +0000 (07:34 +0000)]
2015-10-02 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.c (has_VN_INFO): New function.
(free_scc_vn): Use it.
(visit_use): Remove dead code and refactor to use gassign
and use less indentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228369
138bc75d-0d04-0410-961f-
82ee72b054a4
lkrupp [Fri, 2 Oct 2015 04:03:34 +0000 (04:03 +0000)]
2015-10-01 Louis Krupp <louis.krupp@zoho.com>
PR fortran/62242
PR fortran/52332
* trans-array.c
(store_backend_decl): Create new gfc_charlen instance if requested
(get_array_ctor_all_strlen): Call store_backend_decl requesting
new gfc_charlen
(trans_array_constructor): Call store_backend_decl requesting
new gfc_charlen if get_array_ctor_strlen was called
(gfc_add_loop_ss_code): Don't try to convert non-constant length
2015-10-01 Louis Krupp <louis.krupp@zoho.com>
PR fortran/62242
PR fortran/52332
* gfortran.dg/string_array_constructor_1.f90: New.
* gfortran.dg/string_array_constructor_2.f90: New.
* gfortran.dg/string_array_constructor_3.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228368
138bc75d-0d04-0410-961f-
82ee72b054a4
lkrupp [Fri, 2 Oct 2015 01:54:37 +0000 (01:54 +0000)]
Approved by FX
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228367
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Fri, 2 Oct 2015 01:29:26 +0000 (01:29 +0000)]
rs6000: Add "cannot_copy" attribute, use it (PR67788, PR67789)
After the shrink-wrapping patches the prologue will often be pushed
"deeper" into the function, which in turn means the software trace cache
pass will more often want to duplicate the basic block containing the
prologue. This caused failures for 32-bit SVR4 with -msecure-plt PIC.
This configuration uses the load_toc_v4_PIC_1 instruction, which creates
assembler labels without using the normal machinery for that. If now
the compiler decides to duplicate the insn, it will emit the same label
twice. Boom.
It isn't so easy to fix this to use labels the compiler knows about (let
alone test that properly). Instead, this patch wires up a "cannot_copy"
attribute to be used by TARGET_CANNOT_COPY_P, and sets that attribute on
these insns we do not want copied.
2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
PR target/67788
PR target/67789
* config/rs6000/rs6000.c (TARGET_CANNOT_COPY_INSN_P): New.
(rs6000_cannot_copy_insn_p): New function.
* config/rs6000/rs6000.md (cannot_copy): New attribute.
(load_toc_v4_PIC_1_normal): Set cannot_copy.
(load_toc_v4_PIC_1_476): Ditto.
gcc/testsuite/
PR target/67788
PR target/67789
* gcc.target/powerpc/pr67789.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228366
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Fri, 2 Oct 2015 00:53:00 +0000 (00:53 +0000)]
2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran.67802
* decl.c (add_init_expr_to_sym): Numeric constant for character
length must be an INTEGER.
2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran.67802
* gfortran.dg/pr67802.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228365
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Fri, 2 Oct 2015 00:49:28 +0000 (00:49 +0000)]
2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66979
* io.c (gfc_resolve_filepos): Check for a UNIT number. Add a nearby
missing 'return false'.
2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66979
gfortran.dg/pr66979.f90: new test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228364
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Fri, 2 Oct 2015 00:45:59 +0000 (00:45 +0000)]
2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/67616
* primary.c (gfc_match_structure_constructor): Use a possibly
host-associated symtree to prevent ICE.
2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/67616
* gfortran.dg/pr67616.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228363
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 2 Oct 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228362
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 1 Oct 2015 22:04:20 +0000 (22:04 +0000)]
use sese_l throughout scop-detection
Use sese_l throughout SCoP detection and create vec<scop_p> at the very end when
all SCoPs have been identified. 'struct sese_l' is very lightweight (two
pointers) compared to 'struct scop'.
No functional change intended. Passes regtest and bootstrap.
gcc/ChangeLog:
2015-10-01 Aditya Kumar <hiraditya@msn.com>
* graphite-scop-detection.c (struct sese_l): New conversion constructor
so that this type can be pushed into a vec.
(class scop_builder): use sese_l to collect scops.
(get_scops): New getter function.
(remove_intersecting_scops): Use sese_l instead of scops_p.
(intersects): Same.
(add_scop): Same.
(subsumes): Same.
(remove_subscops): Same.
(build_scops): Add scops to vec<scops_p> once all the scops have been
detected.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228359
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 1 Oct 2015 22:04:14 +0000 (22:04 +0000)]
Rename gimple_bb to gimple_poly_bb
Renaming gimple_bb to gimple_poly_bb because there is a function gimple_bb
by the same name in gimple.h. No functional change intended.
Passes regtest and bootstrap.
gcc/ChangeLog:
2015-10-01 Aditya Kumar <hiraditya@msn.com>
* graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
Renamed type from gimple_bb_p to gimple_poly_bb_p.
(translate_isl_ast_node_user): Same.
* graphite-poly.c (new_poly_bb): Same.
* graphite-poly.h (gbb_from_bb): Same.
* sese.h: Same.
* graphite-sese-to-poly.c (new_gimple_bb): gimple_bb_p -> gimple_poly_bb_p
(build_scop_scattering): Same.
(find_params_in_bb): Same.
(add_conditions_to_domain): Same.
(sese_dom_walker::before_dom_children): Same.
(analyze_drs_in_stmts): Same.
(new_pbb_from_pbb): Same.
(free_data_refs_aux): New pointer to type base_alias_pair.
* graphite-sese-to-poly.h: Same.
* sese.c (if_region_set_false_region): Fixed Indentation.
(move_sese_in_condition): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228358
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 1 Oct 2015 22:04:07 +0000 (22:04 +0000)]
correctly handle non affine data references
2015-10-01 Sebastian Pop <s.pop@samsung.com>
Aditya Kumar <aditya.k7@samsung.com>
PR tree-optimization/66980
* graphite-scop-detection.c (stmt_has_simple_data_refs_p): Return false
when data reference analysis has failed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228357
138bc75d-0d04-0410-961f-
82ee72b054a4
ville [Thu, 1 Oct 2015 19:22:08 +0000 (19:22 +0000)]
PR c++/54430
/cp
2015-10-01 Ville Voutilainen <ville.voutilainen@gmail.com>
PR c++/54430
* name-lookup.c (push_binding): Make non-static.
* name-lookup.h (push_binding): Declare it.
* parser.c (cp_parser_range_for): Use it, get the range
declaration away from the scope until the range expression
has been parsed, then restore the declaration.
/testsuite
2015-10-01 Ville Voutilainen <ville.voutilainen@gmail.com>
PR c++/54430
* g++.dg/cpp0x/range-for30.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228354
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 1 Oct 2015 17:00:14 +0000 (17:00 +0000)]
Do not describe -std=c11 etc. as experimental in c.opt help text.
I noticed that c.opt still described -std=c11 and related options as
experimental in the --help text. This patch fixes this.
Bootstrapped with no regressions on x86_64-pc-linux-gnu.
* c.opt (std=c11): Do not describe as experimental.
(std=gnu11): Likewise.
(std=iso9899:2011): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228349
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 1 Oct 2015 16:02:54 +0000 (16:02 +0000)]
* doc/html/manual/errno.html: Add new file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228348
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 1 Oct 2015 15:17:58 +0000 (15:17 +0000)]
call scev analysis in scop-detection as in sese-to-poly
Before our rewrite of the scop detection, we used to not have a valid SESE
region under hand, and so we used to do more ad-hoc analysis of data references
by trying to prove that at all levels of a loop nest the data references would
be still valid.
Now that we have a valid SESE region, we can call the scev analysis in the same
way on the same computed loop nest in the scop-detection as in the sese-to-poly.
Next step will be to cache the data references analyzed in the scop detection
and not compute the same info in sese-to-poly.
The patch fixes block-1.f90 that used to ICE on x86_64-linux when compiled with
-m32. Patch passed bootstrap with BOOT_CFLAGS="-g -O2 -fgraphite-identity
-floop-nest-optimize" and check on x86_64-linux using ISL-0.15.
2015-09-28 Sebastian Pop <s.pop@samsung.com>
Aditya Kumar <aditya.k7@samsung.com>
PR tree-optimization/67754
* graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call
scev analysis on the same loop nest as analyze_drs_in_stmts.
* graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and renamed...
(try_generate_gimple_bb): Call outermost_loop_in_sese.
(analyze_drs_in_stmts): Same.
* sese.c (outermost_loop_in_sese): ...here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228347
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 1 Oct 2015 15:17:51 +0000 (15:17 +0000)]
add recursion on the inner loops
We now check that all data references in the current loop and inner loops
contained within loop are valid in an outer region before declaring that the
outer loop is a valid scop.
2015-09-30 Sebastian Pop <s.pop@samsung.com>
Aditya Kumar <aditya.k7@samsung.com>
PR tree-optimization/67754
* graphite-scop-detection.c (loop_body_is_valid_scop): Add missing
recursion on the inner loops.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228346
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Thu, 1 Oct 2015 15:12:31 +0000 (15:12 +0000)]
remove many typedefs
gcc/ChangeLog:
2015-10-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c,
function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c,
tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c,
tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c,
tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove
unneeded typedefs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228344
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Thu, 1 Oct 2015 14:53:10 +0000 (14:53 +0000)]
PR c/65345
* config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use
create_tmp_var_raw rather than create_tmp_var.
* gcc.dg/atomic/pr65345-4.c: New test.
* gcc.dg/pr65345-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228343
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 1 Oct 2015 14:43:57 +0000 (14:43 +0000)]
PR go/66870
* gospec.c (lang_specific_driver): Only look for OPT_m32 if
TARGET_CAN_SPLIT_STACK_64BIT is defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228342
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Thu, 1 Oct 2015 14:25:42 +0000 (14:25 +0000)]
PR tree-optimization/67769
* tree-ssa-phiopt.c (conditional_replacement): Call
reset_flow_sensitive_info_in_bb.
(minmax_replacement): Likewise.
(abs_replacement): Likewise.
* gcc.dg/torture/pr67769.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228341
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Thu, 1 Oct 2015 14:13:30 +0000 (14:13 +0000)]
* builtins.c: Don't include gomp-constants.h.
(fold_builtin_1): Don't fold acc_on_device here.
* gimple-fold.c: Include gomp-constants.h.
(gimple_fold_builtin_acc_on_device): New.
(gimple_fold_builtin): Call it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228340
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Thu, 1 Oct 2015 13:34:49 +0000 (13:34 +0000)]
Enable bt and and movzx for Lakemont
* config/i386/x86-tune.def (X86_TUNE_USE_BT): Enable for
Lakemont.
(X86_TUNE_ZERO_EXTEND_WITH_AND): Disable for Lakemont.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228337
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 1 Oct 2015 12:46:19 +0000 (12:46 +0000)]
* gcc.dg/lto/pr55113_0.c: Skip on all x86 targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228334
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Thu, 1 Oct 2015 12:38:28 +0000 (12:38 +0000)]
Fix typo in ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228333
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Thu, 1 Oct 2015 12:36:15 +0000 (12:36 +0000)]
gcc/testsuite/
PR target/54236
* gcc.target/sh/pr54236-6.c: Fix assembler-no string.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228332
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 1 Oct 2015 11:23:39 +0000 (11:23 +0000)]
Save-and-restore errno more carefully in libstdc++
* doc/xml/manual/diagnostics.xml: Document use of errno.
* doc/html/*: Regenerate.
* config/locale/generic/c_locale.cc (_Save_errno): New helper.
(__convert_to_v): Use _Save_errno.
* include/ext/string_conversions.h (__stoa): Only restore errno when
it isn't set to non-zero.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228328
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Thu, 1 Oct 2015 10:14:39 +0000 (10:14 +0000)]
* c-typeck.c (convert_for_assignment): Improve commentary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228327
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 1 Oct 2015 10:06:27 +0000 (10:06 +0000)]
* gcc.target/i386/pr65105-1.c: Require sse2 effective target.
(main): Rename to sse2_test. Abort if count != 5.
(dg-options): Add -save-temps. Use "-msse2 -mtune=slm" instead
of -march=slm.
* gcc.target/i386/pr46865-2.c (dg-options): Remove -save-temps.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228326
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Thu, 1 Oct 2015 09:36:01 +0000 (09:36 +0000)]
[ChangeLog] Fix typo in 228324.
s/Liekwise/Likewise/
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228325
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Thu, 1 Oct 2015 09:33:40 +0000 (09:33 +0000)]
[Patch 2/2 ARM/AArch64] Add a new Cortex-A53 scheduling model
* config/arm/aarch-common-protos.h
(aarch_accumulator_forwarding): New.
(aarch_forward_to_shift_is_not_shifted_reg): Likewise.
* config/arm/aarch-common.c (aarch_accumulator_forwarding): New.
(aarch_forward_to_shift_is_not_shifted_reg): Liekwise.
* config/arm/cortex-a53.md: Rewrite.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228324
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 1 Oct 2015 07:54:26 +0000 (07:54 +0000)]
2015-10-01 Richard Biener <rguenther@suse.de>
* gimple-match.h (mprts_hook): Declare.
* gimple-match.head.c (mprts_hook): Define.
(maybe_push_res_to_seq): Use new hook.
* gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
* tree-ssa-sccvn.h (vn_ssa_aux::expr): Change to a gimple_seq.
(vn_ssa_aux::has_constants): Remove.
* tree-ssa-sccvn.c: Include gimple-match.h.
(VN_INFO_GET): Assert we don't re-use SSA names.
(vn_get_expr_for): Remove.
(expr_has_constants): Likewise.
(stmt_has_constants): Likewise.
(simplify_binary_expression): Likewise.
(simplify_unary_expression): Likewise.
(vn_lookup_simplify_result): New hook.
(visit_copy): Adjust.
(visit_reference_op_call): Likewise.
(visit_phi): Likewise.
(visit_use): Likewise.
(process_scc): Likewise.
(init_scc_vn): Likewise.
(visit_reference_op_load): Likewise. Use match-and-simplify and
a gimple seq for inserted expressions.
(try_to_simplify): Remove GENERIC stmt combining code.
(sccvn_dom_walker::before_dom_children): Use match-and-simplify.
* tree-ssa-pre.c (eliminate_insert): Adjust.
(eliminate_dom_walker::before_dom_children): Likewise.
* gcc.dg/tree-ssa/ssa-fre-7.c: Adjust.
* gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228320
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Thu, 1 Oct 2015 06:40:01 +0000 (06:40 +0000)]
bb-reorder: Documentation updates
2015-09-23 Segher Boessenkool <segher@kernel.crashing.org>
* doc/invoke.texi (Optimization Options): Add
-freorder-blocks-algorithm=.
(Optimize Options) <-O>: Add -freorder-blocks.
<-O2>: Remove -freorder-blocks. Add -freorder-blocks-algorithm=stc.
<-Os>: Add -freorder-blocks-algorithm=stc as not enabled.
<-freorder-blocks>: Also enabled at levels -O and -Os.
<-freorder-blocks-algorithm=>: Document new option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228319
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Thu, 1 Oct 2015 06:38:24 +0000 (06:38 +0000)]
bb-reorder: Add -freorder-blocks-algorithm= and wire it up
This adds an -freorder-blocks-algorithm=[simple|stc] flag, with "simple"
as default. For -O2 and up (except -Os) it is switched to "stc" instead.
Targets that never want STC can override this. This changes -freorder-blocks
to be on at -O1 and up (was -O2 and up).
In effect, the changes are for -O1 (which now gets "simple" instead of
nothing), -Os (which now gets "simple" instead of "stc", since STC results
in much bigger code), and for targets that wish to never use STC (not in
this patch though).
2015-09-23 Segher Boessenkool <segher@kernel.crashing.org>
* bb-reorder.c (reorder_basic_blocks): Use the algorithm selected
with flag_reorder_blocks_algorithm.
* common.opt (freorder-blocks-algorithm=): New flag.
(reorder_blocks_algorithm): New enum.
* flag-types.h (reorder_blocks_algorithm): New enum.
* opts.c (default_options_table): Use -freorder-blocks at -O1 and up,
and -freorder-blocks-algorithm=stc at -O2 and up (not at -Os).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228318
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Thu, 1 Oct 2015 06:35:57 +0000 (06:35 +0000)]
bb-reorder: Add the "simple" algorithm
2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
* bb-reorder.c: Add intro comment.
(reorder_basic_blocks_software_trace_cache): Print a header to
the dump file.
(edge_order): New function.
(reorder_basic_blocks_simple): New function.
(reorder_basic_blocks): Choose between the STC and the simple
algorithms (always choose the former).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228317
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Thu, 1 Oct 2015 06:33:09 +0000 (06:33 +0000)]
bb-reorder: Split out STC
2015-09-23 Segher Boessenkool <segher@kernel.crashing.org>
* bb-reorder.c (reorder_basic_blocks_software_trace_cache): New
function, factored out from ...
(reorder_basic_blocks): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228316
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 1 Oct 2015 05:42:50 +0000 (05:42 +0000)]
Make dumping of function attributes resemble source syntax
2015-10-01 Tom de Vries <tom@codesourcery.com>
* tree-cfg.c (dump_function_to_file): Dump function attributes using
__attribute__(()) string. Move dumping of function attributes to before
function name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228315
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 1 Oct 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228314
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 30 Sep 2015 23:06:11 +0000 (23:06 +0000)]
PR target/66870
* config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define.
* configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power
based on gold linker version.
* gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if
HAVE_GOLD_ALTERNATE_SPLIT_STACK defined.
* configure, config.in: Regenerate.
go:
* gospec.c (lang_specific_driver): Set appropriate split stack
options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228311
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Wed, 30 Sep 2015 22:19:18 +0000 (22:19 +0000)]
[RS6000] Make -msingle-pic-base remove the ELFv2 global entry code
For other ABIs, -msingle-pic-base makes gcc omit loading of the PIC
register in function prologues. This patch makes the option affect
ELFv2 too.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set
r2_setup_needed when TARGET_SINGLE_PIC_BASE.
(rs6000_output_mi_thunk): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228309
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Wed, 30 Sep 2015 21:35:47 +0000 (21:35 +0000)]
gcc/
* config/nvptx/mkoffload.c (process): Change offload data format.
libgomp/
* plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
(struct targ_ptx_obj): New.
(nvptx_tdata): Move earlier, change data format.
(link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
objects.
(GOMP_OFFLOAD_load_image): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228308
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Wed, 30 Sep 2015 21:29:00 +0000 (21:29 +0000)]
[RS6000] Correct powerpc sysv stack argument accounting
ppc32 starts using the stack for integer arg passing when we run out
of integer arg passing registers. Similarly, we start using the stack
for floating point args when we run out of floating point registers.
The decision on where an integer arg goes does not depend on number of
floating point args, nor does the decision on where a floating point
arg goes depend on number of integer args. Alignment of stack args
also simply depends on number of stack args.
This patch untangles the horrible mess we had, with intarg_count being
wrongly used to count both integer args and stack words.
* src/powerpc/ffi_sysv.c (ffi_prep_cif_sysv_core): Count fprs,
gprs, and stack words separately.
(ffi_prep_args_SYSV): Similarly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228307
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 30 Sep 2015 20:28:14 +0000 (20:28 +0000)]
[PATCH] Improve DOM's optimization of control statements
* tree-ssa-dom.c (optimize_stmt): Collapse control flow statements
with constant conditions.
* tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New.
(remove_ctrl_stmt_and_useless_edges): No longer static.
* tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype.
(remove_ctrl_stmt_and_useless_edges): Likewise.
* gcc.dg/tree-ssa/ssa-dom-branch-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228306
138bc75d-0d04-0410-961f-
82ee72b054a4
fdumont [Wed, 30 Sep 2015 20:04:43 +0000 (20:04 +0000)]
2015-09-30 François Dumont <fdumont@gcc.gnu.org>
Jonathan Wakely <jwakely@redhat.com>
* config/locale/gnu/messages_members.cc (Catalog_info, Catalogs):
Move...
* config/locale/gnu/c++locale_internal.h: ...here in std namespace.
* config/locale/gnu/c_locale.cc: Move implementation of latter here.
* src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates.
* src/c++98/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228305
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Wed, 30 Sep 2015 19:16:29 +0000 (19:16 +0000)]
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New.
(TARGET_GOACC_VALIDATE_DIMS): Override.
* target.def (TARGET_GOACC): New target hook prefix.
(validate_dims): New hook.
* targhooks.h (default_goacc_validate_dims): New.
* omp-low.c (oacc_validate_dims): New.
(execute_oacc_device_lower): New.
(default_goacc_validate_dims): New.
(pass_data_oacc_device_lower): New.
(pass_oacc_device_lower): New pass.
(make_pass_oacc_device_lower): New.
* tree-pass.h (make_pass_oacc_device_lower): Declare.
* passes.def (pass_oacc_device_lower): Add it.
* doc/tm.texi: Rebuilt.
* doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook.
* doc/invoke.texi (oaccdevlow): Document tree dump flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228304
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Wed, 30 Sep 2015 18:51:31 +0000 (18:51 +0000)]
2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/67037
* lra-constraints.c (process_addr_reg): Use copy_rtx when necessary.
testsuite:
2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/67037
* gcc.c-torture/execute/pr67037.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228303
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 30 Sep 2015 17:43:26 +0000 (17:43 +0000)]
[PATCH] Update SSA_NAME manager to use two lists
* gimple-ssa.h (gimple_df): Add free_ssanames_queue field.
* passes.c: Include tree-ssanames.h.
(execute_function_todo): Flush the pending free SSA_NAMEs after
eliminating unreachable basic blocks.
* tree-ssanames.c (FREE_SSANAMES_QUEUE): new.
(init_ssanames): Initialize FREE_SSANAMES_QUEUE.
(fini_ssanames): Finalize FREE_SSANAMES_QUEUE.
(flush_ssanames_freelist): New function.
(release_ssaname_fn): Put released names on the queue.
(pass_release_ssa_names::execute): Call flush_ssanames_freelist.
* tree-ssanames.h (flush_ssanames_freelist): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228302
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Wed, 30 Sep 2015 16:42:32 +0000 (16:42 +0000)]
Pass on the verbose flag "-v" to/in the mkoffloads
gcc/
* config/i386/intelmic-mkoffload.c (main): Parse "-v" flag.
(generate_target_descr_file, generate_target_offloadend_file)
(generate_host_descr_file, prepare_target_image, main): Pass it
on.
* config/nvptx/mkoffload.c (main): Parse "-v" flag.
(compile_native, main): Pass it on.
* lto-wrapper.c (compile_offload_image): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228301
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Wed, 30 Sep 2015 16:42:22 +0000 (16:42 +0000)]
Refactor intelmic-mkoffload.c argv building to use obstacks
That is, restore and adapt the code as originally proposed.
gcc/
* config/i386/intelmic-mkoffload.c (generate_host_descr_file)
(prepare_target_image, main): Refactor argv building to use
obstacks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228300
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Wed, 30 Sep 2015 15:14:29 +0000 (15:14 +0000)]
More DEF_FUNCTION_TYPE_VAR_6/DEF_FUNCTION_TYPE_VAR_11 cleanup
gcc/ada/
* gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_11): Don't define.
gcc/jit/
* jit-builtins.h: Undefine DEF_FUNCTION_TYPE_VAR_6 after use.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228298
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Wed, 30 Sep 2015 14:58:49 +0000 (14:58 +0000)]
gcc/
* config/spu/spu-protos.h (spu_expand_atomic_op): Add prototype.
* config/spu/spu.c (spu_expand_atomic_op): New function.
* config/spu/spu.md (AINT): New mode iterator.
(ATOMIC): New code iterator.
(atomic_name, atomic_pred): New code predicates.
("atomic_load<mode>", "atomic_store<mode>"): New expanders.
("atomic_compare_and_swap<mode>", "atomic_exchange<mode>"): Likewise.
(""atomic_<atomic_name><mode>", "atomic_fetch_<atomic_name><mode>",
"atomic_<atomic_name>_fetch<mode>"): Likewise.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_sync_int_128):
Return 1 on spu-*-* targets.
(check_effective_target_sync_int_128_runtime): Likewise.
(check_effective_target_sync_long_long): Likewise.
(check_effective_target_sync_long_long_runtime): Likewise.
(check_effective_target_sync_int_long): Likewise.
(check_effective_target_sync_char_short): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228297
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Wed, 30 Sep 2015 13:08:01 +0000 (13:08 +0000)]
gcc/
* config/i386/i386.c (scalar_chain::analyze_register_chain): Ignore
debug insns.
(scalar_chain::convert_reg): Likewise.
gcc/testsuite/
* gcc.target/i386/pr67761.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228292
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [Wed, 30 Sep 2015 12:55:05 +0000 (12:55 +0000)]
2015-09-30 Matthias Klose <doko@ubuntu.com>
* config/cpu/alpha, config/cpu/ia64: Remove empty directories.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228291
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 30 Sep 2015 12:52:37 +0000 (12:52 +0000)]
2015-09-30 Richard Biener <rguenther@suse.de>
* builtins.c: Add comment that no new simplifications shouldd
be added here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228290
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [Wed, 30 Sep 2015 12:42:44 +0000 (12:42 +0000)]
2015-09-30 Matthias Klose <doko@ubuntu.com>
* jit-builtins.h Define DEF_FUNCTION_TYPE_VAR_6,
remove DEF_FUNCTION_TYPE_VAR_11.
* jit-builtins.c (builtins_manager::make_type): Define and handle
DEF_FUNCTION_TYPE_VAR_6, remove DEF_FUNCTION_TYPE_VAR_11.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228289
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Wed, 30 Sep 2015 11:26:44 +0000 (11:26 +0000)]
PR c/67730
* c-typeck.c (c_finish_return): Use the expansion point location for
certain "return with value" warnings.
* gcc.dg/pr67730.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228286
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Wed, 30 Sep 2015 09:24:02 +0000 (09:24 +0000)]
PR tree-optimization/67690
* tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call
reset_flow_sensitive_info_in_bb.
* tree-ssa-tail-merge.c (replace_block_by): Likewise.
* tree-ssanames.c: Include "gimple-iterator.h".
(reset_flow_sensitive_info_in_bb): New function.
* tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare.
* gcc.dg/torture/pr67690.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228284
138bc75d-0d04-0410-961f-
82ee72b054a4