summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Declare isnanf in gcc.dg/ipa/inline-8.cro2016-05-052-0/+5
| | | | | | * gcc.dg/ipa/inline-8.c (isnanf): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235925 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c: Update comment.jason2016-05-051-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235923 138bc75d-0d04-0410-961f-82ee72b054a4
* * openmp.c (gfc_match_omp_clauses): Restructuralize, so that clausejakub2016-05-052-587/+658
| | | | | | | | parsing is done in a big switch based on gfc_peek_ascii_char and individual clauses under their first letters are sorted too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235922 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sse.md (<avx512>_fmadd_<mode>_mask3<round_name>): Usejakub2016-05-054-2/+36
| | | | | | | | | v constraint instead of x. * gcc.target/i386/avx512f-vfmadd-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235921 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-parser.c (c_parser_switch_statement): Add IF_P argument,jakub2016-05-056-5/+52
| | | | | | | | | | | | | | parse it through to c_parser_c99_block_statement. (c_parser_statement_after_labels): Adjust c_parser_switch_statement caller. * parser.c (cp_parser_selection_statement): For RID_SWITCH, pass if_p instead of NULL to cp_parser_implicitly_scoped_statement. * c-c++-common/Wdangling-else-4.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235920 138bc75d-0d04-0410-961f-82ee72b054a4
* Add dg-require-filesystem-ts directive to testredi2016-05-052-0/+6
| | | | | | | * testsuite/experimental/filesystem/path/native/string.cc: Add dg-require-filesystem-ts directive. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235919 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2016-05-051-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235918 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] TARGET_RELOCATABLEamodra2016-05-058-46/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For ABI_V4, -mrelocatable and -fPIC both generate position independent code, with some extra "fixup" output for -mrelocatable. The similarity of these two options has led to the situation where the sysv4.h SUBTARGET_OVERRIDE_OPTIONS sets flag_pic on seeing -mrelocatable, and sets TARGET_RELOCATABLE on seeing -fPIC. That prevents LTO from properly optimizing position dependent executables, because the mutual dependence of the flags and the fact that LTO streaming records the state of rs6000_isa_flags, result in flag_pic being set when it shouldn't be. So, don't set TARGET_RELOCATABLE when -fPIC. Places that currently test TARGET_RELOCATABLE can instead test TARGET_RELOCATABLE || (DEFAULT_ABI == ABI_V4 && flag_pic > 1) or since TARGET_RELOCATABLE can only be enabled when ABI_V4, DEFAULT_ABI == ABI_V4 && (TARGET_RELOCATABLE || flag_pic > 1). Also, since flag_pic is set by -mrelocatable, a number of places that currently test TARGET_RELOCATABLE can be simplified. I also made -mrelocatable set TARGET_NO_FP_IN_TOC, allowing TARGET_RELOCATABLE to be removed from ASM_OUTPUT_SPECIAL_POOL_ENTRY_P. Reducing occurrences of TARGET_RELOCATABLE is a good thing. PR target/68662 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't set OPTION_MASK_RELOCATABLE when flag_pic == 2. Set TARGET_NO_FP_IN_TOC for -mrelocatable. (MINIMAL_TOC_SECTION_ASM_OP): Remove redundant TARGET_RELOCATABLE test. (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise. (ASM_PREFERRED_EH_DATA_FORMAT): Likewise. * config/rs6000/linux64.h (MINIMAL_TOC_SECTION_ASM_OP): Likewise. (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise. (ASM_PREFERRED_EH_DATA_FORMAT): Likewise. * config/rs6000/freebsd64.h (MINIMAL_TOC_SECTION_ASM_OP): Likewise. (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise. (ASM_PREFERRED_EH_DATA_FORMAT): Likewise. * config/rs6000/predicates.md (easy_fp_constant): Likewise. * config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op): Likewise. (rs6000_assemble_integer): Update TARGET_RELOCATABLE test. (rs6000_stack_info): Likewise. (rs6000_elf_asm_out_constructor): Likewise. (rs6000_elf_asm_out_destructor): Likewise. (rs6000_elf_declare_function_name): Likewise. * config/rs6000/rs6000.md (load_toc_aix_di): Likewise. * config/rs6000/rs6000.h (MASK_RELOCATABLE, MASK_MINIMAL_TOC): Don't define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235914 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] Rewrite rs6000_frame_related to use simplify_replace_rtxamodra2016-05-052-70/+48
| | | | | | | | | | Modify SETs rather than using replace_rtx on the whole insn. Removes fragile hacks preventing USE and CLOBBER being modified. * config/rs6000/rs6000.c (rs6000_frame_related): Rewrite. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235913 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] out-of-line exit register restore funcsamodra2016-05-042-9/+21
| | | | | | | | | * config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use out-of-line gpr restore for one or two regs if that would add a save of lr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235907 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/70873uros2016-05-042-56/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/i386/i386.md (TARGET_SSE_PARTIAL_REG_DEPENDENCY float_extend sf->df peephole2): Change to post-epilogue_completed late splitter. Use sse_reg_operand as operand 0 predicate. (TARGET_SSE_PARTIAL_REG_DEPENDENCY float_truncate df->sf peephole2): Ditto. (TARGET_SSE_PARTIAL_REG_DEPENDENCY float {si,di}->{sf,df} peephole2): Ditto. Emit the pattern using RTX. (TARGET_USE_VECTOR_FP_CONVERTS float_extend sf->df splitter): Use sse_reg_opreand as operand 0 predicate. Do not use true_regnum in the post-reload splitter. Use lowpart_subreg instead of gen_rtx_REG. (TARGET_USE_VECTOR_FP_CONVERTS float_truncate df->sf splitter): Ditto. (TARGET_USE_VECTOR_CONVERTS float si->{sf,df} splitter): Use sse_reg_operand as operand 0 predicate. (TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS float_extend sf->df peephole2): Use sse_reg_opreand as operand 0 predicate. Use lowpart_subreg instead of gen_rtx_REG. (TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS float_truncate sf->df peephole2): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235906 138bc75d-0d04-0410-961f-82ee72b054a4
* shrink-wrap: Remove complicated simple_return manipulationssegher2016-05-044-374/+33
| | | | | | | | | | | | | | | | | | | | | | | | Now that cfgcleanup knows how to optimize with return statements, the epilogue insertion code doesn't have to deal with it itself anymore. * function.c (emit_use_return_register_into_block): Delete. (gen_return_pattern): Delete. (emit_return_into_block): Delete. (active_insn_between): Delete. (convert_jumps_to_returns): Delete. (emit_return_for_exit): Delete. (thread_prologue_and_epilogue_insns): Delete all code dealing with simple_return for shrink-wrapped blocks. * shrink-wrap.c (try_shrink_wrapping): Insert simple_return at the end of blocks that need one. (get_unconverted_simple_return): Delete. (convert_to_simple_return): Delete. * shrink-wrap.c (get_unconverted_simple_return): Delete declaration. (convert_to_simple_return): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235905 138bc75d-0d04-0410-961f-82ee72b054a4
* cfgcleanup: Fold jumps and conditional branches with returnssegher2016-05-042-0/+127
| | | | | | | | | | | | | | | | | | | | | | This patch makes cfgcleanup optimize jumps to returns. There are three cases this handles: -- A jump to a return; this is simplified to just that return. -- A conditional branch to a return; simplified to a conditional return. -- A conditional branch that falls through to a return. This is simplified to a conditional return (with the condition inverted), falling through to a jump to the original destination. That jump can then be optimized further, as usual. This handles all cases the current function.c does, and a few it misses. * cfgcleanup.c (bb_is_just_return): New function. (try_optimize_cfg): Simplify jumps to return, branches to return, and branches around return. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235904 138bc75d-0d04-0410-961f-82ee72b054a4
* cfgcleanup: Bugfix in try_simplify_condjumpsegher2016-05-042-0/+6
| | | | | | | | | | | | If the jump_block here contains just a return, we will crash later in invert_jump. Don't allow that case. * cfgcleanup.c (try_simplify_condjump): Don't try to simplify a branch to a return. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235903 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/70906jakub2016-05-047-4/+130
| | | | | | | | | | | | | | | | PR c++/70933 * tree-core.h (enum operand_equal_flag): Add OEP_HASH_CHECK. * tree.c (inchash::add_expr): If !IS_EXPR_CODE_CLASS (tclass), assert flags & OEP_HASH_CHECK, instead of asserting it never happens. Handle TARGET_EXPR. * fold-const.c (operand_equal_p): For hash verification, or in OEP_HASH_CHECK into flags. * g++.dg/opt/pr70906.C: New test. * g++.dg/opt/pr70933.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235902 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-coalesce.c (gimple_can_coalesce_p): Fix reference in headebotcazou2016-05-042-2/+9
| | | | | | | | comment. (compute_samebase_partition_bases): Fix typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235900 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sse.md (vec_interleave_highv8sf,jakub2016-05-042-8/+12
| | | | | | | | vec_interleave_lowv8sf, vec_interleave_highv4df, vec_interleave_lowv4df): Remove constraints from expanders. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235898 138bc75d-0d04-0410-961f-82ee72b054a4
* * s-osinte-gnu.ads (Get_Page_Size): Return int and use getpagesizeebotcazou2016-05-042-4/+8
| | | | | | | instead of __getpagesize. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235896 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sse.md (sse2_movq128): Use v constraint instead of x.jakub2016-05-044-2/+26
| | | | | | | * gcc.target/i386/avx512vl-vmovq-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235893 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-inline.c (expand_call_inline): Fix path dealing withhubicka2016-05-042-1/+11
| | | | | | | making lhs of call statement undefined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235889 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):hubicka2016-05-046-64/+123
| | | | | | | | | | | | | | | | | Check availability on NODE, too. * cgraph.h (symtab_node::call_for_symbol_and_aliases): Likewise. (cgraph_node::call_for_symbol_and_aliases): Likewise. (varpool_node::call_for_symbol_and_aliase): Likewise. * ipa-pure-const.c (add_new_function): Analyze all bodies. (propagate_pure_const): Propagate across interposable functions, too. (skip_function_for_local_pure_const): Do not skip interposable bodies with aliases. (pass_local_pure_const::execute): Update. * gcc.dg/ipa/pure-const-3.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235887 138bc75d-0d04-0410-961f-82ee72b054a4
* * c.opt (Wdangling-else): New option.mpolacek2016-05-0412-43/+116
| | | | | | | | | | | | | | | | | * c-parser.c (c_parser_if_statement): Replace OPT_Wparentheses with OPT_Wdangling_else. * parser.c (cp_parser_selection_statement): Replace OPT_Wparentheses with OPT_Wdangling_else. * doc/invoke.texi: Document -Wdangling-else. * c-c++-common/Wdangling-else-1.c: New test. * c-c++-common/Wdangling-else-2.c: New test. * c-c++-common/Wdangling-else-3.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235885 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-04 Kwok Cheung Yeung <kcy@codesourcery.com>clm2016-05-042-0/+6
| | | | | | | | | * gcc.target/mips/mips16-attributes.c: Skip if -mmicromips flag is present. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235881 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/48778mpolacek2016-05-044-2/+39
| | | | | | | | | | * c-typeck.c (build_binary_op): Don't issue -Waddress warnings for macro expansions. * gcc.dg/Waddress-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235878 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-04 Thomas Preud'homme <thomas.preudhomme@arm.com>thopre012016-05-042-25/+32
| | | | | | | | gcc/ * config.gcc: Error out when conflicting multilib is detected. Do not loop over multilibs since no combination is legal. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235877 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] Correct PIC_OFFSET_TABLE_REGNUMamodra2016-05-042-1/+5
| | | | | | | | | | | Leaving this as r30 results in pic_offset_table_rtx of (reg 30) for -m64, which is completely bogus. Various rtl analysis predicate functions treat pic_offset_table_rtx specially.. * config/rs6000/rs6000.h (PIC_OFFSET_TABLE_REGNUM): Correct. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235876 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] Simplify sysv4.h TARGET_TOCamodra2016-05-042-4/+3
| | | | | | | | | | | We can use the TARGET_* defines here. There isn't any reason to use the underlying variable and masks. Also, TARGET_RELOCATABLE implies TARGET_MINIMAL_TOC, so there is no need to test TARGET_RELOCATABLE. * config/rs6000/sysv4.h (TARGET_TOC): Simplify. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235875 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] Align .toc sectionamodra2016-05-042-3/+18
| | | | | | | | | | | | | Lack of any .toc section alignment causes kexec and kdump failure when linking without the usual linker script. This of course is really a kexec-tools error, but it is also true that .toc ought to always be word aligned. * config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op): Align .toc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235874 138bc75d-0d04-0410-961f-82ee72b054a4
* Update MIPS P5600 processor definition to avoid IMADDmpf2016-05-042-5/+8
| | | | | | | | | gcc/ * config/mips/mips-cpus.def (p5600): Avoid IMADD by default. Clean up p5600 comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235873 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-04 Richard Biener <rguenther@suse.de>rguenth2016-05-043-72/+117
| | | | | | | | | | * match.pd: Add BIT_FIELD_REF canonicalizations and vector constructor simplifications. * fold-const.c (fold_ternary_loc): Remove duplicate functionality here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235871 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge libcilkrts from upstream.iverbin2016-05-04124-4083/+9316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libcilkrts/ * Makefile.am: Merge from upstream, version 2.0.4420.0 <https://bitbucket.org/intelcilkruntime/intel-cilk-runtime.git>. * README: Likewise. * configure.ac: Likewise. * configure.tgt: Likewise. * include/cilk/cilk.h: Likewise. * include/cilk/cilk_api.h: Likewise. * include/cilk/cilk_api_linux.h: Likewise. * include/cilk/cilk_stub.h: Likewise. * include/cilk/cilk_undocumented.h: Likewise. * include/cilk/common.h: Likewise. * include/cilk/holder.h: Likewise. * include/cilk/hyperobject_base.h: Likewise. * include/cilk/metaprogramming.h: Likewise. * include/cilk/reducer.h: Likewise. * include/cilk/reducer_file.h: Likewise. * include/cilk/reducer_list.h: Likewise. * include/cilk/reducer_max.h: Likewise. * include/cilk/reducer_min.h: Likewise. * include/cilk/reducer_min_max.h: Likewise. * include/cilk/reducer_opadd.h: Likewise. * include/cilk/reducer_opand.h: Likewise. * include/cilk/reducer_opmul.h: Likewise. * include/cilk/reducer_opor.h: Likewise. * include/cilk/reducer_opxor.h: Likewise. * include/cilk/reducer_ostream.h: Likewise. * include/cilk/reducer_string.h: Likewise. * include/cilktools/cilkscreen.h: Likewise. * include/cilktools/cilkview.h: Likewise. * include/cilktools/fake_mutex.h: Likewise. * include/cilktools/lock_guard.h: Likewise. * include/internal/abi.h: Likewise. * include/internal/cilk_fake.h: Likewise. * include/internal/cilk_version.h: Likewise. * include/internal/metacall.h: Likewise. * include/internal/rev.mk: Likewise. * mk/cilk-version.mk: Likewise. * runtime/acknowledgements.dox: Likewise. * runtime/bug.cpp: Likewise. * runtime/bug.h: Likewise. * runtime/c_reducers.c: Likewise. * runtime/cilk-abi-cilk-for.cpp: Likewise. * runtime/cilk-abi-vla-internal.c: Likewise. * runtime/cilk-abi-vla-internal.h: Likewise. * runtime/cilk-abi.c: Likewise. * runtime/cilk-ittnotify.h: Likewise. * runtime/cilk-tbb-interop.h: Likewise. * runtime/cilk_api.c: Likewise. * runtime/cilk_fiber-unix.cpp: Likewise. * runtime/cilk_fiber-unix.h: Likewise. * runtime/cilk_fiber.cpp: Likewise. * runtime/cilk_fiber.h: Likewise. * runtime/cilk_malloc.c: Likewise. * runtime/cilk_malloc.h: Likewise. * runtime/component.h: Likewise. * runtime/config/generic/cilk-abi-vla.c: Likewise. * runtime/config/generic/os-fence.h: Likewise. * runtime/config/generic/os-unix-sysdep.c: Likewise. * runtime/config/x86/cilk-abi-vla.c: Likewise. * runtime/config/x86/os-fence.h: Likewise. * runtime/config/x86/os-unix-sysdep.c: Likewise. * runtime/doxygen-layout.xml: Likewise. * runtime/doxygen.cfg: Likewise. * runtime/except-gcc.cpp: Likewise. * runtime/except-gcc.h: Likewise. * runtime/except.h: Likewise. * runtime/frame_malloc.c: Likewise. * runtime/frame_malloc.h: Likewise. * runtime/full_frame.c: Likewise. * runtime/full_frame.h: Likewise. * runtime/global_state.cpp: Likewise. * runtime/global_state.h: Likewise. * runtime/jmpbuf.c: Likewise. * runtime/jmpbuf.h: Likewise. * runtime/linux-symbols.ver: Likewise. * runtime/local_state.c: Likewise. * runtime/local_state.h: Likewise. * runtime/mac-symbols.txt: Likewise. * runtime/metacall_impl.c: Likewise. * runtime/metacall_impl.h: Likewise. * runtime/os-unix.c: Likewise. * runtime/os.h: Likewise. * runtime/os_mutex-unix.c: Likewise. * runtime/os_mutex.h: Likewise. * runtime/pedigrees.c: Likewise. * runtime/pedigrees.h: Likewise. * runtime/record-replay.cpp: Likewise. * runtime/record-replay.h: Likewise. * runtime/reducer_impl.cpp: Likewise. * runtime/reducer_impl.h: Likewise. * runtime/rts-common.h: Likewise. * runtime/scheduler.c: Likewise. * runtime/scheduler.h: Likewise. * runtime/signal_node.c: Likewise. * runtime/signal_node.h: Likewise. * runtime/spin_mutex.c: Likewise. * runtime/spin_mutex.h: Likewise. * runtime/stats.c: Likewise. * runtime/stats.h: Likewise. * runtime/sysdep-unix.c: Likewise. * runtime/sysdep.h: Likewise. * runtime/worker_mutex.c: Likewise. * runtime/worker_mutex.h: Likewise. * include/cilk/reducer_vector.h: New. * runtime/cilk_str_mem.h: New. * runtime/config/arm/cilk-abi-vla.c: New. * runtime/config/arm/os-fence.h: New. * runtime/config/arm/os-unix-sysdep.c: New. * runtime/declare-alloca.h: New. * runtime/sslib/ignore_handler_s.c: New. * runtime/sslib/safe_lib.h: New. * runtime/sslib/safe_lib_errno.h: New. * runtime/sslib/safe_str_constraint.c: New. * runtime/sslib/safe_str_constraint.h: New. * runtime/sslib/safe_str_lib.h: New. * runtime/sslib/safe_types.h: New. * runtime/sslib/safeclib_private.h: New. * runtime/sslib/snprintf_s.h: New. * runtime/sslib/snprintf_support.c: New. * runtime/sslib/strcpy_s.c: New. * runtime/sslib/strncpy_s.c: New. * runtime/sslib/strnlen_s.c: New. * runtime/symbol_test.c: Remove. * Makefile.in: Regenerate. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235870 138bc75d-0d04-0410-961f-82ee72b054a4
* libstdc++/70940 Start fixing polymorphic memory resourcesredi2016-05-045-31/+167
| | | | | | | | | | | | | | | | | | | | PR libstdc++/70940 * include/experimental/memory_resource (__resource_adaptor_imp::do_allocate): Do not default-construct rebound allocator. (__resource_adaptor_imp::do_deallocate): Likewise. Use allocator_traits to get pointer type. (__null_memory_resource::do_allocate): Remove unused parameters. (__null_memory_resource::do_deallocate): Likewise. (__null_memory_resource::do_is_equal): Likewise. Add return statement. * testsuite/experimental/type_erased_allocator/1.cc: Combine with ... * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and move to ... * testsuite/experimental/memory_resource/1.cc: Here. * testsuite/experimental/memory_resource/null_memory_resource.cc: New. * testsuite/experimental/memory_resource/resource_adaptor.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235868 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/olegendo2016-05-045-8/+58
| | | | | | | | | | | | | | | * config/sh/predicates (post_inc_mem, pre_dec_mem): New predicates. * config/sh/sh-protos.h (sh_find_set_of_reg): Return null result if result.set_rtx is null instead of aborting. * config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Always enable. (USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT): Enable for SH2A. * config/sh/sh.md (*extend<mode>si2_predec, *mov<mode>_load_predec, *mov<mode>_store_postinc): New patterns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235859 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove duplicate (A & B) OP (C & B) in match.pd.glisse2016-05-042-10/+11
| | | | | | | | | | | 2016-05-04 Marc Glisse <marc.glisse@inria.fr> * match.pd ((A | B) & (A | C)): Generalize to BIT_XOR_EXPR. Mark as commutative. Check both conversions are NOP. ((A & B) OP (C & B)): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235858 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2016-05-041-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235856 138bc75d-0d04-0410-961f-82ee72b054a4
* Combine simplify_set WORD_REGISTER_OPERATIONSamodra2016-05-042-1/+5
| | | | | | | | | | | The comment says this test is supposed to prevent "a narrower operation than requested", but it actually only allows a larger subreg not one the same size. Fix that. * combine.c (simplify_set): Correct WORD_REGISTER_OPERATIONS test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235852 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] powerpc64le -ffixed-cr2 -ffixed-cr3 -ffixed-cr4 ICEamodra2016-05-034-3/+24
| | | | | | | | | | | | gcc/ PR target/70866 * config/rs6000/rs6000.c (rs6000_stack_info): Don't set cr_save_p when cr2,3,4 are all fixed regs. gcc/testsuite/ * gcc.target/powerpc/pr70866.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235851 138bc75d-0d04-0410-961f-82ee72b054a4
* PR rtl-optimization/57193bernds2016-05-033-4/+7
| | | | | | | | * opts.c (default_options_table): Revert OPT_frename_registers change. * doc/invoke.texi (-frename-registers, -O2): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235848 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/66561 - __builtin_LINE at al. should yield constant expressionsmsebor2016-05-039-42/+366
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/66639 - declare __func__, __FUNCTION__ & __PRETTY_FUNCTION__ constexpr gcc/testsuite/ChangeLog: 2016-05-03 Martin Sebor <msebor@redhat.com> PR c++/66561 * c-c++-common/builtin_location.c: New test. * g++.dg/cpp1y/builtin_location.C: New test. gcc/cp/ChangeLog: 2016-05-03 Martin Sebor <msebor@redhat.com> PR c++/66561 * tree.c (builtin_valid_in_constant_expr_p): Treat BUILT_IN_FILE, BUILT_IN_FUNCTION, and BUILT_IN_LINE as constant expressions. gcc/ChangeLog: 2016-05-03 Martin Sebor <msebor@redhat.com> PR c++/66561 * builtins.c (fold_builtin_FILE): New function. (fold_builtin_FUNCTION, fold_builtin_LINE): New functions. (fold_builtin_0): Call them. * gimplify.c (gimplify_call_expr): Remove the handling of BUILT_IN_FILE, BUILT_IN_FUNCTION, and BUILT_IN_LINE. PR c++/66561 * doc/extend.texi (Other Builtins): Update __builtin_FILE, __builtin_FUNCTION, and __builtin_LINE to reflect they yield constants. PR c++/66639 * doc/extend.texi (Function Names as Strings): Update __func__, __FUNCTION__, __PRETTY_FUNCTION__ to reflect they evaluate to constants. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235845 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/70916jakub2016-05-032-0/+19
| | | | | | | | | * tree-if-conv.c: Include cfganal.h. (pass_if_conversion::execute): Call connect_infinite_loops_to_exit and remove_fake_exit_edges around the optimization pass. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235842 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.c (symbol_table::create_edge): Set inline_failed.hubicka2016-05-039-30/+71
| | | | | | | | | | | | | | | | | | | | | | (cgraph_edge::make_direct): Likewise. (cgraph_edge::dump_edge_flags): Dump call_stmt_cannot_inline_p. * cgraphclones.c (duplicate_thunk_for_node): Set inline_failed. * cif-code.def (CIF_LTO_MISMATCHED_DECLARATIONS): New code (CIF_THUNK): New code. * ipa-inline-analysis.c (initialize_inline_failed): Preserve CIF_FINAL_ERROR codes; do not deal with call_stmt_cannot_inline_p. (compute_inline_parameters): Set inline_failed for thunks. (inline_analyze_function): Cleanup. * ipa-inline.c (can_inline_edge_p): Do not deal with call_stmt_cannot_inline_p. (can_early_inline_edge_p): Likewise. (early_inliner): Initialize inline_failed. * lto-cgraph.c (lto_output_edge): Sanity check inline_failed. * lto-symtab.c (lto_cgraph_replace_node): Initialize inline_failed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235839 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/predicates.md (x87nonimm_ssenomem_operand): Renameuros2016-05-033-32/+46
| | | | | | | | | | | | | | | from nonimm_ssenomem_operand. (nonimm_ssenomem_operand): New predicate. * config/i386/i386.md (extendsfdf2): Use nonimm_ssenomem_operand as operand 0 predicate. (*extendsfdf2): Merge from *extendsfdf2_mixed and *extendsfdf2_i387. Disable unsupported alternatives using "enabled" attribute. Use register_ssemem_operand as operand 0 predicate. (*fop_<mode>_1): Use x87nonimm_ssenomem_operand as operand 1 predicate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235837 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/70859mpolacek2016-05-0313-36/+177
| | | | | | | | | | | | | | | | | | | | | | | * input.c (expansion_point_location): New function. * input.h (expansion_point_location): Declare. * c-common.c (builtin_function_validate_nargs): Add location parameter. Use it. (check_builtin_function_arguments): Add location and arguments parameters. Use them. * c-common.h (check_builtin_function_arguments): Update declaration. * c-typeck.c (build_function_call_vec): Pass LOC and ARG_LOC down to check_builtin_function_arguments. * call.c (build_cxx_call): Pass location and vNULL down to check_builtin_function_arguments. * gcc.dg/pr70859.c: New test. * gcc.dg/pr70859-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235832 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix a typo in dwarf2out.c:resolve_args_picking_1pmderodat2016-05-034-1/+32
| | | | | | | | | | | | | | | | | | | Under specific circumstances for Ada programs, such as in the testcase this change adds, the DWARF back-end currently crashes because of inconsistent internal state. This is due to a typo: a local variable is called frame_offset_ but resolve_args_picking_1 wrongly modifies emit-rtl.h's frame_offset instead. This change fixes this typo. gcc/ * dwarf2out.c (resolve_args_picking_1): Replace the frame_offset occurence with frame_offset_ ones. gcc/testsuite/ * gnat.dg/debug5.adb: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235830 138bc75d-0d04-0410-961f-82ee72b054a4
* * nl.po: Update.jsm282016-05-032-13/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235827 138bc75d-0d04-0410-961f-82ee72b054a4
* PR70890, stage2 miscompilationamodra2016-05-032-0/+22
| | | | | | | | | PR rtl-optimization/70890 * ira.c (combine_and_move_insns): When moving def_insn, remove equivs on use_insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235825 138bc75d-0d04-0410-961f-82ee72b054a4
* S/390: Add patterns for r<nox>sbg instructions.krebbel2016-05-035-2/+207
| | | | | | | | | | | | | | | | | | | | | | | gcc/ChangeLog: 2016-05-03 Dominik Vogt <vogt@linux.vnet.ibm.com> * config/s390/s390.md ("*r<noxa>sbg_<mode>_sll") ("*r<noxa>sbg_<mode>_srl"): New define_insns. ("*r<noxa>sbg_<mode>_srl_bitmask"): Rename by adding "_bitmask". ("*r<noxa>sbg_<mode>_sll_bitmask"): Likewise. gcc/testsuite/ChangeLog: 2016-05-03 Dominik Vogt <vogt@linux.vnet.ibm.com> * gcc.target/s390/md/rXsbg_mode_sXl.c: New test. * gcc.target/s390/s390.exp (check_effective_target_z10_instructions): Procedure to check for z10 instruction set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235822 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/ipa/inline-8.c: Require c99_runtime.clyon2016-05-032-0/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235821 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] Fix ICE caused by rs6000_savres_strategy thinkoamodra2016-05-034-1/+22
| | | | | | | | | | | | | | rev 235672 (git cffc0b35) changed the condition for SAVE_MULTIPLE/ STORE_MULTIPLE, wrongly allowing a single reg. gcc/ * config/rs6000/rs6000.c (rs6000_savres_strategy): Correct condition for SAVE_MULTIPLE/STORE_MULTIPLE. gcc/testsuite/ * gcc.target/powerpc/savres.c: Add func using a single gpr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235820 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.md (*truncdfsf_mixed, *truncdfsf_i387,jakub2016-05-034-5/+53
| | | | | | | | | | *truncxfsf2_mixed, *truncxfdf2_mixed): Use v constraint instead of x. * gcc.target/i386/avx512f-cvt-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235819 138bc75d-0d04-0410-961f-82ee72b054a4