1. 02 Oct, 2015 40 commits
    • Help the offload gcc driver find the right assembler · 89f54035
      	gcc/
      	* gcc.c (process_command): Use spec_machine rather than
      	spec_host_machine to build tooldir_prefix2.
      
      From-SVN: r228429
      Bernd Schmidt committed
    • nvptx offloading linking · 113020dc
      	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.
      
      Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
      
      From-SVN: r228418
      Thomas Schwinge committed
    • Allow Filesystem TS to compile without wchar_t · 7fcdbdd2
      	* 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.
      
      From-SVN: r228417
      Jonathan Wakely committed
    • testsuite_fs.h (nonexistent_path): Use less generic name for paths. · 43222a5e
      	* testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic
      	name for paths. Prefer snprintf to sprintf.
      
      From-SVN: r228416
      Jonathan Wakely committed
    • Re: [PATCH] Improve DOM's optimization of control statements · 2671ee45
      	* tree-ssa-dom.c (optimize_stmt): Note when loop structures need
      	fixups.
      
      From-SVN: r228415
      Jeff Law committed
    • [PR target/67822] OpenMP offloading to nvptx fails · d4852cd4
      	gcc/
      	PR target/67822
      	* config/nvptx/mkoffload.c (main): Scan the argument vector for
      	-fopenmp, and skip generating an offloading image if specified.
      
      From-SVN: r228414
      Thomas Schwinge committed
    • system.h (ROUND_UP): New macro definition. · 54070b51
      	* 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.
      
      From-SVN: r228410
      Uros Bizjak committed
    • re PR c/67730 (No warning when returning NULL in void function) · 1c7485af
      	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.
      
      From-SVN: r228408
      Marek Polacek committed
    • re PR c/67819 (-Wduplicated-cond should take macros into account) · 12651878
      	* 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.
      
      From-SVN: r228405
      Marek Polacek committed
    • PR libstdc++/67747 use readdir instead of readdir_r · 7b65155f
      	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.
      
      From-SVN: r228404
      Jonathan Wakely committed
    • reject loops early where ivs cannot be represented · 000051e1
      From-SVN: r228403
      Aditya Kumar committed
    • fix PR67754 · cce7865c
      From-SVN: r228402
      Sebastian Pop committed
    • add testcase · 5e4f82ab
      From-SVN: r228401
      Sebastian Pop committed
    • outline functions from stmt_simple_for_scop_p · 9d85345a
      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.
      
      From-SVN: r228400
      Aditya Kumar committed
    • AVX-512. · ab91c076
      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".
      
      From-SVN: r228399
      Kirill Yukhin committed
    • [AArch64] Use default_elf_asm_named_section instead of special cased hook · 33e767e2
      	* config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete.
      
      From-SVN: r228397
      Ramana Radhakrishnan committed
    • re PR rtl-optimization/67756 (ICE compiling Linux Kernel fs/namei.c on ARM) · 599e1cf8
      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.
      
      From-SVN: r228396
      Vladimir Makarov committed
    • [AArch64] Add more TLS local executable testcases · 0ff3ac5f
      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.
      
      From-SVN: r228395
      Jiong Wang committed
    • Update extract_even_odd w/ AVX-512BW insns. · 1edc26ad
      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.
      
      From-SVN: r228394
      Kirill Yukhin committed
    • invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq, -mavx521vbmi, -mavx512ifma. · bea90652
      gcc/
      	* doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq,
      	-mavx521vbmi, -mavx512ifma. Add missing opindex-es.
      
      From-SVN: r228393
      Kirill Yukhin committed
    • re PR c/59218 (atomic transactions: accesses to volatiles not disallowed in transaction_safe code) · 1d4afc04
      	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.
      
      From-SVN: r228392
      Jason Merrill committed
    • * system.h (malloc.h): Don't include obsolete header. · 5f62fa6d
      From-SVN: r228391
      Jonathan Wakely committed
    • [AArch64] Use default_elf_asm_named_section instead of special cased hook · 899de23a
      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.
      
      From-SVN: r228390
      Ramana Radhakrishnan committed
    • re PR c/64249 (Missing warning for if (A) else if (A)) · 3e3b8d63
      	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.
      
      From-SVN: r228388
      Marek Polacek committed
    • [PATCH][AARCH64]Add csneg3_uxtw_insn pattern · 0f6ca79c
      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.
      
      From-SVN: r228387
      Renlin Li committed
    • sh.md: Add new unnamed split pattern to handle movt-movt sequences. · b03e67ad
      gcc/
      	* config/sh/sh.md: Add new unnamed split pattern to handle movt-movt
      	sequences.
      
      From-SVN: r228386
      Oleg Endo committed
    • [PATCH][AARCH64][PR66776]Add cmovdi_insn_uxtw pattern. · 1d3e6ed3
      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.
      
      From-SVN: r228384
      Renlin Li committed
    • MAINTAINERS: Update email address. · bec93d40
      From-SVN: r228383
      Florian Weimer committed
    • lang.opt (fbuiltin-printf): Accept. · 4d928625
      	* 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.
      
      Co-Authored-By: Olivier Hainque <hainque@adacore.com>
      
      From-SVN: r228381
      Doug Rupp committed
    • MAINTAINERS (Write After Approval): Add myself. · 0487f06d
      2015-10-02  Louis Krupp <louis.krupp@zoho.com>
      
      	* MAINTAINERS  (Write After Approval): Add myself.
      
      From-SVN: r228380
      Louis Krupp committed
    • trans.c (Pragma_to_gnu): Replace linear search with call to find_opt and issue warnings if... · 0cec1c2d
      	* 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.
      
      From-SVN: r228379
      Eric Botcazou committed
    • Back out improper commit · e0512e8d
      From-SVN: r228378
      Louis Krupp committed
    • ada-tree.h (DECL_RESTRICTED_ALIASING_P): New flag. · 1ddde8dc
      	* 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.
      
      From-SVN: r228377
      Eric Botcazou committed
    • Delete undesirable svn:executable property · 7262aee9
      From-SVN: r228376
      Louis Krupp committed
    • [RTL ifcvt] PR 67786, 67787: Check that intermediate instructions in the basic… · 6b7e8671
      [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.
      
      From-SVN: r228375
      Kyrylo Tkachov committed
    • [Patch AArch64] Improve SIMD concatenation with zeroes · c0233c78
      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.
      
      From-SVN: r228374
      James Greenhalgh committed
    • trans.c (find_loop_for): Use FOR_EACH_VEC_ELT_REVERSE. · 547bbe49
      	* 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.
      
      From-SVN: r228373
      Eric Botcazou committed
    • re PR target/51726 (LTO and attribute 'selectany') · a87926c1
              PR target/51726
              * g++.dg/ext/selectany2.C: Allow uninitialized variable case.
      
      From-SVN: r228371
      Kai Tietz committed
    • re PR target/51726 (LTO and attribute 'selectany') · 63578ef9
      	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.
      
      From-SVN: r228370
      Kai Tietz committed
    • tree-ssa-sccvn.c (has_VN_INFO): New function. · 6a8b77b2
      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.
      
      From-SVN: r228369
      Richard Biener committed