Commit Graph

322 Commits

Author SHA1 Message Date
Bernd Edlinger ec1e2a4097 defaults.h (LOG2_BITS_PER_UNIT): Move from here...
2016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * defaults.h (LOG2_BITS_PER_UNIT): Move from here...
        * tree.h (LOG2_BITS_PER_UNIT): ...to here.
        (BITS_PER_UNIT_LOG): Remove.
        (int_bit_position): Use LOG2_BITS_PER_UNIT instead of BITS_PER_UNIT_LOG.
        * expr.c (expand_assignment): Likewise. 
        * stor-layout.c (initialize_sizetypes): Likewise.

c-family:
2016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
        BITS_PER_UNIT_LOG.

From-SVN: r238800
2016-07-27 20:35:35 +00:00
Bernd Schmidt 36b85e4328 re PR tree-optimization/52171 (memcmp/strcmp/strncmp can be optimized when the result is tested for [in]equality with 0)
PR tree-optimization/52171
        * builtins.c (expand_cmpstrn_or_cmpmem): Delete, moved elsewhere.
        (expand_builtin_memcmp): New arg RESULT_EQ.  All callers changed.
        Look for constant strings.  Move some code to emit_block_cmp_hints
        and use it.
        * builtins.def (BUILT_IN_MEMCMP_EQ): New.
        * defaults.h (COMPARE_MAX_PIECES): New macro.
        * expr.c (move_by_pieces_d, store_by_pieces_d): Remove old structs.
        (move_by_pieces_1, store_by_pieces_1, store_by_pieces_2): Remvoe.
        (clear_by_pieces_1): Don't declare.  Move definition before use.
        (can_do_by_pieces): New static function.
        (can_move_by_pieces): Use it.  Return bool.
        (by_pieces_ninsns): Renamed from move_by_pieces_ninsns.  New arg
        OP.  All callers changed.  Handle COMPARE_BY_PIECES.
        (class pieces_addr); New.
        (pieces_addr::pieces_addr, pieces_addr::decide_autoinc,
        pieces_addr::adjust, pieces_addr::increment_address,
        pieces_addr::maybe_predec, pieces_addr::maybe_postinc): New member
        functions for it.
        (class op_by_pieces_d): New.
        (op_by_pieces_d::op_by_pieces_d, op_by_pieces_d::run): New member
        functions for it.
        (class move_by_pieces_d, class compare_by_pieces_d,
        class store_by_pieces_d): New subclasses of op_by_pieces_d.
        (move_by_pieces_d::prepare_mode, move_by_pieces_d::generate,
        move_by_pieces_d::finish_endp, store_by_pieces_d::prepare_mode,
        store_by_pieces_d::generate, store_by_pieces_d::finish_endp,
        compare_by_pieces_d::generate, compare_by_pieces_d::prepare_mode,
        compare_by_pieces_d::finish_mode): New member functions.
        (compare_by_pieces, emit_block_cmp_via_cmpmem): New static
        functions.
        (expand_cmpstrn_or_cmpmem): Moved here from builtins.c.
        (emit_block_cmp_hints): New function.
        (move_by_pieces, store_by_pieces, clear_by_pieces): Rewrite to just
        use the newly defined classes.
        * expr.h (by_pieces_constfn): New typedef.
        (can_store_by_pieces, store_by_pieces): Use it in arg declarations.
        (emit_block_cmp_hints, expand_cmpstrn_or_cmpmem): Declare.
        (move_by_pieces_ninsns): Don't declare.
        (can_move_by_pieces): Change return value to bool.
        * target.def (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Update docs.
        (compare_by_pieces_branch_ratio): New hook.
        * target.h (enum by_pieces_operation): Add COMPARE_BY_PIECES.
        (by_pieces_ninsns): Declare.
        * targethooks.c (default_use_by_pieces_infrastructure_p): Handle
        COMPARE_BY_PIECES.
        (default_compare_by_pieces_branch_ratio): New function.
        * targhooks.h (default_compare_by_pieces_branch_ratio): Declare.
        * doc/tm.texi.in (STORE_MAX_PIECES, COMPARE_MAX_PIECES): Document.
        * doc/tm.texi: Regenerate.
        * tree-ssa-strlen.c: Include "builtins.h".
        (handle_builtin_memcmp): New static function.
        (strlen_optimize_stmt): Call it for BUILT_IN_MEMCMP.
        * tree.c (build_common_builtin_nodes): Create __builtin_memcmp_eq.

testsuite/
        PR tree-optimization/52171
        * gcc.dg/pr52171.c: New test.
        * gcc.target/i386/pr52171.c: New test.

From-SVN: r237069
2016-06-03 14:20:53 +00:00
Jakub Jelinek 818ab71a41 Update copyright years.
From-SVN: r232055
2016-01-04 15:30:50 +01:00
Pierre-Marie de Rodat 6592d14b43 Add a flag to control the balance between GNAT encodings and std. DWARF
In order to accomodate the debugger's support evolution for "new" DWARF
constructs, we need to have an flag that controls the amount of GNAT
encodings/standard DWARF information that is emitted in the debug info.
Propagate this new parameter into the Ada front-end.

gcc/ChangeLog:

	* common.opt (gnat_encodings): New variable
	(dwarf_gnat_encodings): New enum type.
	(fgnat_encodings): New option.
	* flag-types.h (enum dwarf_gnat_encodings): New.

gcc/ada/ChangeLog:

	* gcc-interface/misc.c (gnat_encodings): Undefine macro and
	declare a global variable.
	(gnat_post_options): Initialize this global from options.

From-SVN: r231761
2015-12-17 14:09:26 +00:00
Trevor Saunders dd4fb6097a always define EH_RETURN_HANDLER_RTX
gcc/ChangeLog:

2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (EH_RETURN_HANDLER_RTX): New default definition.
	* df-scan.c (df_get_exit_block_use_set): Adjust.
	* except.c (expand_eh_return): Likewise.

From-SVN: r230392
2015-11-15 00:18:01 +00:00
Trevor Saunders ab7b56730b always define TARGET_PECOFF
gcc/ChangeLog:

2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config/i386/i386.h (TARGET_PECOFF): Remove define.
	* defaults.h (TARGET_PECOFF): New default definition.
	* varasm.c (handle_vtv_comdat_section): Adjust.

gcc/cp/ChangeLog:

2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* vtable-class-hierarchy.c (vtv_generate_init_routine): Adjust.

From-SVN: r230391
2015-11-15 00:17:56 +00:00
Trevor Saunders 5394314855 remove conditional compilation of sdb debug info
gcc/ChangeLog:

2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h: New definition of SDB_DEBUGGING_INFO.
	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in: Adjust.
	* final.c (rest_of_clean_state): Remove check if
	SDB_DEBUGGING_INFO is defined.
	* function.c (number_blocks): Likewise.
	* output.h: Likewise.
	* sdbout.c: Likewise.
	* toplev.c (process_options): Likewise.

From-SVN: r230390
2015-11-15 00:17:51 +00:00
Trevor Saunders f7dfb654e7 always define REVERSE_CONDITION
gcc/ChangeLog:

2015-10-10  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (REVERSE_CONDITION): New default definition.
	* jump.c (reversed_comparison_code_parts): Adjust.

From-SVN: r228690
2015-10-11 00:48:28 +00:00
Trevor Saunders a9e0a99876 always define FRAME_ADDR_RTX
gcc/ChangeLog:

2015-10-10  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (FRAME_ADDR_RTX): New default definition.
	* builtins.c (expand_builtin_return_addr): Adjust.

From-SVN: r228688
2015-10-11 00:48:17 +00:00
Trevor Saunders f407dfe985 always define DYNAMIC_CHAIN_ADDRESS
gcc/ChangeLog:

2015-10-10  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (DYNAMIC_CHAIN_ADDRESS): New default definition.
	* builtins.c (expand_builtin_return_addr): Adjust.

From-SVN: r228687
2015-10-11 00:48:11 +00:00
Trevor Saunders baf37960f6 always define SETUP_FRAME_ADDRESSES
gcc/ChangeLog:

2015-10-10  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (SETUP_FRAME_ADDRESSES): New default definition.
	* builtins.c (expand_builtin_return_addr): Adjust.
	* doc/tm.texi: Likewise.
	* doc/tm.texi.in: Likewise.
	* except.c (expand_builtin_unwind_init): Likewise.

From-SVN: r228686
2015-10-11 00:48:02 +00:00
Trevor Saunders 579f294624 always define INITIAL_FRAME_ADDRESS_RTX
gcc/ChangeLog:

2015-10-10  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* builtins.c (expand_builtin_return_addr): Adjust.
	* defaults.h (INITIAL_FRAME_ADDRESS_RTX): New default definition.

From-SVN: r228685
2015-10-11 00:47:52 +00:00
Andrew Dixie 04218b3564 config.host (powerpc-ibm-aix*): Add crtdbase.o to extra_parts.
libgcc/
        * config.host (powerpc-ibm-aix*): Add crtdbase.o to extra_parts.
        * config/rs6000/crtdbase.S: New file.
        * config/rs6000/t-aix-cxa: Build crtdbase.o.

gcc/
        * defaults.h (EH_FRAME_SECTION_NAME): Depend on
        EH_FRAME_THROUGH_COLLECT2.
        * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for
        DW_EH_PE_datarel.
        * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section
        even if EH_FRAME_SECTION_NAME is undefined.  Restrict special
        collect2 labels to EH_FRAME_THROUGH_COLLECT2.
        * except.c (switch_to_exception_section): Use a read-only section
        even if EH_FRAME_SECTION_NAME is undefined.
        * system.h (EH_FRAME_IN_DATA_SECTION): Poison.
        * collect2.c (write_c_file_stat): Provide dbase on AIX.
        (scan_prog_file): Don't export __dso_handle nor
        __gcc_unwind_dbase.
        * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        (ASM_OUTPUT_DWARF_PCREL): Define.
        (ASM_OUTPUT_DWARF_DATAREL): Define.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_FRAME_IN_DATA_SECTION): Delete.
        * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New.
        (rs6000_aix_asm_output_dwarf_datarel): New.
        (rs6000_xcoff_asm_init_sections): Don't set exception_section.
        * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): New.
        (ASM_OUTPUT_DWARF_DATAREL): New.
        * doc/tm.texi: Regenerate.

