Commit Graph

132031 Commits

Author SHA1 Message Date
David Malcolm 689756831c VINSN_INSN_RTX scaffolding
gcc/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* sel-sched-ir.h (VINSN_INSN_RTX): struct vinsn_def's "insn_rtx"
	field will eventually be an rtx_insn *.  To help with transition,
	for now, convert from an access macro into a pair of functions:
	VINSN_INSN_RTX, returning an rtx_insn *, and...
	(SET_VINSN_INSN_RTX): New function, for use where VINSN_INSN_RTX
	is used as an lvalue.

	* sel-sched-ir.c (vinsn_init): Replace VINSN_INSN_RTX with
	SET_VINSN_INSN_RTX where it's used as an lvalue.
	(VINSN_INSN_RTX): New function.
	(SET_VINSN_INSN_RTX): New function.

/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtx-classes-status.txt (TODO): Add SET_VINSN_INSN_RTX.

From-SVN: r214165
2014-08-19 15:42:24 +00:00
David Malcolm d914bc6b3a DEP_PRO/DEP_CON scaffolding
gcc/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* sched-int.h (DEP_PRO): struct _dep's "pro" and "con" fields will
	eventually be rtx_insn *, but to help with transition, for now,
	convert from an access macro into a pair of functions: DEP_PRO
	returning an rtx_insn * and...
	(SET_DEP_PRO): New function, for use where DEP_PRO is used as an
	lvalue, returning an rtx&.
	(DEP_CON): Analogous changes to DEP_PRO above.
	(SET_DEP_CON): Likewise.

	* haifa-sched.c (create_check_block_twin): Replace DEP_CON used as
	an lvalue to SET_DEP_CON.
	* sched-deps.c (init_dep_1): Likewise for DEP_PRO and DEP_CON.
	(sd_copy_back_deps): Likewise for DEP_CON.
	(DEP_PRO): New function, adding a checked cast for now.
	(DEP_CON): Likewise.
	(SET_DEP_PRO): New function.
	(SET_DEP_CON): Likewise.

/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtx-classes-status.txt (TODO): Add SET_DEP_PRO, SET_DEP_CON.

