1. 25 Apr, 2014 6 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 5 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
    • [AArch64] VDUP Testcases · 0e4d63c5
      This patch adds vdup intrinsic testcases for AArch64. those testcases
      are nice to have, as it allows to reason about vdup consistency for
      both LE and BE compiler flavors.
      
      From-SVN: r209713
      Alex Velenko committed