Co-Authored-By: David Edelsohn <dje.gcc@gmail.com>

From-SVN: r227906
2015-09-18 10:10:36 -04:00
Eric Botcazou c55721c0df defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
* defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
	Bump to 4KB for SJLJ exceptions.
	(STACK_CHECK_PROTECT): Likewise.  Bump to 8KB for SJLJ exceptions.
	* doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust.
	* doc/tm.texi: Regenerate.

From-SVN: r227799
2015-09-15 16:25:59 +00:00
Trevor Saunders 6b00e42da3 add default for CONSTANT_ALIGNMENT
gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (CONSTANT_ALIGNMENT): New macro definition.
	* builtins.c (get_object_alignment_2): Adjust.
	* varasm.c (align_variable): Likewise.
	(get_variable_align): Likewise.
	(build_constant_desc): Likewise.
	(force_const_mem): Likewise.
	* doc/tm.texi.in: Likewise.
	* doc/tm.texi: Regenerate.

From-SVN: r227052
2015-08-21 01:15:33 +00:00
Magnus Granberg e0f6cba004 common.opt (fstack-protector): Initialize to -1.
* common.opt (fstack-protector): Initialize to -1.
        (fstack-protector-all): Likewise.
        (fstack-protector-strong): Likewise.
        (fstack-protector-explicit): Likewise.
        * configure.ac: Add --enable-default-ssp.
        * defaults.h (DEFAULT_FLAG_SSP): New.  Default SSP to strong.
        * opts.c (finish_options): Update opts->x_flag_stack_protect if it is
        -1.
        * doc/install.texi: Document --enable-default-ssp.
        * config.in: Regenerated.
        * configure: Likewise.

        * lib/target-supports.exp
        (check_effective_target_fstack_protector_enabled): New test.
        * gcc.target/i386/ssp-default.c: New test.

