1. 25 Apr, 2014 7 commits
  2. 24 Apr, 2014 29 commits
    • extend.texi (PowerPC Built-in Functions): Document new powerpc extended divide,… · 06b39289
      extend.texi (PowerPC Built-in Functions): Document new powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
      
      [gcc]
      2014-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* doc/extend.texi (PowerPC Built-in Functions): Document new
      	powerpc extended divide, bcd, pack/unpack 128-bit, builtin
      	functions.
      	(PowerPC AltiVec/VSX Built-in Functions): Likewise.
      
      	* config/rs6000/predicates.md (const_0_to_3_operand): New
      	predicate to match 0..3 integer constants.
      
      	* config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
      	to support adding miscellaneous builtin functions.
      	(BU_DFP_MISC_2): Likewise.
      	(BU_P7_MISC_1): Likewise.
      	(BU_P7_MISC_2): Likewise.
      	(BU_P8V_MISC_3): Likewise.
      	(BU_MISC_1): Likewise.
      	(BU_MISC_2): Likewise.
      	(DIVWE): Add extended divide builtin functions.
      	(DIVWEO): Likewise.
      	(DIVWEU): Likewise.
      	(DIVWEUO): Likewise.
      	(DIVDE): Likewise.
      	(DIVDEO): Likewise.
      	(DIVDEU): Likewise.
      	(DIVDEUO): Likewise.
      	(DXEX): Add decimal floating-point builtin functions.
      	(DXEXQ): Likewise.
      	(DDEDPD): Likewise.
      	(DDEDPDQ): Likewise.
      	(DENBCD): Likewise.
      	(DENBCDQ): Likewise.
      	(DIEX): Likewise.
      	(DIEXQ): Likewise.
      	(DSCLI): Likewise.
      	(DSCLIQ): Likewise.
      	(DSCRI): Likewise.
      	(DSCRIQ): Likewise.
      	(CDTBCD): Add new BCD builtin functions.
      	(CBCDTD): Likewise.
      	(ADDG6S): Likewise.
      	(BCDADD): Likewise.
      	(BCDADD_LT): Likewise.
      	(BCDADD_EQ): Likewise.
      	(BCDADD_GT): Likewise.
      	(BCDADD_OV): Likewise.
      	(BCDSUB): Likewise.
      	(BCDSUB_LT): Likewise.
      	(BCDSUB_EQ): Likewise.
      	(BCDSUB_GT): Likewise.
      	(BCDSUB_OV): Likewise.
      	(PACK_TD): Add new pack/unpack 128-bit type builtin functions.
      	(UNPACK_TD): Likewise.
      	(PACK_TF): Likewise.
      	(UNPACK_TF): Likewise.
      	(UNPACK_TF_0): Likewise.
      	(UNPACK_TF_1): Likewise.
      	(PACK_V1TI): Likewise.
      	(UNPACK_V1TI): Likewise.
      
      	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
      	support for decimal floating point builtin functions.
      	(rs6000_expand_ternop_builtin): Add checks for the new builtin
      	functions that take constant arguments.
      	(rs6000_invalid_builtin): Add decimal floating point builtin
      	support.
      	(rs6000_init_builtins): Setup long double, _Decimal64, and
      	_Decimal128 types for new builtin functions.
      	(builtin_function_type): Set the unsigned flags appropriately for
      	the new builtin functions.
      	(rs6000_opt_masks): Add support for decimal floating point builtin
      	functions.
      
      	* config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
      	floating point builtin functions.
      	(RS6000_BTM_COMMON): Likewise.
      	(RS6000_BTI_long_double): Likewise.
      	(RS6000_BTI_dfloat64): Likewise.
      	(RS6000_BTI_dfloat128): Likewise.
      	(long_double_type_internal_node): Likewise.
      	(dfloat64_type_internal_node): Likewise.
      	(dfloat128_type_internal_node): Likewise.
      
      	* config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
      	2.07 bcd arithmetic instructions.
      	(UNSPEC_BCDSUB): Likewise.
      	(UNSPEC_BCD_OVERFLOW): Likewise.
      	(UNSPEC_BCD_ADD_SUB): Likewise.
      	(bcd_add_sub): Likewise.
      	(BCD_TEST): Likewise.
      	(bcd<bcd_add_sub>): Likewise.
      	(bcd<bcd_add_sub>_test): Likewise.
      	(bcd<bcd_add_sub>_test2): Likewise.
      	(bcd<bcd_add_sub>_<code>): Likewise.
      	(peephole2 for combined bcd ops): Likewise.
      
      	* config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
      	decimal floating point builtin functions.
      	(UNSPEC_DENBCD): Likewise.
      	(UNSPEC_DXEX): Likewise.
      	(UNSPEC_DIEX): Likewise.
      	(UNSPEC_DSCLI): Likewise.
      	(UNSPEC_DSCRI): Likewise.
      	(D64_D128): Likewise.
      	(dfp_suffix): Likewise.
      	(dfp_ddedpd_<mode>): Likewise.
      	(dfp_denbcd_<mode>): Likewise.
      	(dfp_dxex_<mode>): Likewise.
      	(dfp_diex_<mode>): Likewise.
      	(dfp_dscli_<mode>): Likewise.
      	(dfp_dscri_<mode>): Likewise.
      
      	* config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
      	builtin functions.
      	(UNSPEC_CDTBCD): Likewise.
      	(UNSPEC_CBCDTD): Likewise.
      	(UNSPEC_DIVE): Add support for new extended divide builtin
      	functions.
      	(UNSPEC_DIVEO): Likewise.
      	(UNSPEC_DIVEU): Likewise.
      	(UNSPEC_DIVEUO): Likewise.
      	(UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
      	pack/unpack 128-bit types.
      	(UNSPEC_PACK_128BIT): Likewise.
      	(idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
      	(udiv<mode>3): Use idiv_ldiv mode attribute.
      	(div<mode>3): Likewise.
      	(addg6s): Add new BCD builtin functions.
      	(cdtbcd): Likewise.
      	(cbcdtd): Likewise.
      	(UNSPEC_DIV_EXTEND): Add support for new extended divide
      	instructions.
      	(div_extend): Likewise.
      	(div<div_extend>_<mode>"): Likewise.
      	(FP128_64): Add support for new builtin functions to pack/unpack
      	128-bit types.
      	(unpack<mode>): Likewise.
      	(unpacktf_0): Likewise.
      	(unpacktf_1): Likewise.
      	(unpack<mode>_dm): Likewise.
      	(unpack<mode>_nodm): Likewise.
      	(pack<mode>): Likewise.
      	(unpackv1ti): Likewise.
      	(packv1ti): Likewise.
      
      [gcc/testsuite]
      2014-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/pack01.c: New test to test the new pack and
      	unpack builtin functionss for 128-bit types.
      	* gcc.target/powerpc/pack02.c: Likewise.
      	* gcc.target/powerpc/pack03.c: Likewise.
      	* gcc.target/powerpc/extend-divide-1.c: New test to test extended
      	divide builtin functionss.
      	* gcc.target/powerpc/extend-divide-2.c: Likewise.
      	* gcc.target/powerpc/bcd-1.c: New test for the new BCD builtin
      	functions.
      	* gcc.target/powerpc/bcd-2.c: Likewise.
      	* gcc.target/powerpc/bcd-3.c: Likewise.
      	* gcc.target/powerpc/dfp-builtin-1.c: New test for the new DFP
      	builtin functionss.
      	* gcc.target/powerpc/dfp-builtin-2.c: Likewise.
      
      From-SVN: r209768
      Michael Meissner committed
    • avr.c: Add comment on why -fdelete-null-pointer-checks is disabled. · 6e4f81db
      2014-04-24  Vishnu K S  <Vishnu.k_s@atmel.com>
      
      	* gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
      	is disabled.
      
      2014-04-24  Vishnu K S  <Vishnu.k_s@atmel.com>
      
      	* gcc/testsuite/gcc.dg/tree-ssa/isolate-1.c: Skip test if
      	keeps_null_pointer_checks.
      	* gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c: Ditto
      	* gcc/testsuite/gcc.dg/tree-ssa/isolate-3.c: Ditto
      	* gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c: Ditto
      	* gcc/testsuite/gcc.dg/tree-ssa/isolate-5.c: Ditto
      
      From-SVN: r209767
      Vishnu K S committed
    • c-parser.c (c_parser_sizeof_expression): Reorganize slightly to avoid goto. · 3e4fbd91
              * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
              avoid goto.
      
      From-SVN: r209765
      Prathamesh Kulkarni committed
    • c-parser.c (c_parser_omp_atomic): Allow seq_cst before atomic-clause... · 42056eac
      gcc/c/
      	* c-parser.c (c_parser_omp_atomic): Allow seq_cst before
      	atomic-clause, allow comma in between atomic-clause and
      	seq_cst.
      gcc/cp/
      	* parser.c (cp_parser_omp_atomic): Allow seq_cst before
      	atomic-clause, allow comma in between atomic-clause and
      	seq_cst.
      gcc/testsuite/
      	* c-c++-common/gomp/atomic-16.c: Remove all dg-error directives.
      	Replace load with read and store with write.
      libgomp/
      	* testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
      	atomic type clauses in any order and optional comma in between.
      	* testsuite/libgomp.c++/atomic-15.C: Likewise.
      	* testsuite/libgomp.c/atomic-17.c: Likewise.
      
      From-SVN: r209762
      Jakub Jelinek committed
    • tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define. · f7468577
      	* tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
      	* gimplify.c (omp_is_private): Change last argument's type to int.
      	Only diagnose lastprivate if the simd argument is 1, only diagnose
      	linear if the simd argument is 2.
      	(gimplify_omp_for): Adjust omp_is_private callers.  When adding
      	lastprivate or private, add the clause to OMP_FOR_CLAUSES.  Pass
      	GOVD_EXPLICIT to omp_add_variable.  For simd with collapse == 1
      	create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
      	If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
      	increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
      	* omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
      	OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
      	* tree-nested.c (convert_nonlocal_omp_clauses,
      	convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
      
      	* testsuite/libgomp.c/simd-7.c: New test.
      	* testsuite/libgomp.c/simd-8.c: New test.
      	* testsuite/libgomp.c/simd-9.c: New test.
      	* testsuite/libgomp.c/loop-16.c: New test.
      
      From-SVN: r209760
      Jakub Jelinek committed
    • [multiple changes] · 2f7ac5ce
      2014-04-24  Segher Boessenkool  <segher@kernel.crashing.org>
      
      	PR target/60822
      	* config/m68k/m68k.md (extendplussidi): Don't allow memory for
      	operand 1.
      
      2014-04-24  Jeff Law  <law@redhat.com>
      
      	PR target/60822
      	* gcc.c-torture/pr60822.c: New test.
      	* gcc.c-torture/pr60822.x: New test.
      
      From-SVN: r209759
      Jeff Law committed
    • add recored to gcc/testsuite/ChangeLog for PR c++/57958 · 0b18fd1b
      From-SVN: r209757
      Dinar Temirbulatov committed
    • regex_automaton.tcc (_StateSeq<>::_M_clone()): Do _M_alt before _M_next. · 836c42f6
      2014-04-24  Tim Shen  <timshen91@gmail.com>
      
      	* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
      	Do _M_alt before _M_next.
      	* testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
      
      From-SVN: r209756
      Tim Shen committed
    • Link to bug report. · 0e93c3dc
      From-SVN: r209754
      Mike Stump committed
    • flag-types.h (enum ivar_visibility): Add. · dcaaa5a0
      2014-04-24  Dimitris Papavasiliou  <dpapavas@gmail.com>
      
      	    * flag-types.h (enum ivar_visibility): Add.
      
      c-family:
      	    * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
      
      objc:
      	* objc-act.c (objc_ivar_visibility, objc_default_ivar_visibility): Add.
      	(objc_init): Initialize objc_default_ivar_visibility.
      	(objc_start_class_interface): Use objc_default_ivar_visibility.
      	(objc_start_class_implementation): Likewise.
      	(objc_lookup_ivar): Implement -fno-local-ivars.
      
      From-SVN: r209753
      Dimitris Papavasiliou committed
    • zh_CN.po: Fix typo for -mfentry. · 07fb6255
      2014-04-24  Jincheng Miao  <jincheng.miao@gmail.com>
      
      	* zh_CN.po: Fix typo for -mfentry.
      
      From-SVN: r209752
      Jincheng Miao committed
    • fixup sh bustage after r209483 · 78c7d18e
      When making pass::execute functions take a function * argument I missed
      the sh_treg_combine pass, so fix that here.
      
      gcc/
      	* config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
      	function * argument.
      
      From-SVN: r209751
      Trevor Saunders committed
    • [AArch64] Enable TBL for big-endian. · fbbde65e
      gcc/ChangeLog:
      2014-04-11  Alan Lawrence  <alan.lawrence@arm.com>
      
      	* config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
      
      gcc/testsuite/ChangeLog:
      2014-04-11  Alan Lawrence  <alan.lawrence@arm.com>
      
      	* lib/target-supports.exp (check_effective_target_vect_perm): Return
      	true for aarch64_be.
      
      From-SVN: r209749
      Alan Lawrence committed
    • re PR libstdc++/43622 (Incomplete C++ library support for __float128) · b911b50d
      2014-04-24  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR libstdc++/43622
      gcc/cp/
      	* rtti.c (emit_support_tinfos): Do not iterate on
      	registered_builtin_types (partial revert).
      libstdc++/
      	* config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
      	* config/abi/pre/gnu-versioned-namespace.ver: Likewise.
      	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
      
      From-SVN: r209748
      Marc Glisse committed
    • Fix warning in libgfortran configure script · deb9dd74
      	* configure.ac: Quote usage of ac_cv_func_clock_gettime in if test.
      	* configure: Regenerate.
      
      From-SVN: r209747
      Kyrylo Tkachov committed
    • Update libstdc++ baseline symbols for ia64 · 84c5df1c
      * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
      new CXXABI_1.3.9 symbols.
      
      From-SVN: r209746
      Andreas Schwab committed
    • -fuse-caller-save - Add test-case · 60a9bb61
      2014-04-24  Radovan Obradovic  <robradovic@mips.com>
                  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/fuse-caller-save.c: New test.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r209745
      Radovan Obradovic committed
    • -fuse-caller-save - Add new reg-note REG_CALL_DECL · 4f660b15
      2014-04-24  Radovan Obradovic  <robradovic@mips.com>
                  Tom de Vries  <tom@codesourcery.com>
      
      	* reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
      	* calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
      	reg-note.
      	* combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
      	* emit-rtl.c (try_split): Same.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r209744
      Radovan Obradovic committed
    • -fuse-caller-save - Add command line option · d996e61a
      2014-04-24  Radovan Obradovic  <robradovic@mips.com>
                  Tom de Vries  <tom@codesourcery.com>
      
      	* common.opt (fuse-caller-save): New option.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r209743
      Radovan Obradovic committed
    • [AArch64] Reverse TBL indices for big-endian. · bbcc9c00
      2014-04-24  Tejas Belagod  <tejas.belagod@arm.com>
      
             * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of elements
             for big-endian.
      
      From-SVN: r209742
      Tejas Belagod committed
    • expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree during TER and… · d2d11532
      expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree during TER and instead use the sepops interface...
      
      2014-04-24  Richard Biener  <rguenther@suse.de>
      
      	* expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
      	during TER and instead use the sepops interface for expanding
      	non-GIMPLE_SINGLE_RHS.
      
      From-SVN: r209741
      Richard Biener committed
    • Only redefine ASM_PREFERRED_EH_DATA_FORMAT if necessary on Solaris/x86 · 8117ef98
      	* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
      	if not HAVE_AS_IX86_DIFF_SECT_DELTA.
      
      From-SVN: r209740
      Rainer Orth committed
    • Fix gcc_cv_as_cfi_directive test for Solaris as · ab0afae3
      	* configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
      	assembler 64-bit option.
      	* configure: Regenerate.
      
      From-SVN: r209739
      Rainer Orth committed
    • nsdmi-union5.C: Change to runtime test. · 1e7251a7
      2014-04-24  Joey Ye  <joey.ye@arm.com>
      
              * g++.dg/cpp0x/nsdmi-union5.C: Change to runtime test.
      
      From-SVN: r209738
      Joey Ye committed
    • [AArch64] Wire up TARGET_SIMD and TARGET_FLOAT properly · 683e3333
      	* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
      	TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
      	(TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
      	(TARGET_FLOAT): Take AARCH64_ISA_FP into account.
      	(TARGET_CRYPTO): Take TARGET_SIMD into account.
      
      From-SVN: r209737
      Kyrylo Tkachov committed
    • [AArch64] Vectorise bswap[16,32,64] · c7f28cd5
      	* config/aarch64/aarch64-builtins.c
      	(aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
      	BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
      	* config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
      	* config/aarch64/aarch64-simd-builtins.def: Define vector bswap
      	builtins.
      	* config/aarch64/iterator.md (VDQHSD): New mode iterator.
      	(Vrevsuff): New mode attribute.
      
      	* lib/target-supports.exp (check_effective_target_vect_bswap): New.
      	* gcc.dg/vect/vect-bswap16: New test.
      	* gcc.dg/vect/vect-bswap32: Likewise.
      	* gcc.dg/vect/vect-bswap64: Likewise.
      
      From-SVN: r209736
      Kyrylo Tkachov committed
    • arm.h (machine_function): Define variable after_arm_reorg here. · b0419491
      2014-04-24  Terry Guo  <terry.guo@arm.com>
      
      	* config/arm/arm.h (machine_function): Define variable
      	after_arm_reorg here.
      	* config/arm/arm.c (after_arm_reorg): Remove the definition.
      	(arm_split_constant): Update the way to access variable
      	after_arm_reorg.
      	(arm_reorg): Ditto.
      	(arm_output_function_epilogue): Remove the reset of after_arm_reorg.
      
      From-SVN: r209735
      Terry Guo committed
    • MAINTAINERS: Move myself from Reviewers to Write After Approval section. · 080c6230
      2014-04-24  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* MAINTAINERS: Move myself from Reviewers to Write After Approval
      	section.
      
      From-SVN: r209732
      Laurynas Biveinis committed
    • Daily bump. · 1543f58f
      From-SVN: r209731
      GCC Administrator committed
  3. 23 Apr, 2014 4 commits
    • Fix DEFHOOKPOD argument order in target-hooks-macros.h comment · 74e4d71a
      2014-04-23  Tom de Vries  <tom@codesourcery.com>
      
      	* target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
      
      From-SVN: r209725
      Tom de Vries committed
    • Fix for c++/PR57958 · 3734964f
      From-SVN: r209721
      Dinar Temirbulatov committed
    • Change is-a.h to support typedefs of pointers · 7de90a6c
      gcc/
      	* is-a.h: Update comments to reflect the following changes to the
      	"pointerness" of the API, making the template parameter match the
      	return type, allowing use of is-a.h with typedefs of pointers.
      	(is_a_helper::cast): Return a T rather then a pointer to a T, so
      	that the return type matches the parameter to the is_a_helper.
      	(as_a): Likewise.
      	(dyn_cast): Likewise.
      
      	* cgraph.c (cgraph_node_for_asm): Update for removal of implicit
      	pointer from the is-a.h API.
      
      	* cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
      	(is_a_helper <cgraph_node *>::test): ...this, matching change to
      	is-a.h API.
      	(is_a_helper <varpool_node>::test): Likewise, convert to...
      	(is_a_helper <varpool_node *>::test): ...this.
      
      	(varpool_first_variable): Update for removal of implicit pointer
      	from the is-a.h API.
      	(varpool_next_variable): Likewise.
      	(varpool_first_static_initializer): Likewise.
      	(varpool_next_static_initializer): Likewise.
      	(varpool_first_defined_variable): Likewise.
      	(varpool_next_defined_variable): Likewise.
      	(cgraph_first_defined_function): Likewise.
      	(cgraph_next_defined_function): Likewise.
      	(cgraph_first_function): Likewise.
      	(cgraph_next_function): Likewise.
      	(cgraph_first_function_with_gimple_body): Likewise.
      	(cgraph_next_function_with_gimple_body): Likewise.
      	(cgraph_alias_target): Likewise.
      	(varpool_alias_target): Likewise.
      	(cgraph_function_or_thunk_node): Likewise.
      	(varpool_variable_node): Likewise.
      	(symtab_real_symbol_p): Likewise.
      	* cgraphunit.c (referred_to_p): Likewise.
      	(analyze_functions): Likewise.
      	(handle_alias_pairs): Likewise.
      	* gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
      	* gimple-ssa.h (gimple_vuse_op): Likewise.
      	(gimple_vdef_op): Likewise.
      	* gimple-streamer-in.c (input_gimple_stmt): Likewise.
      	* gimple.c (gimple_build_asm_1): Likewise.
      	(gimple_build_try): Likewise.
      	(gimple_build_resx): Likewise.
      	(gimple_build_eh_dispatch): Likewise.
      	(gimple_build_omp_for): Likewise.
      	(gimple_omp_for_set_clauses): Likewise.
      
      	* gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
      	(is_a_helper <gimple_statement_asm *>::test): ...this.
      	(is_a_helper <gimple_statement_bind>::test): Convert to...
      	(is_a_helper <gimple_statement_bind *>::test): ...this.
      	(is_a_helper <gimple_statement_call>::test): Convert to...
      	(is_a_helper <gimple_statement_call *>::test): ...this.
      	(is_a_helper <gimple_statement_catch>::test): Convert to...
      	(is_a_helper <gimple_statement_catch *>::test): ...this.
      	(is_a_helper <gimple_statement_resx>::test): Convert to...
      	(is_a_helper <gimple_statement_resx *>::test): ...this.
      	(is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
      	(is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
      	(is_a_helper <gimple_statement_eh_else>::test): Convert to...
      	(is_a_helper <gimple_statement_eh_else *>::test): ...this.
      	(is_a_helper <gimple_statement_eh_filter>::test): Convert to...
      	(is_a_helper <gimple_statement_eh_filter *>::test): ...this.
      	(is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
      	(is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_return>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_return *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_continue>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_continue *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_critical>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_critical *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_for>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_for *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_target>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_target *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_sections>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_sections *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_single>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_single *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_teams>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_teams *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_task>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_task *>::test): ...this.
      	(is_a_helper <gimple_statement_phi>::test): Convert to...
      	(is_a_helper <gimple_statement_phi *>::test): ...this.
      	(is_a_helper <gimple_statement_transaction>::test): Convert to...
      	(is_a_helper <gimple_statement_transaction *>::test): ...this.
      	(is_a_helper <gimple_statement_try>::test): Convert to...
      	(is_a_helper <gimple_statement_try *>::test): ...this.
      	(is_a_helper <gimple_statement_wce>::test): Convert to...
      	(is_a_helper <gimple_statement_wce *>::test): ...this.
      	(is_a_helper <const gimple_statement_asm>::test): Convert to...
      	(is_a_helper <const gimple_statement_asm *>::test): ...this.
      	(is_a_helper <const gimple_statement_bind>::test): Convert to...
      	(is_a_helper <const gimple_statement_bind *>::test): ...this.
      	(is_a_helper <const gimple_statement_call>::test): Convert to...
      	(is_a_helper <const gimple_statement_call *>::test): ...this.
      	(is_a_helper <const gimple_statement_catch>::test): Convert to...
      	(is_a_helper <const gimple_statement_catch *>::test): ...this.
      	(is_a_helper <const gimple_statement_resx>::test): Convert to...
      	(is_a_helper <const gimple_statement_resx *>::test): ...this.
      	(is_a_helper <const gimple_statement_eh_dispatch>::test):
      	Convert to...
      	(is_a_helper <const gimple_statement_eh_dispatch *>::test):
      	...this.
      	(is_a_helper <const gimple_statement_eh_filter>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_atomic_load>::test):
      	Convert to...
      	(is_a_helper <const gimple_statement_omp_atomic_load *>::test):
      	...this.
      	(is_a_helper <const gimple_statement_omp_atomic_store>::test):
      	Convert to...
      	(is_a_helper <const gimple_statement_omp_atomic_store *>::test):
      	...this.
      	(is_a_helper <const gimple_statement_omp_return>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_return *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_continue>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_critical>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_for>::test): Convert to...
      	(is_a_helper <const gimple_statement_omp_for *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_taskreg>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_parallel>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_target>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_target *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_sections>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_single>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_single *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_teams>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_task>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_task *>::test): ...this.
      	(is_a_helper <const gimple_statement_phi>::test): Convert to...
      	(is_a_helper <const gimple_statement_phi *>::test): ...this.
      	(is_a_helper <const gimple_statement_transaction>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_transaction *>::test): ...this.
      	(is_a_helper <const gimple_statement_with_ops>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_with_ops *>::test): ...this.
      	(is_a_helper <gimple_statement_with_ops>::test): Convert to...
      	(is_a_helper <gimple_statement_with_ops *>::test): ...this.
      	(is_a_helper <const gimple_statement_with_memory_ops>::test):
      	Convert to...
      	(is_a_helper <const gimple_statement_with_memory_ops *>::test):
      	...this.
      	(is_a_helper <gimple_statement_with_memory_ops>::test): Convert
      	to...
      	(is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
      
      	(gimple_use_ops): Update for removal of implicit pointer from the
      	is-a.h API.
      	(gimple_set_use_ops): Likewise.
      	(gimple_vuse): Likewise.
      	(gimple_vdef): Likewise.
      	(gimple_vuse_ptr): Likewise.
      	(gimple_vdef_ptr): Likewise.
      	(gimple_set_vuse): Likewise.
      	(gimple_set_vdef): Likewise.
      	(gimple_omp_return_set_lhs): Likewise.
      	(gimple_omp_return_lhs): Likewise.
      	(gimple_omp_return_lhs_ptr): Likewise.
      	(gimple_call_fntype): Likewise.
      	(gimple_call_set_fntype): Likewise.
      	(gimple_call_set_internal_fn): Likewise.
      	(gimple_call_use_set): Likewise.
      	(gimple_call_clobber_set): Likewise.
      	(gimple_bind_vars): Likewise.
      	(gimple_bind_set_vars): Likewise.
      	(gimple_bind_body_ptr): Likewise.
      	(gimple_bind_set_body): Likewise.
      	(gimple_bind_add_stmt): Likewise.
      	(gimple_bind_block): Likewise.
      	(gimple_bind_set_block): Likewise.
      	(gimple_asm_ninputs): Likewise.
      	(gimple_asm_noutputs): Likewise.
      	(gimple_asm_nclobbers): Likewise.
      	(gimple_asm_nlabels): Likewise.
      	(gimple_asm_input_op): Likewise.
      	(gimple_asm_input_op_ptr): Likewise.
      	(gimple_asm_output_op): Likewise.
      	(gimple_asm_output_op_ptr): Likewise.
      	(gimple_asm_set_output_op): Likewise.
      	(gimple_asm_clobber_op): Likewise.
      	(gimple_asm_set_clobber_op): Likewise.
      	(gimple_asm_label_op): Likewise.
      	(gimple_asm_set_label_op): Likewise.
      	(gimple_asm_string): Likewise.
      	(gimple_catch_types): Likewise.
      	(gimple_catch_types_ptr): Likewise.
      	(gimple_catch_handler_ptr): Likewise.
      	(gimple_catch_set_types): Likewise.
      	(gimple_catch_set_handler): Likewise.
      	(gimple_eh_filter_types): Likewise.
      	(gimple_eh_filter_types_ptr): Likewise.
      	(gimple_eh_filter_failure_ptr): Likewise.
      	(gimple_eh_filter_set_types): Likewise.
      	(gimple_eh_filter_set_failure): Likewise.
      	(gimple_eh_must_not_throw_fndecl): Likewise.
      	(gimple_eh_must_not_throw_set_fndecl): Likewise.
      	(gimple_eh_else_n_body_ptr): Likewise.
      	(gimple_eh_else_e_body_ptr): Likewise.
      	(gimple_eh_else_set_n_body): Likewise.
      	(gimple_eh_else_set_e_body): Likewise.
      	(gimple_try_eval_ptr): Likewise.
      	(gimple_try_cleanup_ptr): Likewise.
      	(gimple_try_set_eval): Likewise.
      	(gimple_try_set_cleanup): Likewise.
      	(gimple_wce_cleanup_ptr): Likewise.
      	(gimple_wce_set_cleanup): Likewise.
      	(gimple_phi_capacity): Likewise.
      	(gimple_phi_num_args): Likewise.
      	(gimple_phi_result): Likewise.
      	(gimple_phi_result_ptr): Likewise.
      	(gimple_phi_set_result): Likewise.
      	(gimple_phi_arg): Likewise.
      	(gimple_phi_set_arg): Likewise.
      	(gimple_resx_region): Likewise.
      	(gimple_resx_set_region): Likewise.
      	(gimple_eh_dispatch_region): Likewise.
      	(gimple_eh_dispatch_set_region): Likewise.
      	(gimple_omp_critical_name): Likewise.
      	(gimple_omp_critical_name_ptr): Likewise.
      	(gimple_omp_critical_set_name): Likewise.
      	(gimple_omp_for_clauses): Likewise.
      	(gimple_omp_for_clauses_ptr): Likewise.
      	(gimple_omp_for_set_clauses): Likewise.
      	(gimple_omp_for_collapse): Likewise.
      	(gimple_omp_for_index): Likewise.
      	(gimple_omp_for_index_ptr): Likewise.
      	(gimple_omp_for_set_index): Likewise.
      	(gimple_omp_for_initial): Likewise.
      	(gimple_omp_for_initial_ptr): Likewise.
      	(gimple_omp_for_set_initial): Likewise.
      	(gimple_omp_for_final): Likewise.
      	(gimple_omp_for_final_ptr): Likewise.
      	(gimple_omp_for_set_final): Likewise.
      	(gimple_omp_for_incr): Likewise.
      	(gimple_omp_for_incr_ptr): Likewise.
      	(gimple_omp_for_set_incr): Likewise.
      	(gimple_omp_for_pre_body_ptr): Likewise.
      	(gimple_omp_for_set_pre_body): Likewise.
      	(gimple_omp_parallel_clauses): Likewise.
      	(gimple_omp_parallel_clauses_ptr): Likewise.
      	(gimple_omp_parallel_set_clauses): Likewise.
      	(gimple_omp_parallel_child_fn): Likewise.
      	(gimple_omp_parallel_child_fn_ptr): Likewise.
      	(gimple_omp_parallel_set_child_fn): Likewise.
      	(gimple_omp_parallel_data_arg): Likewise.
      	(gimple_omp_parallel_data_arg_ptr): Likewise.
      	(gimple_omp_parallel_set_data_arg): Likewise.
      	(gimple_omp_task_clauses): Likewise.
      	(gimple_omp_task_clauses_ptr): Likewise.
      	(gimple_omp_task_set_clauses): Likewise.
      	(gimple_omp_task_child_fn): Likewise.
      	(gimple_omp_task_child_fn_ptr): Likewise.
      	(gimple_omp_task_set_child_fn): Likewise.
      	(gimple_omp_task_data_arg): Likewise.
      	(gimple_omp_task_data_arg_ptr): Likewise.
      	(gimple_omp_task_set_data_arg): Likewise.
      	(gimple_omp_taskreg_clauses): Likewise.
      	(gimple_omp_taskreg_clauses_ptr): Likewise.
      	(gimple_omp_taskreg_set_clauses): Likewise.
      	(gimple_omp_taskreg_child_fn): Likewise.
      	(gimple_omp_taskreg_child_fn_ptr): Likewise.
      	(gimple_omp_taskreg_set_child_fn): Likewise.
      	(gimple_omp_taskreg_data_arg): Likewise.
      	(gimple_omp_taskreg_data_arg_ptr): Likewise.
      	(gimple_omp_taskreg_set_data_arg): Likewise.
      	(gimple_omp_task_copy_fn): Likewise.
      	(gimple_omp_task_copy_fn_ptr): Likewise.
      	(gimple_omp_task_set_copy_fn): Likewise.
      	(gimple_omp_task_arg_size): Likewise.
      	(gimple_omp_task_arg_size_ptr): Likewise.
      	(gimple_omp_task_set_arg_size): Likewise.
      	(gimple_omp_task_arg_align): Likewise.
      	(gimple_omp_task_arg_align_ptr): Likewise.
      	(gimple_omp_task_set_arg_align): Likewise.
      	(gimple_omp_single_clauses): Likewise.
      	(gimple_omp_single_clauses_ptr): Likewise.
      	(gimple_omp_single_set_clauses): Likewise.
      	(gimple_omp_target_clauses): Likewise.
      	(gimple_omp_target_clauses_ptr): Likewise.
      	(gimple_omp_target_set_clauses): Likewise.
      	(gimple_omp_target_child_fn): Likewise.
      	(gimple_omp_target_child_fn_ptr): Likewise.
      	(gimple_omp_target_set_child_fn): Likewise.
      	(gimple_omp_target_data_arg): Likewise.
      	(gimple_omp_target_data_arg_ptr): Likewise.
      	(gimple_omp_target_set_data_arg): Likewise.
      	(gimple_omp_teams_clauses): Likewise.
      	(gimple_omp_teams_clauses_ptr): Likewise.
      	(gimple_omp_teams_set_clauses): Likewise.
      	(gimple_omp_sections_clauses): Likewise.
      	(gimple_omp_sections_clauses_ptr): Likewise.
      	(gimple_omp_sections_set_clauses): Likewise.
      	(gimple_omp_sections_control): Likewise.
      	(gimple_omp_sections_control_ptr): Likewise.
      	(gimple_omp_sections_set_control): Likewise.
      	(gimple_omp_for_set_cond): Likewise.
      	(gimple_omp_for_cond): Likewise.
      	(gimple_omp_atomic_store_set_val): Likewise.
      	(gimple_omp_atomic_store_val): Likewise.
      	(gimple_omp_atomic_store_val_ptr): Likewise.
      	(gimple_omp_atomic_load_set_lhs): Likewise.
      	(gimple_omp_atomic_load_lhs): Likewise.
      	(gimple_omp_atomic_load_lhs_ptr): Likewise.
      	(gimple_omp_atomic_load_set_rhs): Likewise.
      	(gimple_omp_atomic_load_rhs): Likewise.
      	(gimple_omp_atomic_load_rhs_ptr): Likewise.
      	(gimple_omp_continue_control_def): Likewise.
      	(gimple_omp_continue_control_def_ptr): Likewise.
      	(gimple_omp_continue_set_control_def): Likewise.
      	(gimple_omp_continue_control_use): Likewise.
      	(gimple_omp_continue_control_use_ptr): Likewise.
      	(gimple_omp_continue_set_control_use): Likewise.
      	(gimple_transaction_body_ptr): Likewise.
      	(gimple_transaction_label): Likewise.
      	(gimple_transaction_label_ptr): Likewise.
      	(gimple_transaction_set_body): Likewise.
      	(gimple_transaction_set_label): Likewise.
      
      	* ipa-devirt.c (build_type_inheritance_graph): Likewise.
      	* ipa-inline-analysis.c (inline_write_summary): Likewise.
      	* ipa-ref.c (ipa_record_reference): Likewise.
      	* ipa-reference.c (analyze_function): Likewise.
      	(ipa_reference_write_optimization_summary): Likewise.
      	* ipa.c (symtab_remove_unreachable_nodes): Likewise.
      	(address_taken_from_non_vtable_p): Likewise.
      	(comdat_can_be_unshared_p_1): Likewise.
      	* lto-cgraph.c (lto_output_ref): Likewise.
      	(add_references): Likewise.
      	(compute_ltrans_boundary): Likewise.
      	(output_symtab): Likewise.
      	(input_ref): Likewise.
      	(input_cgraph_1): Likewise.
      	(output_cgraph_opt_summary): Likewise.
      	* lto-streamer-out.c (lto_output): Likewise.
      	(output_symbol_p): Likewise.
      	* lto-streamer.h (lsei_next_function_in_partition): Likewise.
      	(lsei_start_function_in_partition): Likewise.
      	(lsei_next_variable_in_partition): Likewise.
      	(lsei_start_variable_in_partition): Likewise.
      	* symtab.c (insert_to_assembler_name_hash): Likewise.
      	(unlink_from_assembler_name_hash): Likewise.
      	(symtab_unregister_node): Likewise.
      	(symtab_remove_node): Likewise.
      	(dump_symtab_node): Likewise.
      	(verify_symtab_base): Likewise.
      	(verify_symtab_node): Likewise.
      	(symtab_make_decl_local): Likewise.
      	(symtab_alias_ultimate_target): Likewise.
      	(symtab_resolve_alias): Likewise.
      	(symtab_get_symbol_partitioning_class): Likewise.
      	* tree-phinodes.c (allocate_phi_node): Likewise.
      	(reserve_phi_args_for_new_edge): Likewise.
      	(remove_phi_args): Likewise.
      	* varpool.c (varpool_node_for_asm): Likewise.
      	(varpool_remove_unreferenced_decls): Likewise.
      
      gcc/lto/
      	* lto-partition.c (add_references_to_partition): Update for
      	removal of implicit pointer from the is-a.h API.
      	(add_symbol_to_partition_1): Likewise.
      	(contained_in_symbol): Likewise.
      	(undo_partition): Likewise.
      	(lto_balanced_map): Likewise.
      	(promote_symbol): Likewise.
      	* lto-symtab.c (lto_symtab_merge_symbols_1): Likewise.
      	(lto_symtab_merge_symbols): Likewise.
      	* lto.c (lto_wpa_write_files): Likewise.
      
      From-SVN: r209719
      David Malcolm committed
    • re PR tree-optimization/60902 (ffmpeg built with gcc 4.9 RC produces incorrect flac playback code) · 9219922e
      	PR tree-optimization/60902
      	* tree-ssa-threadedge.c
      	(record_temporary_equivalences_from_stmts_at_dest): Make sure to
      	invalidate outputs from statements that do not produce useful
      	outputs for threading.
      
      	PR tree-optimization/60902
      	* gcc.target/i386/pr60902.c: New test.
      
      From-SVN: r209716
      Jeff Law committed