1. 19 Aug, 2014 30 commits
    • cygming-crtend.c (register_frame_ctor): Move atexit call from here... · 25efdb9f
      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
      Yaakov Selkowitz committed
    • config.gcc (*-*-cygwin*): Use __cxa_atexit by default. · 301f4402
      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
      Yaakov Selkowitz committed
    • Convert DF_REF_INSN to a function for now · 8020a4d5
      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
      David Malcolm committed
    • MAINTAINERS (Write After Approval): Add myself. · a231b8a5
      2014-08-19  Joost VandeVondele <vondele@gcc.gnu.org>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r214159
      Joost VandeVondele committed
    • cygwin.h (LINK_SPEC): Pass --tsaware flag only when building executables, not DLLs. · 04017283
      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
      Yaakov Selkowitz committed
    • MAINTAINERS: Remove myself · ce8126f5
      2014-08-19  Christopher Faylor  <me.gnu@cgf.cx>
      
      	* MAINTAINERS: Remove myself
      
      From-SVN: r214157
      Christopher Faylor committed
    • cygwin-stdint.h: Throughout, make type definitions dependent on target architecture, not host. · a3b69d6f
      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
      Yaakov Selkowitz committed
    • configure.tgt: Add cygwin to supported targets. · 6fe8c024
      2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>
      
              * configure.tgt: Add cygwin to supported targets.
      
      From-SVN: r214154
      Kai Tietz committed
    • cygming-crtbegin.c (deregister_frame_fn): Fix declaration syntax. · 1ac83976
      2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>
      
              * config/i386/cygming-crtbegin.c (deregister_frame_fn): Fix
              declaration syntax.
      
      From-SVN: r214153
      Yaakov Selkowitz committed
    • Replace PREV_INSN et al macros with functions · 6306c300
      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
      David Malcolm committed
    • re PR c/45584 (typeof with casting from const to non-const does not work properly) · c77935ee
      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
      Patrick Palka committed
    • gcc.dg/guality/const-volatile.c: Add `used' attribute to pi. · d2077030
      From-SVN: r214144
      Mark Wielaard committed
    • Emit DW_tag_restrict_type for restrict-qualified pointers. · 638c0294
      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
      Mark Wielaard committed
    • re PR c/61271 (10 * possible coding error with logical not (!)) · abbb94e6
      	PR c/61271
      	* cgraphunit.c (handle_alias_pairs): Fix condition.
      
      From-SVN: r214142
      Marek Polacek committed
    • gimple-fold.c (fold_gimple_assign): Properly build a null-pointer constant when… · 3ef276e4
      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
      Richard Biener committed
    • dwarf2out.c: Pass one cv_quals argument instead of two for const and volatile. · a98c0e91
      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
      Mark Wielaard committed
    • Add guality [p]type test. · a6dad7b6
      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
      Mark Wielaard committed
    • XFAIL g++.dg/debug/dwarf2/nested-4.C on Solaris with Sun as · 4f9b1c11
      	* g++.dg/debug/dwarf2/nested-4.C: XFAIL on *-*-solaris2.1[1-9]* &&
      	!gas.
      
      From-SVN: r214138
      Rainer Orth committed
    • Restore Sun as COMDAT group support · 56e675ce
      	* configure.ac (gcc_cv_as_comdat_group_group): Only default to no
      	if unset.
      	* configure: Regenerate.
      
      From-SVN: r214137
      Rainer Orth committed
    • lto-streamer-out.c (DFS::DFS_write_tree_body): Stream DECL_EXTERNALs in BLOCKs as non-references. · 47503a49
      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
      Richard Biener committed
    • sse.md (define_mode_iterator VI48_AVX512F): Delete. · 21c924ac
      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
      Alexander Ivchenko committed
    • invoke.texi: Document -Wc99-c11-compat. · 35aff4fb
      	* 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
      Marek Polacek committed
    • Add forgotten test. · fdec323d
      From-SVN: r214132
      Marek Polacek committed
    • c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according to warn_c90_c99_compat. · 177cce46
      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
      Marek Polacek committed
    • * class.c (contains_empty_class_p): Remove. · 010ea288
      From-SVN: r214130
      Gerald Pfeifer committed
    • re PR c/52952 (Wformat location info is bad (wrong column number)) · 6ae9194f
      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
      Manuel López-Ibáñez committed
    • Split NEXT_INSN/PREV_INSN into lvalue and rvalue forms · 0f82e5c9
      /
      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
      David Malcolm committed
    • MAINTAINERS (Write After Approval): Add myself. · 9c9afb69
      2014-08-18  Patrick Palka  <ppalka@gcc.gnu.org>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r214127
      Patrick Palka committed
    • Replace BB_HEAD et al macros with functions · ef0fe503
      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
      David Malcolm committed
    • Daily bump. · a140b66b
      From-SVN: r214125
      GCC Administrator committed
  2. 18 Aug, 2014 10 commits
    • parser.c (cp_parser_expression): Add default arguments. · 726d48b0
      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
      Paolo Carlini committed
    • Split BB_HEAD et al into BB_HEAD/SET_BB_HEAD variants · 190bea87
      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
      David Malcolm committed
    • Fix whitespace in ChangeLog entry · bb3fff01
      From-SVN: r214120
      David Malcolm committed
    • New function: for_each_rtx_in_insn · 70e7f57d
      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
      David Malcolm committed
    • Introduce rtx_insn subclass of rtx_def · 15f8d3ab
      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
      David Malcolm committed
    • Introduce safe_as_a · 26b3538b
      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
      David Malcolm committed
    • Add rtx-classes-status.txt · c41b94ce
      2014-08-18  David Malcolm  <dmalcolm@redhat.com>
      
              * rtx-classes-status.txt: New file
      
      From-SVN: r214116
      David Malcolm committed
    • ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF comdats as extern. · 2e4c1e6c
      
      
      	* ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF
      	comdats as extern.
      
      From-SVN: r214115
      Jan Hubicka committed
    • gimple-fold.c (fold_gimple_assign): Do not intorudce referneces to BUILT_IN_UNREACHABLE. · c5ac1780
      
      	* gimple-fold.c (fold_gimple_assign): Do not intorudce referneces
      	to BUILT_IN_UNREACHABLE.
      
      From-SVN: r214114
      Jan Hubicka committed
    • re PR target/62011 (False Data Dependency in popcnt instruction) · 374f5bf8
      	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
      Uros Bizjak committed