From-SVN: r227017
2015-08-19 16:07:06 -06:00
Thomas Schwinge c9665100d6 Add DWARF2_LINENO_DEBUGGING_INFO, and use it for nvptx
gcc/
	* config/nvptx/nvptx.c (nvptx_option_override): Don't override
	debug options.
	* config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define.
	(DWARF2_DEBUGGING_INFO): Don't define.
	* debug.h (dwarf2_lineno_debug_hooks): Declare.
	* toplev.c (process_options): Add a case for it.
	* dwarf2out.c (dwarf2_lineno_debug_hooks): New variable.
	(dwarf2out_init): Skip most initializations if
	DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that
	case.
	* defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if
	DWARF2_LINENO_DEBUGGING_INFO.
	* opts.c (set_debug_level): Likewise.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>

From-SVN: r226890
2015-08-14 12:37:14 +02:00
Trevor Saunders 9e11bfef7a always define WORD_REGISTER_OPERATIONS
gcc/ChangeLog:

2015-07-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
	* config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
	* config/arc/arc.h: Likewise.
	* config/arm/arm.h: Likewise.
	* config/bfin/bfin.h: Likewise.
	* config/epiphany/epiphany.h: Likewise.
	* config/frv/frv.h: Likewise.
	* config/ia64/ia64.h: Likewise.
	* config/iq2000/iq2000.h: Likewise.
	* config/lm32/lm32.h: Likewise.
	* config/m32r/m32r.h: Likewise.
	* config/mcore/mcore.h: Likewise.
	* config/mep/mep.h: Likewise.
	* config/microblaze/microblaze.h: Likewise.
	* config/mips/mips.h: Likewise.
	* config/mmix/mmix.h: Likewise.
	* config/mn10300/mn10300.h: Likewise.
	* config/nds32/nds32.h: Likewise.
	* config/nios2/nios2.h: Likewise.
	* config/pa/pa.h: Likewise.
	* config/rl78/rl78.h: Likewise.
	* config/sh/sh.h: Likewise.
	* config/sparc/sparc.h: Likewise.
	* config/stormy16/stormy16.h: Likewise.
	* config/tilegx/tilegx.h: Likewise.
	* config/tilepro/tilepro.h: Likewise.
	* config/v850/v850.h: Likewise.
	* config/xtensa/xtensa.h: Likewise.
	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in: Adjust.
	* combine.c (simplify_set): Likewise.
	(simplify_comparison): Likewise.
	* expr.c (store_constructor): Likewise.
	* internal-fn.c (expand_arith_overflow): Likewise.
	* reload.c (push_reload): Likewise.
	(find_reloads): Likewise.
	(find_reloads_subreg_address): Likewise.
	* reload1.c (eliminate_regs_1): Likewise.
	* rtlanal.c (nonzero_bits1): Likewise.
	(num_sign_bit_copies1): Likewise.
	* simplify-rtx.c (simplify_truncation): Likewise.

