summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* * config/arc/arc.md (doloop_begin_i): Remove extra alignment;amylaar2013-11-142-2/+6
| | | | | | | use (.&-4) idiom. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204810 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>uweigand2013-11-142-0/+8
| | | | | | | | * config/rs6000/sysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204809 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLog:uweigand2013-11-1431-220/+1454
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Alan Modra <amodra@gmail.com> * config/rs6000/rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2. (RS6000_SAVE_TOC): Remove. (RS6000_TOC_SAVE_SLOT): New macro. * config/rs6000/rs6000.c (rs6000_parm_offset): New function. (rs6000_parm_start): Use it. (rs6000_function_arg_advance_1): Likewise. (rs6000_emit_prologue): Use RS6000_TOC_SAVE_SLOT. (rs6000_emit_epilogue): Likewise. (rs6000_call_aix): Likewise. (rs6000_output_function_prologue): Do not save/restore r11 around calling _mcount for ABI_ELFv2. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Alan Modra <amodra@gmail.com> * config/rs6000/rs6000-protos.h (rs6000_reg_parm_stack_space): Add prototype. * config/rs6000/rs6000.h (RS6000_REG_SAVE): Remove. (REG_PARM_STACK_SPACE): Call rs6000_reg_parm_stack_space. * config/rs6000/rs6000.c (rs6000_parm_needs_stack): New function. (rs6000_function_parms_need_stack): Likewise. (rs6000_reg_parm_stack_space): Likewise. (rs6000_function_arg): Do not replace BLKmode by Pmode when returning a register argument. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Michael Gschwind <mkg@us.ibm.com> * config/rs6000/rs6000.h (FP_ARG_MAX_RETURN): New macro. (ALTIVEC_ARG_MAX_RETURN): Likewise. (FUNCTION_VALUE_REGNO_P): Use them. * config/rs6000/rs6000.c (TARGET_RETURN_IN_MSB): Define. (rs6000_return_in_msb): New function. (rs6000_return_in_memory): Handle ELFv2 homogeneous aggregates. Handle aggregates of up to 16 bytes for ELFv2. (rs6000_function_value): Handle ELFv2 homogeneous aggregates. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Michael Gschwind <mkg@us.ibm.com> * config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define. * config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function. (rs6000_discover_homogeneous_aggregate): Likewise. (rs6000_function_arg_boundary): Handle homogeneous aggregates. (rs6000_function_arg_advance_1): Likewise. (rs6000_function_arg): Likewise. (rs6000_arg_partial_bytes): Likewise. (rs6000_psave_function_arg): Handle BLKmode arguments. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Michael Gschwind <mkg@us.ibm.com> * config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define. * config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function. (rs6000_discover_homogeneous_aggregate): Likewise. (rs6000_function_arg_boundary): Handle homogeneous aggregates. (rs6000_function_arg_advance_1): Likewise. (rs6000_function_arg): Likewise. (rs6000_arg_partial_bytes): Likewise. (rs6000_psave_function_arg): Handle BLKmode arguments. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * config/rs6000/rs6000.c (machine_function): New member r2_setup_needed. (rs6000_emit_prologue): Set r2_setup_needed if necessary. (rs6000_output_mi_thunk): Set r2_setup_needed. (rs6000_output_function_prologue): Output global entry point prologue and local entry point marker if needed for ABI_ELFv2. Output -mprofile-kernel code here. (output_function_profiler): Do not output -mprofile-kernel code here; moved to rs6000_output_function_prologue. (rs6000_file_start): Output ".abiversion 2" for ABI_ELFv2. (rs6000_emit_move): Do not handle dot symbols for ABI_ELFv2. (rs6000_output_function_entry): Likewise. (rs6000_assemble_integer): Likewise. (rs6000_elf_encode_section_info): Likewise. (rs6000_elf_declare_function_name): Do not create dot symbols or .opd section for ABI_ELFv2. (rs6000_trampoline_size): Update for ABI_ELFv2 trampolines. (rs6000_trampoline_init): Likewise. (rs6000_elf_file_end): Call file_end_indicate_exec_stack for ABI_ELFv2. (rs6000_call_aix): Handle ELFv2 indirect calls. Do not check for function descriptors in ABI_ELFv2. * config/rs6000/rs6000.md ("*call_indirect_aix<mode>"): Support on ABI_AIX only, not ABI_ELFv2. ("*call_value_indirect_aix<mode>"): Likewise. ("*call_indirect_elfv2<mode>"): New pattern. ("*call_value_indirect_elfv2<mode>"): Likewise. * config/rs6000/predicates.md ("symbol_ref_operand"): Do not check for function descriptors in ABI_ELFv2. ("current_file_function_operand"): Likewise. * config/rs6000/ppc-asm.h [__powerpc64__ && _CALL_ELF == 2]: (toc): Undefine. (FUNC_NAME): Define ELFv2 variant. (JUMP_TARGET): Likewise. (FUNC_START): Likewise. (HIDDEN_FUNC): Likewise. (FUNC_END): Likeiwse. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * config.gcc [powerpc*-*-* | rs6000-*-*]: Support --with-abi=elfv1 and --with-abi=elfv2. * config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Add "abi". * config/rs6000/rs6000.opt (mabi=elfv1): New option. (mabi=elfv2): Likewise. * config/rs6000/rs6000-opts.h (enum rs6000_abi): Add ABI_ELFv2. * config/rs6000/linux64.h (DEFAULT_ABI): Do not hard-code to AIX_ABI if !RS6000_BI_ARCH. (ELFv2_ABI_CHECK): New macro. (SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set rs6000_current_abi to ABI_AIX or ABI_ELFv2. (GLIBC_DYNAMIC_LINKER64): Support ELFv2 ld.so version. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine _CALL_ELF and __STRUCT_PARM_ALIGN__ if appropriate. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Handle ABI_ELFv2. (debug_stack_info): Likewise. (rs6000_file_start): Treat ABI_ELFv2 the same as ABI_AIX. (rs6000_legitimize_tls_address): Likewise. (rs6000_conditional_register_usage): Likewise. (rs6000_emit_move): Likewise. (init_cumulative_args): Likewise. (rs6000_function_arg_advance_1): Likewise. (rs6000_function_arg): Likewise. (rs6000_arg_partial_bytes): Likewise. (rs6000_output_function_entry): Likewise. (rs6000_assemble_integer): Likewise. (rs6000_savres_strategy): Likewise. (rs6000_stack_info): Likewise. (rs6000_function_ok_for_sibcall): Likewise. (rs6000_emit_load_toc_table): Likewise. (rs6000_savres_routine_name): Likewise. (ptr_regno_for_savres): Likewise. (rs6000_emit_prologue): Likewise. (rs6000_emit_epilogue): Likewise. (rs6000_output_function_epilogue): Likewise. (output_profile_hook): Likewise. (output_function_profiler): Likewise. (rs6000_trampoline_size): Likewise. (rs6000_trampoline_init): Likewise. (rs6000_elf_output_toc_section_asm_op): Likewise. (rs6000_elf_encode_section_info): Likewise. (rs6000_elf_reloc_rw_mask): Likewise. (rs6000_elf_declare_function_name): Likewise. (rs6000_function_arg_boundary): Treat ABI_ELFv2 the same as ABI_AIX, except that rs6000_compat_align_parm is always assumed false. (rs6000_gimplify_va_arg): Likewise. (rs6000_call_aix): Update comment. (rs6000_sibcall_aix): Likewise. * config/rs6000/rs6000.md ("tls_gd_aix<TLSmode:tls_abi_suffix>"): Treat ABI_ELFv2 the same as ABI_AIX. ("*tls_gd_call_aix<TLSmode:tls_abi_suffix>"): Likewise. ("tls_ld_aix<TLSmode:tls_abi_suffix>"): Likewise. ("*tls_ld_call_aix<TLSmode:tls_abi_suffix>"): Likewise. ("load_toc_aix_si"): Likewise. ("load_toc_aix_di"): Likewise. ("call"): Likewise. ("call_value"): Likewise. ("*call_local_aix<mode>"): Likewise. ("*call_value_local_aix<mode>"): Likewise. ("*call_nonlocal_aix<mode>"): Likewise. ("*call_value_nonlocal_aix<mode>"): Likewise. ("*call_indirect_aix<mode>"): Likewise. ("*call_value_indirect_aix<mode>"): Likewise. ("sibcall"): Likewise. ("sibcall_value"): Likewise. ("*sibcall_aix<mode>"): Likewise. ("*sibcall_value_aix<mode>"): Likewise. * config/rs6000/predicates.md ("symbol_ref_operand"): Likewise. ("current_file_function_operand"): Likewise. gcc/testsuite/ChangeLog: 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * gcc.target/powerpc/ppc64-abi-1.c (stack_frame_t): Remove compiler and linker field if _CALL_ELF == 2. * gcc.target/powerpc/ppc64-abi-2.c (stack_frame_t): Likewise. * gcc.target/powerpc/ppc64-abi-dfp-1.c (stack_frame_t): Likewise. * gcc.dg/stack-usage-1.c (SIZE): Update value for _CALL_ELF == 2. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * gcc.target/powerpc/ppc64-abi-dfp-1.c (FUNC_START): New macro. (WRAPPER): Use it. * gcc.target/powerpc/no-r11-1.c: Skip on powerpc_elfv2. * gcc.target/powerpc/no-r11-2.c: Skip on powerpc_elfv2. * gcc.target/powerpc/no-r11-3.c: Skip on powerpc_elfv2. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * lib/target-supports.exp (check_effective_target_powerpc_elfv2): New function. * gcc.target/powerpc/pr57949-1.c: Disable for powerpc_elfv2. * gcc.target/powerpc/pr57949-2.c: Likewise. libgcc/ChangeLog: 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Alan Modra <amodra@gmail.com> * config/rs6000/linux-unwind.h (TOC_SAVE_SLOT): Define. (frob_update_context): Use it. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Alan Modra <amodra@gmail.com> * config/rs6000/tramp.S [__powerpc64__ && _CALL_ELF == 2]: (trampoline_initial): Provide ELFv2 variant. (__trampoline_setup): Likewise. * config/rs6000/linux-unwind.h (frob_update_context): Do not check for AIX indirect function call sequence if _CALL_ELF == 2. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Alan Modra <amodra@gmail.com> * config/rs6000/linux-unwind.h (get_regs): Do not support old kernel versions if _CALL_ELF == 2. (frob_update_context): Do not support PLT stub variants only generated by old linkers if _CALL_ELF == 2. libitm/ChangeLog: 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]: (FUNC): Define ELFv2 variant. (END): Likewise. (HIDDEN): Likewise. (CALL): Likewise. (BASE): Likewise. (LR_SAVE): Likewise. libstdc++/ChangeLog: 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * scripts/extract_symvers.in: Ignore <localentry: > fields in readelf --symbols output. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204808 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>uweigand2013-11-142-11/+31
| | | | | | | | | | | * config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Simplify logic by making use of the fact that for vector / floating point arguments passed both in VRs/FPRs and in the fixed parameter area, the partial bytes mechanism is in fact not used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204807 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>uweigand2013-11-142-93/+119
| | | | | | | | | | | | * config/rs6000/rs6000.c (rs6000_psave_function_arg): New function. (rs6000_finish_function_arg): Likewise. (rs6000_function_arg): Use rs6000_psave_function_arg and rs6000_finish_function_arg to handle both vector and floating point arguments that are also passed in GPRs / the stack. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204806 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>uweigand2013-11-142-11/+21
| | | | | | | | | | | | | | * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument. (USE_ALTIVEC_FOR_ARG_P): Likewise. (rs6000_darwin64_record_arg_advance_recurse): Update uses. (rs6000_function_arg_advance_1):Likewise. (rs6000_darwin64_record_arg_recurse): Likewise. (rs6000_function_arg): Likewise. (rs6000_arg_partial_bytes): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204805 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>uweigand2013-11-145-38/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/rs6000/rs6000.c (rs6000_option_override_internal): Replace "DEFAULT_ABI != ABI_AIX" test by testing for ABI_V4 or ABI_DARWIN. (rs6000_savres_strategy): Likewise. (rs6000_return_addr): Likewise. (rs6000_emit_load_toc_table): Replace "DEFAULT_ABI != ABI_AIX" by testing for ABI_V4 (since ABI_DARWIN is impossible here). (rs6000_emit_prologue): Likewise. (legitimate_lo_sum_address_p): Simplify DEFAULT_ABI test. (rs6000_elf_declare_function_name): Remove duplicated test. * config/rs6000/rs6000.md ("load_toc_v4_PIC_1"): Explicitly test for ABI_V4 (instead of "DEFAULT_ABI != ABI_AIX" test). ("load_toc_v4_PIC_1_normal"): Likewise. ("load_toc_v4_PIC_1_476"): Likewise. ("load_toc_v4_PIC_1b"): Likewise. ("load_toc_v4_PIC_1b_normal"): Likewise. ("load_toc_v4_PIC_1b_476"): Likewise. ("load_toc_v4_PIC_2"): Likewise. ("load_toc_v4_PIC_3b"): Likewise. ("load_toc_v4_PIC_3c"): Likewise. * config/rs6000/rs6000.h (RS6000_REG_SAVE): Simplify DEFAULT_ABI test. (RS6000_SAVE_AREA): Likewise. (FP_ARG_MAX_REG): Likewise. (RETURN_ADDRESS_OFFSET): Likewise. * config/rs6000/sysv.h (TARGET_TOC): Test for ABI_V4 instead of ABI_AIX. (SUBTARGET_OVERRIDE_OPTIONS): Likewise. (MINIMAL_TOC_SECTION_ASM_OP): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204804 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>uweigand2013-11-144-296/+291
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/rs6000/rs6000.c (rs6000_call_indirect_aix): Rename to ... (rs6000_call_aix): ... this. Handle both direct and indirect calls. Create call insn directly instead of via various gen_... routines. Mention special registers used by the call in CALL_INSN_FUNCTION_USAGE. (rs6000_sibcall_aix): New function. * config/rs6000/rs6000.md (TOC_SAVE_OFFSET_32BIT): Remove. (TOC_SAVE_OFFSET_64BIT): Likewise. (AIX_FUNC_DESC_TOC_32BIT): Likewise. (AIX_FUNC_DESC_TOC_64BIT): Likewise. (AIX_FUNC_DESC_SC_32BIT): Likewise. (AIX_FUNC_DESC_SC_64BIT): Likewise. ("call" expander): Call rs6000_call_aix. ("call_value" expander): Likewise. ("call_indirect_aix<ptrsize>"): Replace this pattern ... ("call_indirect_aix<ptrsize>_nor11"): ... and this pattern ... ("*call_indirect_aix<mode>"): ... by this insn pattern. ("call_value_indirect_aix<ptrsize>"): Replace this pattern ... ("call_value_indirect_aix<ptrsize>_nor11"): ... and this pattern ... ("*call_value_indirect_aix<mode>"): ... by this insn pattern. ("*call_nonlocal_aix32", "*call_nonlocal_aix64"): Replace by ... ("*call_nonlocal_aix<mode>"): ... this pattern. ("*call_value_nonlocal_aix32", "*call_value_nonlocal_aix64"): Replace ("*call_value_nonlocal_aix<mode>"): ... by this pattern. ("*call_local_aix<mode>"): New insn pattern. ("*call_value_local_aix<mode>"): Likewise. ("sibcall" expander): Call rs6000_sibcall_aix. ("sibcall_value" expander): Likewise. Move earlier in file. ("*sibcall_nonlocal_aix<mode>"): Replace by ... ("*sibcall_aix<mode>"): ... this pattern. ("*sibcall_value_nonlocal_aix<mode>"): Replace by ... ("*sibcall_value_aix<mode>"): ... this pattern. * config/rs6000/rs6000-protos.h (rs6000_call_indirect_aix): Remove. (rs6000_call_aix): Add prototype. (rs6000_sibcall_aix): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204803 138bc75d-0d04-0410-961f-82ee72b054a4
* Forgot to add file in last commit.uweigand2013-11-141-0/+54
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204802 138bc75d-0d04-0410-961f-82ee72b054a4
* PR sanitizer/59122jakub2013-11-142-0/+9
| | | | | | | | * asan.c (asan_emit_stack_protection): Ensure -fsection-anchors isn't confused by the artificial decl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204801 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>uweigand2013-11-142-4/+13
| | | | | | | | | | | Alan Modra <amodra@gmail.com> * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct location of CR save area for 64-bit little-endian systems. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204800 138bc75d-0d04-0410-961f-82ee72b054a4
* ChangeLog:uweigand2013-11-145-25/+91
| | | | | | | | | | | | | | | | | | | | | | 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * config/rs6000/rs6000.c (rs6000_emit_prologue): Do not place a RTX_FRAME_RELATED_P marker on the UNSPEC_MOVESI_FROM_CR insn. Instead, add USEs of all modified call-saved CR fields to the insn storing the result to the stack slot, and provide an appropriate REG_FRAME_RELATED_EXPR for that insn. * config/rs6000/rs6000.md ("*crsave"): New insn pattern. * config/rs6000/predicates.md ("crsave_operation"): New predicate. testsuite/ChangeLog: 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * g++.dg/eh/ppc64-sighandle-cr.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204799 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>uweigand2013-11-144-25/+27
| | | | | | | | | | | | | | | | Alan Modra <amodra@gmail.com> * function.c (assign_parms): Use all.reg_parm_stack_space instead of re-evaluating REG_PARM_STACK_SPACE target macro. (locate_and_pad_parm): New parameter REG_PARM_STACK_SPACE. Use it instead of evaluating target macro REG_PARM_STACK_SPACE every time. (assign_parm_find_entry_rtl): Update call. * calls.c (initialize_argument_information): Update call. (emit_library_call_value_1): Likewise. * expr.h (locate_and_pad_parm): Update prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204798 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>uweigand2013-11-142-0/+6
| | | | | | | | * calls.c (store_unaligned_arguments_into_pseudos): Skip PARALLEL arguments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204797 138bc75d-0d04-0410-961f-82ee72b054a4
* go/build: Add all known gccgo architectures to list.ian2013-11-141-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204796 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rx/rx.c (rx_mode_dependent_address_p): Allow offsets updj2013-11-142-2/+7
| | | | | | | to 16 bits. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204795 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo/go/go/build: use syslist.go from the gc stdlib.ian2013-11-143-20/+10
| | | | | | | If cmd/go is rebuilt using -compiler gccgo the version of go/build that is linked into that cmd/go will not function properly as the list of file suffixes know as operating systems or architectures is incorrect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204794 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-threadedge.c (thread_through_normal_block): Only pushlaw2013-11-142-6/+18
| | | | | | | the EDGE_START_JUMP_THREAD marker if the jump threading path is empty. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204793 138bc75d-0d04-0410-961f-82ee72b054a4
* Require fenv_exceptions in gcc.dg/torture/float128* testsro2013-11-144-0/+9
| | | | | | | | * gcc.dg/torture/float128-cmp-invalid.c: Require fenv_exceptions. * gcc.dg/torture/float128-div-underflow.c: Likewise. * gcc.dg/torture/float128-extend-nan.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204792 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-14 Richard Biener <rguenther@suse.de>rguenth2013-11-142-1/+5
| | | | | | | * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Fix target selector. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204791 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/alloc_traits.h (__allow_copy_cons): Remove.redi2013-11-148-125/+19
| | | | | | | | | | | | | | | | (__check_copy_constructible): Likewise. * include/bits/unordered_map.h (unordered_map, unordered_multimap): Do not derive from __check_copy_constructible. * include/bits/unordered_set.h (unordered_set, unordered_multiset): Likewise. * testsuite/23_containers/unordered_map/55043.cc: It is no longer necessary for is_copy_constructible to be correct to use nested unordered containers. * testsuite/23_containers/unordered_multimap/55043.cc: Likewise. * testsuite/23_containers/unordered_set/55043.cc: Likewise. * testsuite/23_containers/unordered_multiset/55043.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204790 138bc75d-0d04-0410-961f-82ee72b054a4
* XFAIL addr1.ads and atomic1.ads on x32hjl2013-11-143-3/+8
| | | | | | | | * gnat.dg/specs/addr1.ads: XFAIL on x32. * gnat.dg/specs/atomic1.ads: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204789 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix typo in ChangeLog entry.clyon2013-11-141-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204787 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] [-mtune cleanup 5/5] Update invoke.texijgreenhalgh2013-11-142-5/+14
| | | | | | | | | | gcc/ * doc/invoke.texi: Update documentation for AArch64's -mcpu and -mtune options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204785 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] [-mtune cleanup 4/5] Remove "example-1", "example-2" tuning options.jgreenhalgh2013-11-149-607/+21
| | | | | | | | | | | | | | | | | | | | | gcc/ * config/aarch64/aarch64-cores.def (example-1): Remove. (example-2): Likewise. * config/aarch64/aarch64-tune.md: Regenerate. * config/aarch64/aarch64.md: Do not include "large.md" or "small.md". (generic_sched): Remove "large", "small". * config/aarch64/large.md: Delete. * config/aarch64/small.md: Delete. gcc/testsuite/ * gcc.target/aarch64/cpu-diagnostics-2.c: Change "-mcpu=" to "cortex-a53". * gcc.target/aarch64/cpu-diagnostics-3.c: Change "-mcpu=" to "cortex-a53". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204784 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] [-mtune cleanup 3/5] [Temporary] When asked to tune forjgreenhalgh2013-11-145-4/+14
| | | | | | | | | | | | | | | | Cortex-A57, tune for Cortex-A15 gcc/ * config/aarch64/aarch64-cores.def (cortex-a57): Tune for cortexa15. * config/aarch64/aarch64-tune.md: Regenerate. * config/aarch64/aarch64.md: Include cortex-a15 pipeline model. (generic_sched): "no" if we are tuning for cortexa15. * config/arm/cortex-a15.md: Include cortex-a15-neon.md by relative path. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204783 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] [-mtune cleanup 2/5] Tune for Cortex-A53 by default.jgreenhalgh2013-11-146-47/+16
| | | | | | | | | | | | | | | gcc/ * config/aarch64/aarch64-arches.def (armv8-a): Tune for cortex-a53. * config/aarch64/aarch64.md: Do not include aarch64-generic.md. * config/aarch64/aarch64.c (aarch64_tune): Initialize to cortexa53. (all_cores): Use cortexa53 when tuning for "generic". (aarch64_override_options): Fix comment. * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Set to cortexa53. * config/aarch64/aarch64-generic.md: Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204782 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] [-mtune cleanup 1/5] Remove -march=generic.jgreenhalgh2013-11-142-1/+4
| | | | | | | | | gcc/ * config/aarch64/aarch64.c (all_architectures): Remove "generic". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204781 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix gcc.dg/atomic/c11-atomic-exec-[45].c tests on Solaris 10+ro2013-11-143-0/+8
| | | | | | | | * gcc.dg/atomic/c11-atomic-exec-4.c: Define _XOPEN_SOURCE=600 on *-*-solaris2.1[0-9]*. * gcc.dg/atomic/c11-atomic-exec-5.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204780 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/aarch64/aarch64.c: Include aarch-cost-tables.h.ktkachov2013-11-143-55/+32
| | | | | | | | | | | (generic_rtx_cost_table): Remove. (aarch64_rtx_costs): Use fields from cpu_cost_table. * config/aarch64/aarch64-protos.h (tune_params): Use cpu_cost_table for insn_extra_cost. (cpu_rtx_cost_table): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204779 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-14 Julian Brown <julian@codesourcery.com>jye22013-11-149-16/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | Joey Ye <joey.ye@arm.com> * config/arm/arm.c (arm_cortex_m_branch_cost): New. (arm_v7m_tune): New. (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune, arm_cortex_a15_tune, arm_cortex_a5_tune, arm_v6m_tune): Add comments for Sched adj cost. * config/arm/arm-cores.def (cortex-m4, cortex-m3): Use arm_v7m_tune. testsuite: 2013-11-14 Joey Ye <joey.ye@arm.com> * gcc.dg/tree-ssa/forwprop-28.c: Disable for cortex_m. * gcc.dg/tree-ssa/vrp47.c: Likewise. * gcc.dg/tree-ssa/vrp87.c: Likewise. * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Ingore for cortex_m. * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204778 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/57491kyukhin2013-11-142-2/+15
| | | | | | | | | * config/ia64/ia64.c (ia64_split_tmode_move): Relax `dead' flag setting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204777 138bc75d-0d04-0410-961f-82ee72b054a4
* Added testcase for 58533, fixed by rev 204714.abutcher2013-11-142-0/+12
| | | | | | | | gcc/testsuite/ PR c++/58533 * g++.dg/cpp1y/pr58533.C: New testcase (fixed by r204714). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204776 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/59101jakub2013-11-144-1/+39
| | | | | | | | | | * config/i386/i386.md (*anddi_2): Only allow CCZmode if operands[2] satisfies_constraint_Z that might have bit 31 set. * gcc.c-torture/execute/pr59101.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204774 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/59102law2013-11-144-3/+45
| | | | | | | | | | | * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statments): Ensure STMT is a gimple assignment before looking at gimple_assign_lhs. PR tree-optimization/59102 * gcc.c-torture/compile/pr59102.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204773 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-13 Vladimir Makarov <vmakarov@redhat.com>vmakarov2013-11-142-1/+12
| | | | | | | | * ira.c: Add comment about threads at the top of file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204772 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-13 Vladimir Makarov <vmakarov@redhat.com>vmakarov2013-11-142-3/+5
| | | | | | | | | * ira-color.c (coalesce_allocnos): Don't allocate and free sorted_copies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204771 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2013-11-141-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204770 138bc75d-0d04-0410-961f-82ee72b054a4
* Handle GIMPLE_ASSIGNs with different vuse in gimple_equal_pvries2013-11-144-2/+42
| | | | | | | | | | | 2013-11-14 Tom de Vries <tom@codesourcery.com> * tree-ssa-tail-merge.c (gimple_equal_p): Add test for structural equality for GIMPLE_ASSIGN. * gcc.dg/tail-merge-store.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204767 138bc75d-0d04-0410-961f-82ee72b054a4
* Factor out gimple_operand_equal_value_p from gimple_equal_pvries2013-11-142-7/+27
| | | | | | | | | | 2013-11-14 Tom de Vries <tom@codesourcery.com> * tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Factor new function out of ... (gimple_equal_p): ... here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204766 138bc75d-0d04-0410-961f-82ee72b054a4
* Add is_tm_endingvries2013-11-144-15/+31
| | | | | | | | | | | | 2013-11-14 Tom de Vries <tom@codesourcery.com> * trans-mem.c (is_tm_ending): New function. * gimple.h (is_tm_ending): Declare. * tree-ssa-tail-merge.c (gimple_equal_p): Remove test on BUILT_IN_TM_COMMIT. (find_duplicate): Use is_tm_ending instead of is_tm_ending_fndecl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204765 138bc75d-0d04-0410-961f-82ee72b054a4
* Simplify code in gimple_equal_pvries2013-11-142-6/+6
| | | | | | | | 2013-11-14 Tom de Vries <tom@codesourcery.com> * tree-ssa-tail-merge.c (gimple_equal_p): Remove equal variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204764 138bc75d-0d04-0410-961f-82ee72b054a4
* * gimple-walk.h: New File. Relocate prototypes from gimple.h.amacleod2013-11-13124-1213/+1571
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (struct walk_stmt_info): Relocate here from gimple.h. * gimple-iterator.h: New File. Relocate prototypes from gimple.h. (struct gimple_stmt_iterator_d): Relocate here from gimple.h. (gsi_start_1, gsi_none, gsi_start_bb, gsi_last_1, gsi_last_bb, gsi_end_p, gsi_one_before_end_p, gsi_next, gsi_prev, gsi_stmt, gsi_after_labels, gsi_next_nondebug, gsi_prev_nondebug, gsi_start_nondebug_bb, gsi_start_nondebug_after_labels_bb, gsi_last_nondebug_bb, gsi_bb, gsi_seq): Relocate here from gimple.h. * gimple.h (struct gimple_stmt_iterator_d): Move to gimple-iterator.h. (gsi_start_1, gsi_none, gsi_start_bb, gsi_last_1, gsi_last_bb, gsi_end_p, gsi_one_before_end_p, gsi_next, gsi_prev, gsi_stmt, gsi_after_labels, gsi_next_nondebug, gsi_prev_nondebug, gsi_start_nondebug_bb, gsi_start_nondebug_after_labels_bb, gsi_last_nondebug_bb, gsi_bb, gsi_seq): Move to gimple-iterator.h. (struct walk_stmt_info): Move to gimple-walk.h. (gimple_seq_set_location): Move to gimple.c * gimple-walk.c: New File. (walk_gimple_seq_mod, walk_gimple_seq, walk_gimple_asm, walk_gimple_op, walk_gimple_stmt, get_base_loadstore, walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Relocate here from gimple.c. * gimple-iterator.c: Include gimple-iterator.h. * gimple.c (walk_gimple_seq_mod, walk_gimple_seq, walk_gimple_asm, walk_gimple_op, walk_gimple_stmt, get_base_loadstore, walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Move to gimple-walk.c. (gimple_seq_set_location): Relocate from gimple.h. * tree-phinodes.h (set_phi_nodes): Move to tree-phinodes.c. * tree-phinodes.c (set_phi_nodes): Relocate from tree-phinodes.h. * gengtype.c (open_base_files): Add gimple-iterator.h to include list. * Makefile.in (OBJS): Add gimple-walk.o * asan.c: Update Include list as required for gimple-iterator.h and gimple-walk.h. * cfgexpand.c: Likewise. * cfgloop.c: Likewise. * cfgloopmanip.c: Likewise. * cgraph.c: Likewise. * cgraphbuild.c: Likewise. * cgraphunit.c: Likewise. * gimple-fold.c: Likewise. * gimple-low.c: Likewise. * gimple-pretty-print.c: Likewise. * gimple-ssa-isolate-paths.c: Likewise. * gimple-ssa-strength-reduction.c: Likewise. * gimple-streamer-in.c: Likewise. * gimple-streamer-out.c: Likewise. * gimplify.c: Likewise. * graphite-blocking.c: Likewise. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-optimize-isl.c: Likewise. * graphite-poly.c: Likewise. * graphite-scop-detection.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * ipa-inline-analysis.c: Likewise. * ipa-profile.c: Likewise. * ipa-prop.c: Likewise. * ipa-pure-const.c: Likewise. * ipa-split.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * omp-low.c: Likewise. * predict.c: Likewise. * profile.c: Likewise. * sese.c: Likewise. * tracer.c: Likewise. * trans-mem.c: Likewise. * tree-call-cdce.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-complex.c: Likewise. * tree-data-ref.c: Likewise. * tree-dfa.c: Likewise. * tree-eh.c: Likewise. * tree-emutls.c: Likewise. * tree-if-conv.c: Likewise. * tree-inline.c: Likewise. * tree-into-ssa.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-nested.c: Likewise. * tree-nrv.c: Likewise. * tree-object-size.c: Likewise. * tree-outof-ssa.c: Likewise. * tree-parloops.c: Likewise. * tree-predcom.c: Likewise. * tree-profile.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-sra.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-coalesce.c: Likewise. * tree-ssa-copy.c: Likewise. * tree-ssa-copyrename.c: Likewise. * tree-ssa-dce.c: Likewise. * tree-ssa-dom.c: Likewise. * tree-ssa-dse.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-ifcombine.c: Likewise. * tree-ssa-live.c: Likewise. * tree-ssa-loop-ch.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-loop.c: Likewise. * tree-ssa-math-opts.c: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-phiprop.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-propagate.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-sink.c: Likewise. * tree-ssa-strlen.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa-tail-merge.c: Likewise. * tree-ssa-ter.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-ssa-threadupdate.c: Likewise. * tree-ssa-uncprop.c: Likewise. * tree-ssa-uninit.c: Likewise. * tree-ssa.c: Likewise. * tree-stdarg.c: Likewise. * tree-switch-conversion.c: Likewise. * tree-tailcall.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-generic.c: Likewise. * tree-vect-loop-manip.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vect-stmts.c: Likewise. * tree-vectorizer.c: Likewise. * tree-vrp.c: Likewise. * tree.c: Likewise. * tsan.c: Likewise. * value-prof.c: Likewise. * vtable-verify.c: Likewise. * config/aarch64/aarch64-builtins.c: Include gimple-iterator.h. * config/rs6000/rs6000.c: Include gimple-iterator.h and gimple-walk.h. * testsuite/g++.dg/plugin/selfassign.c: Include gimple-iterator.h. * testsuite/gcc.dg/plugin/selfassign.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204763 138bc75d-0d04-0410-961f-82ee72b054a4
* * gimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment fix.steven2013-11-132-1/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204762 138bc75d-0d04-0410-961f-82ee72b054a4
* * PR middle-end/59119law2013-11-134-35/+118
| | | | | | | | | | | | | * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour): New function, extracted from gimple_ssa_isolate_erroneous_paths. (find_explicit_erroneous_behaviour): Similarly. (insert_trap_and_remove_trailing_statements): Remove statements in reverse order. * PR middle-end/59119 * gcc.c-torture/compile/pr59119.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204760 138bc75d-0d04-0410-961f-82ee72b054a4
* typo fixsteven2013-11-131-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204759 138bc75d-0d04-0410-961f-82ee72b054a4
* * cfgrtl.c (can_fallthru): Reorder code to move tablejump check up.steven2013-11-138-34/+58
| | | | | | | | | | | | | | | | | Make that check explicit. BB_HEAD cannot be NULL, remove check for it. * haifa-sched.c (ready_remove_first_dispatch): Check INSN_P before looking at INSN_CODE. * reload1.c (delete_dead_insn) Do not expect JUMP_TABLE_DATA to be an active_insn_p object, respect basic block boundaries. * reorg.c (follow_jumps): Use invariant that JUMP_TABLE_DATA always follows immediately after the jump table data label. * config/nds32/nds32.c (nds32_output_casesi_pc_relative): Likewise. * config/sh/sh.c (barrier_align): Likewise. Rearrange code such that JUMP_TABLE_DATA is not expected to be an active_insn_p object. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204758 138bc75d-0d04-0410-961f-82ee72b054a4
* PR sanitizer/59009bergner2013-11-132-0/+8
| | | | | | | | * sanitizer_common/sanitizer_platform_limits_posix.cc: Temporarily ifdef out more source. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204757 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-13 Teresa Johnson <tejohnson@google.com>tejohnson2013-11-132-14/+24
| | | | | | | | | PR ipa/58862 * predict.c (drop_profile): Error is currently too strict. (handle_missing_profiles): Pass call_count to drop_profile. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204756 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-13 Teresa Johnson <tejohnson@google.com>tejohnson2013-11-132-1/+6
| | | | | | | | PR ipa/58862 * ipa-inline.c (edge_badness): Fix overflow. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204755 138bc75d-0d04-0410-961f-82ee72b054a4