From-SVN: r214164
2014-08-19 15:31:23 +00:00
Yaakov Selkowitz 1ed3ba0549 os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32): Define.
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>
	Kai Tietz  <ktietz@redhat.com>

	* config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
	Define.
	* config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
	Ditto.
	* libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
	#include <windows.h>.
	(struct elt): Add dll member.
	(run): Decrement dll refcount.
	(__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.


Co-Authored-By: Kai Tietz <ktietz@redhat.com>

From-SVN: r214163
2014-08-19 17:25:12 +02:00
Yaakov Selkowitz 25efdb9f92 cygming-crtend.c (register_frame_ctor): Move atexit call from here...
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

	* config/i386/cygming-crtend.c (register_frame_ctor): Move atexit
	call from here...
	* config/i386/cygming-crtbegin.c (__gcc_register_frame): to here.
	(__dso_handle): Define on Cygwin.
	* config/i386/t-cygming (crtbeginS.o): New rule.
	* config.host (*-*-cygwin*): Add crtbeginS.o to extra_parts.

From-SVN: r214162
2014-08-19 17:22:59 +02:00
Yaakov Selkowitz 301f44023e config.gcc (*-*-cygwin*): Use __cxa_atexit by default.
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

	* config.gcc (*-*-cygwin*): Use __cxa_atexit by default.
	(extra_options): Add i386/cygwin.opt.
	* config/i386/cygwin.h (STARTFILE_SPEC): Use crtbeginS.o if shared.
	(CPP_SPEC): Accept -pthread.
	(LINK_SPEC): Ditto.
	(GOMP_SELF_SPECS): Update comment.
	* config/i386/cygwin.opt: New file for -pthread flag.

From-SVN: r214161
2014-08-19 17:21:22 +02:00
David Malcolm 8020a4d5c5 Convert DF_REF_INSN to a function for now
gcc/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* df-core.c (DF_REF_INSN): New, using a checked cast for now.
	* df.h (DF_REF_INSN): Convert from a macro to a function, so
	that we can return an rtx_insn *.

/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtx-classes-status.txt (TODO): Add DF_REF_INSN.

From-SVN: r214160
2014-08-19 15:18:42 +00:00
Joost VandeVondele a231b8a5c5 MAINTAINERS (Write After Approval): Add myself.
2014-08-19  Joost VandeVondele <vondele@gcc.gnu.org>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r214159
2014-08-19 15:15:33 +00:00
Yaakov Selkowitz 04017283ee cygwin.h (LINK_SPEC): Pass --tsaware flag only when building executables, not DLLs.
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

        * config/i386/cygwin.h (LINK_SPEC): Pass --tsaware flag only
        when building executables, not DLLs.  Add --large-address-aware
        under the same conditions.
        * config/i386/cygwin-w64.h (LINK_SPEC): Pass --tsaware flag only
        when building executables, not DLLs.  Add --large-address-aware
        under the same conditions when using -m32.

From-SVN: r214158
2014-08-19 17:03:42 +02:00
Christopher Faylor ce8126f5ff MAINTAINERS: Remove myself
2014-08-19  Christopher Faylor  <me.gnu@cgf.cx>

	* MAINTAINERS: Remove myself

From-SVN: r214157
2014-08-19 15:00:56 +00:00
Yaakov Selkowitz a3b69d6f0e cygwin-stdint.h: Throughout, make type definitions dependent on target architecture, not host.
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

        * config/i386/cygwin-stdint.h: Throughout, make type
        definitions dependent on target architecture, not host.

From-SVN: r214156
2014-08-19 16:59:19 +02:00
Kai Tietz 6fe8c024aa configure.tgt: Add cygwin to supported targets.
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

        * configure.tgt: Add cygwin to supported targets.

From-SVN: r214154
2014-08-19 16:55:37 +02:00
Yaakov Selkowitz 1ac8397612 cygming-crtbegin.c (deregister_frame_fn): Fix declaration syntax.
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

        * config/i386/cygming-crtbegin.c (deregister_frame_fn): Fix
        declaration syntax.

From-SVN: r214153
2014-08-19 16:52:17 +02:00
David Malcolm 6306c300db Replace PREV_INSN et al macros with functions
gcc/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (PREV_INSN): Convert to an inline function.  Strengthen
	the return type from rtx to rtx_insn *,  which will enable various
	conversions in followup patches.  For now this is is done by a
	checked cast.
	(NEXT_INSN): Likewise.
	(SET_PREV_INSN): Convert to an inline function.  This is intended
	for use as an lvalue, and so returns an rtx& to allow in-place
	modification.
	(SET_NEXT_INSN): Likewise.

From-SVN: r214152
2014-08-19 14:47:55 +00:00
Patrick Palka c77935ee29 re PR c/45584 (typeof with casting from const to non-const does not work properly)
2014-08-19  Patrick Palka  <ppalka@gcc.gnu.org>

	PR c/45584
	* c-typeck.c (build_c_cast): Do a conversion even when the
	TYPE_MAIN_VARIANTs are the same.

2014-08-19  Patrick Palka  <ppalka@gcc.gnu.org>

	PR c/45584
	* gcc.dg/pr13519-1.c: Adjust.

From-SVN: r214151
2014-08-19 14:14:15 +00:00
Mark Wielaard d207703088 gcc.dg/guality/const-volatile.c: Add `used' attribute to pi.
From-SVN: r214144
2014-08-19 11:56:44 +00:00
Mark Wielaard 638c02945c Emit DW_tag_restrict_type for restrict-qualified pointers.
gcc/ChangeLog

	PR debug/59051
	* dwarf2out.c (modified_type_die): Handle TYPE_QUAL_RESTRICT.

gcc/testsuite/ChangeLog

	PR debug/59051
	* gcc.dg/guality/restrict.c: New test.

From-SVN: r214143
2014-08-19 11:50:55 +00:00
Marek Polacek abbb94e679 re PR c/61271 (10 * possible coding error with logical not (!))
PR c/61271
	* cgraphunit.c (handle_alias_pairs): Fix condition.

From-SVN: r214142
2014-08-19 11:35:39 +00:00
Richard Biener 3ef276e442 gimple-fold.c (fold_gimple_assign): Properly build a null-pointer constant when devirtualizing addresses.
2014-08-19  Richard Biener  <rguenther@suse.de>

	* gimple-fold.c (fold_gimple_assign): Properly build a
	null-pointer constant when devirtualizing addresses.

From-SVN: r214141
2014-08-19 11:19:52 +00:00
Mark Wielaard a98c0e91c7 dwarf2out.c: Pass one cv_quals argument instead of two for const and volatile.
modified_type_die and add_type_attribute take two separate arguments
for whether the type should be const and/or volatile. To help add
more type modifiers pass the requested modifiers as one cv_quals argument
to these functions. And introduce helper function decl_quals to extract
additional cv_quals from declaration trees.

DWARFv3 added restrict_type [PR debug/59051] and DWARFv5 has proposals
for atomic_type and aligned_type. Which will be easier to implement based
on this change.

gcc/ChangeLog

	* dwarf2out.c (decl_quals): New function.
	(modified_type_die): Take one cv_quals argument instead of two,
	one for const and one for volatile.
	(add_type_attribute): Likewise.
	(generic_parameter_die): Call add_type_attribute with one modifier
	argument.
	(base_type_for_mode): Likewise.
	(add_bounds_info): Likewise.
	(add_subscript_info): Likewise.
	(gen_array_type_die): Likewise.
	(gen_descr_array_type_die): Likewise.
	(gen_entry_point_die): Likewise.
	(gen_enumeration_type_die): Likewise.
	(gen_formal_parameter_die): Likewise.
	(gen_subprogram_die): Likewise.
	(gen_variable_die): Likewise.
	(gen_const_die): Likewise.
	(gen_field_die): Likewise.
	(gen_pointer_type_die): Likewise.
	(gen_reference_type_die): Likewise.
	(gen_ptr_to_mbr_type_die): Likewise.
	(gen_inheritance_die): Likewise.
	(gen_subroutine_type_die): Likewise.
	(gen_typedef_die): Likewise.
	(force_type_die): Likewise.

From-SVN: r214140
2014-08-19 11:00:37 +00:00
Mark Wielaard a6dad7b658 Add guality [p]type test.
Add a new type:var variant to the guality.exp testsuite to check that
gdb gets the correct type for a variable or function. To use it in a
guality test add something like:

/* { dg-final { gdb-test 50 "type:main" "int (int, char **)" } } */

Which will put a breakpoint at line 50 and check that the type of "main"
equals "int (int, char **)" according to gdb. The test harness will make
sure to squash all extra whitespace/newlines that gdb might use to make
comparisons of large structs easy.

gcc/testsuite/ChangeLog

	* lib/gcc-gdb-test.exp (gdb-test): Handle type:var for gdb ptype
	matching. Catch '<unknown type in ' to recognize older gdb versions.
	* gcc.dg/guality/const-volatile.c: New test.

From-SVN: r214139
2014-08-19 10:30:07 +00:00
Rainer Orth 4f9b1c116e XFAIL g++.dg/debug/dwarf2/nested-4.C on Solaris with Sun as
* g++.dg/debug/dwarf2/nested-4.C: XFAIL on *-*-solaris2.1[1-9]* &&
	!gas.

From-SVN: r214138
2014-08-19 10:13:34 +00:00
Rainer Orth 56e675ce85 Restore Sun as COMDAT group support
* configure.ac (gcc_cv_as_comdat_group_group): Only default to no
	if unset.
	* configure: Regenerate.

From-SVN: r214137
2014-08-19 10:13:24 +00:00
Richard Biener 47503a4919 lto-streamer-out.c (DFS::DFS_write_tree_body): Stream DECL_EXTERNALs in BLOCKs as non-references.
2014-08-19  Richard Biener  <rguenther@suse.de>

	* lto-streamer-out.c (DFS::DFS_write_tree_body): Stream
	DECL_EXTERNALs in BLOCKs as non-references.
	* tree-streamer-out.c (streamer_write_chain): Likewise.

From-SVN: r214135
2014-08-19 07:57:44 +00:00
Alexander Ivchenko 21c924ac98 sse.md (define_mode_iterator VI48_AVX512F): Delete.
gcc/
	* config/i386/sse.md
	(define_mode_iterator VI48_AVX512F): Delete.
	(define_mode_iterator VI48_AVX512F_AVX512VL): New.
	(define_mode_iterator VI2_AVX512VL): Ditto.
	(define_insn "<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name><round_name>"):
	Delete.
	(define_insn
	("<mask_codefor><avx512>_ufix_notrunc<sf2simodelower><mode><mask_name><round_name>"):
	New.
	(define_insn "avx512cd_maskw_vec_dup<mode>"): Macroize.
	(define_insn "<avx2_avx512f>_ashrv<mode><mask_name>"): Delete.
	(define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>",
	with VI48_AVX512F_AVX512VL): New.
	(define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>",
	with VI2_AVX512VL): Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r214134
2014-08-19 07:32:22 +00:00
Marek Polacek 35aff4fb82 invoke.texi: Document -Wc99-c11-compat.
* doc/invoke.texi: Document -Wc99-c11-compat.
c-family/
	* c.opt (Wc99-c11-compat): New option.
c/
	* c-decl.c (diagnose_mismatched_decls): Unconditionally call
	pedwarn_c99 instead of pedwarn.
	(grokfield): Likewise.
	(warn_defaults_to): New function.
	(grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
	Unconditionally call pedwarn_c99 instead of pedwarn.
	(start_function): Call warn_defaults_to instead of pedwarn_c99.
	(declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
	check flag_isoc11 before.
	* c-errors.c (pedwarn_c99): Change the return type to bool.
	Handle -Wc99-c11-compat.
	* c-parser.c (disable_extension_diagnostics): Handle
	warn_c99_c11_compat.
	(restore_extension_diagnostics): Likewise.
	(c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
	instead of pedwarn, don't check flag_isoc11 before.
	(c_parser_declspecs): Likewise.
	(c_parser_alignas_specifier): Likewise.
	(c_parser_alignof_expression): Likewise.
	(c_parser_generic_selection): Likewise.
	* c-tree.h (pedwarn_c99): Update declaration.
	* c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
	of pedwarn_c99.
testsuite/
	* gcc.dg/Wc99-c11-compat-1.c: New test.
	* gcc.dg/Wc99-c11-compat-2.c: New test.
	* gcc.dg/Wc99-c11-compat-3.c: New test.
	* gcc.dg/Wc99-c11-compat-4.c: New test.
	* gcc.dg/Wc99-c11-compat-5.c: New test.
	* gcc.dg/Wc99-c11-compat-6.c: New test.
	* gcc.dg/Wc99-c11-compat-7.c: New test.

From-SVN: r214133
2014-08-19 06:04:38 +00:00
Marek Polacek fdec323d35 Add forgotten test.
From-SVN: r214132
2014-08-19 05:39:40 +00:00
Marek Polacek 177cce463d c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according to warn_c90_c99_compat.
gcc/c-family/
	* c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
	to warn_c90_c99_compat.
	* c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
	to -1.
gcc/c/
	* c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
	to pedwarn_c90.
	* c-errors.c: Include "opts.h".
	(pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
	* c-parser.c (disable_extension_diagnostics): Handle negative value
	of warn_c90_c99_compat, too.
	(restore_extension_diagnostics): Likewise.
	(c_parser_compound_statement_nostart): Pass
	OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
gcc/testsuite/
	* gcc.dg/Wc90-c99-compat-4.c: Remove all dg-warnings.
	* gcc.dg/Wc90-c99-compat-5.c: Remove all dg-errors.
	* gcc.dg/Wc90-c99-compat-7.c: New test.
	* gcc.dg/Wc90-c99-compat-8.c: New test.
	* gcc.dg/Wdeclaration-after-statement-4.c: New test.
libcpp/
	* charset.c (_cpp_valid_ucn): Warn only if -Wc90-c99-compat.
	* lex.c (_cpp_lex_direct): Likewise.
	* macro.c (replace_args): Likewise.
	(parse_params): Likewise.
	* include/cpplib.h (cpp_options): Change cpp_warn_c90_c99_compat
	to char.

From-SVN: r214131
2014-08-19 05:34:31 +00:00
Gerald Pfeifer 010ea2883c * class.c (contains_empty_class_p): Remove.
From-SVN: r214130
2014-08-19 05:13:38 +00:00
Manuel López-Ibáñez 6ae9194fc2 re PR c/52952 (Wformat location info is bad (wrong column number))
gcc/c-family/ChangeLog:

2014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	    Steven Bosscher  <steven@gcc.gnu.org>

	PR c/52952
	* c-format.c: Add extra_arg_loc and format_string_loc to struct
	format_check_results.
	(check_function_format): Use true and add comment for boolean
	argument.
	(finish_dollar_format_checking): Use explicit location when warning.
	(check_format_info): Likewise.
	(check_format_arg): Set extra_arg_loc and format_string_loc.
	(check_format_info_main): Use explicit location when warning.
	(check_format_types): Pass explicit location.
	(format_type_warning): Likewise.

gcc/testsuite/ChangeLog:

2014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	    Steven Bosscher  <steven@gcc.gnu.org>

	PR c/52952
	* gcc.dg/redecl-4.c: Add column markers.
	* gcc.dg/format/bitfld-1.c: Likewise.
	* gcc.dg/format/attr-2.c: Likewise.
	* gcc.dg/format/attr-6.c: Likewise.
	* gcc.dg/format/array-1.c: Likewise.
	* gcc.dg/format/attr-7.c: Likewise.
	* gcc.dg/format/asm_fprintf-1.c: Likewise.
	* gcc.dg/format/attr-4.c: Likewise.
	* gcc.dg/format/branch-1.c: Likewise.
	* gcc.dg/format/c90-printf-1.c: Likewise.


Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>

From-SVN: r214129
2014-08-19 02:02:09 +00:00
David Malcolm 0f82e5c9fb Split NEXT_INSN/PREV_INSN into lvalue and rvalue forms
/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtx-classes-status.txt: Add SET_NEXT_INSN, SET_PREV_INSN.

gcc/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (PREV_INSN): Split macro in two: the existing one,
	for rvalues, and...
	(SET_PREV_INSN): New macro, for use as an lvalue.
	(NEXT_INSN, SET_NEXT_INSN): Likewise.

	* caller-save.c (save_call_clobbered_regs): Convert lvalue use of
	PREV_INSN/NEXT_INSN into SET_PREV_INSN/SET_NEXT_INSN.
	* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
	(fixup_abnormal_edges): Likewise.
	(unlink_insn_chain): Likewise.
	(fixup_reorder_chain): Likewise.
	(cfg_layout_delete_block): Likewise.
	(cfg_layout_merge_blocks): Likewise.
	* combine.c (update_cfg_for_uncondjump): Likewise.
	* emit-rtl.c (link_insn_into_chain): Likewise.
	(remove_insn): Likewise.
	(delete_insns_since): Likewise.
	(reorder_insns_nobb): Likewise.
	(emit_insn_after_1): Likewise.
	* final.c (rest_of_clean_state): Likewise.
	(final_scan_insn): Likewise.
	* gcse.c (can_assign_to_reg_without_clobbers_p): Likewise.
	* haifa-sched.c (concat_note_lists): Likewise.
	(remove_notes): Likewise.
	(restore_other_notes): Likewise.
	(move_insn): Likewise.
	(unlink_bb_notes): Likewise.
	(restore_bb_notes): Likewise.
	* jump.c (delete_for_peephole): Likewise.
	* optabs.c (emit_libcall_block_1): Likewise.
	* reorg.c (emit_delay_sequence): Likewise.
	(fill_simple_delay_slots): Likewise.
	* sel-sched-ir.c (sel_move_insn): Likewise.
	(sel_remove_insn): Likewise.
	(get_bb_note_from_pool): Likewise.
	* sel-sched.c (move_nop_to_previous_block): Likewise.

	* config/bfin/bfin.c (reorder_var_tracking_notes): Likewise.
	* config/c6x/c6x.c (gen_one_bundle): Likewise.
	(c6x_gen_bundles): Likewise.
	(hwloop_optimize): Likewise.
	* config/frv/frv.c (frv_function_prologue): Likewise.
	(frv_register_nop): Likewise.
	* config/ia64/ia64.c (ia64_init_dfa_pre_cycle_insn): Likewise.
	(ia64_reorg): Likewise.
	* config/mep/mep.c (mep_reorg_addcombine): Likewise.
	(mep_make_bundle): Likewise.
	(mep_bundle_insns): Likewise.
	* config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
	* config/tilegx/tilegx.c (reorder_var_tracking_notes): Likewise.
	* config/tilepro/tilepro.c (reorder_var_tracking_notes): Likewise.

From-SVN: r214128
2014-08-19 00:54:22 +00:00
Patrick Palka 9c9afb6905 MAINTAINERS (Write After Approval): Add myself.
2014-08-18  Patrick Palka  <ppalka@gcc.gnu.org>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r214127
2014-08-19 00:45:38 +00:00
David Malcolm ef0fe50308 Replace BB_HEAD et al macros with functions
gcc/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (BB_HEAD): Convert to a function.  Strengthen the
	return type from rtx to rtx_insn *.
	(BB_END): Likewise.
	(BB_HEADER): Likewise.
	(BB_FOOTER): Likewise.
	(SET_BB_HEAD): Convert to a function.
	(SET_BB_END): Likewise.
	(SET_BB_HEADER): Likewise.
	(SET_BB_FOOTER): Likewise.

	* cfgrtl.c (BB_HEAD): New function, from macro of same name.
	Strengthen the return type from rtx to rtx_insn *.  For now, this
	is done by adding a checked cast, but this will eventually
	become a field lookup.
	(BB_END): Likewise.
	(BB_HEADER): Likewise.
	(BB_FOOTER): Likewise.
	(SET_BB_HEAD): New function, from macro of same name.  This is
	intended for use as an lvalue, and so returns an rtx& to allow
	in-place modification.
	(SET_BB_END): Likewise.
	(SET_BB_HEADER): Likewise.
	(SET_BB_FOOTER): Likewise.

From-SVN: r214126
2014-08-19 00:26:56 +00:00
GCC Administrator a140b66ba7 Daily bump.
From-SVN: r214125
2014-08-19 00:16:38 +00:00
Paolo Carlini 726d48b0c4 parser.c (cp_parser_expression): Add default arguments.
2014-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* parser.c (cp_parser_expression): Add default arguments.
	(cp_parser_primary_expression, cp_parser_postfix_expression,
	cp_parser_array_notation, cp_parser_postfix_open_square_expression,
	cp_parser_unary_expression, cp_parser_direct_new_declarator,
	cp_parser_question_colon_clause, cp_parser_assignment_operator_opt,
	cp_parser_lambda_body, cp_parser_expression_statement,
	cp_parser_condition, cp_parser_c_for, cp_parser_range_for,
	cp_parser_iteration_statement, cp_parser_jump_statement,
	cp_parser_decltype_expr, cp_parser_noexcept_specification_opt,
	cp_parser_asm_operand_list, cp_parser_objc_message_receiver,
	cp_parser_objc_synchronized_statement, cp_parser_objc_throw_statement,
	cp_parser_omp_var_list_no_open, cp_parser_omp_clause_num_threads,
	cp_parser_omp_clause_num_teams, cp_parser_omp_clause_thread_limit,
	cp_parser_omp_clause_linear, cp_parser_omp_clause_device,
	cp_parser_omp_atomic, cp_parser_omp_for_loop_init,
	cp_parser_omp_for_loop, cp_parser_omp_declare_reduction_exprs,
	cp_parser_transaction_expression): Adjust.

From-SVN: r214122
2014-08-18 22:26:03 +00:00
David Malcolm 190bea879f Split BB_HEAD et al into BB_HEAD/SET_BB_HEAD variants
gcc/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (BB_HEAD): Split macro in two: the existing one,
	for rvalues, and...
	(SET_BB_HEAD): New macro, for use as a lvalue.
	(BB_END, SET_BB_END): Likewise.
	(BB_HEADER, SET_BB_HEADER): Likewise.
	(BB_FOOTER, SET_BB_FOOTER): Likewise.

	* bb-reorder.c (add_labels_and_missing_jumps): Convert lvalue use
	of BB_* macros into SET_BB_* macros.
	(fix_crossing_unconditional_branches): Likewise.
	* caller-save.c (save_call_clobbered_regs): Likewise.
	(insert_one_insn): Likewise.
	* cfgbuild.c (find_bb_boundaries): Likewise.
	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
	(outgoing_edges_match): Likewise.
	(try_optimize_cfg): Likewise.
	* cfgexpand.c (expand_gimple_cond): Likewise.
	(expand_gimple_tailcall): Likewise.
	(expand_gimple_basic_block): Likewise.
	(construct_exit_block): Likewise.
	* cfgrtl.c (delete_insn): Likewise.
	(create_basic_block_structure): Likewise.
	(rtl_delete_block): Likewise.
	(rtl_split_block): Likewise.
	(emit_nop_for_unique_locus_between): Likewise.
	(rtl_merge_blocks): Likewise.
	(block_label): Likewise.
	(try_redirect_by_replacing_jump): Likewise.
	(emit_barrier_after_bb): Likewise.
	(fixup_abnormal_edges): Likewise.
	(record_effective_endpoints): Likewise.
	(relink_block_chain): Likewise.
	(fixup_reorder_chain): Likewise.
	(fixup_fallthru_exit_predecessor): Likewise.
	(cfg_layout_duplicate_bb): Likewise.
	(cfg_layout_split_block): Likewise.
	(cfg_layout_delete_block): Likewise.
	(cfg_layout_merge_blocks): Likewise.
	* combine.c (update_cfg_for_uncondjump): Likewise.
	* emit-rtl.c (add_insn_after): Likewise.
	(remove_insn): Likewise.
	(reorder_insns): Likewise.
	(emit_insn_after_1): Likewise.
	* haifa-sched.c (get_ebb_head_tail): Likewise.
	(restore_other_notes): Likewise.
	(move_insn): Likewise.
	(sched_extend_bb): Likewise.
	(fix_jump_move): Likewise.
	* ifcvt.c (noce_process_if_block): Likewise.
	(dead_or_predicable): Likewise.
	* ira.c (update_equiv_regs): Likewise.
	* reg-stack.c (change_stack): Likewise.
	* sel-sched-ir.c (sel_move_insn): Likewise.
	* sel-sched.c (move_nop_to_previous_block): Likewise.

	* config/c6x/c6x.c (hwloop_optimize): Likewise.
	* config/ia64/ia64.c (emit_predicate_relation_info): Likewise.

/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

	* rtx-classes-status.txt (TODO): Add SET_BB_HEAD, SET_BB_END,
	SET_BB_HEADER, SET_BB_FOOTER

From-SVN: r214121
2014-08-18 20:48:17 +00:00
David Malcolm bb3fff0136 Fix whitespace in ChangeLog entry
From-SVN: r214120
2014-08-18 20:32:36 +00:00
David Malcolm 70e7f57d38 New function: for_each_rtx_in_insn
gcc/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (for_each_rtx_in_insn): New function.
	* rtlanal.c (for_each_rtx_in_insn): Likewise.

From-SVN: r214119
2014-08-18 20:25:45 +00:00
David Malcolm 15f8d3ab4a Introduce rtx_insn subclass of rtx_def
gcc/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

	* coretypes.h (class rtx_insn): Add forward declaration.

	* rtl.h: Include is-a.h.
	(struct rtx_def): Add dummy "desc" and "tag" GTY options as a
	workaround to ensure gengtype knows inheritance is occurring,
	whilst continuing to use the pre-existing special-casing for
	rtx_def.
	(class rtx_insn): New subclass of rtx_def, adding the
	invariant that we're dealing with something we can sanely use
	INSN_UID, NEXT_INSN, PREV_INSN on.
	(is_a_helper <rtx_insn *>::test): New.
	(is_a_helper <const rtx_insn *>::test): New.

From-SVN: r214118
2014-08-18 20:02:17 +00:00
David Malcolm 26b3538ba2 Introduce safe_as_a
gcc/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

	* is-a.h (template<T, U> safe_as_a <U *p>) New function.

From-SVN: r214117
2014-08-18 19:50:38 +00:00
David Malcolm c41b94cef2 Add rtx-classes-status.txt
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

        * rtx-classes-status.txt: New file

From-SVN: r214116
2014-08-18 19:37:45 +00:00
Jan Hubicka 2e4c1e6c81 ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF comdats as extern.
* ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF
	comdats as extern.

From-SVN: r214115
2014-08-18 19:21:58 +00:00
Jan Hubicka c5ac1780e4 gimple-fold.c (fold_gimple_assign): Do not intorudce referneces to BUILT_IN_UNREACHABLE.
* gimple-fold.c (fold_gimple_assign): Do not intorudce referneces
	to BUILT_IN_UNREACHABLE.

From-SVN: r214114
2014-08-18 19:21:12 +00:00
Uros Bizjak 374f5bf801 re PR target/62011 (False Data Dependency in popcnt instruction)
PR target/62011
	* config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI):
	New tune flag.
	* config/i386/i386.h (TARGET_AVOID_FALSE_DEP_FOR_BMI): New define.
	* config/i386/i386.md (unspec) <UNSPEC_INSN_FALSE_DEP>: New unspec.
	(ffs<mode>2): Do not expand with tzcnt for
	TARGET_AVOID_FALSE_DEP_FOR_BMI.
	(ffssi2_no_cmove): Ditto.
	(*tzcnt<mode>_1): Disable for TARGET_AVOID_FALSE_DEP_FOR_BMI.
	(ctz<mode>2): New expander.
	(*ctz<mode>2_falsedep_1): New insn_and_split pattern.
	(*ctz<mode>2_falsedep): New insn.
	(*ctz<mode>2): Rename from ctz<mode>2.
	(clz<mode>2_lzcnt): New expander.
	(*clz<mode>2_lzcnt_falsedep_1): New insn_and_split pattern.
	(*clz<mode>2_lzcnt_falsedep): New insn.
	(*clz<mode>2): Rename from ctz<mode>2.
	(popcount<mode>2): New expander.
	(*popcount<mode>2_falsedep_1): New insn_and_split pattern.
	(*popcount<mode>2_falsedep): New insn.
	(*popcount<mode>2): Rename from ctz<mode>2.
	(*popcount<mode>2_cmp): Remove.
	(*popcountsi2_cmp_zext): Ditto.

From-SVN: r214112
2014-08-18 20:00:52 +02:00
Aldy Hernandez d6b0bb1c4e * guality/nrv-1.c: Add `used' attribute to a1.
From-SVN: r214111
2014-08-18 17:38:50 +00:00
Ajit Agarwal 57fb889f41 Add Init_priority support.
Added TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros. These
macros allows users to control the order of initialization of objects
defined at namespace scope with the init_priority attribute by
specifying a relative priority.

ChangeLog:
2014-07-28  Ajit Agarwal  <ajitkum@xilinx.com>

	* config/microblaze/microblaze.c (microblaze_elf_asm_cdtor): New.
	(microblaze_elf_asm_constructor,microblaze_elf_asm_destructor): New.
	* config/microblaze/microblaze.h
	(TARGET_ASM_CONSTRUCTOR,TARGET_ASM_DESTRUCTOR): New Macros.

From-SVN: r214110
2014-08-18 17:04:41 +00:00
H.J. Lu f8df6750f4 Set install_gold_as_default to no for --enable-gold=no
PR other/62168
	* configure.ac: Set install_gold_as_default to no for
	 --enable-gold=no.
	 * configure: Regenerated.

From-SVN: r214108
2014-08-18 08:49:16 -07:00
Roman Gareev eae1a5d419 configure.ac: Eliminate ClooG installation dependency.
* configure.ac: Eliminate ClooG installation dependency.
	* configure: Regenerate.
	* Makefile.tpl: Add definition of ISLLIBS and HOST_ISLLIBS.
	* Makefile.in: Regenerate.

[config/]

	* cloog.m4: Remove the path to isllibs from clooglibs.
	* isl.m4: Add paths to islinc, isllibs.

[gcc/]

	* Makefile.in: Add definition of ISLLIBS, HOST_ISLLIBS.
	* config.in: Add undef of HAVE_isl.
	* configure: Regenerate.
	* configure.ac: Add definition of HAVE_isl.
	* graphite-blocking.c: Add checking of HAVE_isl.
	* graphite-dependences.c: Likewise.
	* graphite-interchange.c: Likewise.
	* graphite-isl-ast-to-gimple.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.
	* toplev.c: Replace the checking of HAVE_cloog with the checking
	of HAVE_isl.

From-SVN: r214106
2014-08-18 15:42:11 +00:00
Richard Biener d7e7844708 re PR middle-end/62090 (ice in compute_may_aliases)
2014-08-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/62090
	* builtins.c (fold_builtin_snprintf): Move to gimple-fold.c.
	(fold_builtin_3): Do not fold snprintf.
	(fold_builtin_4): Likewise.
	* gimple-fold.c (gimple_fold_builtin_snprintf): New function
	moved from builtins.c.
	(gimple_fold_builtin_with_strlen): Fold snprintf and sprintf.
	(gimple_fold_builtin): Do not fold sprintf here.

	* gcc.dg/pr62090-2.c: New testcase.

From-SVN: r214105
2014-08-18 14:51:04 +00:00
Richard Biener 040292e700 gimple-fold.c (maybe_fold_reference): Move re-gimplification code to ...
2014-08-18  Richard Biener  <rguenther@suse.de>

	* gimple-fold.c (maybe_fold_reference): Move re-gimplification
	code to ...
	(maybe_canonicalize_mem_ref_addr): ... this function.
	(fold_stmt_1): Apply it here before all simplification.

From-SVN: r214103
2014-08-18 14:30:30 +00:00
Ilya Enkovich d34af02260 re PR ipa/61800 (ICE: Segmentation fault during Firefox build)
PR ipa/61800

gcc/
	* cgraph.h (cgraph_node::create_indirect_edge): Add
	compute_indirect_info param.
	* cgraph.c (cgraph_node::create_indirect_edge): Compute
	indirect_info only when it is required.
	* cgraphclones.c (cgraph_clone_edge): Do not recompute
	indirect_info fore cloned indirect edge.

gcc/testsuite/
	* g++.dg/ipa/pr61800.C: New.

From-SVN: r214099
2014-08-18 13:26:06 +00:00