From-SVN: r225597
2015-07-09 02:51:19 +00:00
Trevor Saunders 58f2ae18ff always define SHORT_IMMEDIATES_SIGN_EXTEND
gcc/ChangeLog:

2015-07-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* combine.c (update_rsp_from_reg_equal): Don't check if
	SHORT_IMMEDIATES_SIGN_EXTEND is defined.
	(reg_nonzero_bits_for_combine): Likewise.
	* config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
	1.
	* config/frv/frv.h: Likewise.
	* config/lm32/lm32.h: Likewise.
	* config/mep/mep.h: Likewise.
	* config/mips/mips.h: Likewise.
	* config/rs6000/rs6000.h: Likewise.
	* config/sh/sh.h: Likewise.
	* config/tilegx/tilegx.h (enum reg_class): Likewise.
	* config/tilepro/tilepro.h: Likewise.
	* defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in: Adjust.
	* rtlanal.c (nonzero_bits1): Likewise.

From-SVN: r225593
2015-07-09 02:50:07 +00:00
Richard Sandiford 8684d89dea target.def: Add code_for_* hooks.
gcc/
	* target.def: Add code_for_* hooks.
	* gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
	* defaults.h (HAVE_tablejump, gen_tablejump): Delete.
	* target-insns.def (casesi, tablejump): New targetm instruction
	patterns.
	* expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
	(do_tablejump): Likewise.
	* stmt.c (expand_switch_as_decision_tree_p): Likewise.
	(expand_sjlj_dispatch_table): Likewise.
	* targhooks.c (default_case_values_threshold): Likewise.

From-SVN: r225421
2015-07-05 07:44:45 +00:00
Richard Sandiford 20fceb31cd gcc/
* defaults.h (HAVE_load_multiple, gen_load_multiple)
	(HAVE_store_multiple, gen_store_multiple): Delete.
	* target-insns.def (load_multiple, store_multiple): New targetm
	instruction patterns.
	* expr.c (move_block_to_reg, move_block_from_reg): Use them instead
	of HAVE_*/gen_* interface.

From-SVN: r225210
2015-06-30 20:56:43 +00:00
Richard Sandiford ccf5bbdd40 gcc/
* defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
	(HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
	(gen_mem_signal_fence): Delete.
	* target-insns.def (mem_signal_fence, mem_thread_fence)
	(memory_barrier): New targetm instruction patterns.
	* optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
	interface.
	(expand_mem_signal_fence): Likewise.

From-SVN: r225209
2015-06-30 20:56:14 +00:00
Richard Sandiford e86a994681 defaults.h (HAVE_epilogue, [...]): Delete.
gcc/
	* defaults.h (HAVE_epilogue, gen_epilogue): Delete.
	* target-insns.def (epilogue, prologue, sibcall_prologue): New
	targetm instruction patterns.
	* alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
	interface.
	* calls.c (expand_call): Likewise.
	* cfgrtl.c (cfg_layout_finalize): Likewise.
	* df-scan.c (df_get_entry_block_def_set): Likewise.
	(df_get_exit_block_use_set): Likewise.
	* dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
	* final.c (final_start_function): Likewise.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.
	(reposition_prologue_and_epilogue_notes): Likewise.
	* reorg.c (find_end_label): Likewise.
	* toplev.c (process_options): Likewise.

From-SVN: r225208
2015-06-30 20:55:13 +00:00
Richard Sandiford 4bccb39eba Makefile.in (TARGET_DEF): Add target-insns.def.
gcc/
	* Makefile.in (TARGET_DEF): Add target-insns.def.
	(.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
	(build/gentarget-def.o): New rule.
	(genprogrtl): Add target-def.
	* target-insns.def, gentarget-def.c: New files.
	* target.def: Add targetm.have_* and targetm.gen_* hooks,
	based on the contents of target-insns.def.
	* defaults.h (HAVE_simple_return, gen_simple_return): Delete.
	(HAVE_return, gen_return): Delete.
	* target-def.h: Include insn-target-def.h.
	* cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
	instead of direct calls.  Rely on them to do the appropriate assertions.
	* function.c (gen_return_pattern): Likewise.  Return an rtx_insn *.
	(convert_jumps_to_returns): Use targetm interface instead of
	direct calls.
	(thread_prologue_and_epilogue_insns): Likewise.
	* reorg.c (find_end_label, dbr_schedule): Likewise.
	* shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
	* shrink-wrap.c (convert_to_simple_return): Likewise.
	(try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.

From-SVN: r224979
2015-06-25 17:18:12 +00:00
Richard Sandiford 8a810680ee defaults.h (SWITCHABLE_TARGET, [...]): Move out of GCC_INSN_FLAGS_H block.
gcc/
	* defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
	of GCC_INSN_FLAGS_H block.

From-SVN: r224069
2015-06-03 09:29:42 +00:00
H.J. Lu 428b381275 Add --enable-default-pie option to GCC configure
Add --enable-default-pie option to configure GCC to generate PIE by
default.

gcc/

	* Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
	(BUILD_CFLAGS): Likewise.
	(BUILD_CXXFLAGS): Likewise.
	(LINKER): Add @NO_PIE_FLAG@.
	(BUILD_LDFLAGS): Likewise.
	(libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
	--enable-default-pie.
	* common.opt (fPIE): Initialize to -1.
	(fpie): Likewise.
	(no-pie): New option.
	(pie): Replace "Negative(shared)" with "Negative(no-pie)".
	* configure.ac: Add --enable-default-pie.
	(NO_PIE_CFLAGS): New.  Check if -fno-PIE works.  AC_SUBST.
	(NO_PIE_FLAG): New.  Check if -no-pie works.  AC_SUBST.
	* defaults.h (DEFAULT_FLAG_PIE): New.  Default PIE to -fPIE.
	* gcc.c (NO_PIE_SPEC): New.
	(PIE_SPEC): Likewise.
	(NO_FPIE1_SPEC): Likewise.
	(FPIE1_SPEC): Likewise.
	(NO_FPIE2_SPEC): Likewise.
	(FPIE2_SPEC): Likewise.
	(NO_FPIE2_SPEC): Likewise.
	(FPIE_SPEC): Likewise.
	(NO_FPIE_SPEC): Likewise.
	(NO_FPIC1_SPEC): Likewise.
	(FPIC1_SPEC): Likewise.
	(NO_FPIC2_SPEC): Likewise.
	(FPIC2_SPEC): Likewise.
	(NO_FPIC2_SPEC): Likewise.
	(FPIC_SPEC): Likewise.
	(NO_FPIC_SPEC): Likewise.
	(NO_FPIE1_AND_FPIC1_SPEC): Likewise.
	(FPIE1_OR_FPIC1_SPEC): Likewise.
	(NO_FPIE2_AND_FPIC2_SPEC): Likewise.
	(FPIE2_OR_FPIC2_SPEC): Likewise.
	(NO_FPIE_AND_FPIC_SPEC): Likewise.
	(FPIE_OR_FPIC_SPEC): Likewise.
	(LD_PIE_SPEC): Likewise.
	(LINK_PIE_SPEC): Handle -no-pie.  Use PIE_SPEC and LD_PIE_SPEC.
	* opts.c (finish_options): Update opts->x_flag_pie if it is -1.
	* config/darwin.h (PIE_SPEC): Renamed to ...
	(DARWIN_PIE_SPEC): This.
	(LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
	* config/darwin9.h (PIE_SPEC): Renamed to ...
	(DARWIN_PIE_SPEC): This.
	* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
	PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
	* config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
	FPIE2_OR_FPIC2_SPEC.
	* config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
	* config/m68k/openbsd.h (ASM_SPEC): Likewise.
	* gcc/config/sol2.h (ASM_PIC_SPEC): Likewise.
	* config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
	* config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
	* config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
	* config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
	* config/m32r/m32r.h (ASM_SPEC): Likewise.
	* config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
	* config/rs6000/linux64.h (ASM_SPEC32): Likewise.
	* config/rs6000/sysv4.h (ASM_SPEC): Likewise.
	* config/sparc/freebsd.h (ASM_SPEC): Likewise.
	* config/sparc/linux.h (ASM_SPEC): Likewise.
	* config/sparc/linux64.h (ASM_SPEC): Likewise.
	* config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
	* config/sparc/openbsd64.h (ASM_SPEC): Likewise.
	* config/sparc/sp-elf.h (ASM_SPEC): Likewise.
	* config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
	* config/sparc/sparc.h (ASM_SPEC): Likewise.
	* config/sparc/sysv4.h (ASM_SPEC): Likewise.
	* config/sparc/vxworks.h (ASM_SPEC): Likewise.
	* config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
	FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
	* config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
	* config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
	NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
	(ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
	* config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and
	NO_FPIC_SPEC.
	* config/mips/gnu-user.h (NO_SHARED_SPECS): Use
	NO_FPIE_AND_FPIC_SPEC.
	* config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
	* config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
	* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
	* config/vax/linux.h (ASM_SPEC): Likewise.
	* doc/install.texi: Document --enable-default-pie.
	* doc/invoke.texi: Document -no-pie.
	* config.in: Regenerated.
	* configure: Likewise.

gcc/ada/

	* gcc-interface/Makefile.in (TOOLS_LIBS): Add @NO_PIE_FLAG@.

libgcc/

	* Makefile.in (CRTSTUFF_CFLAGS): Add $(NO_PIE_CFLAGS).

From-SVN: r223796
2015-05-27 19:36:55 -07:00
Trevor Saunders 0e5f14d420 add default for HAVE_tablejump
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_tablejump): New function.
	(HAVE_tablejump): Add default value.
	* expr.c: Adjust.
	* stmt.c: Likewise.

From-SVN: r223625
2015-05-24 00:33:06 +00:00
Trevor Saunders b77eb5eb02 add default for HAVE_store_multiple
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_store_multiple): New function.
	(HAVE_store_multiple): Add default value.
	* expr.c (move_block_from_reg): Adjust.

From-SVN: r223624
2015-05-24 00:33:00 +00:00
Trevor Saunders e51f0f4f35 add default for HAVE_load_multiple
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_load_multiple): New function.
	(HAVE_load_multiple): Add default value.
	* expr.c (move_block_to_reg): Adjust.

From-SVN: r223623
2015-05-24 00:32:54 +00:00
Trevor Saunders 15469812ac provide default for HAVE_mem_signal_fence
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_mem_signal_fence): New function.
	(HAVE_mem_signal_fence): Add default value.
	* optabs.c: Adjust.

From-SVN: r223622
2015-05-24 00:32:49 +00:00
Trevor Saunders c76a461051 always define HAVE_memory_barrier
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_memory_barrier): New function.
	(HAVE_memory_barrier): Add default value.
	* optabs.c: Adjust.

From-SVN: r223621
2015-05-24 00:32:43 +00:00
Trevor Saunders fcb922a9c6 provide default for HAVE_mem_thread_fence
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_mem_thread_fence): New function.
	(HAVE_mem_thread_fence): Add default definition.
	* optabs.c: Adjust.

From-SVN: r223620
2015-05-24 00:32:37 +00:00
Trevor Saunders dfed696157 move default for STACK_PUSH_CODE to defaults.h
gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h: Add default for STACK_PUSH_CODE.
	* expr.c: Don't redefine STACK_PUSH_CODE.
	* recog.c: Likewise.

From-SVN: r223515
2015-05-22 01:03:51 +00:00
Trevor Saunders 62f9f30bfb always define STACK_GROWS_DOWNWARD
gcc/c-family/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* c-cppbuiltin.c (c_cpp_builtins): Check the value of
	STACK_GROWS_DOWNWARD rather than if it is defined.

gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
	is defined.
	* config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
	* defaults.h: Provide default for STACK_GROWS_DOWNWARD.
	* doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
	* doc/tm.texi: Regenerate.

From-SVN: r223513
2015-05-22 01:03:11 +00:00
Jason Merrill 1699809426 bitmap.c, [...]: Add space between string literal and macro name.
* bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
	config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
	config/darwin.h, config/darwin9.h, config/elfos.h,
	config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
	config/microblaze/microblaze.h, config/mips/mips.h,
	config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
	config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
	config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
	config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
	config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
	cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
	dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
	ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
	ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
	modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
	tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
	between string literal and macro name.

From-SVN: r222960
2015-05-09 00:50:05 -04:00
Trevor Saunders 376bddabe1 always define ARGS_GROW_DOWNWARD
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
	* defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
	* calls.c (save_fixed_argument_area): Don't chekc if
	ARGS_GROW_DOWNWARD is defined.
	(restore_fixed_argument_area): Likewise.
	(mem_overlaps_already_clobbered_arg_p): Likewise.
	(check_sibcall_argument_overlap): Likewise.
	(expand_call): Likewise.
	(emit_library_call_value_1): Likewise.
	(store_one_arg): Likewise.
	* function.c (assign_parms): Likewise.
	(locate_and_pad_parm): Likewise.
	(pad_to_arg_alignment): Likewise.
	* targhooks.c (std_gimplify_va_arg_expr): Likewise.

From-SVN: r222507
2015-04-28 04:46:20 +00:00
Trevor Saunders 5251b8b350 always define HAVE_epilogue
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_epilogue): New function.
(HAVE_epilogue): Add default definition to false.
	* alias.c (init_alias_analysis): don't check if HAVE_epilogue is
	defined.
	* cfgrtl.c (cfg_layout_finalize): Likewise.
	* df-scan.c: Likewise.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.
	(reposition_prologue_and_epilogue_notes): Likewise.
	* reorg.c (find_end_label): Likewise.
	* toplev.c: Likewise.

From-SVN: r222506
2015-04-28 04:45:12 +00:00
Trevor Saunders 08b7ff1e1d always define HAVE_simple_return and HAVE_return
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* bb-reorder.c (HAVE_return): Don't check if its undefined.
	* defaults.h (gen_simple_return): New function.
	(gen_simple_return): Likewise.
	(HAVE_return): Add default definition to false.
	(HAVE_simple_return): Likewise.
	* cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
	HAVE_return and HAVE_simple_return are defined.
	* function.c (gen_return_pattern): Likewise.
	(convert_jumps_to_returns): Likewise.
	(thread_prologue_and_epilogue_insns): Likewise.
	* reorg.c (find_end_label): Likewise.
	(dbr_schedule): Likewise.
	* shrink-wrap.c: Likewise.
	* shrink-wrap.h: Likewise.

From-SVN: r222505
2015-04-28 04:44:09 +00:00
Trevor Saunders a3699d669a add default for EPILOGUE_USES
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (EPILOGUE_USES): Add default definition of false.
	* df-scan.c (EPILOGUE_USES): Remove check if its undefined.
	* resource.c (init_resource_info): Likewise.

From-SVN: r222504
2015-04-28 04:43:12 +00:00
Trevor Saunders 1d0275e2bb add default for PCC_BITFIELD_TYPE_MATTERS
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
	to false.
	* dwarf2out.c (field_byte_offset): REmove check if
	PCC_BITFIELD_TYPE_MATTERS is defined.
	* stor-layout.c (layout_decl): Likewise.
	(update_alignment_for_field): Likewise.
	(place_field): Likewise.

gcc/cp/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* class.c (layout_class_type): Remove check if
	PCC_BITFIELD_TYPE_MATTERS is defined.

From-SVN: r222503
2015-04-28 04:42:04 +00:00
Trevor Saunders aedf2c0283 add default for HARD_REGNO_RENAME_OK
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
	true.
	* regrename.c (check_new_reg_p): Remove check if
	HARD_REGNO_RENAME_OK is defined.
	* sel-sched.c (sel_hard_regno_rename_ok): Likewise.

From-SVN: r222502
2015-04-28 04:40:43 +00:00
Trevor Saunders 1e8552c2ee add default for NO_FUNCTION_CSE
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
	* cse.c (fold_rtx): Likewise.
	* config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
	* config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
	* config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
	* config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
	* config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
	* config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
	* config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
	* config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
	* config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
	* config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
	* Likewise.
	* config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
	* config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
	* config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
	* config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
	* config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
	* config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
	* config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
	* config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
	* config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
	* config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
	* config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
	* config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
	* defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
	either true or false.

From-SVN: r222501
2015-04-28 04:40:00 +00:00
Trevor Saunders 6e37129a8d add default for INSN_REFERENCES_ARE_DELAYED
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
	* reorg.c (redundant_insn): Remove ifdef
	INSN_REFERENCES_ARE_DELAYED.
	* resource.c (mark_referenced_resources): Likewise.

From-SVN: r222304
2015-04-22 00:45:20 +00:00
Trevor Saunders 0923e946fb provide default for INSN_SETS_ARE_DELAYED
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (INSN_SETS_ARE_DELAYED): New definition.
	* reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
	* resource.c (mark_set_resources): Likewise.

From-SVN: r222303
2015-04-22 00:45:11 +00:00
Trevor Saunders cbc7d031c4 provide default for MASK_RETURN_ADDR
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (MASK_RETURN_ADDR): New definition.
	* except.c (expand_builtin_extract_return_addr): Remove ifdef
	MASK_RETURN_ADDR.

From-SVN: r222299
2015-04-22 00:44:48 +00:00
Trevor Saunders a8a6b3dfd3 provide default for RETURN_ADDR_OFFSET
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (RETURN_ADDR_OFFSET): New definition.
	* except.c (expand_builtin_extract_return_addr): Remove ifdef
	RETURN_ADDR_OFFSET.
	(expand_builtin_frob_return_addr): Likewise.

From-SVN: r222298
2015-04-22 00:44:43 +00:00
Trevor Saunders 9a52250502 add default definition of EH_RETURN_DATA_REGNO
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h: New definition of EH_RETURN_DATA_REGNO.
	* except.c: Remove definition of EH_RETURN_DATA_REGNO.
	* builtins.c (expand_builtin): Remove check if
	EH_RETURN_DATA_REGNO is defined.
	* df-scan.c (df_bb_refs_collect): Likewise.
	(df_get_exit_block_use_set): Likewise.
	* haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
	* ira-lives.c (process_bb_node_lives): Likewise.
	* lra-lives.c (process_bb_lives): Likewise.

From-SVN: r222293
2015-04-22 00:44:08 +00:00
Max Filippov 2e612c470d Turn RETURN_ADDR_IN_PREVIOUS_FRAME into C expression
This allows a target to support both windowed and non-windowed ABI.

2015-03-03  Max Filippov  <jcmvbkbc@gmail.com>

gcc/
	* builtins.c (expand_builtin_return_addr): Add
	RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
	surrounding #ifdef.
	* config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
	definition to 1.
	* config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
	Likewise.
	* defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
	undefined.
	* doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
	paragraph.

From-SVN: r221150
2015-03-03 15:04:02 +00:00
Jakub Jelinek 5624e564d2 Update copyright years.
From-SVN: r219188
2015-01-05 13:33:28 +01:00
Olivier Hainque a66272f6d2 defaults.h: (DWARF_REG_TO_UNWIND_COLUMN): Define default.
2014-12-05  Olivier Hainque  <hainque@adacore.com>

        gcc/
        * defaults.h: (DWARF_REG_TO_UNWIND_COLUMN): Define default.
        * dwarf2cfi.c (init_one_dwarf_reg_size): Honor
        DWARF_REG_TO_UNWIND_COLUMN.

        libgcc/
        * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Remove default def,
        now provided by defaults.h.

From-SVN: r218429
2014-12-05 17:01:42 +00:00