view gcc/ChangeLog-2013 @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
line wrap: on
line source

2013-12-31  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/59622
	* gimple-fold.c (gimple_fold_call): Don't replace OBJ_TYPE_REF
	call fndecl with 0 possible targets with BUILT_IN_UNREACHABLE,
	instead only for !inplace add a __builtin_unreachable () call
	before the call.

2013-12-31  Alexander Ivchenko  <alexander.ivchenko@intel.com>
	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
	    Sergey Lega  <sergey.s.lega@intel.com>
	    Anna Tikhonova  <anna.tikhonova@intel.com>
	    Ilya Tocar  <ilya.tocar@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* config/i386/avx512fintrin.h (_mm_add_round_sd): New.
	(_mm_add_round_sd): Ditto.
	(_mm_add_round_ss): Ditto.
	(_mm_sub_round_sd): Ditto.
	(_mm_sub_round_ss): Ditto.
	(_mm_rcp14_sd): Ditto.
	(_mm_rcp14_ss): Ditto.
	(_mm_sqrt_round_sd): Ditto.
	(_mm_sqrt_round_ss): Ditto.
	(_mm_mul_round_sd): Ditto.
	(_mm_mul_round_ss): Ditto.
	(_mm_div_round_sd): Ditto.
	(_mm_div_round_ss): Ditto.
	(_mm_scalef_round_sd): Ditto.
	(_mm_scalef_round_ss): Ditto.
	(_mm_scalef_round_sd): Ditto.
	(_mm_scalef_round_ss): Ditto.
	(_mm_cvt_roundsd_ss): Ditto.
	(_mm_cvt_roundsd_sd): Ditto.
	(_mm_getexp_round_ss): Ditto.
	(_mm_getexp_round_sd): Ditto.
	(_mm_getmant_round_sd): Ditto.
	(_mm_getmant_round_ss): Ditto.
	(_mm_roundscale_round_ss): Ditto.
	(_mm_roundscale_round_sd): Ditto.
	(_mm_max_round_sd): Ditto.
	(_mm_max_round_ss): Ditto.
	(_mm_min_round_sd): Ditto.
	(_mm_min_round_ss): Ditto.
	(_mm_fmadd_round_sd): Ditto.
	(_mm_fmadd_round_ss): Ditto.
	(_mm_fmsub_round_sd): Ditto.
	(_mm_fmsub_round_ss): Ditto.
	(_mm_fnmadd_round_sd): Ditto.
	(_mm_fnmadd_round_ss): Ditto.
	(_mm_fnmsub_round_sd): Ditto.
	(_mm_fnmsub_round_ss): Ditto.
	(_mm_scalef_sd): Ditto.
	(_mm_scalef_ss): Ditto.
	(_mm_getexp_ss): Ditto.
	(_mm_getexp_sd): Ditto.
	(_mm_getmant_sd): Ditto.
	(_mm_getmant_ss): Ditto.
	(_mm_roundscale_ss): Ditto.
	(_mm_roundscale_sd): Ditto.
	* config/i386/i386-builtin-types.def: New types to support
	new built-ins: <V2DF, V2DF, V2DF, INT, INT>,
	<V4SF, V4SF, V4SF, INT, INT>, <(V4SF, V4SF, V2DF, INT>,
	<V2DF, V2DF, V4SF, INT>, <V4SF, V4SF, V4SF, V4SF, IN>.
	* config/i386/i386.c (enum ix86_builtins): Add
	IX86_BUILTIN_ADDSD_ROUND, IX86_BUILTIN_ADDSS_ROUND,
	IX86_BUILTIN_CVTSD2SS_ROUND, IX86_BUILTIN_CVTSS2SD_ROUND,
	IX86_BUILTIN_DIVSD_ROUND, IX86_BUILTIN_GETEXPSD128,
	IX86_BUILTIN_DIVSS_ROUND, IX86_BUILTIN_GETEXPSS128,
	IX86_BUILTIN_GETMANTSD128, IX86_BUILTIN_GETMANTSS128,
	IX86_BUILTIN_MAXSD_ROUND, IX86_BUILTIN_MAXSS_ROUND,
	IX86_BUILTIN_MINSD_ROUND, IX86_BUILTIN_MINSS_ROUND,
	IX86_BUILTIN_MULSD_ROUND, IX86_BUILTIN_MULSS_ROUND,
	IX86_BUILTIN_RCP14SD, IX86_BUILTIN_RCP14SS, IX86_BUILTIN_RNDSCALESD,
	IX86_BUILTIN_RNDSCALESS, IX86_BUILTIN_RSQRT14SD,
	IX86_BUILTIN_RSQRT14SS, IX86_BUILTIN_SCALEFSD,
	IX86_BUILTIN_SCALEFSS, IX86_BUILTIN_SQRTSD_ROUND,
	IX86_BUILTIN_SQRTSS_ROUND, IX86_BUILTIN_SUBSD_ROUND,
	IX86_BUILTIN_SUBSS_ROUND, IX86_BUILTIN_VFMADDSD3_ROUND,
	IX86_BUILTIN_VFMADDSS3_ROUND, IX86_BUILTIN_VFMSUBSD3_MASK3,
	IX86_BUILTIN_VFMSUBSS3_MASK3.
	(builtin_description bdesc_args[]): Add
	__builtin_ia32_rcp14sd, __builtin_ia32_rcp14ss,
	__builtin_ia32_rsqrt14pd512_mask, __builtin_ia32_rsqrt14ps512_mask,
	__builtin_ia32_rsqrt14sd, __builtin_ia32_rsqrt14ss,
	__builtin_ia32_addsd_round, __builtin_ia32_addss_round,
	__builtin_ia32_cvtsd2ss_round, __builtin_ia32_cvtss2sd_round,
	__builtin_ia32_divsd_round, __builtin_ia32_divss_round,
	__builtin_ia32_getexpsd128_round, __builtin_ia32_getexpss128_round,
	__builtin_ia32_getmantsd_round, __builtin_ia32_getmantss_round,
	__builtin_ia32_maxsd_round, __builtin_ia32_maxss_round,
	__builtin_ia32_minsd_round, __builtin_ia32_minss_round,
	__builtin_ia32_mulsd_round, __builtin_ia32_mulss_round,
	__builtin_ia32_rndscalesd_round, __builtin_ia32_rndscaless_round,
	__builtin_ia32_scalefsd_round, __builtin_ia32_scalefss_round,
	__builtin_ia32_sqrtsd_round, __builtin_ia32_sqrtss_round,
	__builtin_ia32_subsd_round, __builtin_ia32_subss_round,
	__builtin_ia32_vfmaddsd3_round, __builtin_ia32_vfmaddss3_round.
	(ix86_expand_round_builtin): Expand new FTYPEs.
	* config/i386/sse.md (<sse>_vm<plusminus_insn><mode>3): Support
	EVEX's embedded rouding.
	(<sse>_vm<multdiv_mnemonic><mode>3): Ditto.
	(<sse>_vmsqrt<mode>2): Ditto.
	(<sse>_vm<code><mode>3): Ditto.
	(sse2_cvtsd2ss): Ditto.
	(sse2_cvtss2sd): Ditto.
	(*avx512f_vmscalef<mode>): Ditto.
	(avx512f_sgetexp<mode>): Ditto.
	(*avx512f_rndscale<mode>): Ditto.
	(avx512f_getmant<mode>): Ditto.
	(*srcp14<mode>): Make visible.
	(*rsqrt14<mode>): Ditto.
	* config/i386/subst.md (mask_mode512bit_condition): Fix
	mode calculation.
	(sd_mask_mode512bit_condition): Ditto.
	(round_mode512bit_condition): Ditto.
	(round_modev4sf_condition): Ditto.
	(round_mask_scalar_operand3): Remove.
	(round_prefix): New.
	(round_saeonly_op3): Ditto.
	(round_saeonly_prefix): Ditto.

2013-12-31  Alexander Ivchenko  <alexander.ivchenko@intel.com>
	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
	    Sergey Lega  <sergey.s.lega@intel.com>
	    Anna Tikhonova  <anna.tikhonova@intel.com>
	    Ilya Tocar  <ilya.tocar@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* common/config/i386/i386-common.c (OPTION_MASK_ISA_SHA_SET): New.
	(OPTION_MASK_ISA_SHA_UNSET): Ditto.
	(ix86_handle_option): Handle OPT_msha.
	* config.gcc (extra_headers): Add shaintrin.h.
	* config/i386/cpuid.h (bit_SHA): New.
	* config/i386/driver-i386.c (host_detect_local_cpu): Detect SHA
	instructions.
	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
	OPTION_MASK_ISA_SHA.
	* config/i386/i386.c (ix86_target_string): Add -msha.
	(ix86_option_override_internal): Add PTA_SHA.
	(ix86_valid_target_attribute_inner_p): Handle OPT_msha.
	(enum ix86_builtins): Add IX86_BUILTIN_SHA1MSG1,
	IX86_BUILTIN_SHA1MSG2, IX86_BUILTIN_SHA1NEXTE, IX86_BUILTIN_SHA1RNDS4,
	IX86_BUILTIN_SHA256MSG1, IX86_BUILTIN_SHA256MSG2,
	IX86_BUILTIN_SHA256RNDS2.
	(bdesc_args): Add BUILTINS defined above.
	(ix86_init_mmx_sse_builtins): Add __builtin_ia32_sha1msg1,
	__builtin_ia32_sha1msg2, __builtin_ia32_sha1nexte,
	__builtin_ia32_sha1rnds4, __builtin_ia32_sha256msg1,
	__builtin_ia32_sha256msg2, __builtin_ia32_sha256rnds2.
	(ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SI_V4SI_V4SI, add
	warning for CODE_FOR_sha1rnds4.
	* config/i386/i386.h (TARGET_SHA): New.
	(TARGET_SHA_P): Ditto.
	* config/i386/i386.opt (-msha): Document it.
	* config/i386/immintrin.h: Add shaintrin.h.
	* config/i386/shaintrin.h: New.
	* config/i386/sse.md (unspec): Add UNSPEC_SHA1MSG1, UNSPEC_SHA1MSG2,
	UNSPEC_SHA1NEXTE, UNSPEC_SHA1RNDS4, UNSPEC_SHA256MSG1,
	UNSPEC_SHA256MSG2, UNSPEC_SHA256RNDS2.
	(sha1msg1): New.
	(sha1msg2): Ditto.
	(sha1nexte): Ditto.
	(sha1rnds4): Ditto.
	(sha256msg1): Ditto.
	(sha256msg2): Ditto.
	(sha256rnds2): Ditto.
	* doc/invoke.texi: Add -msha.

2013-12-31  Alexander Ivchenko  <alexander.ivchenko@intel.com>
	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
	    Sergey Lega  <sergey.s.lega@intel.com>
	    Anna Tikhonova  <anna.tikhonova@intel.com>
	    Ilya Tocar  <ilya.tocar@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* config.gcc (extra_headers): Add avx512fintrin.h, avx512cdintrin.h,
	avx512erintrin.h, avx512pfintrin.h.
	* config/i386/avx512cdintrin.h: New file.
	* config/i386/avx512erintrin.h: New file.
	* config/i386/avx512fintrin.h: New file.
	* config/i386/avx512pfintrin.h: New file.
	* config/i386/i386-builtin-types.def: Add V16UHI, V32SF, V16SF, V8DF,
	V8DI, V16SI, V64QI, PV8DF, PV8DI, PV16SI, PV16SF, PCV8DF, PCV16SF,
	PCV8DI, PCV16SI, V16QI_FTYPE_V16SI, V8DF_FTYPE_V8SI, V8DF_FTYPE_V8DF,
	V8HI_FTYPE_V8DI, V16SF_FTYPE_V16SF, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF,
	V8SF_FTYPE_V8DF_V8SF_QI, V16HI_FTYPE_V16SI, V16SF_FTYPE_FLOAT,
	V16SI_FTYPE_INT, V8DF_FTYPE_DOUBLE, V8DI_FTYPE_INT64,
	V16SF_FTYPE_V4SF, V8DF_FTYPE_V4DF, V8DI_FTYPE_V4DI, V16QI_FTYPE_V8DI,
	UINT_FTYPE_V4SF, UINT64_FTYPE_V4SF, UINT_FTYPE_V2DF,
	UINT64_FTYPE_V2DF, V16SI_FTYPE_V16SI, V16SI_FTYPE_V16SI_V16SI_HI,
	V8DI_FTYPE_V8DI, V8DI_FTYPE_V8DI_V8DI_QI, V16SI_FTYPE_PV4SI,
	V16SF_FTYPE_PV4SF, V8DI_FTYPE_PV4DI, V8DF_FTYPE_PV4DF,
	V8UHI_FTYPE_V8UHI, V8USI_FTYPE_V8USI, V2DF_FTYPE_V2DF_UINT,
	V2DF_FTYPE_V2DF_UINT64, V4DF_FTYPE_V8DF_INT,
	V4DF_FTYPE_V8DF_INT_V4DF_QI, V8DF_FTYPE_V8DF_V8DI,
	V4SF_FTYPE_V4SF_UINT, V4SF_FTYPE_V4SF_UINT64,
	INT_FTYPE_V4SF_V4SF_INT_INT, INT_FTYPE_V2DF_V2DF_INT_INT,
	V16SF_FTYPE_V16SF_INT, V4SF_FTYPE_V16SF_INT,
	V4SF_FTYPE_V16SF_INT_V4SF_QI, V16SF_FTYPE_V16SF_V16SF,
	V16SF_FTYPE_V16SF_V16SI, V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI,
	V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI, V8DF_FTYPE_V8DF_INT_V8DF_QI,
	V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI_INT, V8DF_FTYPE_V8DF_V8DF,
	V16SF_FTYPE_V16SF_V16SF_INT, V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI,
	V16SF_FTYPE_V16SF_INT_V16SF_HI, V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI,
	V16SF_FTYPE_V16SF_V16SF_V16SI_INT,
	V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI,
	V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI_INT,
	V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI,
	V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI_INT,
	V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI,
	V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI_INT, V16SF_FTYPE_V16SF_V4SF_INT,
	V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI, V16HI_FTYPE_V16SF_INT,
	V16HI_FTYPE_V16SF_INT_V16HI_HI, V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI,
	V16SI_FTYPE_V16SI_V4SI, V16SI_FTYPE_V16SI_V4SI_INT,
	V4SI_FTYPE_V16SI_INT, V4SI_FTYPE_V16SI_INT_V4SI_QI,
	V16SI_FTYPE_V16SI_V16SI, V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI,
	V16SI_FTYPE_V16SI_SI, V16SI_FTYPE_V16SI_INT,
	V16SI_FTYPE_V16SI_V4SI_V16SI_HI, V16SI_FTYPE_V16SI_INT_V16SI_HI,
	V8DI_FTYPE_V8DI_V8DI, V16SI_FTYPE_V8DF_V8DF,
	V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI, V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI,
	V8DI_FTYPE_V8DI_V2DI, V4DI_FTYPE_V8DI_INT,
	V4DI_FTYPE_V8DI_INT_V4DI_QI, V8DI_FTYPE_V8DI_V2DI_V8DI_QI,
	V8DI_FTYPE_V8DI_INT_V8DI_QI, VOID_FTYPE_PDOUBLE_V8DF,
	VOID_FTYPE_PFLOAT_V16SF, VOID_FTYPE_PV8DI_V8DI, HI_FTYPE_HI,
	HI_FTYPE_HI_HI, HI_FTYPE_HI_INT, QI_FTYPE_V8DI_V8DI,
	QI_FTYPE_V8DI_V8DI_QI, HI_FTYPE_V16SI_V16SI, HI_FTYPE_V16SI_V16SI_HI,
	QI_FTYPE_V8DI_V8DI_INT, QI_FTYPE_V8DI_V8DI_INT_QI,
	HI_FTYPE_V16SI_V16SI_INT, HI_FTYPE_V16SI_V16SI_INT ,HI,
	QI_FTYPE_V8DF_V8DF_INT, QI_FTYPE_V8DF_V8DF_INT_QI,
	QI_FTYPE_V8DF_V8DF_INT_QI_INT, HI_FTYPE_V16SF_V16SF_INT,
	HI_FTYPE_V16SF_V16SF_INT_HI, HI_FTYPE_V16SF_V16SF_INT_HI_INT,
	QI_FTYPE_V2DF_V2DF_INT, QI_FTYPE_V2DF_V2DF_INT_QI,
	QI_FTYPE_V2DF_V2DF_INT_QI_INT, QI_FTYPE_V4SF_V4SF_INT,
	QI_FTYPE_V4SF_V4SF_INT_QI, QI_FTYPE_V4SF_V4SF_INT_QI_INT,
	V16SI_FTYPE_HI, V8DI_FTYPE_QI, V8DF_FTYPE_V8DF_V8DF_V8DF,
	V16SF_FTYPE_V16SF_V16SF_V16SF, V8DF_FTYPE_V8DF_V8DF_QI,
	V8DF_FTYPE_V8SF_V8DF_QI, V8DF_FTYPE_V8SI_V8DF_QI,
	V8DI_FTYPE_V8SI_V8DI_QI, V8DI_FTYPE_V8HI_V8DI_QI,
	V8DI_FTYPE_V16QI_V8DI_QI, V8DI_FTYPE_V8DI_V8DI_V8DI_QI,
	V8DF_FTYPE_V8DI_V8DF_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF_QI,
	V8DF_FTYPE_V8DF_V8DI_V8DF_QI, V8DF_FTYPE_V8DF_V8DF_V8DF_QI,
	V16SI_FTYPE_V16SI_V16SI_V16SI_HI, V2DF_FTYPE_V2DF_V2DF_V2DF_QI,
	V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V16SF_FTYPE_V16SF_V16SF_HI,
	V16SF_FTYPE_V16SI_V16SF_HI, V16SF_FTYPE_V16SF_V16SF_V16SF_HI,
	V16SF_FTYPE_V16SI_V16SF_V16SF, V16SF_FTYPE_V16SI_V16SF_V16SF_HI,
	V16SF_FTYPE_V16SF_V16SI_V16SF_HI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI,
	V4SF_FTYPE_V4SF_V4SF_V4SF_QI, V16SF_FTYPE_V4SF_V16SF_HI,
	V8DF_FTYPE_V4DF_V8DF_QI, V8DF_FTYPE_V2DF_V8DF_QI,
	V16SI_FTYPE_V4SI_V16SI_HI, V16SI_FTYPE_SI_V16SI_HI,
	V16SI_FTYPE_V16HI_V16SI_HI, V16SI_FTYPE_V16QI_V16SI_HI,
	V8SI_FTYPE_V8DF_V8SI_QI, V8DI_FTYPE_V4DI_V8DI_QI,
	V8DI_FTYPE_V2DI_V8DI_QI, V8DI_FTYPE_DI_V8DI_QI,
	V16SF_FTYPE_PCV16SF_V16SF_HI, V8DF_FTYPE_PCV8DF_V8DF_QI,
	V16SI_FTYPE_PCV16SI_V16SI_HI, V8DI_FTYPE_PCV8DI_V8DI_QI,
	V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI,
	V16QI_FTYPE_V16SI_V16QI_HI, V16HI_FTYPE_V16SI_V16HI_HI,
	V8SI_FTYPE_V8DI_V8SI_QI, V8HI_FTYPE_V8DI_V8HI_QI,
	V16QI_FTYPE_V8DI_V16QI_QI, VOID_FTYPE_PV8DF_V8DF_QI,
	VOID_FTYPE_PV16SF_V16SF_HI, VOID_FTYPE_PV8DI_V8DI_QI,
	VOID_FTYPE_PV16SI_V16SI_HI, VOID_FTYPE_PDOUBLE_V2DF_QI,
	VOID_FTYPE_PFLOAT_V4SF_QI, V16SI_FTYPE_V16SF_V16SI_HI,
	V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI,
	V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI, V8DI_FTYPE_V8DI_V8DI_V8DI,
	V16SI_FTYPE_V16SI_V16SI_V16SI, V8DF_FTYPE_V8DF_V8DI_V8DF,
	V16SF_FTYPE_V16SF_V16SI_V16SF, V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI,
	V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI, V8DI_FTYPE_V16SI_V16SI_V8DI_QI,
	UINT64_FTYPE_V2DF_INT, UINT64_FTYPE_V4SF_INT, UINT_FTYPE_V2DF_INT,
	UINT_FTYPE_V4SF_INT, INT64_FTYPE_V2DF_INT, INT64_FTYPE_V4SF_INT,
	INT_FTYPE_V2DF_INT, INT_FTYPE_V4SF_INT, V2DF_FTYPE_V2DF_UINT64_INT,
	V4SF_FTYPE_V4SF_UINT64_INT, V4SF_FTYPE_V4SF_UINT_INT,
	V2DF_FTYPE_V2DF_INT64_INT, V4SF_FTYPE_V4SF_INT64_INT,
	V4SF_FTYPE_V4SF_INT_INT, V16SI_FTYPE_V16SF_V16SI_HI_INT,
	V16SF_FTYPE_V16SI_V16SF_HI_INT, V16SF_FTYPE_V16SF_V16SF_HI_INT,
	V16SF_FTYPE_V16HI_V16SF_HI_INT, V8SI_FTYPE_V8DF_V8SI_QI_INT,
	V8SF_FTYPE_V8DF_V8SF_QI_INT, V8DF_FTYPE_V8DF_V8DF_QI_INT,
	V8DF_FTYPE_V8SF_V8DF_QI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF_HI_INT,
	V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT, V4SF_FTYPE_V4SF_V4SF_V4SF_QI_INT,
	V4SF_FTYPE_V4SF_V2DF_V4SF_QI_INT, V2DF_FTYPE_V2DF_V2DF_V2DF_QI_INT,
	V2DF_FTYPE_V2DF_V4SF_V2DF_QI_INT, V2DF_FTYPE_V2DF_V2DF_V2DF_INT,
	V16SF_FTYPE_V16SF_INT_V16SF_HI_INT, V8DF_FTYPE_V8DF_INT_V8DF_QI_INT,
	V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI_INT,
	V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI_INT, V8DI_FTYPE_V8DI_SI_V8DI_V8DI,
	V16SF_FTYPE_V16SF_PCFLOAT_V16SI_HI_INT,
	V16SF_FTYPE_V16SF_PCFLOAT_V8DI_HI_INT,
	V8DF_FTYPE_V8DF_PCDOUBLE_V8SI_QI_INT,
	V8DF_FTYPE_V8DF_PCDOUBLE_V16SI_QI_INT,
	V8SF_FTYPE_V8SF_PCFLOAT_V8DI_QI_INT,
	V8DF_FTYPE_V8DF_PCDOUBLE_V8DI_QI_INT,
	V16SI_FTYPE_V16SI_PCINT_V16SI_HI_INT,
	V16SI_FTYPE_V16SI_PCINT_V8DI_HI_INT,
	V8DI_FTYPE_V8DI_PCINT64_V8SI_QI_INT,
	V8DI_FTYPE_V8DI_PCINT64_V16SI_QI_INT,
	V8SI_FTYPE_V8SI_PCINT_V8DI_QI_INT,
	V8DI_FTYPE_V8DI_PCINT64_V8DI_QI_INT,
	VOID_FTYPE_PFLOAT_HI_V16SI_V16SF_INT,
	VOID_FTYPE_PDOUBLE_QI_V8SI_V8DF_INT,
	VOID_FTYPE_PFLOAT_QI_V8DI_V8SF_INT,
	VOID_FTYPE_PDOUBLE_QI_V8DI_V8DF_INT,
	VOID_FTYPE_PINT_HI_V16SI_V16SI_INT,
	VOID_FTYPE_PLONGLONG_QI_V8SI_V8DI_INT,
	VOID_FTYPE_PINT_QI_V8DI_V8SI_INT,
	VOID_FTYPE_PLONGLONG_QI_V8DI_V8DI_INT,
	VOID_FTYPE_HI_V16SI_PCINT_INT_INT, VOID_FTYPE_QI_V8DI_PCINT_INT_INT.
	(ALIAS): Add DEF_FUNCTION_TYPE_ALIAS (V16SI_FTYPE_V8DF_V8DF, ROUND).
	* config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_ADDPD512,
	IX86_BUILTIN_ADDPS512, IX86_BUILTIN_ADDSD_MASK,
	IX86_BUILTIN_ADDSS_MASK, IX86_BUILTIN_ALIGND512,
	IX86_BUILTIN_ALIGNQ512, IX86_BUILTIN_BLENDMD512,
	IX86_BUILTIN_BLENDMPD512, IX86_BUILTIN_BLENDMPS512,
	IX86_BUILTIN_BLENDMQ512, IX86_BUILTIN_BROADCASTF32X4_512,
	IX86_BUILTIN_BROADCASTF64X4_512, IX86_BUILTIN_BROADCASTI32X4_512,
	IX86_BUILTIN_BROADCASTI64X4_512, IX86_BUILTIN_BROADCASTSD512,
	IX86_BUILTIN_BROADCASTSS512, IX86_BUILTIN_CMPD512,
	IX86_BUILTIN_CMPPD512, IX86_BUILTIN_CMPPS512, IX86_BUILTIN_CMPQ512,
	IX86_BUILTIN_CMPSD_MASK, IX86_BUILTIN_CMPSS_MASK, IX86_BUILTIN_COMIDF,
	IX86_BUILTIN_COMISF, IX86_BUILTIN_COMPRESSPD512,
	IX86_BUILTIN_COMPRESSPDSTORE512, IX86_BUILTIN_COMPRESSPS512,
	IX86_BUILTIN_COMPRESSPSSTORE512, IX86_BUILTIN_CVTDQ2PD512,
	IX86_BUILTIN_CVTDQ2PS512, IX86_BUILTIN_CVTPD2DQ512,
	IX86_BUILTIN_CVTPD2PS512, IX86_BUILTIN_CVTPD2UDQ512,
	IX86_BUILTIN_CVTPH2PS512, IX86_BUILTIN_CVTPS2DQ512,
	IX86_BUILTIN_CVTPS2PD512, IX86_BUILTIN_CVTPS2PH512,
	IX86_BUILTIN_CVTPS2UDQ512, IX86_BUILTIN_CVTSD2SS_MASK,
	IX86_BUILTIN_CVTSI2SD64, IX86_BUILTIN_CVTSI2SS32,
	IX86_BUILTIN_CVTSI2SS64, IX86_BUILTIN_CVTSS2SD_MASK,
	IX86_BUILTIN_CVTTPD2DQ512, IX86_BUILTIN_CVTTPD2UDQ512,
	IX86_BUILTIN_CVTTPS2DQ512, IX86_BUILTIN_CVTTPS2UDQ512,
	IX86_BUILTIN_CVTUDQ2PD512, IX86_BUILTIN_CVTUDQ2PS512,
	IX86_BUILTIN_CVTUSI2SD32, IX86_BUILTIN_CVTUSI2SD64,
	IX86_BUILTIN_CVTUSI2SS32, IX86_BUILTIN_CVTUSI2SS64,
	IX86_BUILTIN_DIVPD512, IX86_BUILTIN_DIVPS512, IX86_BUILTIN_DIVSD_MASK,
	IX86_BUILTIN_DIVSS_MASK, IX86_BUILTIN_EXPANDPD512,
	IX86_BUILTIN_EXPANDPD512Z, IX86_BUILTIN_EXPANDPDLOAD512,
	IX86_BUILTIN_EXPANDPDLOAD512Z, IX86_BUILTIN_EXPANDPS512,
	IX86_BUILTIN_EXPANDPS512Z, IX86_BUILTIN_EXPANDPSLOAD512,
	IX86_BUILTIN_EXPANDPSLOAD512Z, IX86_BUILTIN_EXTRACTF32X4,
	IX86_BUILTIN_EXTRACTF64X4, IX86_BUILTIN_EXTRACTI32X4,
	IX86_BUILTIN_EXTRACTI64X4, IX86_BUILTIN_FIXUPIMMPD512_MASK,
	IX86_BUILTIN_FIXUPIMMPD512_MASKZ, IX86_BUILTIN_FIXUPIMMPS512_MASK,
	IX86_BUILTIN_FIXUPIMMPS512_MASKZ, IX86_BUILTIN_FIXUPIMMSD128_MASK,
	IX86_BUILTIN_FIXUPIMMSD128_MASKZ, IX86_BUILTIN_FIXUPIMMSS128_MASK,
	IX86_BUILTIN_FIXUPIMMSS128_MASKZ, IX86_BUILTIN_GETEXPPD512,
	IX86_BUILTIN_GETEXPPS512, IX86_BUILTIN_GETEXPSD128,
	IX86_BUILTIN_GETEXPSS128, IX86_BUILTIN_GETMANTPD512,
	IX86_BUILTIN_GETMANTPS512, IX86_BUILTIN_GETMANTSD128,
	IX86_BUILTIN_GETMANTSS128, IX86_BUILTIN_INSERTF32X4,
	IX86_BUILTIN_INSERTF64X4, IX86_BUILTIN_INSERTI32X4,
	IX86_BUILTIN_INSERTI64X4, IX86_BUILTIN_LOADAPD512,
	IX86_BUILTIN_LOADAPS512, IX86_BUILTIN_LOADDQUDI512,
	IX86_BUILTIN_LOADDQUSI512, IX86_BUILTIN_LOADSD, IX86_BUILTIN_LOADSS,
	IX86_BUILTIN_LOADUPD512, IX86_BUILTIN_LOADUPS512,
	IX86_BUILTIN_MAXPD512, IX86_BUILTIN_MAXPS512, IX86_BUILTIN_MAXSD_MASK,
	IX86_BUILTIN_MAXSS_MASK, IX86_BUILTIN_MINPD512, IX86_BUILTIN_MINPS512,
	IX86_BUILTIN_MINSD_MASK, IX86_BUILTIN_MINSS_MASK,
	IX86_BUILTIN_MOVAPD512, IX86_BUILTIN_MOVAPS512,
	IX86_BUILTIN_MOVDDUP512, IX86_BUILTIN_MOVDQA32LOAD512,
	IX86_BUILTIN_MOVDQA32STORE512, IX86_BUILTIN_MOVDQA32_512,
	IX86_BUILTIN_MOVDQA64LOAD512, IX86_BUILTIN_MOVDQA64STORE512,
	IX86_BUILTIN_MOVDQA64_512, IX86_BUILTIN_MOVESD, IX86_BUILTIN_MOVESS,
	IX86_BUILTIN_MOVNTDQ512, IX86_BUILTIN_MOVNTPD512,
	IX86_BUILTIN_MOVNTPS512, IX86_BUILTIN_MOVSHDUP512,
	IX86_BUILTIN_MOVSLDUP512, IX86_BUILTIN_MULPD512,
	IX86_BUILTIN_MULPS512, IX86_BUILTIN_MULSD_MASK,
	IX86_BUILTIN_MULSS_MASK, IX86_BUILTIN_PABSD512, IX86_BUILTIN_PABSQ512,
	IX86_BUILTIN_PADDD512, IX86_BUILTIN_PADDQ512, IX86_BUILTIN_PANDD512,
	IX86_BUILTIN_PANDND512, IX86_BUILTIN_PANDNQ512, IX86_BUILTIN_PANDQ512,
	IX86_BUILTIN_PBROADCASTD512, IX86_BUILTIN_PBROADCASTD512_GPR,
	IX86_BUILTIN_PBROADCASTMB512, IX86_BUILTIN_PBROADCASTMW512,
	IX86_BUILTIN_PBROADCASTQ512, IX86_BUILTIN_PBROADCASTQ512_GPR,
	IX86_BUILTIN_PBROADCASTQ512_MEM, IX86_BUILTIN_PCMPEQD512_MASK,
	IX86_BUILTIN_PCMPEQQ512_MASK, IX86_BUILTIN_PCMPGTD512_MASK,
	IX86_BUILTIN_PCMPGTQ512_MASK, IX86_BUILTIN_PCOMPRESSD512,
	IX86_BUILTIN_PCOMPRESSDSTORE512, IX86_BUILTIN_PCOMPRESSQ512,
	IX86_BUILTIN_PCOMPRESSQSTORE512, IX86_BUILTIN_PEXPANDD512,
	IX86_BUILTIN_PEXPANDD512Z, IX86_BUILTIN_PEXPANDDLOAD512,
	IX86_BUILTIN_PEXPANDDLOAD512Z, IX86_BUILTIN_PEXPANDQ512,
	IX86_BUILTIN_PEXPANDQ512Z, IX86_BUILTIN_PEXPANDQLOAD512,
	IX86_BUILTIN_PEXPANDQLOAD512Z, IX86_BUILTIN_PMAXSD512,
	IX86_BUILTIN_PMAXSQ512, IX86_BUILTIN_PMAXUD512,
	IX86_BUILTIN_PMAXUQ512, IX86_BUILTIN_PMINSD512,
	IX86_BUILTIN_PMINSQ512, IX86_BUILTIN_PMINUD512,
	IX86_BUILTIN_PMINUQ512, IX86_BUILTIN_PMOVDB512,
	IX86_BUILTIN_PMOVDW512, IX86_BUILTIN_PMOVQB512,
	IX86_BUILTIN_PMOVQD512, IX86_BUILTIN_PMOVQW512,
	IX86_BUILTIN_PMOVSDB512, IX86_BUILTIN_PMOVSDW512,
	IX86_BUILTIN_PMOVSQB512, IX86_BUILTIN_PMOVSQD512,
	IX86_BUILTIN_PMOVSQW512, IX86_BUILTIN_PMOVSXBD512,
	IX86_BUILTIN_PMOVSXBQ512, IX86_BUILTIN_PMOVSXDQ512,
	IX86_BUILTIN_PMOVSXWD512, IX86_BUILTIN_PMOVSXWQ512,
	IX86_BUILTIN_PMOVUSDB512, IX86_BUILTIN_PMOVUSDW512,
	IX86_BUILTIN_PMOVUSQB512, IX86_BUILTIN_PMOVUSQD512,
	IX86_BUILTIN_PMOVUSQW512, IX86_BUILTIN_PMOVZXBD512,
	IX86_BUILTIN_PMOVZXBQ512, IX86_BUILTIN_PMOVZXDQ512,
	IX86_BUILTIN_PMOVZXWD512, IX86_BUILTIN_PMOVZXWQ512,
	IX86_BUILTIN_PMULDQ512, IX86_BUILTIN_PMULLD512,
	IX86_BUILTIN_PMULUDQ512, IX86_BUILTIN_PORD512, IX86_BUILTIN_PORQ512,
	IX86_BUILTIN_PROLD512, IX86_BUILTIN_PROLQ512, IX86_BUILTIN_PROLVD512,
	IX86_BUILTIN_PROLVQ512, IX86_BUILTIN_PRORD512, IX86_BUILTIN_PRORQ512,
	IX86_BUILTIN_PRORVD512, IX86_BUILTIN_PRORVQ512,
	IX86_BUILTIN_PSHUFD512, IX86_BUILTIN_PSLLD512, IX86_BUILTIN_PSLLDI512,
	IX86_BUILTIN_PSLLQ512, IX86_BUILTIN_PSLLQI512,
	IX86_BUILTIN_PSLLVV16SI, IX86_BUILTIN_PSLLVV8DI,
	IX86_BUILTIN_PSRAD512, IX86_BUILTIN_PSRADI512, IX86_BUILTIN_PSRAQ512,
	IX86_BUILTIN_PSRAQI512, IX86_BUILTIN_PSRAVV16SI,
	IX86_BUILTIN_PSRAVV8DI, IX86_BUILTIN_PSRLD512, IX86_BUILTIN_PSRLDI512,
	IX86_BUILTIN_PSRLQ512, IX86_BUILTIN_PSRLQI512,
	IX86_BUILTIN_PSRLVV16SI, IX86_BUILTIN_PSRLVV8DI,
	IX86_BUILTIN_PSUBD512, IX86_BUILTIN_PSUBQ512, IX86_BUILTIN_PTESTMD512,
	IX86_BUILTIN_PTESTMQ512, IX86_BUILTIN_PTESTNMD512,
	IX86_BUILTIN_PTESTNMQ512, IX86_BUILTIN_PUNPCKHDQ512,
	IX86_BUILTIN_PUNPCKHQDQ512, IX86_BUILTIN_PUNPCKLDQ512,
	IX86_BUILTIN_PUNPCKLQDQ512, IX86_BUILTIN_PXORD512,
	IX86_BUILTIN_PXORQ512, IX86_BUILTIN_RCP14PD512,
	IX86_BUILTIN_RCP14PS512, IX86_BUILTIN_RCP14SD, IX86_BUILTIN_RCP14SS,
	IX86_BUILTIN_RNDSCALEPD, IX86_BUILTIN_RNDSCALEPS,
	IX86_BUILTIN_RNDSCALESD, IX86_BUILTIN_RNDSCALESS,
	IX86_BUILTIN_RSQRT14PD512, IX86_BUILTIN_RSQRT14PS512,
	IX86_BUILTIN_RSQRT14SD, IX86_BUILTIN_RSQRT14SS,
	IX86_BUILTIN_SCALEFPD512, IX86_BUILTIN_SCALEFPS512,
	IX86_BUILTIN_SCALEFSD, IX86_BUILTIN_SCALEFSS, IX86_BUILTIN_SHUFPD512,
	IX86_BUILTIN_SHUFPS512, IX86_BUILTIN_SHUF_F32x4,
	IX86_BUILTIN_SHUF_F64x2, IX86_BUILTIN_SHUF_I32x4,
	IX86_BUILTIN_SHUF_I64x2,
	IX86_BUILTIN_SQRTPD512_MASK, IX86_BUILTIN_SQRTPS512_MASK,
	IX86_BUILTIN_SQRTSD_MASK,
	IX86_BUILTIN_SQRTSS_MASK, IX86_BUILTIN_STOREAPD512,
	IX86_BUILTIN_STOREAPS512, IX86_BUILTIN_STOREDQUDI512,
	IX86_BUILTIN_STOREDQUSI512, IX86_BUILTIN_STORESD,
	IX86_BUILTIN_STORESS, IX86_BUILTIN_STOREUPD512,
	IX86_BUILTIN_STOREUPS512, IX86_BUILTIN_SUBPD512,
	IX86_BUILTIN_SUBPS512, IX86_BUILTIN_SUBSD_MASK,
	IX86_BUILTIN_SUBSS_MASK, IX86_BUILTIN_UCMPD512, IX86_BUILTIN_UCMPQ512,
	IX86_BUILTIN_UNPCKHPD512, IX86_BUILTIN_UNPCKHPS512,
	IX86_BUILTIN_UNPCKLPD512, IX86_BUILTIN_UNPCKLPS512,
	IX86_BUILTIN_VCVTSD2SI32, IX86_BUILTIN_VCVTSD2SI64,
	IX86_BUILTIN_VCVTSD2USI32, IX86_BUILTIN_VCVTSD2USI64,
	IX86_BUILTIN_VCVTSS2SI32, IX86_BUILTIN_VCVTSS2SI64,
	IX86_BUILTIN_VCVTSS2USI32, IX86_BUILTIN_VCVTSS2USI64,
	IX86_BUILTIN_VCVTTSD2SI32, IX86_BUILTIN_VCVTTSD2SI64,
	IX86_BUILTIN_VCVTTSD2USI32, IX86_BUILTIN_VCVTTSD2USI64,
	IX86_BUILTIN_VCVTTSS2SI32, IX86_BUILTIN_VCVTTSS2SI64,
	IX86_BUILTIN_VCVTTSS2USI32, IX86_BUILTIN_VCVTTSS2USI64,
	IX86_BUILTIN_VFMADDPD512_MASK, IX86_BUILTIN_VFMADDPD512_MASK3,
	IX86_BUILTIN_VFMADDPD512_MASKZ, IX86_BUILTIN_VFMADDPS512_MASK,
	IX86_BUILTIN_VFMADDPS512_MASK3, IX86_BUILTIN_VFMADDPS512_MASKZ,
	IX86_BUILTIN_VFMADDSD3_MASK, IX86_BUILTIN_VFMADDSD3_MASK3,
	IX86_BUILTIN_VFMADDSD3_MASKZ, IX86_BUILTIN_VFMADDSS3_MASK,
	IX86_BUILTIN_VFMADDSS3_MASK3, IX86_BUILTIN_VFMADDSS3_MASKZ,
	IX86_BUILTIN_VFMADDSUBPD512_MASK, IX86_BUILTIN_VFMADDSUBPD512_MASK3,
	IX86_BUILTIN_VFMADDSUBPD512_MASKZ, IX86_BUILTIN_VFMADDSUBPS512_MASK,
	IX86_BUILTIN_VFMADDSUBPS512_MASK3, IX86_BUILTIN_VFMADDSUBPS512_MASKZ,
	IX86_BUILTIN_VFMSUBADDPD512_MASK3, IX86_BUILTIN_VFMSUBADDPS512_MASK3,
	IX86_BUILTIN_VFMSUBPD512_MASK3, IX86_BUILTIN_VFMSUBPS512_MASK3,
	IX86_BUILTIN_VFMSUBSD3_MASK3, IX86_BUILTIN_VFMSUBSS3_MASK3,
	IX86_BUILTIN_VFNMADDPD512_MASK, IX86_BUILTIN_VFNMADDPS512_MASK,
	IX86_BUILTIN_VFNMSUBPD512_MASK, IX86_BUILTIN_VFNMSUBPD512_MASK3,
	IX86_BUILTIN_VFNMSUBPS512_MASK, IX86_BUILTIN_VFNMSUBPS512_MASK3,
	IX86_BUILTIN_VPCLZCNTD512, IX86_BUILTIN_VPCLZCNTQ512,
	IX86_BUILTIN_VPCONFLICTD512, IX86_BUILTIN_VPCONFLICTQ512,
	IX86_BUILTIN_VPERMDF512, IX86_BUILTIN_VPERMDI512,
	IX86_BUILTIN_VPERMI2VARD512, IX86_BUILTIN_VPERMI2VARPD512,
	IX86_BUILTIN_VPERMI2VARPS512, IX86_BUILTIN_VPERMI2VARQ512,
	IX86_BUILTIN_VPERMILPD512, IX86_BUILTIN_VPERMILPS512,
	IX86_BUILTIN_VPERMILVARPD512, IX86_BUILTIN_VPERMILVARPS512,
	IX86_BUILTIN_VPERMT2VARD512, IX86_BUILTIN_VPERMT2VARD512_MASKZ,
	IX86_BUILTIN_VPERMT2VARPD512, IX86_BUILTIN_VPERMT2VARPD512_MASKZ,
	IX86_BUILTIN_VPERMT2VARPS512, IX86_BUILTIN_VPERMT2VARPS512_MASKZ,
	IX86_BUILTIN_VPERMT2VARQ512, IX86_BUILTIN_VPERMT2VARQ512_MASKZ,
	IX86_BUILTIN_VPERMVARDF512, IX86_BUILTIN_VPERMVARDI512,
	IX86_BUILTIN_VPERMVARSF512, IX86_BUILTIN_VPERMVARSI512,
	IX86_BUILTIN_VTERNLOGD512_MASK, IX86_BUILTIN_VTERNLOGD512_MASKZ,
	IX86_BUILTIN_VTERNLOGQ512_MASK, IX86_BUILTIN_VTERNLOGQ512_MASKZ,
	IX86_BUILTIN_KAND16, IX86_BUILTIN_KANDN16, IX86_BUILTIN_KNOT16,
	IX86_BUILTIN_KOR16, IX86_BUILTIN_KORTESTC16, IX86_BUILTIN_KORTESTZ16,
	IX86_BUILTIN_KUNPCKBW, IX86_BUILTIN_KXNOR16, IX86_BUILTIN_KXOR16,
	IX86_BUILTIN_GATHER3SIV8DI,
	IX86_BUILTIN_SCATTERDIV16SF, IX86_BUILTIN_SCATTERDIV16SI,
	IX86_BUILTIN_SCATTERDIV8DF, IX86_BUILTIN_SCATTERDIV8DI,
	IX86_BUILTIN_SCATTERSIV16SF, IX86_BUILTIN_SCATTERSIV16SI,
	IX86_BUILTIN_SCATTERSIV8DF, IX86_BUILTIN_SCATTERSIV8DI,
	IX86_BUILTIN_GATHERPFDPS, IX86_BUILTIN_GATHERPFQPS,
	IX86_BUILTIN_SCATTERPFDPS, IX86_BUILTIN_SCATTERPFQPS,
	IX86_BUILTIN_EXP2PD_MASK, IX86_BUILTIN_EXP2PS_MASK,
	IX86_BUILTIN_RCP28PD, IX86_BUILTIN_RCP28PS,
	IX86_BUILTIN_RSQRT28PD, IX86_BUILTIN_RSQRT28PS.
	(bdesc_special_args): Add __builtin_ia32_compressstoresf512_mask,
	__builtin_ia32_compressstoresi512_mask,
	__builtin_ia32_compressstoredf512_mask,
	__builtin_ia32_compressstoredi512_mask,
	__builtin_ia32_expandloadsf512_mask,
	__builtin_ia32_expandloadsf512_maskz,
	__builtin_ia32_expandloadsi512_mask,
	__builtin_ia32_expandloadsi512_maskz,
	__builtin_ia32_expandloaddf512_mask,
	__builtin_ia32_expandloaddf512_maskz,
	__builtin_ia32_expandloaddi512_mask,
	__builtin_ia32_expandloaddi512_maskz,
	__builtin_ia32_loaddqusi512_mask, __builtin_ia32_loaddqudi512_mask,
	__builtin_ia32_loadsd_mask, __builtin_ia32_loadss_mask,
	__builtin_ia32_loadupd512_mask, __builtin_ia32_loadups512_mask,
	__builtin_ia32_loadaps512_mask, __builtin_ia32_movdqa32load512_mask,
	__builtin_ia32_loadapd512_mask, __builtin_ia32_movdqa64load512_mask,
	__builtin_ia32_movntps512, __builtin_ia32_movntpd512,
	__builtin_ia32_movntdq512, __builtin_ia32_storedqusi512_mask,
	__builtin_ia32_storedqudi512_mask, __builtin_ia32_storesd_mask,
	__builtin_ia32_storess_mask, __builtin_ia32_storeupd512_mask,
	__builtin_ia32_storeups512_mask, __builtin_ia32_storeaps512_mask,
	__builtin_ia32_movdqa32store512_mask, __builtin_ia32_storeapd512_mask,
	__builtin_ia32_movdqa64store512_mask, __builtin_ia32_alignd512_mask,
	__builtin_ia32_alignq512_mask, __builtin_ia32_blendmd_512_mask,
	__builtin_ia32_blendmpd_512_mask, __builtin_ia32_blendmps_512_mask,
	__builtin_ia32_blendmq_512_mask, __builtin_ia32_broadcastf32x4_512,
	__builtin_ia32_broadcastf64x4_512, __builtin_ia32_broadcasti32x4_512,
	__builtin_ia32_broadcasti64x4_512, __builtin_ia32_broadcastsd512,
	__builtin_ia32_broadcastss512, __builtin_ia32_cmpd512_mask,
	__builtin_ia32_cmpq512_mask, __builtin_ia32_compressdf512_mask,
	__builtin_ia32_compresssf512_mask, __builtin_ia32_cvtdq2pd512_mask,
	__builtin_ia32_vcvtps2ph512_mask, __builtin_ia32_cvtudq2pd512_mask,
	__builtin_ia32_cvtusi2sd32, __builtin_ia32_expanddf512_mask,
	__builtin_ia32_expanddf512_maskz, __builtin_ia32_expandsf512_mask,
	__builtin_ia32_expandsf512_maskz, __builtin_ia32_extractf32x4_mask,
	__builtin_ia32_extractf64x4_mask, __builtin_ia32_extracti32x4_mask,
	__builtin_ia32_extracti64x4_mask, __builtin_ia32_insertf32x4_mask,
	__builtin_ia32_insertf64x4_mask, __builtin_ia32_inserti32x4_mask,
	__builtin_ia32_inserti64x4_mask, __builtin_ia32_movapd512_mask,
	__builtin_ia32_movaps512_mask, __builtin_ia32_movddup512_mask,
	__builtin_ia32_movdqa32_512_mask, __builtin_ia32_movdqa64_512_mask,
	__builtin_ia32_movesd_mask, __builtin_ia32_movess_mask,
	__builtin_ia32_movshdup512_mask, __builtin_ia32_movsldup512_mask,
	__builtin_ia32_pabsd512_mask, __builtin_ia32_pabsq512_mask,
	__builtin_ia32_paddd512_mask, __builtin_ia32_paddq512_mask,
	__builtin_ia32_pandd512_mask, __builtin_ia32_pandnd512_mask,
	__builtin_ia32_pandnq512_mask, __builtin_ia32_pandq512_mask,
	__builtin_ia32_pbroadcastd512, __builtin_ia32_pbroadcastd512_gpr_mask,
	__builtin_ia32_broadcastmb512, __builtin_ia32_broadcastmw512,
	__builtin_ia32_pbroadcastq512, __builtin_ia32_pbroadcastq512_gpr_mask,
	__builtin_ia32_pbroadcastq512_mem_mask,
	__builtin_ia32_pcmpeqd512_mask, __builtin_ia32_pcmpeqq512_mask,
	__builtin_ia32_pcmpgtd512_mask, __builtin_ia32_pcmpgtq512_mask,
	__builtin_ia32_compresssi512_mask, __builtin_ia32_compressdi512_mask,
	__builtin_ia32_expandsi512_mask, __builtin_ia32_expandsi512_maskz,
	__builtin_ia32_expanddi512_mask, __builtin_ia32_expanddi512_maskz,
	__builtin_ia32_pmaxsd512_mask, __builtin_ia32_pmaxsq512_mask,
	__builtin_ia32_pmaxud512_mask, __builtin_ia32_pmaxuq512_mask,
	__builtin_ia32_pminsd512_mask, __builtin_ia32_pminsq512_mask,
	__builtin_ia32_pminud512_mask, __builtin_ia32_pminuq512_mask,
	__builtin_ia32_pmovdb512_mask, __builtin_ia32_pmovdw512_mask,
	__builtin_ia32_pmovqb512_mask, __builtin_ia32_pmovqd512_mask,
	__builtin_ia32_pmovqw512_mask, __builtin_ia32_pmovsdb512_mask,
	__builtin_ia32_pmovsdw512_mask, __builtin_ia32_pmovsqb512_mask,
	__builtin_ia32_pmovsqd512_mask, __builtin_ia32_pmovsqw512_mask,
	__builtin_ia32_pmovsxbd512_mask, __builtin_ia32_pmovsxbq512_mask,
	__builtin_ia32_pmovsxdq512_mask, __builtin_ia32_pmovsxwd512_mask,
	__builtin_ia32_pmovsxwq512_mask, __builtin_ia32_pmovusdb512_mask,
	__builtin_ia32_pmovusdw512_mask, __builtin_ia32_pmovusqb512_mask,
	__builtin_ia32_pmovusqd512_mask, __builtin_ia32_pmovusqw512_mask,
	__builtin_ia32_pmovzxbd512_mask, __builtin_ia32_pmovzxbq512_mask,
	__builtin_ia32_pmovzxdq512_mask, __builtin_ia32_pmovzxwd512_mask,
	__builtin_ia32_pmovzxwq512_mask, __builtin_ia32_pmuldq512_mask,
	__builtin_ia32_pmulld512_mask, __builtin_ia32_pmuludq512_mask,
	__builtin_ia32_pord512_mask, __builtin_ia32_porq512_mask,
	__builtin_ia32_prold512_mask, __builtin_ia32_prolq512_mask,
	__builtin_ia32_prolvd512_mask, __builtin_ia32_prolvq512_mask,
	__builtin_ia32_prord512_mask, __builtin_ia32_prorq512_mask,
	__builtin_ia32_prorvd512_mask, __builtin_ia32_prorvq512_mask,
	__builtin_ia32_pshufd512_mask, __builtin_ia32_pslld512_mask,
	__builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask,
	__builtin_ia32_psllqi512_mask, __builtin_ia32_psllv16si_mask,
	__builtin_ia32_psllv8di_mask, __builtin_ia32_psrad512_mask,
	__builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask,
	__builtin_ia32_psraqi512_mask, __builtin_ia32_psrav16si_mask,
	__builtin_ia32_psrav8di_mask, __builtin_ia32_psrld512_mask,
	__builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask,
	__builtin_ia32_psrlqi512_mask, __builtin_ia32_psrlv16si_mask,
	__builtin_ia32_psrlv8di_mask, __builtin_ia32_psubd512_mask,
	__builtin_ia32_psubq512_mask, __builtin_ia32_ptestmd512,
	__builtin_ia32_ptestmq512, __builtin_ia32_ptestnmd512,
	__builtin_ia32_ptestnmq512, __builtin_ia32_punpckhdq512_mask,
	__builtin_ia32_punpckhqdq512_mask, __builtin_ia32_punpckldq512_mask,
	__builtin_ia32_punpcklqdq512_mask, __builtin_ia32_pxord512_mask,
	__builtin_ia32_pxorq512_mask, __builtin_ia32_rcp14pd512_mask,
	__builtin_ia32_rcp14ps512_mask, __builtin_ia32_rcp14sd_mask,
	__builtin_ia32_rcp14ss_mask, __builtin_ia32_rsqrt14pd512_mask,
	__builtin_ia32_rsqrt14ps512_mask, __builtin_ia32_rsqrt14sd_mask,
	__builtin_ia32_rsqrt14ss_mask, __builtin_ia32_shufpd512_mask,
	__builtin_ia32_shufps512_mask, __builtin_ia32_shuf_f32x4_mask,
	__builtin_ia32_shuf_f64x2_mask, __builtin_ia32_shuf_i32x4_mask,
	__builtin_ia32_shuf_i64x2_mask, __builtin_ia32_ucmpd512_mask,
	__builtin_ia32_ucmpq512_mask, __builtin_ia32_unpckhpd512_mask,
	__builtin_ia32_unpckhps512_mask, __builtin_ia32_unpcklpd512_mask,
	__builtin_ia32_unpcklps512_mask, __builtin_ia32_vplzcntd_512_mask,
	__builtin_ia32_vplzcntq_512_mask,
	__builtin_ia32_vpconflictsi_512_mask,
	__builtin_ia32_vpconflictdi_512_mask, __builtin_ia32_permdf512_mask,
	__builtin_ia32_permdi512_mask, __builtin_ia32_vpermi2vard512_mask,
	__builtin_ia32_vpermi2varpd512_mask,
	__builtin_ia32_vpermi2varps512_mask,
	__builtin_ia32_vpermi2varq512_mask, __builtin_ia32_vpermilpd512_mask,
	__builtin_ia32_vpermilps512_mask, __builtin_ia32_vpermilvarpd512_mask,
	__builtin_ia32_vpermilvarps512_mask,
	__builtin_ia32_vpermt2vard512_mask,
	__builtin_ia32_vpermt2vard512_maskz,
	__builtin_ia32_vpermt2varpd512_mask,
	__builtin_ia32_vpermt2varpd512_maskz,
	__builtin_ia32_vpermt2varps512_mask,
	__builtin_ia32_vpermt2varps512_maskz,
	__builtin_ia32_vpermt2varq512_mask,
	__builtin_ia32_vpermt2varq512_maskz, __builtin_ia32_permvardf512_mask,
	__builtin_ia32_permvardi512_mask, __builtin_ia32_permvarsf512_mask,
	__builtin_ia32_permvarsi512_mask, __builtin_ia32_pternlogd512_mask,
	__builtin_ia32_pternlogd512_maskz, __builtin_ia32_pternlogq512_mask,
	__builtin_ia32_pternlogq512_maskz, __builtin_ia32_copysignps512,
	__builtin_ia32_copysignpd512, __builtin_ia32_sqrtpd512,
	__builtin_ia32_sqrtps512, __builtin_ia32_exp2ps,
	__builtin_ia32_roundpd_az_vec_pack_sfix512,
	__builtin_ia32_floorpd_vec_pack_sfix512,
	__builtin_ia32_ceilpd_vec_pack_sfix512, __builtin_ia32_kandhi,
	__builtin_ia32_kandnhi, __builtin_ia32_knothi, __builtin_ia32_korhi,
	__builtin_ia32_kortestchi, __builtin_ia32_kortestzhi,
	__builtin_ia32_kunpckhi, __builtin_ia32_kxnorhi,
	__builtin_ia32_kxorhi, __builtin_ia32_addpd512_mask,
	__builtin_ia32_addps512_mask, __builtin_ia32_addsd_mask,
	__builtin_ia32_addss_mask, __builtin_ia32_cmppd512_mask,
	__builtin_ia32_cmpps512_mask, __builtin_ia32_cmpsd_mask,
	__builtin_ia32_cmpss_mask, __builtin_ia32_vcomisd,
	__builtin_ia32_vcomiss, __builtin_ia32_cvtdq2ps512_mask,
	__builtin_ia32_cvtpd2dq512_mask, __builtin_ia32_cvtpd2ps512_mask,
	__builtin_ia32_cvtpd2udq512_mask, __builtin_ia32_vcvtph2ps512_mask,
	__builtin_ia32_cvtps2dq512_mask, __builtin_ia32_cvtps2pd512_mask,
	__builtin_ia32_cvtps2udq512_mask, __builtin_ia32_cvtsd2ss_mask,
	__builtin_ia32_cvtsi2sd64, __builtin_ia32_cvtsi2ss32,
	__builtin_ia32_cvtsi2ss64, __builtin_ia32_cvtss2sd_mask,
	__builtin_ia32_cvttpd2dq512_mask, __builtin_ia32_cvttpd2udq512_mask,
	__builtin_ia32_cvttps2dq512_mask, __builtin_ia32_cvttps2udq512_mask,
	__builtin_ia32_cvtudq2ps512_mask, __builtin_ia32_cvtusi2sd64,
	__builtin_ia32_cvtusi2ss32, __builtin_ia32_cvtusi2ss64,
	__builtin_ia32_divpd512_mask, __builtin_ia32_divps512_mask,
	__builtin_ia32_divsd_mask, __builtin_ia32_divss_mask,
	__builtin_ia32_fixupimmpd512_mask, __builtin_ia32_fixupimmpd512_maskz,
	__builtin_ia32_fixupimmps512_mask, __builtin_ia32_fixupimmps512_maskz,
	__builtin_ia32_fixupimmsd_mask, __builtin_ia32_fixupimmsd_maskz,
	__builtin_ia32_fixupimmss_mask, __builtin_ia32_fixupimmss_maskz,
	__builtin_ia32_getexppd512_mask, __builtin_ia32_getexpps512_mask,
	__builtin_ia32_getexpsd128_mask, __builtin_ia32_getexpss128_mask,
	__builtin_ia32_getmantpd512_mask, __builtin_ia32_getmantps512_mask,
	__builtin_ia32_getmantsd_mask, __builtin_ia32_getmantss_mask,
	__builtin_ia32_maxpd512_mask, __builtin_ia32_maxps512_mask,
	__builtin_ia32_maxsd_mask, __builtin_ia32_maxss_mask,
	__builtin_ia32_minpd512_mask, __builtin_ia32_minps512_mask,
	__builtin_ia32_minsd_mask, __builtin_ia32_minss_mask,
	__builtin_ia32_mulpd512_mask, __builtin_ia32_mulps512_mask,
	__builtin_ia32_mulsd_mask, __builtin_ia32_mulss_mask,
	__builtin_ia32_rndscalepd_mask, __builtin_ia32_rndscaleps_mask,
	__builtin_ia32_rndscalesd_mask, __builtin_ia32_rndscaless_mask,
	__builtin_ia32_scalefpd512_mask, __builtin_ia32_scalefps512_mask,
	__builtin_ia32_scalefsd_mask, __builtin_ia32_scalefss_mask,
	__builtin_ia32_sqrtpd512_mask, __builtin_ia32_sqrtps512_mask,
	__builtin_ia32_sqrtsd_mask, __builtin_ia32_sqrtss_mask,
	__builtin_ia32_subpd512_mask, __builtin_ia32_subps512_mask,
	__builtin_ia32_subsd_mask, __builtin_ia32_subss_mask,
	__builtin_ia32_vcvtsd2si32, __builtin_ia32_vcvtsd2si64,
	__builtin_ia32_vcvtsd2usi32, __builtin_ia32_vcvtsd2usi64,
	__builtin_ia32_vcvtss2si32, __builtin_ia32_vcvtss2si64,
	__builtin_ia32_vcvtss2usi32, __builtin_ia32_vcvtss2usi64,
	__builtin_ia32_vcvttsd2si32, __builtin_ia32_vcvttsd2si64,
	__builtin_ia32_vcvttsd2usi32, __builtin_ia32_vcvttsd2usi64,
	__builtin_ia32_vcvttss2si32, __builtin_ia32_vcvttss2si64,
	__builtin_ia32_vcvttss2usi32, __builtin_ia32_vcvttss2usi64,
	__builtin_ia32_vfmaddpd512_mask, __builtin_ia32_vfmaddpd512_mask3,
	__builtin_ia32_vfmaddpd512_maskz, __builtin_ia32_vfmaddps512_mask,
	__builtin_ia32_vfmaddps512_mask3, __builtin_ia32_vfmaddps512_maskz,
	__builtin_ia32_vfmaddsd3_mask, __builtin_ia32_vfmaddsd3_mask3,
	__builtin_ia32_vfmaddsd3_maskz, __builtin_ia32_vfmaddss3_mask,
	__builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz,
	__builtin_ia32_vfmaddsubpd512_mask,
	__builtin_ia32_vfmaddsubpd512_mask3,
	__builtin_ia32_vfmaddsubpd512_maskz,
	__builtin_ia32_vfmaddsubps512_mask,
	__builtin_ia32_vfmaddsubps512_mask3,
	__builtin_ia32_vfmaddsubps512_maskz,
	__builtin_ia32_vfmsubaddpd512_mask3,
	__builtin_ia32_vfmsubaddps512_mask3, __builtin_ia32_vfmsubpd512_mask3,
	__builtin_ia32_vfmsubps512_mask3, __builtin_ia32_vfmsubsd3_mask3,
	__builtin_ia32_vfmsubss3_mask3, __builtin_ia32_vfnmaddpd512_mask,
	__builtin_ia32_vfnmaddps512_mask, __builtin_ia32_vfnmsubpd512_mask,
	__builtin_ia32_vfnmsubpd512_mask3, __builtin_ia32_vfnmsubps512_mask,
	__builtin_ia32_vfnmsubps512_mask3, __builtin_ia32_exp2pd_mask,
	__builtin_ia32_exp2ps_mask, __builtin_ia32_rcp28pd_mask,
	__builtin_ia32_rcp28ps_mask, __builtin_ia32_rsqrt28pd_mask,
	__builtin_ia32_rsqrt28ps_mask, __builtin_ia32_gathersiv16sf,
	__builtin_ia32_gathersiv8df, __builtin_ia32_gatherdiv16sf,
	__builtin_ia32_gatherdiv8df, __builtin_ia32_gathersiv16si,
	__builtin_ia32_gathersiv8di, __builtin_ia32_gatherdiv16si,
	__builtin_ia32_gatherdiv8di, __builtin_ia32_gatheraltsiv8df ,
	__builtin_ia32_gatheraltdiv8sf , __builtin_ia32_gatheraltsiv8di ,
	__builtin_ia32_gatheraltdiv8si , __builtin_ia32_scattersiv16sf,
	__builtin_ia32_scattersiv8df, __builtin_ia32_scatterdiv16sf,
	__builtin_ia32_scatterdiv8df, __builtin_ia32_scattersiv16si,
	__builtin_ia32_scattersiv8di, __builtin_ia32_scatterdiv16si,
	__builtin_ia32_scatterdiv8di, __builtin_ia32_gatherpfdps,
	__builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdps,
	__builtin_ia32_scatterpfqps.
	(ix86_init_mmx_sse_builtins): Handle builtins with AVX512 embeded
	rounding, builtins for AVX512 gathers/scatters.
	(ix86_expand_args_builtin): Handle new functions types, add warnings
	for masked builtins.
	(ix86_erase_embedded_rounding): Handle patterns with embedded rounding.
	(ix86_expand_sse_comi_round): Ditto.
	(ix86_expand_round_builtin): Ditto.
	(ix86_expand_builtin): Handle AVX512's gathers/scatters and kortest{z}.
	Call ix86_expand_round_builtin.
	* config/i386/immintrin.h: Add avx512fintrin.h, avx512erintrin.h,
	avx512pfintrin.h, avx512cdintrin.h.

2013-12-31  Alexander Ivchenko  <alexander.ivchenko@intel.com>
	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
	    Sergey Lega  <sergey.s.lega@intel.com>
	    Anna Tikhonova  <anna.tikhonova@intel.com>
	    Ilya Tocar  <ilya.tocar@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* config/i386/i386.c (MAX_CLASSES): Increase number of classes.
	(classify_argument): Extend for 512 bit vectors.
	(construct_container): Ditto.
	(function_arg_advance_32): Ditto.
	(function_arg_advance_64): Ditto.
	(function_arg_32): Ditto.
	(function_arg_64): Ditto.
	(function_value_32): Ditto.
	(return_in_memory_32): Ditto.
	(ix86_gimplify_va_arg): Ditto.
	(standard_sse_constant_p): Ditto.
	(standard_sse_constant_opcode): Ditto.
	(ix86_expand_vector_convert_uns_vsivsf): Ditto.
	(ix86_build_const_vector): Ditto.
	(ix86_build_signbit_mask): Ditto.
	(ix86_expand_sse_cmp): Extend for AVX512.
	(ix86_expand_sse_movcc): Ditto.
	(ix86_expand_int_vcond): Ditto.
	(ix86_expand_vec_perm): Ditto.
	(ix86_expand_sse_unpack): Ditto.
	(ix86_builtin_vectorized_function): Ditto.
	(ix86_vectorize_builtin_gather): Ditto.
	(avx_vpermilp_parallel): Ditto.
	(ix86_rtx_costs): Ditto.
	(ix86_expand_vector_init_duplicate): Ditto.
	(ix86_expand_vector_init_concat): Ditto.
	(ix86_expand_vector_init_general): Ditto.
	(ix86_expand_vector_extract): Ditto.
	(emit_reduc_half): Ditto.
	(ix86_vector_mode_supported_p): Ditto.
	(ix86_emit_swdivsf): Ditto.
	(ix86_emit_swsqrtsf): Ditto.
	(expand_vec_perm_1): Ditto.
	(ix86_vectorize_vec_perm_const_ok): Ditto.
	(ix86_expand_mul_widen_evenodd): Ditto.
	(ix86_expand_sse2_mulvxdi3): Ditto.
	(ix86_preferred_simd_mode): Ditto.
	(ix86_autovectorize_vector_sizes): Ditto.
	(ix86_expand_vec_perm_vpermi2): New.
	(ix86_vector_duplicate_value): Ditto.
	(IX86_BUILTIN_SQRTPD512, IX86_BUILTIN_EXP2PS,
	IX86_BUILTIN_SQRTPS_NR512, IX86_BUILTIN_GATHER3ALTDIV16SF,
	IX86_BUILTIN_GATHER3ALTDIV16SI, IX86_BUILTIN_GATHER3ALTSIV8DF,
	IX86_BUILTIN_GATHER3ALTSIV8DI, IX86_BUILTIN_GATHER3DIV16SF,
	IX86_BUILTIN_GATHER3DIV16SI, IX86_BUILTIN_GATHER3DIV8DF,
	IX86_BUILTIN_GATHER3DIV8DI, IX86_BUILTIN_GATHER3SIV16SF,
	IX86_BUILTIN_GATHER3SIV16SI, IX86_BUILTIN_GATHER3SIV8DF,
	IX86_BUILTIN_CEILPD_VEC_PACK_SFIX512, IX86_BUILTIN_CPYSGNPS512,
	IX86_BUILTIN_CPYSGNPD512, IX86_BUILTIN_FLOORPD_VEC_PACK_SFIX512,
	IX86_BUILTIN_ROUNDPD_AZ_VEC_PACK_SFIX512): Ditto.
	* config/i386/sse.md (*mov<mode>_internal): Disable SSE typeless
	stores vectors > 128bit (AVX*).
	(<sse>_storeu<ssemodesuffix><avxsizesuffix>): Ditto.
	(<sse2_avx_avx512f>_storedqu<mode>): Extend for AVX-512, disable
	SSE typeless stores vectors > 128bit (AVX*).
	(fixuns_trunc<mode><sseintvecmodelower>2): Extend for AVX-512.
	(vec_pack_ufix_trunc_<mode>): Ditto.
	(vec_unpacku_float_hi_v16si): New.
	* tree-vect-stmts.c (vectorizable_load): Support AVX512's gathers.
	* tree-vectorizer.h (MAX_VECTORIZATION_FACTOR): Extend for 512 bit
	vectors.

2013-12-31  Chung-Lin Tang  <cltang@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>
	    Based on patches from Altera Corporation

	* config.gcc (nios2-*-*): Add nios2 config targets.
	* configure.ac (TLS_SECTION_ASM_FLAG): Add nios2 case.
	("$cpu_type"): Add nios2 as new cpu type.
	* configure: Regenerate.
	* config/nios2/nios2.c: New file.
	* config/nios2/nios2.h: New file.
	* config/nios2/nios2-opts.h: New file.
	* config/nios2/nios2-protos.h: New file.
	* config/nios2/elf.h: New file.
	* config/nios2/elf.opt: New file.
	* config/nios2/linux.h: New file.
	* config/nios2/nios2.opt: New file.
	* config/nios2/nios2.md: New file.
	* config/nios2/predicates.md: New file.
	* config/nios2/constraints.md: New file.
	* config/nios2/t-nios2: New file.
	* common/config/nios2/nios2-common.c: New file.
	* doc/invoke.texi (Nios II options): Document Nios II specific options.
	* doc/md.texi (Nios II family): Document Nios II specific constraints.
	* doc/extend.texi (Function Specific Option Pragmas): Document
	Nios II supported target pragma functionality.

2013-12-30  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/59591
	* tree-vect-stmts.c (vectorizable_mask_load_store): Fix up handling
	of modifier = NARROW masked gathers.
	(permute_vec_elements): Use gimple_get_lhs instead of
	gimple_assign_lhs.

2013-12-30  Nick Clifton  <nickc@redhat.com>
	    Peter Bigot  <bigotp@acm.org>

	PR target/59613
	* stor-layout.c (get_mode_bounds): Use GET_MODE_PRECISION instead
	of GET_MODE_BITSIZE.

2013-12-30  Nick Clifton  <nickc@redhat.com>

	* config/msp430/msp430.c (msp430_print_operand): Rename %B to %b
	and %A to %Q.  Add %A, %B, %C and %D as selectors for 16-bit parts
	of a 64-bit operand.
	* config/msp430/msp430.md: Replace uses of %B with %b and uses of
	%A with %q.

2013-12-30  Felix Yang  <felix.yang@huawei.com>

	* ira-costs.c (cost_classes_hasher::equal): Check equality of
	memcmp and 0 if no difference exists for HV1 and HV2.

2013-12-30  Jakub Jelinek  <jakub@redhat.com>

	PR target/59501
	* config/i386/i386.c (ix86_save_reg): Don't return true for drap_reg
	if !crtl->stack_realign_needed.
	(ix86_finalize_stack_realign_flags): If drap_reg isn't live on entry
	and stack_realign_needed will be false, clear drap_reg and need_drap.
	Optimize leaf functions that don't need stack frame even if
	crtl->need_drap.

2013-12-30   H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59605
	* config/i386/i386.c (ix86_expand_set_or_movmem): Create
	jump_around_label only if it doesn't exist.

2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>

	* doc/invoke.texi (output file options): Document -fada-spec-parent.

2013-12-27  Alexander Ivchenko  <alexander.ivchenko@intel.com>
	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
	    Sergey Lega  <sergey.s.lega@intel.com>
	    Anna Tikhonova  <anna.tikhonova@intel.com>
	    Ilya Tocar  <ilya.tocar@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* config/i386/sse.md (avx512f_fixupimm<mode>_maskz): Extend to support
	EVEX's RC.
	(avx512f_sfixupimm<mode>_maskz): Ditto.
	* config/i386/subst.md (round_saeonly_expand_name): New.
	(round_saeonly_expand_nimm_predicate): Ditto.
	(round_saeonly_expand_operand6): Ditto.
	(round_saeonly_expand): Ditto.

2013-12-27  Alexander Ivchenko  <alexander.ivchenko@intel.com>
	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
	    Sergey Lega  <sergey.s.lega@intel.com>
	    Anna Tikhonova  <anna.tikhonova@intel.com>
	    Ilya Tocar  <ilya.tocar@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* config/i386/sse.md (avx512f_fmadd_<mode>_maskz): Extend to support
	EVEX's RC.
	(avx512f_fmaddsub_<mode>_maskz): Ditto.
	* config/i386/subst.md (round_expand_name): New.
	(round_expand_nimm_predicate): Ditto.
	(round_expand_operand): Ditto.
	(round_expand): Ditto.

2013-12-27  Alexander Ivchenko  <alexander.ivchenko@intel.com>
	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
	    Sergey Lega  <sergey.s.lega@intel.com>
	    Anna Tikhonova  <anna.tikhonova@intel.com>
	    Ilya Tocar  <ilya.tocar@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* config/i386/sse.md (<code><mode>3<mask_name>): Extend to support
	EVEX's SAE mode.
	(*<code><mode>3_finite<mask_name>): Ditto.
	(*<code><mode>3<mask_name>): Ditto.
	(avx512f_cmp<mode>3<mask_scalar_merge_name>): Ditto.
	(avx512f_vmcmp<mode>3): Ditto.
	(avx512f_vmcmp<mode>3_mask): Ditto.
	(<sse>_comi): Ditto.
	(<sse>_ucomi): Ditto.
	(sse_cvttss2si): Ditto.
	(sse_cvttss2siq): Ditto.
	(<fixsuffix>fix_truncv16sfv16si2<mask_name>): Ditto.
	(avx512f_vcvttss2usi): Ditto.
	(avx512f_vcvttss2usiq): Ditto.
	(avx512f_vcvttsd2usi): Ditto.
	(avx512f_vcvttsd2usiq): Ditto.
	(sse2_cvttsd2si): Ditto.
	(sse2_cvttsd2siq): Ditto.
	(<fixsuffix>fix_truncv8dfv8si2<mask_name>): Ditto.
	(<sse2_avx_avx512f>_cvtps2pd<avxsizesuffix><mask_name>): Ditto.
	(avx512f_getexp<mode><mask_name>): Ditto.
	(avx512f_fixupimm<mode><sd_maskz_name>): Ditto.
	(avx512f_fixupimm<mode>_mask): Ditto.
	(avx512f_sfixupimm<mode><sd_maskz_name>): Ditto.
	(avx512f_sfixupimm<mode>_mask): Ditto.
	(avx512f_rndscale<mode><mask_name>): Ditto.
	(<mask_codefor>avx512f_vcvtph2ps512<mask_name>): Ditto.
	(avx512f_getmant<mode><mask_name>): Ditto.
	* config/i386/subst.md (round_saeonly_name): New.
	(round_saeonly_mask_operand2): Ditto.
	(round_saeonly_mask_operand3): Ditto.
	(round_saeonly_mask_scalar_operand3): Ditto.
	(round_saeonly_mask_scalar_operand4): Ditto.
	(round_saeonly_mask_scalar_merge_operand4): Ditto.
	(round_saeonly_sd_mask_operand5): Ditto.
	(round_saeonly_op2): Ditto.
	(round_saeonly_op4): Ditto.
	(round_saeonly_op5): Ditto.
	(round_saeonly_op6): Ditto.
	(round_saeonly_mask_op2): Ditto.
	(round_saeonly_mask_op3): Ditto.
	(round_saeonly_mask_scalar_op3): Ditto.
	(round_saeonly_mask_scalar_op4): Ditto.
	(round_saeonly_mask_scalar_merge_op4): Ditto.
	(round_saeonly_sd_mask_op5): Ditto.
	(round_saeonly_constraint): Ditto.
	(round_saeonly_constraint2): Ditto.
	(round_saeonly_nimm_predicate): Ditto.
	(round_saeonly_mode512bit_condition): Ditto.
	(round_saeonly): Ditto.

2013-12-27  Alexander Ivchenko  <alexander.ivchenko@intel.com>
	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
	    Sergey Lega  <sergey.s.lega@intel.com>
	    Anna Tikhonova  <anna.tikhonova@intel.com>
	    Ilya Tocar  <ilya.tocar@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* config/i386/i386.c (ix86_print_operand): Print EVEX's RC modifiers.
	* config/i386/i386.md (define_constants): Define EVEx's RC constants.
	* gcc/config/i386/sse.md (<plusminus_insn><mode>3<mask_name>): Extend
	to support EVEX's rounding control.
	(*<plusminus_insn><mode>3<mask_name>): Ditto.
	(mul<mode>3<mask_name>): Ditto.
	(*mul<mode>3<mask_name>): Ditto.
	(<sse>_div<mode>3<mask_name>): Ditto.
	(<sse>_sqrt<mode>2<mask_name>): Ditto.
	(<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>): Ditto.
	(avx512f_fmadd_<mode>_mask): Ditto.
	(avx512f_fmadd_<mode>_mask3): Ditto.
	(<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>): Ditto.
	(avx512f_fmsub_<mode>_mask): Ditto.
	(avx512f_fmsub_<mode>_mask3): Ditto.
	(<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>): Ditto.
	(avx512f_fnmadd_<mode>_mask): Ditto.
	(avx512f_fnmadd_<mode>_mask3): Ditto.
	(<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>): Ditto.
	(avx512f_fnmsub_<mode>_mask): Ditto.
	(avx512f_fnmsub_<mode>_mask3): Ditto.
	(<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name>): Ditto.
	(avx512f_fmaddsub_<mode>_mask): Ditto.
	(avx512f_fmaddsub_<mode>_mask3): Ditto.
	(<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name>): Ditto.
	(avx512f_fmsubadd_<mode>_mask): Ditto.
	(avx512f_fmsubadd_<mode>_mask3): Ditto.
	(fmai_vmfmadd_<mode>): Ditto.
	(*fmai_fmadd_<mode>): Ditto.
	(*fmai_fmsub_<mode>): Ditto.
	(*fmai_fnmadd_<mode>): Ditto.
	(*fmai_fnmsub_<mode>): Ditto.
	(sse_cvtsi2ss): Ditto.
	(sse_cvtsi2ssq): Ditto.
	(sse_cvtss2si): Ditto.
	(sse_cvtss2siq): Ditto.
	(cvtusi2<ssescalarmodesuffix>32): Ditto.
	(cvtusi2<ssescalarmodesuffix>64): Ditto.
	(float<sseintvecmodelower><mode>2<mask_name>): Ditto.
	(ufloatv16siv16sf2<mask_name>): Ditto.
	(<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name>): Ditto.
	(<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name>): Ditto.
	(sse2_cvtsi2sdq): Ditto.
	(avx512f_vcvtss2usi): Ditto.
	(avx512f_vcvtss2usiq): Ditto.
	(avx512f_vcvtsd2usi): Ditto.
	(avx512f_vcvtsd2usiq): Ditto.
	(sse2_cvtsd2si): Ditto.
	(sse2_cvtsd2siq): Ditto.
	(<mask_codefor>avx512f_cvtpd2dq512<mask_name>): Ditto.
	(avx512f_ufix_notruncv8dfv8si<mask_name>): Ditto.
	(<mask_codefor>avx512f_cvtpd2ps512<mask_name>): Ditto.
	(avx512f_scalef<mode><mask_name>): Ditto.
	(<code><mode>3<mask_name>): Ditto.
	(*avx2_<code><mode>3<mask_name>): Ditto.
	(avx512er_exp2<mode><mask_name): Ditto.
	(<mask_codefor>avx512er_rcp28<mode><mask_name>): Ditto.
	(<mask_codefor>avx512er_rsqrt28<mode><mask_name>): Ditto.
	(avx512f_fmadd_<mode>_maskz): New.
	* config/i386/subst.md (SUBST_A): New.
	(round_name): Ditto.
	(round_mask_operand2): Ditto.
	(round_mask_operand3): Ditto.
	(round_mask_scalar_operand3): Ditto.
	(round_sd_mask_operand4): Ditto.
	(round_op2): Ditto.
	(round_op3): Ditto.
	(round_op4): Ditto.
	(round_op5): Ditto.
	(round_op6): Ditto.
	(round_mask_op2): Ditto.
	(round_mask_op3): Ditto.
	(round_mask_scalar_op3): Ditto.
	(round_sd_mask_op4): Ditto.
	(round_constraint): Ditto.
	(round_constraint2): Ditto.
	(round_constraint3): Ditto.
	(round_nimm_predicate): Ditto.
	(round_mode512bit_condition): Ditto.
	(round_modev4sf_condition): Ditto.
	(round_codefor): Ditto.
	(round_opnum): Ditto.
	(round): Ditto.

2013-12-26   H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59588
	* config/i386/i386.c (ix86_option_override_internal): Don't
	check generic tuning.  Don't change i686 tuning.

2013-12-26   H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59601
	* config/i386/i386.c (get_builtin_code_for_version): Map
	PROCESSOR_NEHALEM to "corei7".

2013-12-26  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>

	* config/i386/i386.c (get_builtin_code_for_version): Rename AMD
	CPU names M_AMD_BOBCAT to M_AMD_BTVER1 and M_AMD_JAGUAR
	to M_AMD_BTVER2.
	(processor_model): Likewise.
	(arch_names_table): Likewise.

2013-12-26  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/driver-i386.c (decode_caches_intel): Add missing entries.

2013-12-25   H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59587
	* config/i386/i386.c (struct ptt): Add a field for processor name.
	(processor_target_table): Sync with processor_type.
	Add processor names.
	(cpu_names): Removed.
	(ix86_option_override_internal): Default x_ix86_tune_string
	to processor_target_table[TARGET_CPU_DEFAULT].name.
	(ix86_function_specific_print): Assert arch and tune < PROCESSOR_max.
	Use processor_target_table to print arch and tune names.
	* config/i386/i386.h (TARGET_CPU_DEFAULT): Default to
	PROCESSOR_GENERIC.
	(target_cpu_default): Removed.
	(processor_type): Reordered.

2013-12-25  Allan Sandfeld Jensen  <sandfeld@kde.org>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59422
	* config/i386/i386.c (get_builtin_code_for_version): Handle
	PROCESSOR_HASWELL, PROCESSOR_SILVERMONT, PROCESSOR_BTVER1,
	PROCESSOR_BTVER2, PROCESSOR_BDVER3 and PROCESSOR_BDVER4.
	Change priority of PROCESSOR_BDVER1 to P_PROC_XOP.
	(fold_builtin_cpu): Add "ivybridge", "haswell", "bonnell",
	"silvermont", "bobcat" and "jaguar" CPU names.  Add "sse4a",
	"fma4", "xop" and "fma" ISA names.

2013-12-24   H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_option_override_internal): Check
	opts->x_ix86_arch_string instead of ix86_arch_string.

2013-12-24  Renlin Li  <Renlin.Li@arm.com>

	* config/arm/arm-protos.h (vfp_const_double_for_bits): Declare.
	* config/arm/constraints.md (Dp): Define new constraint.
	* config/arm/predicates.md (const_double_vcvt_power_of_two): Define
	new predicate.
	* config/arm/arm.c (arm_print_operand): Add print for new fucntion.
	(vfp3_const_double_for_bits): New function.
	* config/arm/vfp.md (combine_vcvtf2i): Define new instruction.

2013-12-23  Hans-Peter Nilsson  <hp@axis.com>

	PR target/59203
	* config/cris/cris.c (cris_pic_symbol_type_of): Fix typo,
	checking t1 twice instead of t1 and t2 respectively.

	PR middle-end/59584
	* config/cris/predicates.md (cris_nonsp_register_operand):
	New define_predicate.
	* config/cris/cris.md: Replace register_operand with
	cris_nonsp_register_operand for destinations in all
	define_splits where a register is set more than once.

2013-12-23  Jason Merrill  <jason@redhat.com>

	* gdbinit.in (input_line, input_filename): Define.

	* cgraph.h (struct cgraph_node): Add calls_comdat_local.
	(symtab_comdat_local_p, symtab_in_same_comdat_p): New.
	* cif-code.def: Add USES_COMDAT_LOCAL.
	* symtab.c (verify_symtab_base): Make sure we don't refer to a
	comdat-local symbol from outside its comdat.
	* cgraph.c (verify_cgraph_node): Likewise.
	* cgraphunit.c (mark_functions_to_output): Don't mark comdat-locals.
	* ipa.c (symtab_remove_unreachable_nodes): Likewise.
	(function_and_variable_visibility): Handle comdat-local fns.
	* ipa-cp.c (determine_versionability): Don't clone comdat-locals.
	* ipa-inline-analysis.c (compute_inline_parameters): Update
	calls_comdat_local.
	* ipa-inline-transform.c (inline_call): Likewise.
	(save_inline_function_body): Don't clear DECL_COMDAT_GROUP.
	* ipa-inline.c (can_inline_edge_p): Check calls_comdat_local.
	* lto-cgraph.c (input_overwrite_node): Read calls_comdat_local.
	(lto_output_node): Write it.
	* symtab.c (symtab_dissolve_same_comdat_group_list): Clear
	DECL_COMDAT_GROUP for comdat-locals.

2013-12-23   H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (processor_target_table): Move Bonnell and
	Silvermont entries before generic.

2013-12-23  Bingfeng Mei  <bmei@broadcom.com>

	PR middle-end/59569
	* tree-vect-stmts.c (vectorizable_store): Skip permutation for
	consant/external operand, and add a few missing \n.

2013-12-23   H.J. Lu  <hongjiu.lu@intel.com>
	     Tocar Ilya  <ilya.tocar@intel.com>

	* config/i386/core2.md: Replace corei7 with nehalem.

	* config/i386/driver-i386.c (host_detect_local_cpu): Use nehalem,
	westmere, sandybridge, ivybridge, haswell, bonnell, silvermont
	for cpu names.

	* config/i386/i386-c.c (ix86_target_macros_internal): Replace
	PROCESSOR_COREI7, PROCESSOR_COREI7_AVX, PROCESSOR_ATOM,
	PROCESSOR_SLM with PROCESSOR_NEHALEM, PROCESSOR_SANDYBRIDGE,
	PROCESSOR_BONNELL, PROCESSOR_SILVERMONT.  Define
	__nehalem/__nehalem__, __sandybridge/__sandybridge__,
	__haswell/__haswell__, __tune_nehalem__, __tune_sandybridge__,
	__tune_haswell__, __bonnell/__bonnell__,
	__silvermont/__silvermont__, __tune_bonnell__,
	__tune_silvermont__.

	* config/i386/i386.c (m_COREI7): Renamed to ...
	(m_NEHALEM): This.
	(m_COREI7_AVX): Renamed to ...
	(m_SANDYBRIDGE): This.
	(m_ATOM): Renamed to ...
	(m_BONNELL): This.
	(m_SLM): Renamed to ...
	(m_SILVERMONT): This.
	(m_CORE_ALL): Updated.
	(cpu_names): Add "nehalem", "westmere", "sandybridge",
	"ivybridge", "haswell", "broadwell", "bonnell", "silvermont".
	(PTA_CORE2): New.
	(PTA_NEHALEM): Likewise.
	(PTA_WESTMERE): Likewise.
	(PTA_SANDYBRIDGE): Likewise.
	(PTA_IVYBRIDGE): Likewise.
	(PTA_HASWELL): Likewise.
	(PTA_BROADWELL): Likewise.
	(PTA_BONNELL): Likewise.
	(PTA_SILVERMONT): Likewise.
	(ix86_option_override_internal): Use new PTA_XXX.  Add nehalem,
	westmere, sandybridge, ivybridge, haswell, bonnell, silvermont.
	(ix86_lea_outperforms): Updated.
	(ix86_issue_rate): Likewise.
	(ix86_adjust_cost): Likewise.
	(ia32_multipass_dfa_lookahead): Likewise.
	(do_reorder_for_imul): Likewise.
	(swap_top_of_ready_list): Likewise.
	(ix86_sched_reorder): Likewise.
	(ix86_sched_init_global): Likewise.
	(get_builtin_code_for_version): Likewise.
	(processor_model): Replace M_INTEL_ATOM, M_INTEL_SLM with
	M_INTEL_BONNELL, M_INTEL_SILVERMONT.
	(arch_names_table): Updated.

	* config/i386/i386.h (TARGET_COREI7): Removed.
	(TARGET_COREI7_AVX): Likewise.
	(TARGET_ATOM): Likewise.
	(TARGET_SLM): Likewise.
	(TARGET_NEHALEM): New.
	(TARGET_SANDYBRIDGE): Likewise.
	(TARGET_BONNELL): Likewise.
	(TARGET_SILVERMONT): Likewise.
	(target_cpu_default): Add TARGET_CPU_DEFAULT_core_avx2,
	TARGET_CPU_DEFAULT_nehalem, TARGET_CPU_DEFAULT_westmere,
	TARGET_CPU_DEFAULT_sandybridge, TARGET_CPU_DEFAULT_ivybridge,
	TARGET_CPU_DEFAULT_broadwell, TARGET_CPU_DEFAULT_bonnell,
	TARGET_CPU_DEFAULT_silvermont.  Move TARGET_CPU_DEFAULT_haswell
	before TARGET_CPU_DEFAULT_broadwell.
	(processor_type): Replace PROCESSOR_COREI7, PROCESSOR_COREI7_AVX,
	PROCESSOR_ATOM, PROCESSOR_SLM with PROCESSOR_NEHALEM,
	PROCESSOR_SANDYBRIDGE, PROCESSOR_BONNELL, PROCESSOR_SILVERMONT.

	* config/i386/i386.md (cpu): Replace corei7 with nehalem.

	* config/i386/x86-tune.def: Updated.

	* doc/invoke.texi: Replace corei7, corei7-avx, core-avx-i,
	core-avx2, atom, slm with nehalem, sandybridge, ivybridge,
	haswell, bonnel, silvermont.  Add westmere.

2013-12-23  Andrey Belevantsev  <abel@ispras.ru>

	PR rtl-optimization/57422
	* sel-sched.c (fill_vec_av_set): Assert that the fence insn
	can always be scheduled in its current form.

2013-12-23  Andrey Belevantsev  <abel@ispras.ru>

	PR rtl-optimization/57422
	* sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling
	add_to_hard_reg_set.

2013-12-20  Sharad Singhai  <singhai@google.com>

	* Makefile.in: Add optinfo.texi.
	* doc/invoke.texi: Fix typo.
	* doc/optinfo.texi: New documentation for optimization info.
	* doc/passes.texi: Add new node.

2013-12-20  Trevor saunders  <tsaunders@mozilla.com>

	* vec.h (stack_vec): Convert to a templaate specialization of
	auto_vec.
	* config/i386/i386.c, df-scan.c, function.c, genautomata.c,
	gimplify.c, graphite-clast-to-gimple.c, graphite-dependences.c,
	graphite-scop-detection.c, graphite-sese-to-poly.c, hw-doloop.c,
	trans-mem.c, tree-call-cdce.c, tree-data-ref.c, tree-dfa.c,
	tree-if-conv.c, tree-inline.c, tree-loop-distribution.c,
	tree-parloops.c, tree-predcom.c, tree-ssa-alias.c,
	tree-ssa-loop-ivcanon.c, tree-ssa-phiopt.c, tree-ssa-threadedge.c,
	tree-ssa-uncprop.c, tree-vect-loop.c, tree-vect-patterns.c,
	tree-vect-slp.c, tree-vect-stmts.c, var-tracking.c: Adjust.

2013-12-20  Eric Botcazou  <ebotcazou@adacore.com>

	* config/arm/arm.c (arm_expand_prologue): In a nested APCS frame with
	arguments to push onto the stack and no varargs, save ip into the last
	stack slot if r3 isn't available on entry.

2013-12-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/neon.ml (crypto_intrinsics): Add vceq_64 and vtst_p64.
	* config/arm/arm_neon.h: Regenerate.
	* config/arm/neon-docgen.ml: Add vceq_p64 and vtst_p64.
	* doc/arm-neon-intrinsics.texi: Regenerate.

2013-12-20  Vladimir Makarov  <vmakarov@redhat.com>

	* config/arm/arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Return
	NO_REGS for LRA.

2013-12-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm_acle.h: Add underscores before variables.

2013-12-20  Bingfeng Mei  <bmei@broadcom.com>

	PR tree-optimization/59544
	* tree-vect-stmts.c (perm_mask_for_reverse): Move before
	vectorizable_store.
	(vectorizable_store): Handle negative step.

2013-12-20  Tocar Ilya  <ilya.tocar@intel.com>

	* config.gcc: Support march=broadwell.
	* config/i386/driver-i386.c (host_detect_local_cpu): Detect Broadwell.
	* config/i386/i386.c (ix86_option_override_internal): Add broadwell.
	* doc/invoke.texi: Document march=broadwell.

2013-12-20  Jakub Jelinek  <jakub@redhat.com>

	* ubsan.c: Include tree-ssanames.h, asan.h and gimplify-me.h.
	(ubsan_type_descriptor): Handle BOOLEAN_TYPE and ENUMERAL_TYPE
	like INTEGER_TYPE.
	(instrument_bool_enum_load): New function.
	(ubsan_pass): Call it.
	(gate_ubsan): Also enable for SANITIZE_BOOL or SANITIZE_ENUM.
	* asan.c (create_cond_insert_point): No longer static.
	* asan.h (create_cond_insert_point): Declare.
	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE): New
	built-in.
	* opts.c (common_handle_option): Handle -fsanitize=bool and
	-fsanitize=enum.
	* builtins.c (fold_builtin_memory_op): When sanitizing bool
	and enum loads, don't use enum or bool types for memcpy folding.
	* flag-types.h (SANITIZE_BOOL, SANITIZE_ENUM): New.
	(SANITIZE_UNDEFINED): Or these in.

2013-12-20  Chung-Ju Wu  <jasonwucj@gmail.com>

	* config/nds32/nds32.h (NDS32_MODE_TYPE_ALIGN): New macro.
	(NDS32_AVAILABLE_REGNUM_FOR_ARG): Use more accurate alignment checking
	to determine available register number.
	* config/nds32/nds32.c (nds32_needs_double_word_align): Use new
	macro NDS32_MODE_TYPE_ALIGN.
	(nds32_function_arg): Refine code layout.

2013-12-19  Jeff Law  <law@redhat.com>

	* doc/invoke.texi: (dump-rtl-ree): Fix typo and clarify ree
	handles both zero and sign extension.

2013-12-19  Teresa Johnson  <tejohnson@google.com>

	PR gcov-profile/59542
	* bb-reorder.c (duplicate_computed_gotos): Invoke fixup_partitions
	if we have made any changes.

2013-12-19  Jakub Jelinek  <jakub@redhat.com>

	PR other/59545
	* genattrtab.c (struct attr_hash): Change hashcode type to unsigned.
	(attr_hash_add_rtx, attr_hash_add_string): Change hashcode parameter
	to unsigned.
	(attr_rtx_1): Change hashcode variable to unsigned.
	(attr_string): Likewise.  Perform first multiplication in
	unsigned type.
	* ifcvt.c (noce_try_store_flag_constants): Avoid signed integer
	overflows.
	* double-int.c (neg_double): Likewise.
	* stor-layout.c (set_min_and_max_values_for_integral_type): Likewise.
	* combine.c (force_to_mode): Likewise.
	* postreload.c (move2add_use_add2_insn, move2add_use_add3_insn,
	reload_cse_move2add, move2add_note_store): Likewise.
	* simplify-rtx.c (simplify_const_unary_operation,
	simplify_const_binary_operation): Likewise.
	* ipa-split.c (find_split_points): Initialize first.can_split
	and first.non_ssa_vars.
	* gengtype-state.c (read_state_files_list): Fix up check.
	* genautomata.c (reserv_sets_hash_value): Use portable rotation idiom.

2013-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/neon-docgen.ml: Add crypto intrinsics documentation.
	* doc/arm-neon-intrinsics.texi: Regenerate.

2013-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/neon-testgen.ml (effective_target): Handle "CRYPTO".

2013-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (enum arm_builtins): Add crypto builtins.
	(arm_init_neon_builtins): Handle crypto builtins.
	(bdesc_2arg): Likewise.
	(bdesc_1arg): Likewise.
	(bdesc_3arg): New table.
	(arm_expand_ternop_builtin): New function.
	(arm_expand_unop_builtin): Handle sha1h explicitly.
	(arm_expand_builtin): Handle ternary builtins.
	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS):
	Define __ARM_FEATURE_CRYPTO.
	* config/arm/arm.md: Include crypto.md.
	(is_neon_type): Add crypto types.
	* config/arm/arm_neon_builtins.def: Add TImode reinterprets.
	* config/arm/crypto.def: New.
	* config/arm/crypto.md: Likewise.
	* config/arm/iterators.md (CRYPTO_UNARY): New int iterator.
	(CRYPTO_BINARY): Likewise.
	(CRYPTO_TERNARY): Likewise.
	(CRYPTO_SELECTING): Likewise.
	(crypto_pattern): New int attribute.
	(crypto_size_sfx): Likewise.
	(crypto_mode): Likewise.
	(crypto_type): Likewise.
	* config/arm/neon-gen.ml: Handle poly64_t and poly128_t types.
	Handle crypto intrinsics.
	* config/arm/neon.ml: Add support for poly64 and polt128 types
	and intrinsics. Define crypto intrinsics.
	* config/arm/neon.md (neon_vreinterpretti<mode>): New pattern.
	(neon_vreinterpretv16qi<mode>): Use VQXMOV mode iterator.
	(neon_vreinterpretv8hi<mode>): Likewise.
	(neon_vreinterpretv4si<mode>): Likewise.
	(neon_vreinterpretv4sf<mode>): Likewise.
	(neon_vreinterpretv2di<mode>): Likewise.
	* config/arm/unspecs.md (UNSPEC_AESD, UNSPEC_AESE, UNSPEC_AESIMC)
	(UNSPEC_AESMC, UNSPEC_SHA1C, UNSPEC_SHA1M, UNSPEC_SHA1P, UNSPEC_SHA1H)
	(UNSPEC_SHA1SU0, UNSPEC_SHA1SU1, UNSPEC_SHA256H, UNSPEC_SHA256H2)
	(UNSPEC_SHA256SU0, UNSPEC_SHA256SU1, VMULLP64): Define.
	* config/arm/arm_neon.h: Regenerate.

2013-12-19  H.J. Lu  <hongjiu.lu@intel.com>

	PR driver/59321
	* collect2.c (main): Check -fuse-ld=[bfd|gold] when
	DEFAULT_LINKER is defined.
	* common.opt (fuse-ld=bfd): Add Driver.
	(fuse-ld=gold): Likewise.
	* gcc.c (use_ld): New variable.
	(driver_handle_option): Set use_ld for OPT_fuse_ld_bfd and
	OPT_fuse_ld_gold.
	(main): Check -fuse-ld=[bfd|gold] for -print-prog-name=ld.

2013-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* Makefile.in (TEXI_GCC_FILES): Add arm-acle-intrinsics.texi.
	* config.gcc (extra_headers): Add arm_acle.h.
	* config/arm/arm.c (FL_CRC32): Define.
	(arm_have_crc): Likewise.
	(arm_option_override): Set arm_have_crc.
	(arm_builtins): Add CRC32 builtins.
	(bdesc_2arg): Likewise.
	(arm_init_crc32_builtins): New function.
	(arm_init_builtins): Initialise CRC32 builtins.
	(arm_file_start): Handle architecture extensions.
	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define
	__ARM_FEATURE_CRC32.  Define __ARM_32BIT_STATE.
	(TARGET_CRC32): Define.
	* config/arm/arm-arches.def: Add armv8-a+crc.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm.md (type): Add crc.
	(<crc_variant>): New insn.
	* config/arm/arm_acle.h: New file.
	* config/arm/iterators.md (CRC): New int iterator.
	(crc_variant, crc_mode): New int attributes.
	* confg/arm/unspecs.md (UNSPEC_CRC32B, UNSPEC_CRC32H, UNSPEC_CRC32W,
	UNSPEC_CRC32CB, UNSPEC_CRC32CH, UNSPEC_CRC32CW): New unspecs.
	* doc/invoke.texi: Document -march=armv8-a+crc option.
	* doc/extend.texi: Document ACLE intrinsics.

2013-12-19  Charles Baylis  <charles.baylis@linaro.org>

	PR target/59142
	* config/arm/arm-ldmstm.ml: Use low_register_operand for Thumb
	patterns.
	* config/arm/ldmstm.md: Regenerate.

2013-12-19  Charles Baylis  <charles.baylis@linaro.org>

	PR target/59142
	* config/arm/predicates.md (arm_hard_general_register_operand):
	New predicate.
	(arm_hard_register_operand): Remove.
	* config/arm/arm-ldmstm.ml: Use arm_hard_general_register_operand
	for all patterns.
	* config/arm/ldmstm.md: Regenerate.

2013-12-19  Charles Baylis  <charles.baylis@linaro.org>

	PR target/59142
	* config/arm/predicates.md (vfp_hard_register_operand): New predicate.
	* config/arm/arm.md (vfp_pop_multiple_with_writeback): Use
	vfp_hard_register_operand.

2013-12-19  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
	Define builtin types for poly64_t poly128_t.
	(TYPES_BINOPP, aarch64_types_binopp_qualifiers): New.
	* aarch64/aarch64-simd-builtins.def: Update builtins table.
	* config/aarch64/aarch64-simd.md (aarch64_crypto_pmulldi,
	aarch64_crypto_pmullv2di): New.
	* config/aarch64/aarch64.c (aarch64_simd_mangle_map): Update table for
	poly64x2_t mangler.
	* config/aarch64/arm_neon.h (poly64x2_t, poly64_t, poly128_t): Define.
	(vmull_p64, vmull_high_p64): New.
	* config/aarch64/iterators.md (UNSPEC_PMULL<2>): New.

2013-12-19  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-simd-builtins.def: Update builtins table.
	* config/aarch64/aarch64-simd.md
	(aarch64_crypto_sha256h<sha256_op>v4si, aarch64_crypto_sha256su0v4si,
	aarch64_crypto_sha256su1v4si): New.
	* config/aarch64/arm_neon.h (vsha256hq_u32, vsha256h2q_u32,
	vsha256su0q_u32, vsha256su1q_u32): New.
	* config/aarch64/iterators.md (UNSPEC_SHA256H<2>, UNSPEC_SHA256SU<01>):
	New.
	(CRYPTO_SHA256): New int iterator.
	(sha256_op): New int attribute.

2013-12-19  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-simd-builtins.def: Update builtins table.
	* config/aarch64/aarch64-builtins.c (aarch64_types_ternopu_qualifiers,
	TYPES_TERNOPU): New.
	* config/aarch64/aarch64-simd.md (aarch64_crypto_sha1hsi,
	aarch64_crypto_sha1su1v4si, aarch64_crypto_sha1<sha1_op>v4si,
	aarch64_crypto_sha1su0v4si): New.
	* config/aarch64/arm_neon.h (vsha1cq_u32, sha1mq_u32, vsha1pq_u32,
	vsha1h_u32, vsha1su0q_u32, vsha1su1q_u32): New.
	* config/aarch64/iterators.md (UNSPEC_SHA1<CPMH>, UNSPEC_SHA1SU<01>):
	New.
	(CRYPTO_SHA1): New int iterator.
	(sha1_op): New int attribute.

2013-12-19  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-simd-builtins.def: Update builtins table.
	* config/aarch64/aarch64-builtins.c (aarch64_types_binopu_qualifiers,
	TYPES_BINOPU): New.
	* config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi,
	aarch64_crypto_aes<aesmc_op>v16qi): New.
	* config/aarch64/arm_neon.h (vaeseq_u8, vaesdq_u8, vaesmcq_u8,
	vaesimcq_u8): New.
	* config/aarch64/iterators.md (UNSPEC_AESE, UNSPEC_AESD, UNSPEC_AESMC,
	UNSPEC_AESIMC): New.
	(CRYPTO_AES, CRYPTO_AESMC): New int iterators.
	(aes_op, aesmc_op): New int attributes.

2013-12-19  Tejas Belagod  <tejas.belagod@arm.com>

	* config/arm/types.md (neon_mul_d_long, crypto_aes, crypto_sha1_xor,
	crypto_sha1_fast, crypto_sha1_slow, crypto_sha256_fast,
	crypto_sha256_slow): New.

2013-12-19  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64.h (TARGET_CRYPTO): New.
	(__ARM_FEATURE_CRYPTO): Define if TARGET_CRYPTO is true.

2013-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>
	    Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default): New
	constant.
	(s390_hotpatch_trampoline_halfwords_max): New constant.
	(s390_hotpatch_trampoline_halfwords): New static variable.
	(get_hotpatch_attribute): New function.
	(s390_handle_hotpatch_attribute): New function.
	(s390_attribute_table): New target specific attribute table to
	implement the hotpatch attribute.
	(s390_option_override): Parse hotpatch options.
	(s390_function_num_hotpatch_trampoline_halfwords): New function.
	(s390_can_inline_p): Implement target hook to
	suppress hotpatching for explicitly inlined functions.
	(s390_asm_output_function_label): Generate hotpatch prologue.
	(TARGET_ATTRIBUTE_TABLE): Define to implement target attribute table.
	(TARGET_CAN_INLINE_P): Define to implement target hook.
	* config/s390/s390.opt (mhotpatch): New options -mhotpatch,
	-mhotpatch=.
	* config/s390/s390-protos.h (s390_asm_output_function_label): Add
	prototype.
	* config/s390/s390.h (ASM_OUTPUT_FUNCTION_LABEL): Target specific
	function label generation for hotpatching.
	(FUNCTION_BOUNDARY): Align functions to eight bytes.
	* doc/extend.texi: Document hotpatch attribute.
	* doc/invoke.texi: Document -mhotpatch option.

2013-12-19  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>

	* config/i386/i386.c: Include cfgloop.h.
	(ix86_loop_memcount): New function.
	(ix86_loop_unroll_adjust): New function.
	(TARGET_LOOP_UNROLL_ADJUST): Define.
	* config/i386/i386.h
	(TARGET_ADJUST_UNROLL): Define.
	* config/i386/x86-tune.def
	(X86_TUNE_ADJUST_UNROLL): Define.

2013-12-19  Marek Polacek  <polacek@redhat.com>

	* config/i386/i386.c (ix86_parse_stringop_strategy_string): Remove
	variable alg.  Use index variable i directly.

2013-12-19  Eric Botcazou  <ebotcazou@adacore.com>

	* print-tree.c (print_node) <case tcc_type>: Print no_force_blk_flag
	for all types.

2013-12-19  Monk Chiang  <sh.chiang04@gmail.com>

	* common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
	Consider TARGET_CPU_DEFAULT settings.

2013-12-18  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-cores.def: Add support for
	-mcpu=cortex-a57.cortex-a53.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* doc/invoke.texi: Document -mcpu=cortex-a57.cortex-a53.

2013-12-18  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-cores.def: Add new column for SCHEDULER_IDENT.
	* config/aarch64/aarch64-opts.h (AARCH64_CORE): Handle SCHEDULER_IDENT.
	* config/aarch64/aarch64.c (AARCH64_CORE): Handle SCHEDULER_IDENT.
	(aarch64_parse_cpu): mcpu implies a default value for mtune.
	* config/aarch64/aarch64.h (AARCH64_CORE): Handle SCHEDULER_IDENT.

2013-12-18  James Greenhalgh  <james.greenhalgh@arm.com>

	* common/config/aarch64/aarch64-common.c
	(aarch64_rewrite_selected_cpu): New.
	(aarch64_rewrite_mcpu): New.
	* config/aarch64/aarch64-protos.h
	(aarch64_rewrite_selected_cpu): New.
	* config/aarch64/aarch64.h (BIG_LITTLE_SPEC): New.
	(BIG_LITTLE_SPEC_FUNCTIONS): Likewise.
	(ASM_CPU_SPEC): Likewise.
	(EXTRA_SPEC_FUNCTIONS): Likewise.
	(EXTRA_SPECS): Likewise.
	(ASM_SPEC): Likewise.
	* config/aarch64/aarch64.c (aarch64_start_file): Rewrite target
	CPU name.

2013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* omp-low.c (simd_clone_clauses_extract): Replaced the string
	"cilk simd elemental" with "cilk simd function."
	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
	Removed a carriage-return from a warning string.

2013-12-18  Aldy Hernandez  <aldyh@redhat.com>

	* passes.c (execute_function_dump): Set graph_dump_initialized
	appropriately.
	(pass_init_dump_file): Similarly.
	(execute_one_pass): Pass new argument to do_per_function.
	* tree-pass.h (class opt_pass): New field graph_dump_initialized.

2013-12-18  Aldy Hernandez  <aldyh@redhat.com>

	* doc/tree-ssa.texi (SSA Operands): Remove reference to
	SSA_OP_VMAYUSE.
	Synchronize SSA_OP* definitions with source.
	* ssa-iterators.h: Fix comment for FOR_EACH_IMM_USE_STMT.
	Add not to SSA_OP* macro definitions.

2013-12-18  Jakub Jelinek  <jakub@redhat.com>

	PR target/59539
	* config/i386/sse.md
	(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
	<sse2_avx_avx512f>_loaddqu<mode><mask_name>): New expanders,
	prefix existing define_insn names with *.

2013-12-18  Eric Botcazou  <ebotcazou@adacore.com>

	* config/arm/arm.c (arm_expand_epilogue_apcs_frame): Fix thinko.

2013-12-18  James Greenhalgh  <james.greenhalgh@arm.com>
	    Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/t-aprofile: Add cortex-a15.cortex-a7, cortex-a12,
	cortex-a57, cortex-a57.cortex-a53.

2013-12-18  Eric Botcazou  <ebotcazou@adacore.com>

	PR debug/59418
	* dwarf2cfi.c (dwarf2out_frame_debug_cfa_offset): Fix comment and tidy.
	(dwarf2out_frame_debug_cfa_restore): Handle TARGET_DWARF_REGISTER_SPAN.
	(dwarf2out_frame_debug_expr): Tidy.

2013-12-18  Alexander Ivchenko  <alexander.ivchenko@intel.com>
	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
	    Sergey Lega  <sergey.s.lega@intel.com>
	    Anna Tikhonova  <anna.tikhonova@intel.com>
	    Ilya Tocar  <ilya.tocar@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* config/i386/sse.md (*fma_fmadd_<mode>): Extend to support masking.
	(*fma_fmsub_<mode>): Ditto.
	(*fma_fnmadd_<mode>): Ditto.
	(*fma_fnmsub_<mode>): Ditto.
	(*fma_fmaddsub_<mode>): Ditto.
	(*fma_fmsubadd_<mode>): Ditto.
	(avx512f_vternlog<mode>): Ditto.
	(avx512f_fixupimm<mode>): Ditto.
	(avx512f_sfixupimm<mode>): Ditto.
	(avx512f_vpermi2var<mode>3): Ditto.
	(avx512f_vpermt2var<mode>3): Ditto.
	(avx512f_fmaddsub_<mode>_maskz): New.
	(avx512f_vternlog<mode>_maskz): Ditto.
	(avx512f_fixupimm<mode>_maskz): Ditto.
	(avx512f_sfixupimm<mode>_maskz): Ditto.
	(avx512f_vpermi2var<mode>3_maskz): Ditto.
	(avx512f_vpermt2var<mode>3_maskz): Ditto.
	(avx512f_expand<mode>_maskz): Ditto.
	* config/i386/subst.md (sd_maskz_name): Ditto.
	(sd_mask_op4): Ditto.
	(sd_mask_op5): Ditto.
	(sd_mask_codefor): Ditto.
	(sd_mask_mode512bit_condition): Ditto.
	(sd): Ditto.

2013-12-18  Alexander Ivchenko  <alexander.ivchenko@intel.com>
	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
	    Sergey Lega  <sergey.s.lega@intel.com>
	    Anna Tikhonova  <anna.tikhonova@intel.com>
	    Ilya Tocar  <ilya.tocar@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* config/i386/sse.md (avx512f_cmp<mode>3): Extend to support masking.
	(avx512f_ucmp<mode>3): Ditto.
	(avx512f_eq<mode>3): Ditto.
	(avx512f_gt<mode>3): Ditto.
	(avx512f_testm<mode>3): Ditto.
	(avx512f_testnm<mode>3): Ditto.
	* config/i386/subst.md (SUBST_S): New.
	(mask_scalar_merge_name): Ditto.
	(mask_scalar_merge_operand3): Ditto.
	(mask_scalar_merge_operand4): Ditto.
	(mask_scalar_merge): Ditto.

2013-12-17  Jan Hubicka  <hubicka@ucw.cz>

	PR middle-end/35545
	* gimple-fold.c (fold_gimple_assign): Attempt to devirtualize
	OBJ_TYPE_REF.
	(gimple_fold_stmt_to_constant_1): Bypass OBJ_TYPE_REF wrappers.

2013-12-17  Jan Hubicka  <hubicka@ucw.cz>

	PR middle-end/35545
	* tree-vrp.c (extract_range_from_unary_expr_1): Handle OBJ_TYPE_REF.

2013-12-17  Teresa Johnson  <tejohnson@google.com>

	PR gcov-profile/59527
	* cfgrtl.c (fixup_reorder_chain): Handle a region-crossing
	branch, which can't be eliminated.

2013-12-18  Martin Liska  <marxin.liska@gmail.com>
	    Jan Hubicka  <jh@suse.cz>

	* cgraphunit.c (node_cmp): New function.
	(expand_all_functions): Function ordering added.
	* common.opt: New profile based function reordering flag introduced.
	* lto-partition.c: Support for time profile added.
	* lto.c: Likewise.
	* predict.c (handle_missing_profiles): Time profile handled in
	  missing profiles.

2013-12-17  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/59523
	* tree-vectorizer.c (fold_loop_vectorized_call): Call update_stmt
	on updated stmts.

2013-12-17  Aldy Hernandez  <aldyh@redhat.com>

	* ipa-inline.c (gate_ipa_inline): Remove.
	(const pass_data pass_data_ipa_inline): Unset has_gate.
	(class pass_ipa_inline): Remove gate() method.

2013-12-17  Jan Hubicka  <hubicka@ucw.cz>

	* ipa-devirt.c (get_polymorphic_call_info): Fix offset calculatoin
	in contains_type_p query.

2013-12-17  Thomas Schwinge  <thomas@codesourcery.com>

	* omp-low.c (tmp_ompfn_id_num): Remove leftover variable definition.

	* tree-pass.h (make_pass_expand_omp_ssa): Remove leftover function
	declaration.

	* omp-low.c: Remove leftover comment.

	* omp-low.c (check_combined_parallel): Reflect reality in comment.

	* doc/cfg.texi (Control Flow): Refer to passes.def instead of passes.c.
	* doc/passes.texi (Pass manager): Refer to passes.def.

	* doc/gccint.texi (Top): Fix inclusion order.

2013-12-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm-cores.def (cortex-a12): Use cortexa15 scheduling.
	* config/arm/arm.c (arm_issue_rate): Handle cortexa12.
	* config/arm/arm.md (generic_vfp): Remove cortexa12.

2013-12-17  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/arm/arm-cores.def (cortex-a57.cortex-a53): New.
	* doc/invoke.texi: Document -mcpu=cortex-a57.cortex-a53.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/bpabi.h
	(BE8_LINK_SPEC): Handle -mcpu=cortex-a57.cortex-a53.

2013-12-17  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/arm/arm-cores.def (cortex-a57): New.
	* doc/invoke.texi: Document -mcpu=cortex-a57.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/bpabi.h (BE8_LINK_SPEC): Handle -mcpu=cortex-a57.

2013-12-17  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/arm/arm-cores.def (cortex-a15.cortex-a7): New.
	* doc/invoke.texi: Document -mcpu=cortex-a15.cortex-a7.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/bpabi.h
	(BE8_LINK_SPEC): Handle -mcpu=cortex-a5.cortex-a7.

2013-12-17  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/arm/arm-cores.def: Add new column for TUNE_IDENT.
	* config/arm/genopt.sh: Improve layout.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm-opts.h (ARM_CORE): Modify macro for TUNE_IDENT.
	* config/arm/arm.c (ARM_CORE): Modify macro for TUNE_IDENT.
	(arm_option_override): When a CPU is chosen, that should also
	form the tune target.
	* config/arm/arm.h (ARM_CORE): Modify macro for TUNE_IDENT.

2013-12-17  James Greenhalgh  <james.greenhalgh@arm.com>

	* common/config/arm/arm-common.c (arm_rewrite_selected_cpu): New.
	(arm_rewrite_mcpu): Likewise.
	* config/arm/arm-protos.h (arm_rewrite_selected_cpu): New.
	* config/arm/arm.h (BIG_LITTLE_SPEC): New.
	(BIG_LITTLE_SPEC_FUNCTIONS): Likewise.
	(EXTRA_SPEC_FUNCTIONS): Include BIG_LITTLE_SPEC_FUNCTIONS.
	(ASM_CPU_SPEC): Include BIG_LITTLE_SPEC.
	* config/arm/arm.c (arm_file_start): Rewrite arm_selecetd_cpu values.

2013-12-17  Eric Botcazou  <ebotcazou@adacore.com>

	* expmed.c (lowpart_bit_field_p): Fix comment.
	(store_bit_field_using_insv): Fix formatting.
	(store_bit_field): Likewise.
	(store_fixed_bit_field): More declaration and remove return.
	(store_fixed_bit_field_1): Fix formatting.
	(extract_fixed_bit_field): Move declaration.
	(extract_fixed_bit_field_1): Simplify.

2013-12-17  Jan Hubicka  <hubicka@ucw.cz>

	* ipa-utils.h (possible_polymorphic_call_targets): Determine
	context of the call.
	* gimple-fold.c (gimple_fold_call): Use ipa-devirt to devirtualize.

2013-12-17  Jakub Jelinek  <jakub@redhat.com>

	* expr.c (convert_modes): For SUBREG_PROMOTED_VAR_P use SUBREG_REG (x)
	instead of x as last gen_lowpart argument.

2013-12-16  Jakub Jelinek  <jakub@redhat.com>

	* predict.h (PROB_LIKELY): Fix the value.
	* internal-fn.c (ubsan_expand_si_overflow_mul_check): Add support
	for overflow checking for modes without 2xwider supported mode,
	if the mode has 2xnarrower mode.

	* internal-fn.c: Include stringpool.h and tree-ssanames.h.
	(ubsan_expand_si_overflow_addsub_check): In the generic expansion,
	try to improve generated code if one of the arguments is constant
	or get_range_info says that one of the argument is always
	negative or always non-negative.
	* tree-vrp.c (simplify_internal_call_using_ranges): New function.
	(simplify_stmt_using_ranges): Call it.

2013-12-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/59466
	* emit-rtl.c (change_address_1): Don't validate address for LRA.
	* recog.c (general_operand): Accept any memory for LRA.
	* lra.c (lra_set_insn_recog_data): Add an assert.

2013-12-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/driver-arm.c (arm_cpu_table): Add cortex-a12 entry.

2013-12-14  Jan Hubicka  <jh@suse.cz>
	    Markus Trippelsdorf  <octoploid@yandex.com>

	PR ipa/59265
	* ipa-profile.c (ipa_profile_generate_summary): Do not ICE when
	call is already devirtualized.

2013-12-16  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.in (version.o): Restore dependencies on
	$(REVISION), $(DATESTAMP), $(BASEVER) and $(DEVPHASE).

2013-12-14  Jan Hubicka  <jh@suse.cz>

	PR ipa/59473
	* ipa-devirt.c (get_class_context): Do not ICE when type is found
	at wrong offset.

2013-12-16  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/58756
	* omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_REDUCTION>: For
	reductions without placeholder if is_simd, but when not using
	GOMP_SIMD* internal calls, also perform the reduction operation
	on the outer var rather than simple assignment.

2013-12-16  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/58956
	PR middle-end/59470
	* gimple-walk.h (walk_stmt_load_store_addr_fn): New typedef.
	(walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Use it
	for callback params.
	* gimple-walk.c (walk_stmt_load_store_ops): Likewise.
	(walk_stmt_load_store_addr_ops): Likewise.  Adjust all callback
	calls to supply the gimple operand containing the base tree
	as an extra argument.
	* tree-ssa-ter.c: Include gimple-walk.h.
	(find_ssaname, find_ssaname_in_store): New helper functions.
	(find_replaceable_in_bb): For calls or GIMPLE_ASM, only set
	same_root_var if USE is used somewhere in the stores of the stmt.
	* ipa-prop.c (visit_ref_for_mod_analysis): Remove name of the stmt
	argument and ATTRIBUTE_UNUSED, add another unnamed tree argument.
	* ipa-pure-const.c (check_load, check_store, check_ipa_load,
	check_ipa_store): Likewise.
	* gimple.c (gimple_ior_addresses_taken_1, check_loadstore): Likewise.
	* ipa-split.c (test_nonssa_use, mark_nonssa_use): Likewise.
	(verify_non_ssa_vars, visit_bb): Adjust their callers.
	* cfgexpand.c (add_scope_conflicts_1): Use
	walk_stmt_load_store_addr_fn type for visit variable.
	(visit_op, visit_conflict): Remove name of the stmt
	argument and ATTRIBUTE_UNUSED, add another unnamed tree argument.
	* tree-sra.c (asm_visit_addr): Likewise.  Remove name of the data
	argument and ATTRIBUTE_UNUSED.
	* cgraphbuild.c (mark_address, mark_load, mark_store): Add another
	unnamed tree argument.
	* gimple-ssa-isolate-paths.c (check_loadstore): Likewise.  Remove
	ATTRIBUTE_UNUSED from stmt parameter.

2013-12-16  Chung-Lin Tang  <cltang@codesourcery.com>

	* opts-common.c (integral_argument): Add support for
	hexadecimal command option integer arguments. Update comments.

2013-12-14   Jan Hubicka  <jh@suse.cz>

	PR ipa/59265
	* ipa-prop.c (ipa_analyze_call_uses): Skip already
	devirtualized calls.

2013-12-14   Jan Hubicka  <jh@suse.cz>

	PR middle-end/58477
	* ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.

2013-12-14   Jan Hubicka  <jh@suse.cz>

	PR middle-end/58477
	* cgraphclones.c (cgraph_clone_edge): Do not resolve speculative edges.

2013-12-14   H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59492
	* config/i386/i386.c (ix86_function_specific_restore): Don't
	change -fPIC.

2013-12-14  Eric Botcazou  <ebotcazou@adacore.com>

	* var-tracking.c (add_stores): Fix oversight in latest commit.

2013-12-14  Marek Polacek  <polacek@redhat.com>

	PR sanitizer/59503
	* internal-fn.c (ubsan_expand_si_overflow_addsub_check): Call
	expand_binop with correct optab depending on code.

2013-12-14  Tom de Vries  <tom@codesourcery.com>

	* calls.c (expand_call): Fix REG_PARM_STACK_SPACE comparison.

2013-12-13  DJ Delorie  <dj@redhat.com>

	* config/rl78/rl78-expand.md (one_cmplqi2): Make constant signed.

	* config/msp430/msp430.md (movqi): replace general_operand with
	msp_general_operand and nonimmediate_operand with
	msp_nonimmediate_operand to allow volatile operands.
	(movhi): Likewise.
	(movpsi): Likewise.
	(addpsi3): Likewise.
	(addhi3): Likewise.
	(addhi3_cy): Likewise.
	(addchi4_cy): Likewise.
	(xor<mode>3): Likewise.
	(ome_cmpl<mode>2): Likewise.
	(extendqihi2): Likewise.
	(zero_extendqihi2): Likewise.
	(zero_extendhipsi2): Likewise.
	(truncpsihi2): Likewise.
	(srai_1): Likewise.

2013-12-13  Vladimir Makarov  <vmakarov@redhat.com>

	* ira.h (struct ira_reg_equiv): Rename to ira_reg_equiv_s.
	* ira.c: Ditto.
	* lra-int.h (lra_init_equiv): New prototype.
	* lra-constraints.c (lra_init_equiv, update_equiv): New functions.
	(loc_equivalence_callback): Use the 3rd arg.
	(lra_constraints): Update equivalences.  Pass curr_insn to
	simplify_replace_fn_rtx.
	* lra.c (lra): Call lra_init_equiv.

2013-12-13  Kenneth Zadeck  <zadeck@naturalbridge.com>

	* genmodes.c (emit_max_int): Fixed missing parens.

2013-12-13  Aldy Hernandez  <aldyh@redhat.com>

	PR tree-optimization/59149
	* calls.c (flags_from_decl_or_type): Fail on non decl or type.
	* trans-mem.c (diagnose_tm_1): Do not call flags_from_decl_or_type
	if no type or decl.

2013-12-13  Kenneth Zadeck  <zadeck@naturalbridge.com>

	* config/arc/arc.h (BITS_PER_UNIT): Removed.
	* config/bfin/bfin.h (BITS_PER_UNIT): Removed.
	* config/lm32/lm32.h (BITS_PER_UNIT): Removed.
	* config/m32c/m32c.h (BITS_PER_UNIT): Removed.
	* config/microblaze/microblaze.h (BITS_PER_UNIT): Removed.
	* config/picochip/picochip.h (BITS_PER_UNIT): Removed.
	* config/spu/spu.h (BITS_PER_UNIT): Removed.
	* defaults.h (BITS_PER_UNIT): Removed.
	* config/i386/i386-modes.def (MAX_BITSIZE_MODE_ANY_INT): New.
	* doc/rtl (BITS_PER_UNIT): Moved from tm.texi.
	(MAX_BITSIZE_MODE_ANY_INT): Updated.
	* doc/tm.texi (BITS_PER_UNIT): Removed.
	* doc/tm.texi.in (BITS_PER_UNIT): Removed.
	* genmodes.c (bits_per_unit, max_bitsize_mode_any_int): New.
	(create_modes): Added code to set bits_per_unit and
	max_bitsize_mode_any_int.
	(emit_max_int): Changed code generation.
	* mkconfig.sh: Added insn-modes.h.

2013-12-13  Jeff Law  <law@redhat.com>

	PR tree-optimization/45685
	* tree-ssa-phiopt.c (neg_replacement): New function.
	(tree_ssa_phiopt_worker): Call it.

2013-12-13  Yuri Rumyantsev  <ysrumyan@gmail.com>

	* config/i386/i386.c (slm_cost): Fix imul cost for HI.

2013-12-13  Bin Cheng  <bin.cheng@arm.com>

	PR tree-optimization/58296
	PR tree-optimization/41488
	* tree-scalar-evolution.c: Include necessary header files.
	(simplify_peeled_chrec): New function.
	(analyze_evolution_in_loop): New static variable.
	Call simplify_peeled_chrec.
	* tree-ssa-loop-ivopts.c (mark_bivs): Don't mark peeled IV as biv.
	(add_old_iv_candidates): Don't add candidate for peeled IV.
	* tree-affine.h (aff_combination_zero_p): New function.

2013-12-13  Nick Clifton  <nickc@redhat.com>

	* config/msp430/msp430.c (is_wakeup_func): New function.  Returns
	true if the current function has the wakeup attribute.
	(msp430_start_function): Note if the function has the wakeup
	attribute.
	(msp430_attribute_table): Add wakeup attribute.
	(msp430_expand_epilogue): Add support for wakeup functions.
	* config/msp430/msp430.md (disable_interrupts): Emit a NOP after
	the DINT instruction.
	* doc/extend.texi: Document the wakeup attribute.

2013-12-13  Kai Tietz  <kitetz@redhat.com>

	PR c++/57897
	* config/i386/i386.c (ix86_option_override_internal): Set for
	x64 target flag_unwind_tables, if flag_asynchronous_unwind_tables
	was explicit set.

2013-12-12  Jeff Law  <law@redhat.com>

	* i386.md (simple LEA peephole2): Add missing mode to zero_extend
	for zero-extended MULT simple LEA pattern.

2013-12-12  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/59470
	* lra-coalesce.c (lra_coalesce): Invalidate inheritance pseudo
	values if necessary.

2013-12-12  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/59467
	* gimplify.c (omp_check_private): Add copyprivate argument, if it
	is true, don't check omp_privatize_by_reference.
	(gimplify_scan_omp_clauses): For OMP_CLAUSE_COPYPRIVATE verify
	decl is private in outer context.  Adjust omp_check_private caller.

2013-12-11  Jeff Law  <law@redhat.com>

	PR rtl-optimization/59446
	* tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
	test for crossing a loop header.

2013-12-11  Sriraman Tallam  <tmsriram@google.com>

	PR target/59390
	* config/i386/i386.c (get_builtin): New function.
	(ix86_builtin_vectorized_function): Replace all instances of
	ix86_builtins[...] with get_builtin(...).
	(ix86_builtin_reciprocal): Ditto.

2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* langhooks.h (lang_hooks_for_decls): Remove lang_hooks_for_cilkplus.
	(lang_hooks_for_cilkplus): Remove.
	* langhooks.c (lhd_cilk_detect_spawn): Likewise.
	(lhd_install_body_with_frame_cleanup): Likewise.
	* langhooks-def.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
	(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
	(LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
	(LANG_HOOKS_CILKPLUS): Likewise.
	(LANG_HOOKS_DECLS): Remove LANG_HOOKS_CILKPLUS.
	* gimplify.c (gimplify_expr): Removed CILK_SPAWN_STMT case.
	(gimplify_modify_expr): Removed handling of _Cilk_spawn in expr.
	(gimplify_call_expr): Likewise.

2013-12-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* expr.c (expand_assignment): Remove dependency on
	flag_strict_volatile_bitfields.  Always set the memory access mode.
	(expand_expr_real_1): Likewise.

2013-12-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	PR middle-end/59134
	* expmed.c (store_bit_field): Use narrow_bit_field_mem and
	store_fixed_bit_field_1 for -fstrict-volatile-bitfields.
	(store_fixed_bit_field): Split up.  Call store_fixed_bit_field_1
	to do the real work.
	(store_fixed_bit_field_1): New function.
	(store_split_bit_field): Limit the unit size to the memory mode size,
	to prevent recursion.

2013-12-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
	    Sandra Loosemore  <sandra@codesourcery.com>

	PR middle-end/23623
	PR middle-end/48784
	PR middle-end/56341
	PR middle-end/56997
	* expmed.c (strict_volatile_bitfield_p): Add bitregion_start
	and bitregion_end parameters.  Test for compliance with C++
	memory model.
	(store_bit_field): Adjust call to strict_volatile_bitfield_p.
	Add fallback logic for cases where -fstrict-volatile-bitfields
	is supposed to apply, but cannot.
	(extract_bit_field): Likewise. Use narrow_bit_field_mem and
	extract_fixed_bit_field_1 to do the extraction.
	(extract_fixed_bit_field): Revert to previous mode selection algorithm.
	Call extract_fixed_bit_field_1 to do the real work.
	(extract_fixed_bit_field_1): New function.

2013-12-11  Sandra Loosemore  <sandra@codesourcery.com>

	PR middle-end/23623
	PR middle-end/48784
	PR middle-end/56341
	PR middle-end/56997
	* expmed.c (strict_volatile_bitfield_p): New function.
	(store_bit_field_1): Don't special-case strict volatile
	bitfields here.
	(store_bit_field): Handle strict volatile bitfields here instead.
	(store_fixed_bit_field): Don't special-case strict volatile
	bitfields here.
	(extract_bit_field_1): Don't special-case strict volatile
	bitfields here.
	(extract_bit_field): Handle strict volatile bitfields here instead.
	(extract_fixed_bit_field): Don't special-case strict volatile
	bitfields here.  Simplify surrounding code to resemble that in
	store_fixed_bit_field.
	* doc/invoke.texi (Code Gen Options): Update
	-fstrict-volatile-bitfields description.

2013-12-11  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* configure.ac: Add check for aarch64 assembler -mabi support.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/aarch64/aarch64-elf.h (ASM_MABI_SPEC): New define.
	(ASM_SPEC): Update to substitute -mabi with ASM_MABI_SPEC.
	* config/aarch64/aarch64.h (aarch64_override_options): Issue error
	if assembler does not support -mabi and option ilp32 is selected.
	* doc/install.texi: Added note that building gcc 4.9 and after
	with pre 2.24 binutils will not support -mabi=ilp32.

2013-12-11  Marek Polacek  <polacek@redhat.com>

	PR sanitizer/59399
	* expr.c (expand_expr_real_1): Remove assert dealing with
	internal calls and turn that into a condition instead.

2013-12-11  Yvan Roux  <yvan.roux@linaro.org>

	* config/arm/arm.opt (mlra): Enable LRA by default.

2013-12-11  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/59417
	* tree-ssa-copy.c (fini_copy_prop): If copy_of[i].value is defined
	in a different bb rhan var, only duplicate points-to info and
	not alignment info and don't duplicate range info.
	* tree-ssa-loop-niter.c (determine_value_range): Instead of
	assertion failure handle inconsistencies in range info by only
	using var's range info and not PHI result range infos.

	PR tree-optimization/59386
	* tree-inline.c (remap_gimple_stmt): If not id->do_not_unshare,
	unshare_expr (id->retval) before passing it to gimple_build_assign.

2013-12-11  Bin Cheng  <bin.cheng@arm.com>

	Reverted:
	2013-12-10  Bin Cheng  <bin.cheng@arm.com>
	PR tree-optimization/41488
	* tree-ssa-loop-ivopts.c (add_old_iv_candidates): Don't add cand
	for PEELED_CHREC kind IV.
	* tree-scalar-evolution.c: Include necessary header files.
	(peeled_chrec_map, simplify_peeled_chrec): New.
	(analyze_evolution_in_loop): New static variable.
	Call simplify_peeled_chrec.
	(scev_initialize): Initialize peeled_chrec_map.
	(scev_reset, scev_finalize): Reset and release peeled_chrec_map.

2013-12-10   H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59458
	* config/i386/i386.md (*movsf_internal): Set mode to SI for
	alternative 13.

2013-12-10  Eric Botcazou  <ebotcazou@adacore.com>

	PR rtl-optimization/58295
	* simplify-rtx.c (simplify_truncation): Restrict the distribution for
	WORD_REGISTER_OPERATIONS targets.

2013-12-10  Richard Sandiford  <rdsandiford@googlemail.com>

	* genrecog.c (validate_pattern): Treat all messages except missing
	modes as errors.
	* config/epiphany/epiphany.md: Remove constraints from
	define_peephole2s.
	* config/h8300/h8300.md: Remove constraints from define_splits.
	* config/msp430/msp430.md: Likewise.
	* config/mcore/mcore.md (movdi_i, movsf_i, movdf_k): Use
	nonimmediate_operand rather than general_operand for operand 0.
	* config/moxie/moxie.md (*movsi, *movqi, *movhi): Likewise.
	* config/pdp11/predicates.md (float_operand, float_nonimm_operand):
	Use match_operator rather than match_test to invoke general_operand.
	* config/v850/v850.md (*movqi_internal, *movhi_internal)
	(*movsi_internal_v850e, *movsi_internal, *movsf_internal): Likewise.

2013-12-10  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/tilegx/tilegx.md (insn_ld_add<bitsuffix>): Use
	register_operand rather than pointer_operand.  Add modes to the
	operands.
	(insn_ldna_add<bitsuffix>): Likewise.
	(insn_ld<I124MODE:n><s>_add<I48MODE:bitsuffix>): Likewise.
	(insn_ldnt_add<bitsuffix>): Likewise.
	(insn_ldnt<I124MODE:n><s>_add<I48MODE:bitsuffix>): Likewise.
	(insn_ld_add_L2<bitsuffix>): Likewise.
	(insn_ldna_add_L2<bitsuffix>): Likewise.
	(insn_ld<I124MODE:n><s>_add_L2<I48MODE:bitsuffix>): Likewise.
	(insn_ldnt_add_L2<bitsuffix>): Likewise.
	(insn_ldnt<I124MODE:n><s>_add_L2<I48MODE:bitsuffix>): Likewise.
	(insn_ld_add_miss<bitsuffix>): Likewise.
	(insn_ldna_add_miss<bitsuffix>): Likewise.
	(insn_ld<I124MODE:n><s>_add_miss<I48MODE:bitsuffix>): Likewise.
	(insn_ldnt_add_miss<bitsuffix>): Likewise.
	(insn_ldnt<I124MODE:n><s>_add_miss<I48MODE:bitsuffix>): Likewise.
	(insn_st_add<bitsuffix>): Likewise.
	(insn_st<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
	(*insn_st<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
	(insn_stnt_add<bitsuffix>): Likewise.
	(insn_stnt<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
	(*insn_stnt<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
	(vec_pack_<pack_optab>_v4hi): Use register_operand rather than
	reg_or_0_operand for operand 0.
	(insn_v2<pack_insn>): Likewise.
	(vec_pack_hipart_v4hi): Likewise.
	(insn_v2packh): Likewise.
	(vec_pack_ssat_v2si): Likewise.
	(insn_v4packsc): Likewise.

2013-12-10  H.J. Lu  <hongjiu.lu@intel.com>

	* basic-block.h (gcov_working_set_t): Put back typedef.
	* gcov-io.h (gcov_bucket_type): Likewise.
	(gcov_working_set_info, gcov_working_set_t): Likewise.

2013-12-10  Oleg Endo  <olegendo@gcc.gnu.org>

	* cgraph.h (cgraph_node_set_iterator, varpool_node_set_iterator):
	Remove typedef.
	(cgraph_inline_failed_enum, cgraph_inline_failed_t): Remove typedef and
	rename to cgraph_inline_failed_t.
	* tree-ssa-alias.h (ao_ref_s, ao_ref): Remove typedef and rename
	to ao_ref.
	* reload.h (reg_equivs_s, reg_equivs_t): Remove typedef and rename
	to reg_equivs_t.
	* conditions.h (CC_STATUS): Remove typedef.
	* bitmap.h (bitmap_obstack): Remove typedef.
	(bitmap_element_def, bitmap_element): Remove typedef and rename to
	bitmap_element.
	(bitmap_head_def, bitmap_head): Remove typedef and rename to
	bitmap_head.
	(bitmap_iterator): Remove typedef.
	* target.h (cumulative_args_t, print_switch_type,
	secondary_reload_info): Remove typedef.
	* dwarf2out.h (dw_cfi_oprnd_struct, dw_cfi_oprnd): Remove
	dw_cfi_oprnd_struct alias.
	(dw_cfi_struct, dw_cfi_node): Remove typedef and rename to dw_cfi_node.
	(dw_fde_struct, dw_fde_node): Remove typedef and rename to dw_fde_node.
	(cfa_loc, dw_cfa_location): Remove typedef and rename to
	dw_cfa_location.
	(dw_vec_struct, dw_vec_const): Remove typedef and rename to
	dw_vec_const.
	(dw_val_struct, dw_val_node): Remove typedef and rename to dw_val_node.
	(dw_loc_descr_struct, dw_loc_descr_node): Remove typedef and rename to
	dw_loc_descr_node.
	* params.h (param_info, compiler_param): Remove typedef.
	* opts.h (cl_deferred_param): Remove typedef.
	* sreal.h (sreal): Remove typedef.
	* ddg.h (dep_type, dep_data_type): Remove typedef.
	* graphite-clast-to-gimple.h (cloog_prog_clast, bb_pbb_def): Remove
	typedef.
	* lto-streamer.h (lto_decl_stream_e_t, lto_encoder_entry,
	lto_symtab_encoder_iterator, res_pair): Remove typedef.
	* tree-affine.h (affine_tree_combination, aff_tree): Remove typedef
	and rename to aff_tree.
	* sched-int.h (region): Remove typedef.
	* diagnostic.h (diagnostic_info,
	diagnostic_classification_change_t): Remove typedef.
	* tree-ssa-loop.h (affine_iv_d): Remove typedef and rename to
	affine_iv.
	* sbitmap.h (sbitmap_iterator): Remove typedef.
	* ssa-iterators.h (immediate_use_iterator_d, imm_use_iterator):
	Remove typedef and rename to imm_use_iterator.
	(ssa_operand_iterator_d, ssa_op_iter): Remove typedef and rename to
	ssa_op_iter.
	* ggc-internal.h (ggc_statistics): Remove typedef.
	* cselib.h (cselib_val_struct, cselib_val): Remove typedef and
	rename to cselib_val.
	* tree-core.h (alias_pair): Remove typedef.
	(constructor_elt_d, constructor_elt): Remove typedef and rename to
	constructor_elt.
	(ssa_use_operand_d, ssa_use_operand_t): Remove typedef and rename to
	ssa_use_operand_t.
	* graphite-sese-to-poly.h (base_alias_pair): Remove typedef.
	* tree-data-ref.h (conflict_function): Remove typedef.
	* tree-inline.h (copy_body_data): Remove typedef.
	* ipa-inline.h (condition, size_time_entry, inline_param_summary_t,
	edge_growth_cache_entry): Remove typedef.
	* regrename.h (operand_rr_info, insn_rr_info): Remove typedef.
	* gimple-iterator.h (gimple_stmt_iterator_d, gimple_stmt_iterator):
	Remove typedef and rename to gimple_stmt_iterator.
	* basic-block.h (ce_if_block, ce_if_block_t): Remove typedef and
	rename to ce_if_block.
	(edge_iterator): Remove typedef.
	* ipa-prop.h (ipa_agg_jf_item, ipa_agg_jf_item_t): Remove typedef
	and rename to ipa_agg_jf_item.
	(ipa_agg_jump_function_t, ipa_param_descriptor_t, ipa_node_params_t,
	ipa_parm_adjustment_t): Remove typedef.
	(ipa_jump_func, ipa_jump_func_t): Remove typedef and rename to
	ipa_jump_func.
	(ipa_edge_args, ipa_edge_args_t): Remove typedef and rename to
	ipa_edge_args.
	* gcov-io.h (gcov_bucket_type): Remove typedef.
	(gcov_working_set_info, gcov_working_set_t): Remove typedef and rename
	to gcov_working_set_t.
	* ira-int.h (minmax_set_iterator, ira_allocno_iterator,
	ira_object_iterator, ira_allocno_object_iterator, ira_pref_iterator,
	ira_copy_iterator, ira_object_conflict_iterator): Remove typedef.
	* tree-iterator.h (tree_stmt_iterator): Remove typedef.
	* rtl.h (addr_diff_vec_flags, mem_attrs, reg_attrs,
	replace_label_data): Remove typedef.
	(rtunion_def, rtunion): Remove typedef and rename to rtunion.
	* hard-reg-set.h (hard_reg_set_iterator): Remove typedef.
	* sel-sched-ir.h (_list_iterator, sel_global_bb_info_def,
	sel_region_bb_info_def, succ_iterator): Remove typedef.
	(deps_where_def, deps_where_t): Remove typedef and rename to
	deps_where_t.
	* coretypes.h: Adapt forward declarations.
	* tree-scalar-evolution.h: Likewise.
	* tree-ssa-address.h: Likewise.
	* tree-ssa-operands.h: Likewise.
	* function.h: Likewise.
	* config/frv/frv-protos.h: Likewise.
	* targhooks.h: Likewise.
	* basic_block.h: Likewise.
	* rtl.def: Adapt documentation.
	* doc/tm.texi: Likewise.
	* ipa-cp.c: Adapt uses.
	* bitmap.c: Likewise.
	* dwarf2out.c: Likewise.
	* target.def: Likewise.
	* ipa-inline-analysis.c: Likewise.
	* dwarf2cfi.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* lto-cgraph.c: Likewise.
	* config/frv/frv.c: Likewise.
	* ifcvt.c: Likewise.
	* ipa-prop.c: Likewise.

2013-12-10  Kai Tietz  <ktietz@redhat.com>

	PR target/56807
	* config/i386/i386.c (ix86_expand_prologue): Address saved
	registers stack-relative, not via frame-pointer.

2013-12-10  Richard Biener  <rguenther@suse.de>

	PR middle-end/38474
	* tree-ssa-structalias.c (solution_set_expand): Expand into
	a different possibly cached bitmap and return the result.
	(set_union_with_increment): Pass in a shared expanded bitmap
	and adjust.
	(do_sd_constraint): Likewise.
	(do_ds_constraint): Likewise.
	(do_complex_constraint): Likewise.
	(solve_graph): Manage the shared expanded bitmap.

2013-12-10  Jakub Jelinek  <jakub@redhat.com>

	* tree-vectorizer.h (struct _loop_vec_info): Add scalar_loop field.
	(LOOP_VINFO_SCALAR_LOOP): Define.
	(slpeel_tree_duplicate_loop_to_edge_cfg): Add scalar_loop argument.
	* config/i386/sse.md (maskload<mode>, maskstore<mode>): New expanders.
	* tree-data-ref.c (get_references_in_stmt): Handle MASK_LOAD and
	MASK_STORE.
	* internal-fn.def (LOOP_VECTORIZED, MASK_LOAD, MASK_STORE): New
	internal fns.
	* tree-if-conv.c: Include expr.h, optabs.h, tree-ssa-loop-ivopts.h and
	tree-ssa-address.h.
	(release_bb_predicate): New function.
	(free_bb_predicate): Use it.
	(reset_bb_predicate): Likewise.  Don't unallocate bb->aux
	just to immediately allocate it again.
	(add_to_predicate_list): Add loop argument.  If basic blocks that
	dominate loop->latch don't insert any predicate.
	(add_to_dst_predicate_list): Adjust caller.
	(if_convertible_phi_p): Add any_mask_load_store argument, if true,
	handle it like flag_tree_loop_if_convert_stores.
	(insert_gimplified_predicates): Likewise.
	(ifcvt_can_use_mask_load_store): New function.
	(if_convertible_gimple_assign_stmt_p): Add any_mask_load_store
	argument, check if some conditional loads or stores can't be
	converted into MASK_LOAD or MASK_STORE.
	(if_convertible_stmt_p): Add any_mask_load_store argument,
	pass it down to if_convertible_gimple_assign_stmt_p.
	(predicate_bbs): Don't return bool, only check if the last stmt
	of a basic block is GIMPLE_COND and handle that.  Adjust
	add_to_predicate_list caller.
	(if_convertible_loop_p_1): Only call predicate_bbs if
	flag_tree_loop_if_convert_stores and free_bb_predicate in that case
	afterwards, check gimple_code of stmts here.  Replace is_predicated
	check with dominance check.  Add any_mask_load_store argument,
	pass it down to if_convertible_stmt_p and if_convertible_phi_p,
	call if_convertible_phi_p only after all if_convertible_stmt_p calls.
	(if_convertible_loop_p): Add any_mask_load_store argument,
	pass it down to if_convertible_loop_p_1.
	(predicate_mem_writes): Emit MASK_LOAD and/or MASK_STORE calls.
	(combine_blocks): Add any_mask_load_store argument, pass
	it down to insert_gimplified_predicates and call predicate_mem_writes
	if it is set.  Call predicate_bbs.
	(version_loop_for_if_conversion): New function.
	(tree_if_conversion): Adjust if_convertible_loop_p and combine_blocks
	calls.  Return todo flags instead of bool, call
	version_loop_for_if_conversion if if-conversion should be just
	for the vectorized loops and nothing else.
	(main_tree_if_conversion): Adjust caller.  Don't call
	tree_if_conversion for dont_vectorize loops if if-conversion
	isn't explicitly enabled.
	* tree-vect-data-refs.c (vect_check_gather): Handle
	MASK_LOAD/MASK_STORE.
	(vect_analyze_data_refs, vect_supportable_dr_alignment): Likewise.
	* gimple.h (gimple_expr_type): Handle MASK_STORE.
	* internal-fn.c (expand_LOOP_VECTORIZED, expand_MASK_LOAD,
	expand_MASK_STORE): New functions.
	* tree-vectorizer.c: Include tree-cfg.h and gimple-fold.h.
	(vect_loop_vectorized_call, fold_loop_vectorized_call): New functions.
	(vectorize_loops): Don't try to vectorize loops with
	loop->dont_vectorize set.  Set LOOP_VINFO_SCALAR_LOOP for if-converted
	loops, fold LOOP_VECTORIZED internal call depending on if loop
	has been vectorized or not.
	* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
	New function.
	(slpeel_tree_duplicate_loop_to_edge_cfg): Add scalar_loop argument.
	If non-NULL, copy basic blocks from scalar_loop instead of loop, but
	still to loop's entry or exit edge.
	(slpeel_tree_peel_loop_to_edge): Add scalar_loop argument, pass it
	down to slpeel_tree_duplicate_loop_to_edge_cfg.
	(vect_do_peeling_for_loop_bound, vect_do_peeling_for_loop_alignment):
	Adjust callers.
	(vect_loop_versioning): If LOOP_VINFO_SCALAR_LOOP, perform loop
	versioning from that loop instead of LOOP_VINFO_LOOP, move it to the
	right place in the CFG afterwards.
	* tree-vect-loop.c (vect_determine_vectorization_factor): Handle
	MASK_STORE.
	* cfgloop.h (struct loop): Add dont_vectorize field.
	* tree-loop-distribution.c (copy_loop_before): Adjust
	slpeel_tree_duplicate_loop_to_edge_cfg caller.
	* optabs.def (maskload_optab, maskstore_optab): New optabs.
	* passes.def: Add a note that pass_vectorize must immediately follow
	pass_if_conversion.
	* tree-predcom.c (split_data_refs_to_components): Give up if
	DR_STMT is a call.
	* tree-vect-stmts.c (vect_mark_relevant): Don't crash if lhs is NULL.
	(exist_non_indexing_operands_for_use_p): Handle MASK_LOAD
	and MASK_STORE.
	(vectorizable_mask_load_store): New function.
	(vectorizable_call): Call it for MASK_LOAD or MASK_STORE.
	(vect_transform_stmt): Handle MASK_STORE.
	* tree-ssa-phiopt.c (cond_if_else_store_replacement): Ignore
	DR_STMT where lhs is NULL.
	* optabs.h (can_vec_perm_p): Fix up comment typo.
	(can_vec_mask_load_store_p): New prototype.
	* optabs.c (can_vec_mask_load_store_p): New function.

2013-12-10  Eric Botcazou  <ebotcazou@adacore.com>

	* expr.c (expand_expr_real_1) <normal_inner_ref>: Always return 0 for
	the extraction of a bit-field of null size.

2013-12-10  Marek Polacek  <polacek@redhat.com>

	PR sanitizer/59437
	* vtable-verify.c (var_is_used_for_virtual_call_p): Check the
	return value of gimple_call_fn.  Use is_gimple_call/is_gimple_assign
	instead of gimple_code.

2013-12-10  Maxim Kuvyrkov  <maxim@kugelworks.com>

	* config.gcc (mips*-mti-linux*, mips64*-*-linux*):
	Add android definitions.
	(s390x-*-linux*): Use linux-protos.h.

2013-12-10  Bin Cheng  <bin.cheng@arm.com>

	PR tree-optimization/41488
	* tree-ssa-loop-ivopts.c (add_old_iv_candidates): Don't add cand
	for PEELED_CHREC kind IV.
	* tree-scalar-evolution.c: Include necessary header files.
	(peeled_chrec_map, simplify_peeled_chrec): New.
	(analyze_evolution_in_loop): New static variable.
	Call simplify_peeled_chrec.
	(scev_initialize): Initialize peeled_chrec_map.
	(scev_reset, scev_finalize): Reset and release peeled_chrec_map.

2013-12-09  Andrew Pinski  <apinski@cavium.com>

	* config/aarch64/t-aarch64 (MULTILIB_OPTIONS): Fix definition so
	that options are conflicting ones.

2013-12-09  Eric Botcazou  <ebotcazou@adacore.com>

	* optabs.c (gen_int_libfunc): Do not compare modes directly.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (FOR_ALL_BB): Eliminate macro.

	* cfg.c (alloc_aux_for_blocks, clear_aux_for_blocks): Replace
	uses of FOR_ALL_BB with FOR_ALL_BB_FN, making uses of cfun explicit.

	* cfganal.c (inverted_post_order_compute): Likewise.
	* cfgcleanup.c (try_optimize_cfg): Likewise.
	* cfgexpand.c (add_scope_conflicts): Likewise.
	* cfghooks.c (dump_flow_info, account_profile_record): Likewise.
	* cfgrtl.c (relink_block_chain): Likewise.
	* dce.c (mark_artificial_uses): Likewise.
	* df-core.c (df_set_blocks, df_compute_cfg_image, df_dump): Likewise.
	* df-problems.c (df_lr_verify_solution_start,
	df_lr_verify_solution_end, df_lr_verify_transfer_functions,
	df_live_verify_solution_start, df_live_verify_solution_end,
	df_live_set_all_dirty, df_live_verify_transfer_functions,
	df_md_local_comput): Likewise.
	* df-scan.c (df_scan_free_internal, df_scan_alloc)
	df_reorganize_refs_by_insn, df_scan_verify): Likewise.
	* dominance.c (compute_dom_fast_query, calculate_dominance_info,
	free_dominance_info): Likewise.
	* dse.c (dse_step1, dse_step3, dse_step4, dse_step6): Likewise.
	* graph.c (draw_cfg_edges): Likewise.
	* graphite-scop-detection.c (print_graphite_scop_statistics,
	dot_all_scops_1): Likewise.
	* graphite.c (print_global_statistics,
	print_graphite_scop_statistics): Likewise.
	* ira.c (do_reload): Likewise.
	* loop-init.c (loop_optimizer_finalize): Likewise.
	* lto-streamer-in.c (input_function): Likewise.
	* lto-streamer-out.c (output_function): Likewise.
	* mcf.c (adjust_cfg_counts): Likewise.
	* predict.c (estimate_loops): Likewise.
	* sched-rgn.c (haifa_find_rgns): Likewise.
	* tree-cfg.c (split_critical_edges): Likewise.
	* tree-dfa.c (renumber_gimple_stmt_uids): Likewise.
	* tree-loop-distribution.c (tree_loop_distribution): Likewise.
	* tree-ssa-pre.c (compute_antic, insert, init_pre): Likewise.
	* tree-ssa-propagate.c (ssa_prop_init): Likewise.
	* var-tracking.c (vt_initialize, vt_finalize): Likewise.
	* vtable-verify.c (vtable_verify_main): Likewise.
	* web.c (web_main): Likewise.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (FOR_EACH_BB_REVERSE): Eliminate macro.

	* cfghooks.c (verify_flow_info): Replace uses of FOR_EACH_BB_REVERSE
	with FOR_EACH_BB_REVERSE_FN, making uses of cfun explicit.
	* cfgrtl.c (print_rtl_with_bb, rtl_verify_edges,
	rtl_verify_bb_insns, rtl_verify_bb_pointers,
	rtl_verify_bb_insn_chain, rtl_verify_fallthru): Likewise.
	* config/ia64/ia64.c (emit_predicate_relation_info): Likewise.
	* config/sh/sh.c (sh_md_init_global): Likewise.
	* config/sh/sh_optimize_sett_clrt.cc
	(sh_optimize_sett_clrt::execute): Likewise.
	* dce.c (reset_unmarked_insns_debug_uses, delete_unmarked_insns):
	Likewise.
	* dominance.c (calc_dfs_tree): Likewise.
	* final.c (final): Likewise.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.
	* gcse.c (compute_code_hoist_vbeinout): Likewise.
	* ira.c (update_equiv_regs, build_insn_chain): Likewise.
	* lcm.c (compute_antinout_edge): Likewise.
	* mode-switching.c (optimize_mode_switching): Likewise.
	* postreload.c (reload_combine): Likewise.
	* recog.c (split_all_insns, peephole2_optimize): Likewise.
	* tree-ssa-live.c (live_worklist): Likewise.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (FOR_EACH_BB): Eliminate macro.

	* asan.c (transform_statements, execute_sanopt): Eliminate
	use of FOR_EACH_BB in favor of FOR_EACH_BB_FN, to make use of cfun
	explicit.
	* auto-inc-dec.c (rest_of_handle_auto_inc_dec): Likewise.
	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges,
	set_edge_can_fallthru_flag, fix_up_fall_thru_edges,
	fix_crossing_unconditional_branches, add_reg_crossing_jump_notes,
	insert_section_boundary_note, rest_of_handle_reorder_blocks,
	duplicate_computed_gotos): Likewise.
	* cfg.c (clear_edges, compact_blocks, brief_dump_cfg): Likewise.
	* cfganal.c (find_unreachable_blocks, add_noreturn_fake_exit_edges,
	compute_dominance_frontiers_1, single_pred_before_succ_order): Likewise.
	* cfgbuild.c (find_many_sub_basic_blocks): Likewise.
	* cfgcleanup.c (try_optimize_cfg, delete_dead_jumptables): Likewise.
	* cfgexpand.c (add_scope_conflicts, discover_nonconstant_array_refs):
	Likewise.
	* cfgloop.c (flow_loops_cfg_dump, get_loop_body, record_loop_exits,
	verify_loop_structure): Likewise.
	* cfgloopanal.c (mark_loop_exit_edges): Likewise.
	* cfgrtl.c (compute_bb_for_insn, find_partition_fixes,
	verify_hot_cold_block_grouping, purge_all_dead_edges,
	fixup_abnormal_edges, record_effective_endpoints,
	outof_cfg_layout_mode, fixup_reorder_chain, force_one_exit_fallthru,
	break_superblocks): Likewise.
	* cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges,
	cgraph_rebuild_references): Likewise.
	* combine-stack-adj.c (combine_stack_adjustments): Likewise.
	* combine.c (delete_noop_moves, create_log_links,
	combine_instructions): Likewise.
	* config/arm/arm.c (thumb1_reorg, thumb2_reorg): Likewise.
	* config/bfin/bfin.c (bfin_gen_bundles, reorder_var_tracking_notes):
	Likewise.
	* config/c6x/c6x.c (c6x_gen_bundles, conditionalize_after_sched,
	c6x_reorg): Likewise.
	* config/epiphany/resolve-sw-modes.c (resolve_sw_modes): Likewise.
	* config/frv/frv.c (frv_optimize_membar): Likewise.
	* config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.
	* config/ia64/ia64.c (ia64_reorg): Likewise.
	* config/mips/mips.c (mips_annotate_pic_calls): Likewise.
	* config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
	* config/rs6000/rs6000.c (rs6000_alloc_sdmode_stack_slot): Likewise.
	* config/s390/s390.c (s390_regs_ever_clobbered): Likewise.
	* config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Likewise.
	* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
	* config/tilegx/tilegx.c (tilegx_gen_bundles,
	reorder_var_tracking_notes): Likewise.
	* config/tilepro/tilepro.c (tilepro_gen_bundles,
	reorder_var_tracking_notes): Likewise.
	* coverage.c (coverage_compute_cfg_checksum): Likewise.
	* cprop.c (compute_hash_table_work, compute_cprop_data,
	local_cprop_pass, find_implicit_sets): Likewise.
	* cse.c (cse_condition_code_reg): Likewise.
	* dce.c (prescan_insns_for_dce): Likewise.
	* df-core.c (df_compact_blocks): Likewise.
	* df-problems.c (df_word_lr_alloc): Likewise.
	* df-scan.c (df_scan_start_dump, df_scan_blocks, df_insn_rescan_all,
	df_update_entry_exit_and_calls): Likewise.
	* dominance.c (calculate_dominance_info, verify_dominators,
	debug_dominance_info): Likewise.
	* dse.c (dse_step5_nospill): Likewise.
	* except.c (finish_eh_generation): Likewise.
	* final.c (compute_alignments): Likewise.
	* function.c (thread_prologue_and_epilogue_insns,
	rest_of_match_asm_constraints): Likewise.
	* gcse.c (compute_hash_table_work, prune_expressions,
	compute_pre_data, compute_code_hoist_vbeinout, hoist_code,
	calculate_bb_reg_pressure, compute_ld_motion_mems): Likewise.
	* gimple-iterator.c (gsi_commit_edge_inserts): Likewise.
	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour,
	find_explicit_erroneous_behaviour): Likewise.
	* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa,
	rewrite_cross_bb_scalar_deps_out_of_ssa): Likewise.
	* haifa-sched.c (haifa_sched_init): Likewise.
	* hw-doloop.c (discover_loops, set_bb_indices, reorder_loops):
	Likewise.
	* ifcvt.c (if_convert): Likewise.
	* init-regs.c (initialize_uninitialized_regs): Likewise.
	* ipa-prop.c (ipcp_transform_function): Likewise.
	* ipa-pure-const.c (analyze_function): Likewise.
	* ipa-split.c (find_split_points, execute_split_functions): Likewise.
	* ira-build.c (form_loop_tree): Likewise.
	* ira-costs.c (find_costs_and_classes): Likewise.
	* ira-emit.c (emit_moves, add_ranges_and_copies, ira_emit): Likewise.
	* ira.c (decrease_live_ranges_number, compute_regs_asm_clobbered,
	mark_elimination, update_equiv_regs, find_moveable_pseudos,
	split_live_ranges_for_shrink_wrap, allocate_initial_values): Likewise.
	* jump.c (mark_all_labels): Likewise.
	* lcm.c (compute_laterin, compute_insert_delete, compute_available,
	compute_nearerout, compute_rev_insert_delete): Likewise.
	* loop-init.c (fix_loop_structure): Likewise.
	* loop-invariant.c (calculate_loop_reg_pressure): Likewise.
	* lower-subreg.c (decompose_multiword_subregs,
	decompose_multiword_subregs): Likewise.
	* lra-assigns.c (assign_by_spills): Likewise.
	* lra-coalesce.c (lra_coalesce): Likewise.
	* lra-constraints.c (lra_inheritance, remove_inheritance_pseudos):
	Likewise.
	* lra-eliminations.c (lra_init_elimination): Likewise.
	* lra-spills.c (assign_spill_hard_regs, spill_pseudos,
	lra_final_code_change): Likewise.
	* lra.c (remove_scratches, check_rtl, has_nonexceptional_receiver,
	update_inc_notes): Likewise.
	* mcf.c (adjust_cfg_counts): Likewise.
	* mode-switching.c (optimize_mode_switching): Likewise.
	* modulo-sched.c (rest_of_handle_sms): Likewise.
	* omp-low.c (optimize_omp_library_calls, expand_omp_taskreg,
	expand_omp_target): Likewise.
	* postreload-gcse.c (alloc_mem, compute_hash_table): Likewise.
	* postreload.c (reload_cse_regs_1): Likewise.
	* predict.c (strip_predict_hints, tree_bb_level_predictions,
	tree_estimate_probability, expensive_function_p,
	estimate_bb_frequencies, compute_function_frequency): Likewise.
	* profile.c (is_inconsistent, compute_branch_probabilities,
	branch_prob): Likewise.
	* ree.c (find_removable_extensions): Likewise.
	* reg-stack.c (compensate_edges, convert_regs, reg_to_stack): Likewise.
	* regcprop.c (copyprop_hardreg_forward): Likewise.
	* reginfo.c (init_subregs_of_mode): Likewise.
	* regrename.c (regrename_analyze): Likewise.
	* regstat.c (regstat_compute_ri, regstat_compute_calls_crossed):
	Likewise.
	* reload1.c (has_nonexceptional_receiver, reload,
	calculate_elim_costs_all_insns): Likewise.
	* resource.c (init_resource_info, free_resource_info): Likewise.
	* sched-ebb.c (schedule_ebbs): Likewise.
	* sched-rgn.c (is_cfg_nonregular, find_single_block_region,
	haifa_find_rgns, sched_rgn_local_init): Likewise.
	* sel-sched-dump.c (sel_dump_cfg_2): Likewise.
	* sel-sched-ir.c (init_lv_sets, free_lv_sets,
	make_regions_from_the_rest): Likewise.
	* sese.c (build_sese_loop_nests, sese_build_liveouts): Likewise.
	* stack-ptr-mod.c (notice_stack_pointer_modification): Likewise.
	* store-motion.c (compute_store_table, build_store_vectors,
	one_store_motion_pass): Likewise.
	* tracer.c (tail_duplicate): Likewise.
	* trans-mem.c (compute_transaction_bits): Likewise.
	* tree-call-cdce.c (tree_call_cdce): Likewise.
	* tree-cfg.c (replace_loop_annotate, factor_computed_gotos,
	fold_cond_expr_cond, make_edges, assign_discriminators,
	make_abnormal_goto_edges, cleanup_dead_labels, group_case_labels,
	dump_cfg_stats, gimple_verify_flow_info, print_loop,
	execute_fixup_cfg): Likewise.
	* tree-cfgcleanup.c (cleanup_tree_cfg_1, merge_phi_nodes): Likewise.
	* tree-complex.c (init_dont_simulate_again, tree_lower_complex):
	Likewise.
	* tree-dfa.c (collect_dfa_stats, dump_enumerated_decls): Likewise.
	* tree-eh.c (execute_lower_resx, execute_lower_eh_dispatch,
	mark_reachable_handlers): Likewise.
	* tree-emutls.c (lower_emutls_function_body): Likewise.
	* tree-if-conv.c (main_tree_if_conversion): Likewise.
	* tree-inline.c (optimize_inline_calls): Likewise.
	* tree-into-ssa.c (rewrite_into_ssa, update_ssa): Likewise.
	* tree-nrv.c (tree_nrv, execute_return_slot_opt): Likewise.
	* tree-object-size.c (compute_object_sizes): Likewise.
	* tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees,
	insert_backedge_copies, tree_profiling): Likewise.
	* tree-scalar-evolution.c (scev_const_prop): Likewise.
	* tree-sra.c (scan_function, sra_modify_function_body,
	propagate_dereference_distances, ipa_sra_modify_function_body,
	convert_callers): Likewise.
	* tree-ssa-ccp.c (ccp_initialize, execute_fold_all_builtins): Likewise.
	* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
	create_outofssa_var_map, coalesce_partitions): Likewise.
	* tree-ssa-copy.c (init_copy_prop): Likewise.
	* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
	* tree-ssa-dce.c (find_obviously_necessary_stmts,
	eliminate_unnecessary_stmts): Likewise.
	* tree-ssa-dom.c (free_all_edge_infos, tree_ssa_dominator_optimize):
	Likewise.
	* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
	* tree-ssa-live.c (clear_unused_block_pointer, remove_unused_locals,
	new_tree_live_info, calculate_live_on_exit, dump_live_info,
	analyze_memory_references, fill_always_executed_in,
	tree_ssa_lim_finalize): Likewise.
	* tree-ssa-loop-manip.c (find_uses_to_rename, verify_loop_closed_ssa):
	Likewise.
	* tree-ssa-math-opts.c (execute_cse_reciprocals, execute_cse_sincos,
	execute_optimize_bswap, execute_optimize_widening_mul): Likewise.
	* tree-ssa-propagate.c (substitute_and_fold): Likewise.
	* tree-ssa-structalias.c (compute_points_to_sets): Likewise.
	* tree-ssa-tail-merge.c (find_same_succ, reset_cluster_vectors):
	Likewise.
	* tree-ssa-ter.c (find_replaceable_exprs): Likewise.
	* tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
	* tree-ssa-uncprop.c (associate_equivalences_with_edges,
	tree_ssa_uncprop): Likewise.
	* tree-ssa-uninit.c (warn_uninitialized_vars,
	execute_late_warn_uninitialized): Likewise.
	* tree-ssa.c (verify_ssa, execute_update_addresses_taken): Likewise.
	* tree-stdarg.c (check_all_va_list_escapes, execute_optimize_stdarg):
	Likewise.
	* tree-switch-conversion.c (do_switchconv): Likewise.
	* tree-vect-generic.c (expand_vector_operations): Likewise.
	* tree-vectorizer.c (adjust_simduid_builtins, note_simd_array_uses,
	execute_vect_slp): Likewise.
	* tree-vrp.c (check_all_array_refs, remove_range_assertions,
	vrp_initialize, identify_jump_threads, instrument_memory_accesses):
	Likewise.
	* ubsan.c (ubsan_pass): Likewise.
	* value-prof.c (verify_histograms,
	gimple_value_profile_transformations, gimple_find_values_to_profile):
	Likewise.
	* var-tracking.c (vt_find_locations, dump_dataflow_sets, vt_emit_notes,
	vt_initialize, delete_debug_insns, vt_finalize): Likewise.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (last_basic_block): Eliminate macro.

	* asan.c (transform_statements): Eliminate use of last_basic_block
	in favor of last_basic_block_for_fn, in order to make use of cfun
	explicit.
	* bb-reorder.c (copy_bb, reorder_basic_blocks): Likewise.
	* bt-load.c (compute_defs_uses_and_gen, compute_kill, compute_out,
	link_btr_uses, build_btr_def_use_webs, migrate_btr_defs): Likewise.
	* cfg.c (compact_blocks): Likewise.
	* cfganal.c (mark_dfs_back_edges,
	control_dependences::control_dependences, post_order_compute,
	pre_and_rev_post_order_compute_fn, dfs_enumerate_from, compute_idf,
	single_pred_before_succ_order): Likewise.
	* cfgbuild.c (make_edges): Likewise.
	* cfgexpand.c (add_scope_conflicts, gimple_expand_cfg): Likewise.
	* cfghooks.c (verify_flow_info): Likewise.
	* cfgloop.c (verify_loop_structure): Likewise.
	* cfgloopanal.c (just_once_each_iteration_p,
	mark_irreducible_loops): Likewise.
	* cfgloopmanip.c (fix_bb_placements, remove_path,
	update_dominators_in_loop): Likewise.
	* cfgrtl.c (create_basic_block_structure, rtl_create_basic_block,
	break_superblocks, rtl_flow_call_edges_add): Likewise.
	* config/epiphany/resolve-sw-modes.c (resolve_sw_modes): Likewise.
	* config/frv/frv.c (frv_optimize_membar): Likewise.
	* config/mips/mips.c (r10k_insert_cache_barriers): Likewise.
	* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
	* cprop.c (compute_local_properties, find_implicit_sets,
	bypass_conditional_jumps, one_cprop_pass): Likewise.
	* cse.c (cse_main): Likewise.
	* df-core.c (rest_of_handle_df_initialize, df_worklist_dataflow,
	df_analyze, df_grow_bb_info, df_compact_blocks): Likewise.
	* df-problems.c (df_lr_verify_solution_start,
	df_live_verify_solution_start, df_md_local_compute): Likewise.
	* dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
	calc_idoms): Likewise.
	* domwalk.c (dom_walker::walk): Likewise.
	* dse.c (dse_step0, dse_step3): Likewise.
	* function.c (epilogue_done): Likewise.
	* gcse.c (alloc_gcse_mem, compute_local_properties,
	prune_insertions_deletions, compute_pre_data,
	pre_expr_reaches_here_p, one_pre_gcse_pass,
	compute_code_hoist_vbeinout, should_hoist_expr_to_dom, hoist_code,
	one_code_hoisting_pass): Likewise.
	* graph.c (draw_cfg_nodes_no_loops): Likewise.
	* graphite-sese-to-poly.c (build_scop_bbs): Likewise.
	* haifa-sched.c (unlink_bb_notes): Likewise.
	* ipa-split.c (execute_split_functions): Likewise.
	* ira-build.c (create_loop_tree_nodes, remove_unnecessary_regions):
	Likewise.
	* ira-emit.c (ira_emit): Likewise.
	* ira.c (find_moveable_pseudos, ira): Likewise.
	* lcm.c (compute_antinout_edge, compute_laterin,
	compute_insert_delete, pre_edge_lcm, compute_available,
	compute_nearerout, compute_rev_insert_delete,
	pre_edge_rev_lcm): Likewise.
	* loop-unroll.c (opt_info_start_duplication, apply_opt_in_copies):
	Likewise.
	* lower-subreg.c (decompose_multiword_subregs): Likewise.
	* lra-lives.c (lra_create_live_ranges): Likewise.
	* lra.c (lra): Likewise.
	* mode-switching.c (optimize_mode_switching): Likewise.
	* recog.c (split_all_insns): Likewise.
	* regcprop.c (copyprop_hardreg_forward): Likewise.
	* regrename.c (regrename_analyze): Likewise.
	* reload1.c (reload): Likewise.
	* resource.c (init_resource_info): Likewise.
	* sched-rgn.c (haifa_find_rgns, extend_rgns, compute_trg_info,
	realloc_bb_state_array, schedule_region, extend_regions): Likewise.
	* sel-sched-ir.c (sel_extend_global_bb_info, extend_region_bb_info,
	recompute_rev_top_order, sel_init_pipelining,
	make_regions_from_the_rest): Likewise.
	* store-motion.c (remove_reachable_equiv_notes,build_store_vectors)
	Likewise.
	* tracer.c (tail_duplicate): Likewise.
	* trans-mem.c (tm_region_init, get_bb_regions_instrumented): Likewise.
	* tree-cfg.c (create_bb, cleanup_dead_labels, gimple_dump_cfg,
	gimple_flow_call_edges_add): Likewise.
	* tree-cfgcleanup.c (split_bbs_on_noreturn_calls,
	cleanup_tree_cfg_1): Likewise.
	* tree-complex.c (tree_lower_complex): Likewise.
	* tree-inline.c (copy_cfg_body): Likewise.
	* tree-into-ssa.c (mark_phi_for_rewrite, rewrite_into_ssa,
	prepare_def_site_for, update_ssa): Likewise.
	* tree-ssa-dce.c (tree_dce_init, perform_tree_ssa_dce): Likewise.
	* tree-ssa-dom.c (record_edge_info): Likewise.
	* tree-ssa-live.c (new_tree_live_info, live_worklist): Likewise.
	* tree-ssa-loop-im.c (fill_always_executed_in_1): Likewise.
	* tree-ssa-loop-manip.c (copy_phi_node_args
	gimple_duplicate_loop_to_header_edge): Likewise.
	* tree-ssa-pre.c (compute_antic): Likewise.
	* tree-ssa-propagate.c (ssa_prop_init): Likewise.
	* tree-ssa-reassoc.c (init_reassoc): Likewise.
	* tree-ssa-sccvn.c (init_scc_vn): Likewise.
	* tree-ssa-tail-merge.c (init_worklist): Likewise.
	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
	* tree-stdarg.c (reachable_at_most_once): Likewise.
	* tree-vrp.c (find_assert_locations): Likewise.
	* var-tracking.c (vt_find_locations): Likewise.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (profile_status): Eliminate macro.

	* cfgbuild.c (find_many_sub_basic_blocks): Eliminate use of
	profile_status macro in favor of profile_status_for_fn, making
	use of cfun explicit.
	* cfghooks.c (account_profile_record): Likewise.
	* cfgloopanal.c (single_likely_exit):
	* cfgrtl.c (rtl_verify_edges, rtl_account_profile_record): Likewise.
	* graphite.c (graphite_finalize):
	* internal-fn.c (ubsan_expand_si_overflow_addsub_check,
	ubsan_expand_si_overflow_neg_check,
	ubsan_expand_si_overflow_mul_check): Likewise.
	* ipa-split.c (consider_split, execute_split_functions):
	* loop-unroll.c (decide_peel_simple):
	* optabs.c (emit_cmp_and_jump_insn_1):
	* predict.c (maybe_hot_edge_p, probably_never_executed,
	predictable_edge_p, probability_reliable_p, gimple_predict_edge,
	tree_estimate_probability_driver, estimate_bb_frequencies,
	compute_function_frequency, rebuild_frequencies): Likewise.
	* profile.c (compute_branch_probabilities): Likewise.
	* tree-cfg.c (gimple_account_profile_record): Likewise.
	* tree-inline.c (optimize_inline_calls): Likewise.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (label_to_block_map): Eliminate macro.

	* gimple.c (gimple_set_bb): Replace uses of label_to_block_map with
	uses of label_to_block_map_for_fn, making uses of cfun be explicit.
	* tree-cfg.c (delete_tree_cfg_annotations): Likewise.
	(verify_gimple_label): Likewise.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (basic_block_info): Eliminate macro.

	* cfgrtl.c (rtl_create_basic_block): Replace uses of basic_block_info
	with basic_block_info_for_fn, making uses of cfun be explicit.
	* tree-cfg.c (build_gimple_cfg, create_bb): Likewise.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (BASIC_BLOCK): Eliminate macro.

	* alias.c (init_alias_analysis): Eliminate BASIC_BLOCK macro in
	favor of uses of BASIC_BLOCK_FOR_FN, making uses of cfun explicit.
	* bt-load.c (compute_defs_uses_and_gen, compute_out, link_btr_uses,
	block_at_edge_of_live_range_p, migrate_btr_defs): Likewise.
	* caller-save.c (insert_one_insn): Likewise.
	* cfg.c (debug_bb, get_bb_original, get_bb_copy): Likewise.
	* cfgexpand.c (add_scope_conflicts): Likewise.
	* cfghooks.c (verify_flow_info): Likewise.
	* cfgloop.c (flow_loops_find): Likewise.
	* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
	* config/mips/mips.c (r10k_insert_cache_barriers): Likewise.
	* config/s390/s390.c (s390_optimize_nonescaping_tx): Likewise.
	* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
	* cse.c (cse_main): Likewise.
	* dce.c (fast_dce): Likewise.
	* df-core.c (df_set_blocks, df_worklist_propagate_forward,
	df_worklist_propagate_backward, df_worklist_dataflow_doublequeue,
	df_bb_replace, df_dump_region): Likewise.
	* df-problems.c (df_rd_bb_local_compute, df_lr_bb_local_compute,
	df_live_bb_local_compute, df_chain_remove_problem)
	df_chain_create_bb, df_word_lr_bb_local_compute, df_note_bb_compute,
	df_md_bb_local_compute, df_md_local_compute,
	df_md_transfer_function): Likewise.
	* df-scan.c (df_scan_blocks, df_reorganize_refs_by_reg_by_insn,
	df_reorganize_refs_by_insn, df_bb_refs_collect,
	df_record_entry_block_defs, df_update_entry_block_defs,
	df_record_exit_block_uses): Likewise.
	* dominance.c (nearest_common_dominator_for_set): Likewise.
	* gcse.c (hoist_code): Likewise.
	* graph.c (draw_cfg_nodes_no_loops): Likewise.
	* ipa-inline-analysis.c (param_change_prob,
	estimate_function_body_sizes): Likewise.
	* ipa-split.c (dominated_by_forbidden): Likewise.
	* loop-unroll.c (apply_opt_in_copies): Likewise.
	* lower-subreg.c (decompose_multiword_subregs): Likewise.
	* lra-lives.c (lra_create_live_ranges): Likewise.
	* predict.c (propagate_freq): Likewise.
	* regrename.c (regrename_analyze): Likewise.
	* regstat.c (regstat_bb_compute_ri, regstat_bb_compute_calls_crossed):
	Likewise.
	* resource.c (mark_target_live_regs): Likewise.
	* sched-ebb.c (ebb_fix_recovery_cfg): Likewise.
	* sched-int.h (EBB_FIRST_BB, EBB_LAST_BB): Likewise.
	* sched-rgn.c (debug_region, dump_region_dot, too_large,
	haifa_find_rgns, extend_rgns, compute_dom_prob_ps, update_live,
	propagate_deps, sched_is_disabled_for_current_region_p): Likewise.
	* sched-vis.c (debug_bb_n_slim): Likewise.
	* sel-sched-ir.c (sel_finish_global_and_expr, verify_backedges,
	purge_empty_blocks, sel_remove_loop_preheader): Likewise.
	* sel-sched.c (remove_insns_that_need_bookkeeping)
	(current_region_empty_p, sel_region_init, simplify_changed_insns):
	Likewise.
	* trans-mem.c (execute_tm_mark, execute_tm_edges,
	tm_memopt_compute_antic, ipa_tm_scan_irr_function): Likewise.
	* tree-cfg.c (make_edges, end_recording_case_labels,
	label_to_block_fn, gimple_debug_bb, gimple_flow_call_edges_add,
	remove_edge_and_dominated_blocks, remove_edge_and_dominated_blocks,
	gimple_purge_all_dead_eh_edges,
	gimple_purge_all_dead_abnormal_call_edges): Likewise.
	* tree-cfgcleanup.c (fixup_noreturn_call,
	split_bbs_on_noreturn_calls, cleanup_tree_cfg_1): Likewise.
	* tree-inline.c (copy_cfg_body, fold_marked_statements): Likewise.
	* tree-into-ssa.c (set_livein_block, prune_unused_phi_nodes,
	insert_phi_nodes_for, insert_updated_phi_nodes_for): Likewise.
	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
	* tree-ssa-live.c (live_worklist): Likewise.
	* tree-ssa-loop-manip.c (compute_live_loop_exits, add_exit_phis_var,
	find_uses_to_rename, copy_phi_node_args): Likewise.
	* tree-ssa-pre.c (compute_antic): Likewise.
	* tree-ssa-reassoc.c (update_range_test, optimize_range_tests):
	Likewise.
	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
	* tree-ssa-tail-merge.c (same_succ_hash, same_succ_def::equal,
	same_succ_flush_bbs, update_worklist, set_cluster,
	same_phi_alternatives, find_clusters_1, apply_clusters,
	update_debug_stmts): Likewise.
	* tree-ssa-threadupdate.c (mark_threaded_blocks,
	thread_through_all_blocks): Likewise.
	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
	* tree-vrp.c (find_assert_locations): Likewise.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (SET_BASIC_BLOCK): Eliminate macro.

	* cfg.c (compact_blocks): Replace uses of SET_BASIC_BLOCK
	with SET_BASIC_BLOCK_FOR_FN, making use of cfun explicit.
	(expunge_block): Likewise.
	* cfgrtl.c (create_basic_block_structure): Likewise.
	* df-core.c (df_compact_blocks, df_bb_replace): Likewise.
	* sel-sched.c (create_block_for_bookkeeping): Likewise.
	* tree-cfg.c (create_bb): Likewise.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (profile_status_for_function): Rename to...
	(profile_status_for_fn): ...this.

	* cfg.c (check_bb_profile): Update for renaming.
	* cgraphbuild.c (compute_call_stmt_bb_frequency): Likewise.
	* lto-streamer-in.c (input_cfg): Likewise.
	* lto-streamer-out.c (output_cfg):  Likewise.
	* predict.c (maybe_hot_frequency_p, maybe_hot_count_p,
	maybe_hot_bb_p, probably_never_executed)
	(handle_missing_profiles): Likewise.
	* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
	* tree-inline.c (copy_bb, initialize_cfun): Likewise.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (label_to_block_map_for_function): Rename to...
	(label_to_block_map_for_fn): ...this.

	* lto-streamer-in.c (input_cfg): Update for renaming.
	* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (last_basic_block_for_function): Rename to...
	(last_basic_block_for_fn): ...this.

	* ipa-utils.c (ipa_merge_profiles): Update for renaming of
	last_basic_block_for_function to last_basic_block_for_fn.
	* lto-streamer-in.c (input_cfg): Likewise.
	* lto-streamer-out.c (output_cfg): Likewise.
	* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
	* tree-sra.c (propagate_dereference_distances, ipa_early_sra):
	Likewise.

2013-12-09  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (basic_block_info_for_function): Rename to...
	(basic_block_info_for_fn): ...this.
	(BASIC_BLOCK_FOR_FUNCTION): Rename to...
	(BASIC_BLOCK_FOR_FN): ...this.
	(SET_BASIC_BLOCK_FOR_FUNCTION): Rename to...
	(SET_BASIC_BLOCK_FOR_FN): ...this.

	* gimple-streamer-in.c (input_phi, input_bb): Update for renaming
	of BASIC_BLOCK_FOR_FUNCTION to BASIC_BLOCK_FOR_FN.
	* ipa-utils.c (ipa_merge_profiles): Likewise.
	* lto-streamer-in.c (make_new_block): Update for renaming of
	SET_BASIC_BLOCK_FOR_FUNCTION to SET_BASIC_BLOCK_FOR_FN.
	(input_cfg): Update for renamings.
	* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
	(dump_function_to_file): Update for renaming of
	basic_block_info_for_function to basic_block_info_for_fn.

2013-12-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/38474
	* tree-ssa-structalias.c (set_union_with_increment): Remove
	unreachable code.
	(do_complex_constraint): Call set_union_with_increment with
	the solution delta, not the full solution.
	(make_transitive_closure_constraints): Merge the two constraints.

2013-12-09  Richard Earnshaw  <rearnsha@arm.com>

	* arm.c (mem_ok_for_ldrd_strd): Rename first argument as MEM.  Do
	more address validation checks.

2013-12-09  Marek Polacek  <polacek@redhat.com>

	PR sanitizer/59415
	* vtable-verify.c (verify_bb_vtables): Check the return value
	of gimple_call_fn.  Use is_gimple_call instead of gimple_code.

2013-12-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (generic_sched): Add cortexa12.
	(generic_vfp): Likewise.
	* config/arm/arm.c (cortexa12_extra_costs): New cost table.
	(arm_cortex_a12_tune): New tuning struct.
	* config/arm/arm-cores.def: Add cortex-a12.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm-tune.md: Likewise.
	* config/arm/bpabi.h: Add cortex-a12.
	* doc/invoke.texi: Document -mcpu=cortex-a12.

2013-12-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* doc/install.texi (Prerequisites): Explicitly mention C library
	and its headers for multilib builds.

2013-12-08  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/52898
	PR target/51697
	* common/config/sh/sh-common.c (sh_option_optimization_table): Remove
	OPT_mcbranchdi entry.
	* config/sh/sh.opt (mcbranchdi, mcmpeqdi): Mark as undocumented and
	emit a warning.
	* config/sh/sh.c (sh_option_override): Initialize TARGET_CBRANCHDI4
	and TARGET_CMPEQDI_T variables.
	* doc/invoke.texi (SH options): Undocument -mcbranchdi and -mcmpeqdi.

2013-12-07  Maxim Kuvyrkov  <maxim@kugelworks.com>

	* config/linux.h: Fix typo in a comment.

2013-12-07  Maxim Kuvyrkov  <maxim@kugelworks.com>

	* config.gcc (*linux*): Split libc selection from Android support.
	Add libc selection to all *linux* targets.  Add Android support to
	architectures that support it.
	(arm*-*-linux-*, i[34567]86-*-linux*, x86_64-*-linux*,)
	(mips*-*-linux*): Add Android support.

2013-12-07  Alexander Ivchenko  <alexander.ivchenko@intel.com>
	    Maxim Kuvyrkov  <maxim@kugelworks.com>

	* config/bfin/uclinux.h, config/c6x/uclinux-elf.h,
	* config/lm32/uclinux-elf.h, config/m68k/uclinux.h,
	* config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Move definitions
	to linux.h.
	* config/linux-android.h (TARGET_HAS_IFUNC_P): Move definition
	to linux.h.
	* config/linux.h (TARGET_LIBC_HAS_FUNCTION, TARGET_HAS_IFUNC_P):
	Define appropriately for Linux and uClinux targets.

2013-12-07  Maxim Kuvyrkov  <maxim@kugelworks.com>

	* config/linux.c (linux_has_ifunc_p): Use correct test.

2013-12-07  Maxim Kuvyrkov  <maxim@kugelworks.com>

	* config/linux.c (linux_android_has_ifunc_p): Rename to
	linux_has_ifunc_p.
	(linux_android_libc_has_function): Rename to linux_libc_has_function.
	* config/linux-protos.h (linux_android_has_ifunc_p,)
	(linux_android_libc_has_function): Update declarations.
	* config/linux.h, config/linux-android.h, config/alpha/linux.h,
	* config/rs6000/linux.h, config/rs6000/linux64.h: Update.

2013-12-07  Maxim Kuvyrkov  <maxim@kugelworks.com>

	* linux-android.c: Rename to linux.c.
	* t-linux-android: Rename to t-linux.  Update references
	to linux-android.c
	* config.gcc: Update references to t-linux-android and linux-android.o.

2013-12-07  Alan Modra  <amodra@gmail.com>

	* config/rs6000/rs6000.md (bswapdi2_32bit): Remove ?? from r->r
	alternative.

2013-12-07  Ralf Corsépius  <ralf.corsepius@rtems.org>

	* config.gcc (microblaze*-*-rtems*): Add TARGET_BIG_ENDIAN_DEFAULT.

2013-12-06  Vladimir Makarov  <vmakarov@redhat.com>

	* config/rs6000/rs600.md (*bswapdi2_64bit): Remove ?? from the
	constraint.

2013-12-06  Caroline Tice  <cmtice@google.com>

	Submitting patch from Stephen Checkoway, s@cs.jhu.edu
	* vtable-verify.c (verify_bb_vtables): Replace all uses of verified
	vtable pointer with the results of the verification call, rather than
	only the uses in the next statement.

2013-12-06  Andrew Pinski  <apinski@cavium.com>

	PR target/59092
	* config/aarch64/aarch64.md (trap): New pattern.

2013-12-06  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/59388
	* tree-ssa-reassoc.c (update_range_test): If op == range->exp,
	gimplify tem after stmt rather than before it.

	* tree-data-ref.c (struct data_ref_loc_d): Replace pos field with ref.
	(get_references_in_stmt): Don't record operand addresses, but
	operands themselves.
	(find_data_references_in_stmt, graphite_find_data_references_in_stmt):
	Adjust for the pos -> ref change.

2013-12-06  H.J. Lu  <hongjiu.lu@intel.com>

	* config.gcc: Change --with-cpu=ia to --with-cpu=intel.

	* config/i386/i386.c (cpu_names): Replace "ia" with "intel".
	(processor_alias_table): Likewise.
	(ix86_option_override_internal): Likewise.
	* config/i386/i386.h (target_cpu_default): Replace
	TARGET_CPU_DEFAULT_ia with TARGET_CPU_DEFAULT_intel.

	* doc/invoke.texi: Replace -mtune=ia with -mtune=intel.

2013-12-06  Uros Bizjak  <ubizjak@gmail.com>

	PR target/59405
	* config/i386/i386.c (type_natural_mode): Properly handle
	size 8 for !TARGET_64BIT.

2013-12-06  Trevor Saunders  <tsaunders@mozilla.com>

	* tree-ssa-pre.c (compute_antic_aux): Remove redundant call to
	vec::release.

2013-12-06  Ian Bolton  <ian.bolton@arm.com>
	    Mark Mitchell  <mark@codesourcery.com>

	PR target/59091
	* config/arm/arm.md (trap): New pattern.
	* config/arm/types.md: Added a type for trap.

2013-12-06  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* expr.c (expand_assignment): Update bitregion_start and bitregion_end.

2013-12-06  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/59316
	* config/sparc/sparc.h (SPARC_LOW_FE_EXCEPT_VALUES): Define.
	* config/sparc/sol2.h (SPARC_LOW_FE_EXCEPT_VALUES): Redefine.
	* config/sparc/sparc.c (TARGET_INIT_BUILTINS): Move around.
	(TARGET_BUILTIN_DECL): Define.
	(TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Likewise.
	(sparc32_initialize_trampoline): Adjust call to gen_flush.
	(enum sparc_builtins): New enumeral type.
	(sparc_builtins): New static array.
	(sparc_builtins_icode): Likewise.
	(def_builtin): Accept a separate icode and save the result.
	(def_builtin_const): Likewise.
	(sparc_fpu_init_builtins): New function.
	(sparc_vis_init_builtins): Pass the builtin code.
	(sparc_init_builtins): Call it if TARGET_FPU.
	(sparc_builtin_decl): New function.
	(sparc_expand_builtin): Deal with SPARC_BUILTIN_{LD,ST}FSR.
	(sparc_handle_vis_mul8x16): Use the builtin code.
	(sparc_fold_builtin): Likewise.  Deal with SPARC_BUILTIN_{LD,ST}FSR
	and SPARC_BUILTIN_PDISTN.
	(compound_expr): New helper function.
	(sparc_atomic_assign_expand_fenv): New function.
	* config/sparc/sparc.md (unspecv): Reorder values, add UNSPECV_LDFSR
	and UNSPECV_STFSR.
	(flush, flushdi): Merge into single pattern.
	(ldfsr): New instruction.
	(stfsr): Likewise.

2013-12-06  Oleg Endo  <olegendo@gcc.gnu.org>

	* asan.c: Remove struct tags when referring to class varpool_node.
	* cgraph.h: Likewise.
	* cgraphbuild.c: Likewise.
	* cgraphunit.c: Likewise.
	* dbxout.c: Likewise.
	* dwarf2out.c: Likewise.
	* gimple-fold.c: Likewise.
	* ipa-devirt.c: Likewise.
	* ipa-ref-inline.h: Likewise.
	* ipa-ref.h: Likewise.
	* ipa-reference.c: Likewise.
	* ipa-utils.c: Likewise.
	* ipa.c: Likewise.
	* lto-cgraph.c: Likewise.
	* lto-streamer-out.c: Likewise.
	* lto-streamer.h: Likewise.
	* passes.c: Likewise.
	* toplev.c: Likewise.
	* tree-eh.c: Likewise.
	* tree-emutls.c: Likewise.
	* tree-pass.h: Likewise.
	* tree-ssa-structalias.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree.c: Likewise.
	* varasm.c: Likewise.
	* varpool.c: Likewise.

2013-12-06  Oleg Endo  <olegendo@gcc.gnu.org>

	* cgraphunit.c: Remove struct tags when referring to class
	ipa_opt_pass_d or class opt_pass.
	* function.h: Likewise.
	* lto-cgraph.c: Likewise.
	* pass_manager.h: Likewise.
	* passes.c: Likewise.
	* tree-pass.h: Likewise.

2013-12-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59058
	* tree-vectorizer.h (struct _loop_vec_info): Add num_itersm1 member.
	(LOOP_VINFO_NITERSM1): New macro.
	* tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Express
	the vector loop entry test in terms of scalar latch executions.
	(vect_do_peeling_for_alignment): Update LOOP_VINFO_NITERSM1.
	* tree-vect-loop.c (vect_get_loop_niters): Also return the
	number of latch executions.
	(new_loop_vec_info): Initialize LOOP_VINFO_NITERSM1.
	(vect_analyze_loop_form): Likewise.
	(vect_generate_tmps_on_preheader): Compute the number of
	vectorized iterations differently.

2013-12-05  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/score/score.c (score_force_temporary): Delete function.
	(score_split_symbol): Ditto.
	* config/score/score.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add extra
	parentheses to silence ambiguity warning and reindent.

2013-12-05  Marek Polacek  <polacek@redhat.com>

	* doc/invoke.texi: Document -fsanitize=signed-integer-overflow.

2013-12-05  H.J. Lu  <hongjiu.lu@intel.com>

	* config.gcc: Support --with-cpu=ia.

	* config/i386/i386.c (cpu_names): Add "ia".
	(processor_alias_table): Likewise.
	(ix86_option_override_internal): Disallow -march=ia.
	* config/i386/i386.h (target_cpu_default): Add TARGET_CPU_DEFAULT_ia.

	* doc/invoke.texi: Document -mtune=ia.

2013-12-05  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/59317
	* lra-constraints.c (in_class_p): Don't ignore insn with constant
	as a source.

2013-12-05  Martin Jambor  <mjambor@suse.cz>

	PR ipa/58253
	* ipa-prop.c (ipa_modify_formal_parameters): Create decls of
	non-BLKmode in their naturally aligned type.

2013-12-05  Marek Polacek  <polacek@redhat.com>

	PR sanitizer/59333
	PR sanitizer/59397
	* ubsan.c: Include rtl.h and expr.h.
	(ubsan_encode_value): Add new parameter.  If expanding, assign
	a stack slot for DECL_RTL of the temporary and call expand_assignment.
	Handle BOOLEAN_TYPE and ENUMERAL_TYPE.
	(ubsan_build_overflow_builtin): Adjust ubsan_encode_value call.
	* ubsan.h (ubsan_encode_value): Adjust declaration.
	* internal-fn.c (ubsan_expand_si_overflow_addsub_check): Move
	ubsan_build_overflow_builtin above expand_normal call.  Surround
	this call with push_temp_slots and pop_temp_slots.
	(ubsan_expand_si_overflow_neg_check): Likewise.
	(ubsan_expand_si_overflow_mul_check): Likewise.

2013-12-05  Yufeng Zhang  <yufeng.zhang@arm.com>

	* gimple-ssa-strength-reduction.c (find_basis_for_candidate): Guard
	the get_alternative_base call with flag_expensive_optimizations.
	(alloc_cand_and_find_basis): Likewise.

2013-12-05  Tejas Belagod  <tejas.belagod@arm.com>

	* rtlanal.c (set_noop_p): Return nonzero in case of redundant
	vec_select for overlapping register lanes.

2013-12-05  Kirill Yukhin  <kirill.yukhin@intel.com>

	* config/i386/i386.c (ix86_expand_builtin): Generate
	reg for readflags built-in when optimizing.
	* config/i386/i386.md (*pushfl<mode>): Rename to ...
	(pushfl<mode>2): This. Fix iterator.
	(*popfl<mode>): Rename to ...
	(*popfl<mode>1): This. Fix iterator.

2013-12-05  Kirill Yukhin  <kirill.yukhin@intel.com>

	* config/i386/i386.c (IX86_BUILTIN_READ_FLAGS): New.
	(IX86_BUILTIN_WRITE_FLAGS): Ditto.
	(ix86_init_mmx_sse_builtins): Define
	__builtin_ia32_writeeflags_u32, __builtin_ia32_writeeflags_u64,
	__builtin_ia32_readeflags_u32, __builtin_ia32_readeflags_u64.
	(ix86_expand_builtin): Expand them.
	* config/i386/ia32intrin.h (__readeflags): New.
	(__writeeflags): Ditto.
	* config/i386/i386.md (*pushfl<mode>): Ditto.
	(*popfl<mode>1): Ditto.

2013-12-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59374
	* tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence):
	Commonize known and unknown dependence case fixing the allowed
	read-write dependence case and dropping code that should not matter.

2013-12-05  Kirill Yukhin  <kirill.yukhin@intel.com>

	* config/ia64/ia64.md (prologue_allocate_stack): Block auto-
	generation of predicated version.
	(epilogue_deallocate_stack): Ditto.
	(prologue_allocate_stack_pr): Add explicit predicated version.
	(epilogue_deallocate_stack_pr): Ditto.
	* config/ia64/ia64.c (ia64_single_set): Use explicit version.

2013-12-05  Alan Modra  <amodra@gmail.com>

	* configure.ac (BUILD_CXXFLAGS) Don't use ALL_CXXFLAGS for
	build != host.
	<recursive call for build != host>: Clear GMPINC.  Don't bother
	saving CFLAGS.

2013-12-04  Jakub Jelinek  <jakub@redhat.com>
	    Marek Polacek  <polacek@redhat.com>

	* opts.c (common_handle_option): Handle
	-fsanitize=signed-integer-overflow.
	* config/i386/i386.md (addv<mode>4, subv<mode>4, mulv<mode>4,
	negv<mode>3, negv<mode>3_1): Define expands.
	(*addv<mode>4, *subv<mode>4, *mulv<mode>4, *negv<mode>3): Define insns.
	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW,
	BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW,
	BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW,
	BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW): Define.
	* ubsan.h (PROB_VERY_UNLIKELY, PROB_EVEN, PROB_VERY_LIKELY,
	PROB_ALWAYS): Define.
	(ubsan_build_overflow_builtin): Declare.
	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Add folding of
	internal functions.
	* ubsan.c (PROB_VERY_UNLIKELY): Don't define here.
	(ubsan_build_overflow_builtin): New function.
	(instrument_si_overflow): Likewise.
	(ubsan_pass): Add signed integer overflow checking.
	(gate_ubsan): Enable the pass also when SANITIZE_SI_OVERFLOW.
	* flag-types.h (enum sanitize_code): Add SANITIZE_SI_OVERFLOW.
	* internal-fn.c: Include ubsan.h and target.h.
	(ubsan_expand_si_overflow_addsub_check): New function.
	(ubsan_expand_si_overflow_neg_check): Likewise.
	(ubsan_expand_si_overflow_mul_check): Likewise.
	(expand_UBSAN_CHECK_ADD): Likewise.
	(expand_UBSAN_CHECK_SUB): Likewise.
	(expand_UBSAN_CHECK_MUL): Likewise.
	* fold-const.c (fold_binary_loc): Don't fold A + (-B) -> A - B and
	(-A) + B -> B - A when doing the signed integer overflow checking.
	* internal-fn.def (UBSAN_CHECK_ADD, UBSAN_CHECK_SUB, UBSAN_CHECK_MUL):
	Define.
	* tree-vrp.c (extract_range_basic): Handle internal calls.
	* optabs.def (addv4_optab, subv4_optab, mulv4_optab, negv4_optab): New
	optabs.
	* asan.c: Include predict.h.
	(PROB_VERY_UNLIKELY, PROB_ALWAYS): Don't define here.
	* predict.c: Move the PROB_* macros...
	* predict.h (enum br_predictor): ...here.
	(PROB_LIKELY, PROB_UNLIKELY): Define.
	* trans-mem.c: Include predict.h.
	(PROB_VERY_UNLIKELY, PROB_ALWAYS, PROB_VERY_LIKELY,
	PROB_LIKELY, PROB_UNLIKELY): Don't define here.

2013-12-04  Jeff Law  <law@redhat.com>

	* common.opt: Split up -fisolate-erroneous-paths into
	-fisolate-erroneous-paths-dereference and
	-fisolate-erroneous-paths-attribute.
	* invoke.texi: Corresponding changes.
	* gimple.c (infer_nonnull_range):  Add and use new arguments to control
	what kind of statements can be used to infer a non-null range.
	* gimple.h (infer_nonnull_range): Update prototype.
	* tree-vrp.c (infer_value_range): Corresponding changes.
	* opts.c (default_options_table): Update due to option split.
	* gimple-ssa-isolate-paths.c: Fix trailing whitespace.
	(find_implicit_erroneous_behaviour): Pass additional arguments
	to infer_nonnull_range.
	(find_explicit_erroneous_behaviour): Similarly.
	(gate_isolate_erroneous_paths): Check both of the new options.

2013-12-04  Jeff Law  <law@redhat.com>

	* expr.c (expand_assignment): Update comments.

2013-12-04  Tobias Burnus  <burnus@net-b.de>

	PR debug/37132
	* lto-streamer.h (LTO_tags): Add LTO_namelist_decl_ref.
	* tree.def (NAMELIST_DECL): Add.
	* tree.h (NAMELIST_DECL_ASSOCIATED_DECL): New macro.
	* tree.c (initialize_tree_contains_struct): Add asserts for it.
	* dwarf2out.c (gen_namelist_decl): New function.
	(gen_decl_die, dwarf2out_decl): Call it.
	(dwarf2out_imported_module_or_decl_1): Handle NAMELIST_DECL.
	* lto-streamer-in.c (lto_input_tree_ref): Handle NAMELIST_DECL.
	(lto_input_tree_ref, lto_input_tree_1): Update lto_tag_check_range
	call.
	* lto-streamer-out.c (lto_output_tree_ref): Handle NAMELIST_DECL.

2013-12-03  Xinliang David Li  <davidxl@google.com>

	* tree-ssa-structalias.c (constraint_set_union): Change return type
	from void to bool.
	(merge_node_constraints): Ditto.
	(unify_nodes): Update changed set when constraints set changes.

2013-12-04  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Append gdbasan.in to .gdbinit if CFLAGS contains
	-fsanitize=address.
	* configure: Regenerated.

	* gdbasan.in: New file.

2013-12-04  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/58726
	* combine.c (force_to_mode): Fix comment typo.  Don't destructively
	modify x for ROTATE, ROTATERT and IF_THEN_ELSE.

2013-12-04  Jakub Jelinek  <jakub@redhat.com>
	    Uros Bizjak  <ubizjak@gmail.com>

	PR target/59163
	* config/i386/i386.c (ix86_legitimate_combined_insn): If for
	!TARGET_AVX there is misaligned MEM operand with vector mode
	and get_attr_ssememalign is 0, return false.
	(ix86_expand_special_args_builtin): Add get_pointer_alignment
	computed alignment and for non-temporal loads/stores also
	at least GET_MODE_ALIGNMENT as MEM_ALIGN.
	* config/i386/sse.md
	(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
	<sse>_storeu<ssemodesuffix><avxsizesuffix>,
	<sse2_avx_avx512f>_loaddqu<mode><mask_name>,
	<sse2_avx_avx512f>_storedqu<mode>, <sse3>_lddqu<avxsizesuffix>,
	sse_vmrcpv4sf2, sse_vmrsqrtv4sf2, sse2_cvtdq2pd, sse_movhlps,
	sse_movlhps, sse_storehps, sse_loadhps, sse_loadlps,
	*vec_interleave_highv2df, *vec_interleave_lowv2df,
	*vec_extractv2df_1_sse, sse2_movsd, sse4_1_<code>v8qiv8hi2,
	sse4_1_<code>v4qiv4si2, sse4_1_<code>v4hiv4si2,
	sse4_1_<code>v2qiv2di2, sse4_1_<code>v2hiv2di2,
	sse4_1_<code>v2siv2di2, sse4_2_pcmpestr, *sse4_2_pcmpestr_unaligned,
	sse4_2_pcmpestri, sse4_2_pcmpestrm, sse4_2_pcmpestr_cconly,
	sse4_2_pcmpistr, *sse4_2_pcmpistr_unaligned, sse4_2_pcmpistri,
	sse4_2_pcmpistrm, sse4_2_pcmpistr_cconly): Add ssememalign attribute.
	* config/i386/i386.md (ssememalign): New define_attr.

2013-12-04  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/59355
	* ipa-devirt.c (gate_ipa_devirt): Return false if !flag_devirtualize.
	* opts.c (common_handle_option): Fix comment spelling.

2013-12-04  Yufeng Zhang  <yufeng.zhang@arm.com>

	* gimple-ssa-strength-reduction.c: Include tree-affine.h.
	(name_expansions): New static variable.
	(alt_base_map): Ditto.
	(get_alternative_base): New function.
	(find_basis_for_candidate): For CAND_REF, optionally call
	find_basis_for_base_expr with the returned value from
	get_alternative_base.
	(record_potential_basis): Add new parameter 'base' of type 'tree';
	add an assertion of non-NULL base; use base to set node->base_expr.
	(alloc_cand_and_find_basis): Update; call record_potential_basis
	for CAND_REF with the returned value from get_alternative_base.
	(replace_refs): Dump details on the replacing.
	(execute_strength_reduction): Call pointer_map_create for
	alt_base_map; call free_affine_expand_cache with &name_expansions.

2013-12-03  Wei Mi  <wmi@google.com>

	PR rtl-optimization/59020
	* sched-deps.c (try_group_insn): Move it from haifa-sched.c to here.
	(sched_analyze_insn): Call try_group_insn.
	(sched_analyze): Cleanup SCHED_GROUP_P before start the analysis.
	* haifa-sched.c (try_group_insn): Moved to sched-deps.c.
	(group_insns_for_macro_fusion): Removed.
	(sched_init): Remove calling group_insns_for_macro_fusion.

2013-12-03  Peter Bergner  <bergner@vnet.ibm.com>

	* config/rs6000/htmintrin.h (_TEXASR_INSTRUCTION_FETCH_CONFLICT): Fix
	typo in macro name.
	(_TEXASRU_INSTRUCTION_FETCH_CONFLICT): Likewise.

2013-12-03  Vladimir Makarov  <vmakarov@redhat.com>

	* config/aarch64/aarch64.c (aarch64_frame_pointer_required): Check
	LR_REGNUM.
	(aarch64_can_eliminate): Don't check elimination source when
	frame_pointer_required is false.

2013-12-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* config/avr/avr.c (avr_option_override): Warn if asked to generate
	position independent code.
	* config/avr/avr.h: Modify LINK_SPEC to reject -shared.

2013-12-03   H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59363
	* config/i386/i386.c (emit_memset): Adjust destination address
	after gen_strset.
	(expand_setmem_epilogue): Likewise.

2013-12-03  Marek Polacek  <polacek@redhat.com>

	PR middle-end/56344
	* calls.c (expand_call): Disallow passing huge arguments by value.

2013-12-03  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/59362
	* tree-object-size.c (object_sizes): Change into array of
	vec<unsigned HOST_WIDE_INT>.
	(compute_builtin_object_size): Check computed bitmap for
	non-NULL instead of object_sizes.  Call safe_grow on object_sizes
	vector if new SSA_NAMEs appeared.
	(init_object_sizes): Check computed bitmap for non-NULL.
	Call safe_grow on object_sizes elements instead of initializing
	it with XNEWVEC.
	(fini_object_sizes): Call release on object_sizes elements, don't
	set it to NULL.

	PR middle-end/59011
	* gimplify.c (nonlocal_vla_vars): New variable.
	(gimplify_var_or_parm_decl): Put VAR_DECLs for VLAs into
	nonlocal_vla_vars chain.
	(gimplify_body): Call declare_vars on nonlocal_vla_vars chain
	if outer_bind has DECL_INITIAL (current_function_decl) block.

	PR target/58864
	* dojump.c (save_pending_stack_adjust, restore_pending_stack_adjust):
	New functions.
	* expr.h (struct saved_pending_stack_adjust): New type.
	(save_pending_stack_adjust, restore_pending_stack_adjust): New
	prototypes.
	* optabs.c (emit_conditional_move): Call save_pending_stack_adjust
	and get_last_insn before do_pending_stack_adjust, call
	restore_pending_stack_adjust after delete_insns_since.
	* expr.c (expand_expr_real_2): Don't call do_pending_stack_adjust
	before calling emit_conditional_move.
	* expmed.c (expand_sdiv_pow2): Likewise.
	* calls.c (expand_call): Use {save,restore}_pending_stack_adjust.

2013-12-02  Jeff Law  <law@redhat.com>

	PR tree-optimization/59322
	* tree-ssa-threadedge.c (create_edge_and_update_destination_phis):
	Remove code which copied jump threading paths.

2013-12-02  Sriraman Tallam  <tmsriram@google.com>

	PR target/58944
	* config/i386/i386.opt (ix86_arch_string): Mark this variable
	for saving in cl_target_option.
	(ix86_tune_string): Ditto.
	(ix86_cmodel): Ditto.
	(ix86_abi): Ditto.
	(ix86_asm_dialect): Ditto.
	(ix86_branch_cost): Ditto.
	(ix86_dump_tunes): Ditto.
	(ix86_force_align_arg_pointer): Ditto.
	(ix86_force_drap): Ditto.
	(ix86_incoming_stack_boundary_arg): Ditto.
	(ix86_pmode): Ditto.
	(ix86_preferred_stack_boundary_arg): Ditto.
	(ix86_recip_name): Ditto.
	(ix86_regparm): Ditto.
	(ix86_section_threshold): Ditto.
	(ix86_sse2avx): Ditto.
	(ix86_stack_protector_guard): Ditto.
	(ix86_stringop_alg): Ditto.
	(ix86_tls_dialect): Ditto.
	(ix86_tune_ctrl_string): Ditto.
	(ix86_tune_memcpy_strategy): Ditto.
	(ix86_tune_memset_strategy): Ditto.
	(ix86_tune_no_default): Ditto.
	(ix86_veclibabi_type): Ditto.
	* config/i386/i386.c (function_specific_save): Save the above
	variables in gcc_options to cl_target_option.
	(function_specific_restore): Do the reverse done in
	function_specific_save.
	(ix86_valid_target_attribute_tree): Change ix86_arch_string
	and ix86_tune_string to use the opts structure.
	(ix86_option_override_internal):Change
	ix86_incoming_stack_boundary_arg to
	opts->x_ix86_incoming_stack_boundary_arg

2013-12-02  Joern Rennecke  <joern.rennecke@embecosm.com>

	* config/epiphany/epiphany.h: Wrap rtl_opt_pass declarations
	in #ifndef IN_LIBGCC2 / #endif.

2013-12-02  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/59358
	* tree-vrp.c (union_ranges): To check for the partially overlapping
	ranges or adjacent ranges, also compare *vr0max with vr1max.

2013-12-02  Sterling Augustine  <saugustine@google.com>

	* dwarf2out.c (output_pubnames): Use comp_unit_die ()->die_offset
	when there isn't a skeleton die.

2013-12-02  Marek Polacek  <polacek@redhat.com>

	PR sanitizer/59353
	* doc/invoke.texi: Document -fsanitize=return.

2013-12-02  Tobias Burnus  <burnus@net-b.de>
	    Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR middle-end/59257
	* doc/invoke.texi: Add missing @opindex.
	(-fsanitize=): Use @gcctabopt instead of @itemize.

2013-12-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	Fix C++0x memory model for unaligned fields in packed, aligned(4)
	structures with -fno-strict-volatile-bitfields on STRICT_ALIGNMENT
	targets like arm-none-eabi.
	* expr.c (expand_assignment): Handle normal fields like bit regions.

2013-12-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59139
	* tree-ssa-loop-niter.c (chain_of_csts_start): Properly match
	code in get_val_for.
	(get_val_for): Use gcc_checking_asserts.

2013-12-02  Richard Biener  <rguenther@suse.de>

	PR middle-end/59199
	* tree-ssa-operands.c (opf_implicit): Remove.
	(opf_address_taken): New flag.
	(get_expr_operands): Remove early out, pass down opf_address_taken for
	ADDR_EXPRs, add a use operand only for non-opf_address_taken bases.
	(get_indirect_ref_operands): Rename to ...
	(get_mem_ref_operands): ... this.
	(get_asm_expr_operands): Rename to ...
	(get_asm_stmt_operands): ... this.

2013-12-02  Yuri Rumyantsev  <ysrumyan@gmail.com>

	* ipa-inline.c (check_callers): Add missed pointer de-reference.

2013-12-02  Eric Botcazou  <ebotcazou@adacore.com>

	PR tree-optimization/59356
	* tree-dfa.h (get_addr_base_and_unit_offset_1) <case ARRAY_REF>: Do the
	offset computation using the precision of the index type.

2013-12-02  Yvan Roux  <yvan.roux@linaro.org>

	PR target/58785
	* config/arm/arm.c (arm_preferred_reload_class): Only return LO_REGS
	when rclass is GENERAL_REGS.

2013-12-02  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>

	* loop-unroll.c (decide_unroll_constant_iterations): Check macro
	TARGET_LOOP_UNROLL_ADJUST while deciding unroll factor.

2013-12-01  Eric Botcazou  <ebotcazou@adacore.com>

	* config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
	identifier node.

2013-12-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* expr.c (emit_group_store): Fix off-by-one BITFIELD_END argument.

2013-11-30  Paulo Matos  <pmatos@broadcom.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	* combine.c (reg_nonzero_bits_for_combine): Apply mask transformation
	as applied to nonzero_sign_valid when last_set_mode has less precision
	than mode.

2013-11-30  Tobias Burnus  <burnus@net-b.de>

	PR sanitizer/59275
	* doc/invoke.texi (-fsanitize=address,leak): Mention the associated
	environment variable and link to a list with flags.
	(-fsanitize=thread): Ditto and update link.

2013-11-29  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/59340
	* lra.c (check_rtl): Use recog_memoized instead of insn_invalid_p.

	Revert
	2013-11-20  Robert Suchanek  <Robert.Suchanek@imgtec.com>

	* lra.c (lra): Set lra_in_progress before check_rtl call.
	* recog.c (insn_invalid_p): Add !lra_in_progress to prevent
	adding clobber regs when LRA is running.

2013-11-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/59289
	* config/arm/arm.c (cortexa15_extra_costs): Adjust costs.

2013-11-29  Richard Biener  <rguenther@suse.de>

	PR middle-end/59208
	* tree-ssa-operands.h (fini_ssa_operands, verify_ssa_operands,
	free_stmt_operands, update_stmt_operands): Add struct function
	argument.
	* tree-ssa-operands.c: Remove uses of cfun, propagate struct
	function argument from fini_ssa_operands, verify_ssa_operands,
	free_stmt_operands and update_stmt_operands everywhere.
	* tree-ssanames.h (release_ssa_name_fn): New.
	(release_ssa_name): Inline wrapper around release_ssa_name_fn.
	* tree-ssanames.c (release_ssa_name): Rename to ...
	(release_ssa_name_fn): ... this and add struct function argument.
	* gimple-ssa.h (update_stmt, update_stmt_if_modified): Adjust.
	(update_stmt_fn): New function.
	* tree-cfg.c (move_block_to_fn): Adjust.
	* tree-if-conv.c (free_bb_predicate): Likewise.
	* tree-ssa.c (verify_ssa): Likewise.
	(delete_tree_ssa): Likewise.
	* gimple-pretty-print.c (dump_gimple_mem_ops): Remove guard.
	* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Call
	update_stmt_fn instead of update_stmt.

2013-11-29  Yvan Roux  <yvan.roux@linaro.org>

	* config/arm/arm.h (THUMB_SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS
	for LRA.

2013-11-29  Yvan Roux  <yvan.roux@linaro.org>

	* config/arm/arm.md (store_minmaxsi): Use only when
	optimize_function_for_size_p.

2013-11-29  Jakub Jelinek  <jakub@redhat.com>
	    Yury Gribov  <y.gribov@samsung.com>

	PR sanitizer/59063
	* config/gnu-user.h: Removed old code for setting up sanitizer libs.
	* gcc.c: Using libsanitizer spec instead of explicit libs.

2013-11-29  Ilya Enkovich  <ilya.enkovich@intel.com>

	Reverted:
	2013-11-20  Ilya Enkovich  <ilya.enkovich@intel.com>
	* cgraph.h (varpool_node): Add need_bounds_init field.
	* lto-cgraph.c (lto_output_varpool_node): Output
	need_bounds_init value.
	(input_varpool_node): Read need_bounds_init value.
	* varpool.c (dump_varpool_node): Dump need_bounds_init field.

	Reverted:
	2013-11-20  Ilya Enkovich  <ilya.enkovich@intel.com>
	* dbxout.c (dbxout_type): Ignore POINTER_BOUNDS_TYPE.
	* dwarf2out.c (gen_subprogram_die): Ignore bound args.
	(gen_type_die_with_usage): Skip pointer bounds.
	(dwarf2out_global_decl): Likewise.

	Reverted:
	2013-11-18  Ilya Enkovich  <ilya.enkovich@intel.com>
	* builtin-types.def (BT_FN_PTR_CONST_PTR_VAR): New.
	* chkp-builtins.def (BUILT_IN_CHKP_BIND_BOUNDS): New.
	* cfgexpand.c (expand_call_stmt): Expand BUILT_IN_CHKP_BIND_BOUNDS.
	* gimple.c (gimple_call_get_nobnd_arg_index): Remove.
	* gimple.h (gf_mask): Add GF_CALL_WITH_BOUNDS.
	(gimple_call_with_bounds_p): New.
	(gimple_call_set_with_bounds): New.
	(gimple_call_num_nobnd_args): Remove.
	(gimple_call_nobnd_arg): Remove.
	* tree.h (CALL_WITH_BOUNDS_P): New.
	* rtl.h (CALL_EXPR_WITH_BOUNDS_P): New.

	Reverted:
	2013-11-08  Ilya Enkovich  <ilya.enkovich@intel.com>
	* common.opt (fcheck-pointer-bounds): Move to ...
	* c-family/c.opt: ... here.
	* langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): Remove.
	(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CHKP_SUPPORTED.
	* langhooks.h (lang_hooks): Remove chkp_supported field.
	* toplev.c (process_options): Remove chkp_supported check.

	Reverted:
	2013-10-30  Ilya Enkovich  <ilya.enkovich@intel.com>
	* tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.
	* tree.h (POINTER_BOUNDS_P): New.
	(BOUNDED_TYPE_P): New.
	(BOUNDED_P): New.
	(pointer_bounds_type_node): New.
	* tree.c (build_common_tree_nodes): Initialize
	pointer_bounds_type_node.
	* gimple.h (gimple_call_get_nobnd_arg_index): New.
	(gimple_call_num_nobnd_args): New.
	(gimple_call_nobnd_arg): New.
	(gimple_return_retbnd): New.
	(gimple_return_set_retbnd): New
	* gimple.c (gimple_build_return): Increase number of ops
	for return statement.
	(gimple_call_get_nobnd_arg_index): New.
	* gimple-pretty-print.c (dump_gimple_return): Print second op.

	Reverted:
	2013-10-30  Ilya Enkovich  <ilya.enkovich@intel.com>
	* ipa.c (cgraph_build_static_cdtor_1): Support contructors
	with "chkp ctor" and "bnd_legacy" attributes.
	* gimplify.c (gimplify_init_constructor): Avoid infinite
	loop during gimplification of bounds initializer.

	Reverted:
	2013-10-30  Ilya Enkovich  <ilya.enkovich@intel.com>
	* c-family/c-common.c (handle_bnd_variable_size_attribute): New.
	(handle_bnd_legacy): New.
	(c_common_attribute_table): Add bnd_variable_size and bnd_legacy.
	* doc/extend.texi: Document bnd_variable_size and bnd_legacy
	attributes.

	Reverted:
	2013-10-29  Ilya Enkovich  <ilya.enkovich@intel.com>
	* builtin-types.def (BT_FN_VOID_CONST_PTR): New.
	(BT_FN_PTR_CONST_PTR): New.
	(BT_FN_CONST_PTR_CONST_PTR): New.
	(BT_FN_PTR_CONST_PTR_SIZE): New.
	(BT_FN_PTR_CONST_PTR_CONST_PTR): New.
	(BT_FN_VOID_PTRPTR_CONST_PTR): New.
	(BT_FN_VOID_CONST_PTR_SIZE): New.
	(BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE): New.
	* chkp-builtins.def: New.
	* builtins.def: include chkp-builtins.def.
	(DEF_CHKP_BUILTIN): New.
	* builtins.c (expand_builtin): Support BUILT_IN_CHKP_INIT_PTR_BOUNDS,
	BUILT_IN_CHKP_NULL_PTR_BOUNDS, BUILT_IN_CHKP_COPY_PTR_BOUNDS,
	BUILT_IN_CHKP_CHECK_PTR_LBOUNDS, BUILT_IN_CHKP_CHECK_PTR_UBOUNDS,
	BUILT_IN_CHKP_CHECK_PTR_BOUNDS, BUILT_IN_CHKP_SET_PTR_BOUNDS,
	BUILT_IN_CHKP_NARROW_PTR_BOUNDS, BUILT_IN_CHKP_STORE_PTR_BOUNDS,
	BUILT_IN_CHKP_GET_PTR_LBOUND, BUILT_IN_CHKP_GET_PTR_UBOUND,
	BUILT_IN_CHKP_BNDMK, BUILT_IN_CHKP_BNDSTX, BUILT_IN_CHKP_BNDCL,
	BUILT_IN_CHKP_BNDCU, BUILT_IN_CHKP_BNDLDX, BUILT_IN_CHKP_BNDRET,
	BUILT_IN_CHKP_INTERSECT, BUILT_IN_CHKP_ARG_BND, BUILT_IN_CHKP_NARROW,
	BUILT_IN_CHKP_EXTRACT_LOWER, BUILT_IN_CHKP_EXTRACT_UPPER.
	* common.opt (fcheck-pointer-bounds): New.
	* toplev.c (process_options): Check Pointer Bounds Checker is
	supported.
	* doc/extend.texi: Document Pointer Bounds Checker built-in functions.

	Reverted:
	2013-10-30  Ilya Enkovich  <ilya.enkovich@intel.com>
	* target.def (builtin_chkp_function): New.
	(chkp_bound_type): New.
	(chkp_bound_mode): New.
	(fn_abi_va_list_bounds_size): New.
	(load_bounds_for_arg): New.
	(store_bounds_for_arg): New.
	* targhooks.h (default_load_bounds_for_arg): New.
	(default_store_bounds_for_arg): New.
	(default_fn_abi_va_list_bounds_size): New.
	(default_chkp_bound_type): New.
	(default_chkp_bound_mode): New.
	(default_builtin_chkp_function): New.
	* targhooks.c (default_load_bounds_for_arg): New.
	(default_store_bounds_for_arg): New.
	(default_fn_abi_va_list_bounds_size): New.
	(default_chkp_bound_type): New.
	(default_chkp_bound_mode); New.
	(default_builtin_chkp_function): New.
	* doc/tm.texi.in (TARGET_FN_ABI_VA_LIST_BOUNDS_SIZE): New.
	(TARGET_LOAD_BOUNDS_FOR_ARG): New.
	(TARGET_STORE_BOUNDS_FOR_ARG): New.
	(TARGET_BUILTIN_CHKP_FUNCTION): New.
	(TARGET_CHKP_BOUND_TYPE): New.
	(TARGET_CHKP_BOUND_MODE): New.
	* doc/tm.texi: Regenerated.
	* langhooks.h (lang_hooks): Add chkp_supported field.
	* langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): New.
	(LANG_HOOKS_INITIALIZER); Add LANG_HOOKS_CHKP_SUPPORTED.

	Reverted:
	2013-10-24  Ilya Enkovich  <ilya.enkovich@intel.com>
	* config/i386/constraints.md (B): New.
	(Ti): New.
	(Tb): New.
	* config/i386/i386-c.c (ix86_target_macros_internal): Add __MPX__.
	* config/i386/i386-modes.def (BND32): New.
	(BND64): New.
	* config/i386/i386-protos.h (ix86_bnd_prefixed_insn_p): New.
	* config/i386/i386.c (isa_opts): Add mmpx.
	(regclass_map): Add bound registers.
	(dbx_register_map): Likewise.
	(dbx64_register_map): Likewise.
	(svr4_dbx_register_map): Likewise.
	(PTA_MPX): New.
	(ix86_option_override_internal): Support MPX ISA.
	(ix86_conditional_register_usage): Support bound registers.
	(print_reg): Likewise.
	(ix86_code_end): Add MPX bnd prefix.
	(output_set_got): Likewise.
	(ix86_output_call_insn): Likewise.
	(ix86_print_operand): Add '!' (MPX bnd) print prefix support.
	(ix86_print_operand_punct_valid_p): Likewise.
	(ix86_print_operand_address): Support UNSPEC_BNDMK_ADDR and
	UNSPEC_BNDMK_ADDR.
	(ix86_class_likely_spilled_p): Add bound regs support.
	(ix86_hard_regno_mode_ok): Likewise.
	(x86_order_regs_for_local_alloc): Likewise.
	(ix86_bnd_prefixed_insn_p): New.
	* config/i386/i386.h (FIRST_PSEUDO_REGISTER): Fix to new value.
	(FIXED_REGISTERS): Add bound registers.
	(CALL_USED_REGISTERS): Likewise.
	(REG_ALLOC_ORDER): Likewise.
	(HARD_REGNO_NREGS): Likewise.
	(TARGET_MPX): New.
	(VALID_BND_REG_MODE): New.
	(FIRST_BND_REG): New.
	(LAST_BND_REG): New.
	(reg_class): Add BND_REGS.
	(REG_CLASS_NAMES): Likewise.
	(REG_CLASS_CONTENTS): Likewise.
	(BND_REGNO_P): New.
	(ANY_BND_REG_P): New.
	(BNDmode): New.
	(HI_REGISTER_NAMES): Add bound registers.
	* config/i386/i386.md (UNSPEC_BNDMK): New.
	(UNSPEC_BNDMK_ADDR): New.
	(UNSPEC_BNDSTX): New.
	(UNSPEC_BNDLDX): New.
	(UNSPEC_BNDLDX_ADDR): New.
	(UNSPEC_BNDCL): New.
	(UNSPEC_BNDCU): New.
	(UNSPEC_BNDCN): New.
	(UNSPEC_MPX_FENCE): New.
	(BND0_REG): New.
	(BND1_REG): New.
	(type): Add mpxmov, mpxmk, mpxchk, mpxld, mpxst.
	(length_immediate): Likewise.
	(prefix_0f): Likewise.
	(memory): Likewise.
	(prefix_rep): Check for bnd prefix.
	(length_nobnd): New.
	(length): Use length_nobnd if specified.
	(BND): New.
	(bnd_ptr): New.
	(BNDCHECK): New.
	(bndcheck): New.
	(*jcc_1): Add bnd prefix and rename length attr to length_nobnd.
	(*jcc_2): Likewise.
	(jump): Likewise.
	(simple_return_internal): Likewise.
	(simple_return_pop_internal): Likewise.
	(*indirect_jump): Add MPX bnd prefix.
	(*tablejump_1): Likewise.
	(simple_return_internal_long): Likewise.
	(simple_return_indirect_internal): Likewise.
	(<mode>_mk): New.
	(*<mode>_mk): New.
	(mov<mode>): New.
	(*mov<mode>_internal_mpx): New.
	(<mode>_<bndcheck>): New.
	(*<mode>_<bndcheck>): New.
	(<mode>_ldx): New.
	(*<mode>_ldx): New.
	(<mode>_stx): New.
	(*<mode>_stx): New.
	* config/i386/predicates.md (lea_address_operand): Rename to...
	(address_no_seg_operand): ... this.
	(address_mpx_no_base_operand): New.
	(address_mpx_no_index_operand): New.
	(bnd_mem_operator): New.
	* config/i386/i386.opt (mmpx): New.
	* doc/invoke.texi: Add documentation for the flags -mmpx, -mno-mpx.
	* doc/rtl.texi Add documentation for BND32mode and BND64mode.

	Reverted:
	2013-10-24  Ilya Enkovich  <ilya.enkovich@intel.com>
	* mode-classes.def (MODE_POINTER_BOUNDS): New.
	* tree.def (POINTER_BOUNDS_TYPE): New.
	* genmodes.c (complete_mode): Support MODE_POINTER_BOUNDS.
	(POINTER_BOUNDS_MODE): New.
	(make_pointer_bounds_mode): New.
	* machmode.h (POINTER_BOUNDS_MODE_P): New.
	* stor-layout.c (int_mode_for_mode): Support MODE_POINTER_BOUNDS.
	(layout_type): Support POINTER_BOUNDS_TYPE.
	* tree-pretty-print.c (dump_generic_node): Support POINTER_BOUNDS_TYPE.
	* tree.c (build_int_cst_wide): Support POINTER_BOUNDS_TYPE.
	(type_contains_placeholder_1): Likewise.
	* tree.h (POINTER_BOUNDS_TYPE_P): New.
	* varasm.c (output_constant): Support POINTER_BOUNDS_TYPE.
	* doc/rtl.texi (MODE_POINTER_BOUNDS): New.

2013-11-29  Richard Biener  <rguenther@suse.de>

	PR middle-end/59338
	* tree-cfg.c (verify_expr): Restrict bounds verification of
	BIT_FIELD_REF arguments to non-aggregate typed base objects.

2013-11-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59334
	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Fix bug
	in previous commit.

2013-11-29  Jakub Jelinek  <jakub@redhat.com>
	    Richard Biener  <rguenther@suse.de>

	PR lto/59326
	* omp-low.c (simd_clone_create): Return NULL if for definition
	!cgraph_function_with_gimple_body_p (old_node).  Call cgraph_get_body
	before calling cgraph_function_versioning.
	(expand_simd_clones): Look for "omp declare simd" attribute first.
	Don't check targetm.simd_clone.compute_vecsize_and_simdlen here.
	Punt if node->global.inlined_to.
	(pass_omp_simd_clone::gate): Also enable if in_lto_p && !flag_wpa.
	Disable pass if targetm.simd_clone.compute_vecsize_and_simdlen is NULL.
	* lto-streamer-out.c (hash_tree): Handle OMP_CLAUSE.

2013-11-29  Jakub Jelinek  <jakub@redhat.com>

	PR lto/59326
	* tree-core.h (enum omp_clause_schedule_kind): Add
	OMP_CLAUSE_SCHEDULE_LAST.
	(enum omp_clause_default_kind): Add OMP_CLAUSE_DEFAULT_LAST.
	(enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_LAST.
	(enum omp_clause_map_kind): Add OMP_CLAUSE_MAP_LAST.
	(enum omp_clause_proc_bind_kind): Add OMP_CLAUSE_PROC_BIND_LAST.
	* lto-streamer-out.c (lto_is_streamable): Allow streaming OMP_CLAUSE.
	(DFS_write_tree_body): Handle OMP_CLAUSE.
	* tree-streamer-out.c (pack_ts_omp_clause_value_fields): New function.
	(streamer_pack_tree_bitfields): Call it for OMP_CLAUSE.
	(write_ts_omp_clause_tree_pointers): New function.
	(streamer_write_tree_body): Call it for OMP_CLAUSE.
	(streamer_write_tree_header): For OMP_CLAUSE stream OMP_CLAUSE_CODE.
	* tree-streamer-in.c (unpack_ts_omp_clause_value_fields): New function.
	(unpack_value_fields): Call it for OMP_CLAUSE.
	(streamer_alloc_tree): Handle OMP_CLAUSE.
	(lto_input_ts_omp_clause_tree_pointers): New function.
	(streamer_read_tree_body): Call it for OMP_CLAUSE.

2013-11-29  Joseph Myers  <joseph@codesourcery.com>

	* doc/implement-c.texi: Document C11 implementation-defined
	behavior.  Refer to -ffp-contract=fast for contraction behavior.
	* doc/invoke.texi (-std=c99, std=c11): Update description of
	completeness.
	(-std=gnu99): Don't mention as future default.
	(-std=gnu11): Mention as intended future default.
	* doc/standards.texi: Update descriptions of C99 and C11 support.
	Limit statement about C99 facilities for freestanding
	implementations to some platforms only.

2013-11-28  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/59327
	* cfgexpand.c (expand_used_vars): Avoid warning on 32-bit HWI hosts.

2013-11-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/57293
	* ira.h (ira_setup_eliminable_regset): Remove parameter.
	* ira.c (ira_setup_eliminable_regset): Ditto.  Add
	SUPPORTS_STACK_ALIGNMENT for crtl->stack_realign_needed.
	Don't call lra_init_elimination.
	(ira): Call ira_setup_eliminable_regset without arguments.
	* loop-invariant.c (calculate_loop_reg_pressure): Remove argument
	from ira_setup_eliminable_regset call.
	* gcse.c (calculate_bb_reg_pressure): Ditto.
	* haifa-sched.c (sched_init): Ditto.
	* lra.h (lra_init_elimination): Remove the prototype.
	* lra-int.h (lra_insn_recog_data): New member sp_offset.  Move
	used_insn_alternative upper.
	(lra_eliminate_regs_1): Add one more parameter.
	(lra-eliminate): Ditto.
	* lra.c (lra_invalidate_insn_data): Set sp_offset.
	(setup_sp_offset): New.
	(lra_process_new_insns): Call setup_sp_offset.
	(lra): Add argument to lra_eliminate calls.
	* lra-constraints.c (get_equiv_substitution): Rename to get_equiv.
	(get_equiv_with_elimination): New.
	(process_addr_reg): Call get_equiv_with_elimination instead of
	get_equiv_substitution.
	(equiv_address_substitution): Ditto.
	(loc_equivalence_change_p): Ditto.
	(loc_equivalence_callback, lra_constraints): Ditto.
	(curr_insn_transform): Ditto.  Print the sp offset
	(process_alt_operands): Prevent stack pointer reloads.
	(lra_constraints): Remove one argument from lra_eliminate call.
	Move it up.  Mark used hard regs bfore it.  Use
	get_equiv_with_elimination instead of get_equiv_substitution.
	* lra-eliminations.c (lra_eliminate_regs_1): Add parameter and
	assert for param values combination.  Use sp offset.  Add argument
	to lra_eliminate_regs_1 calls.
	(lra_eliminate_regs): Add argument to lra_eliminate_regs_1 call.
	(curr_sp_change): New static var.
	(mark_not_eliminable): Add parameter.  Update curr_sp_change.
	Don't prevent elimination to sp if we can calculate its change.
	Pass the argument to mark_not_eliminable calls.
	(eliminate_regs_in_insn): Add a parameter.  Use sp offset.  Add
	argument to lra_eliminate_regs_1 call.
	(update_reg_eliminate): Move calculation of hard regs for spill
	lower.  Switch off lra_in_progress temporarily to generate regs
	involved into elimination.
	(lra_init_elimination): Rename to init_elimination.  Make it
	static.  Set up insn sp offset, check the offsets at the end of BBs.
	(process_insn_for_elimination): Add parameter.  Pass its value to
	eliminate_regs_in_insn.
	(lra_eliminate): : Add parameter.  Pass its value to
	process_insn_for_elimination.  Add assert for param values
	combination.  Call init_elimination.  Don't update offsets in
	equivalence substitutions.
	* lra-spills.c (assign_mem_slot): Don't call lra_eliminate_regs_1
	for created stack slot.
	(remove_pseudos): Call lra_eliminate_regs_1 before changing memory
	onto stack slot.

2013-11-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/iterators.md (vrint_conds): New int attribute.
	* config/arm/vfp.md (<vrint_pattern><SDF:mode>2): Set conds attribute.
	(smax<mode>3): Likewise.
	(smin<mode>3): Likewise.

2013-11-28  Richard Sandiford  <rdsandiford@googlemail.com>

	* tree-core.h (tree_base): Document use of static_flag for SSA_NAME.
	* tree.h (SSA_NAME_ANTI_RANGE_P, SSA_NAME_RANGE_TYPE): New macros.
	* tree-ssanames.h (set_range_info): Add range_type argument.
	(duplicate_ssa_name_range_info): Likewise.
	* tree-ssanames.c (set_range_info): Take the range type as argument
	and store it in SSA_NAME_ANTI_RANGE_P.
	(duplicate_ssa_name_range_info): Likewise.
	(get_range_info): Use SSA_NAME_ANTI_RANGE_P.
	(set_nonzero_bits): Update call to set_range_info.
	(duplicate_ssa_name_fn): Update call to duplicate_ssa_name_range_info.
	* tree-ssa-copy.c (fini_copy_prop): Likewise.
	* tree-vrp.c (remove_range_assertions): Update call to set_range_info.
	(vrp_finalize): Likewise, passing anti-ranges directly.

2013-11-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59330
	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Simplify
	and fix delayed marking of free calls not necessary.

2013-11-28  Andrew MacLeod  <amacleod@redhat.com>

	* tree-ssa-propagate.c (valid_gimple_call_p): Pass TREE_TYPE to
	is_gimple_reg_type.
	* ipa-prop.c (determine_known_aggregate_parts): Likewise.

2013-11-28  Terry Guo  <terry.guo@arm.com>

	* config/arm/arm.c (v7m_extra_costs): New table.
	(arm_v7m_tune): Use it.

2013-11-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/sol2.h (TIME_LIBRARY): Define.

2013-11-28  Richard Biener  <rguenther@suse.de>

	PR lto/59323
	* lto-streamer-out.c (tree_is_indexable): TYPE_DECLs and
	CONST_DECLs in function context are not indexable.

2013-11-28  Chung-Ju Wu  <jasonwucj@gmail.com>

	* config/nds32/nds32.c (nds32_rtx_costs): Adjust MULT cost if it is
	not optimized for size.

2013-11-28  Jakub Jelinek  <jakub@redhat.com>

	* cfgexpand.c (struct stack_vars_data): Add asan_base and asan_alignb
	fields.
	(expand_stack_vars): For -fsanitize=address, use (and set initially)
	data->asan_base as base for vars and update asan_alignb.
	(expand_used_vars): Initialize data.asan_base and data.asan_alignb.
	Pass them to asan_emit_stack_protection.
	* asan.c (asan_detect_stack_use_after_return): New variable.
	(asan_emit_stack_protection): Add pbase and alignb arguments.
	Implement use after return sanitization.
	* asan.h (asan_emit_stack_protection): Adjust prototype.
	(ASAN_STACK_MAGIC_USE_AFTER_RET, ASAN_STACK_RETIRED_MAGIC): Define.

2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>

	* common.opt: Introduced a new option -fsimd-cost-model.
	* doc/invoke.texi: Introduced a new openmp-simd warning and
	a new -fsimd-cost-model option.
	* tree-vectorizer.h (unlimited_cost_model): Interface updated
	to rely on the particular loop info.
	* tree-vect-data-refs.c (vect_peeling_hash_insert): Ditto.
	(vect_peeling_hash_choose_best_peeling): Ditto.
	(vect_enhance_data_refs_alignment): Ditto.
	* tree-vect-slp.c (vect_slp_analyze_bb_1): Ditto.
	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Ditto
	plus added openmp-simd warining.

2013-11-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR rtl-optimization/59311
	* dwarf2cfi.c (dwf_regno): Assert reg isn't pseudo register.
	* lra-spills.c (spill_pseudos): Handle REG_XXX notes.

2013-11-27  Eric Botcazou  <ebotcazou@adacore.com>

	* var-tracking.c (track_expr_p): Do not track declarations for parts
	of tracked parameters.
	(add_stores): Do not track values for tracked parameters passed in
	multiple locations.
	(vt_get_decl_and_offset): Handle PARALLEL.
	(vt_add_function_parameter): Handle parameters with incoming PARALLEL.

2013-11-27  Jeff Law  <law@redhat.com>

	* tree-ssa-threadupdate.c (thread_through_all_blocks): Do not
	clobber the loop structure thread_block was unsuccessful.  If
	thread_block was unsuccessful, cleanup appropriately.

2013-11-27  Chen Liqin <liqin.gcc@gmail.com>

	* config/score/score.h (REG_CLASS_FROM_LETTER): Delete.
	(score_char_to_class): Likewise.

2013-11-27  Kenneth Zadeck  <zadeck@naturalbridge.com>

	* fold-const.c (int_const_binop_1): Make INT_MIN % -1 return 0 with
	the overflow bit set.

2013-11-27  Richard Biener  <rguenther@suse.de>

	PR middle-end/58723
	* cgraphbuild.c (build_cgraph_edges): Do not build edges
	for internal calls.
	(rebuild_cgraph_edges): Likewise.
	* ipa-inline-analysis.c (estimate_function_body_sizes):
	Skip internal calls.
	* tree-inline.c (estimate_num_insns): Estimate size of internal
	calls as 0.
	(gimple_expand_calls_inline): Do not try inline-expanding
	internal calls.
	* lto-streamer-in.c (input_cfg): Stream loop safelen,
	force_vect and simduid.
	(input_struct_function_base): Stream has_force_vect_loops
	and has_simduid_loops.
	(input_function): Adjust.
	* lto-streamer-out.c (output_cfg): Stream loop safelen,
	force_vect and simduid.
	(output_struct_function_base): Stream has_force_vect_loops
	and has_simduid_loops.

2013-11-27  Kai Tietz  <ktietz@redhat.com>

	* config/i386/winnt.c (i386_pe_section_type_flags): Use const
	pointer cast.

2013-11-27  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* doc/tm.texi.in (TARGET_HAS_NO_HW_DIVIDE): Define.
	* doc/tm.texi (TARGET_HAS_NO_HW_DIVIDE): Regenerate.

2013-11-27  Marek Polacek  <polacek@redhat.com>

	PR sanitizer/59306
	* ubsan.c (instrument_null): Use gimple_store_p/gimple_assign_load_p
	instead of walk_gimple_op.
	(ubsan_pass): Adjust.  Call instrument_null only if SANITIZE_NULL.

2013-11-27  Aldy Hernandez  <aldyh@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* cgraph.h (enum cgraph_simd_clone_arg_type): New.
	(struct cgraph_simd_clone_arg, struct cgraph_simd_clone): New.
	(struct cgraph_node): Add simdclone and simd_clones fields.
	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen,
	ix86_simd_clone_adjust, ix86_simd_clone_usable): New functions.
	(TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN,
	TARGET_SIMD_CLONE_ADJUST, TARGET_SIMD_CLONE_USABLE): Define.
	* doc/tm.texi.in (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN,
	TARGET_SIMD_CLONE_ADJUST, TARGET_SIMD_CLONE_USABLE): Add.
	* doc/tm.texi: Regenerated.
	* ggc.h (ggc_alloc_cleared_simd_clone_stat): New function.
	* ipa-cp.c (determine_versionability): Fail if "omp declare simd"
	attribute is present.
	* omp-low.c: Include pretty-print.h, ipa-prop.h and tree-eh.h.
	(simd_clone_vector_of_formal_parm_types): New function.
	(simd_clone_struct_alloc, simd_clone_struct_copy,
	simd_clone_vector_of_formal_parm_types, simd_clone_clauses_extract,
	simd_clone_compute_base_data_type, simd_clone_mangle,
	simd_clone_create, simd_clone_adjust_return_type,
	create_tmp_simd_array, simd_clone_adjust_argument_types,
	simd_clone_init_simd_arrays): New functions.
	(struct modify_stmt_info): New type.
	(ipa_simd_modify_stmt_ops, ipa_simd_modify_function_body,
	simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone): New
	functions.
	(pass_data_omp_simd_clone): New variable.
	(pass_omp_simd_clone): New class.
	(make_pass_omp_simd_clone): New function.
	* passes.def (pass_omp_simd_clone): New.
	* target.def (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN,
	TARGET_SIMD_CLONE_ADJUST, TARGET_SIMD_CLONE_USABLE): New target hooks.
	* target.h (struct cgraph_node, struct cgraph_simd_node): Declare.
	* tree-core.h (OMP_CLAUSE_LINEAR_VARIABLE_STRIDE): Document.
	* tree.h (OMP_CLAUSE_LINEAR_VARIABLE_STRIDE): Define.
	* tree-pass.h (make_pass_omp_simd_clone): New prototype.
	* tree-vect-data-refs.c: Include cgraph.h.
	(vect_analyze_data_refs): Inline by hand find_data_references_in_loop
	and find_data_references_in_bb, if find_data_references_in_stmt
	fails, still allow calls to #pragma omp declare simd functions
	in #pragma omp simd loops unless they contain data references among
	the call arguments or in lhs.
	* tree-vect-loop.c (vect_determine_vectorization_factor): Handle
	calls with no lhs.
	(vect_transform_loop): Allow NULL STMT_VINFO_VECTYPE for calls
	without lhs.
	* tree-vectorizer.h (enum stmt_vec_info_type): Add
	call_simd_clone_vec_info_type.
	(struct _stmt_vec_info): Add simd_clone_fndecl field.
	(STMT_VINFO_SIMD_CLONE_FNDECL): Define.
	* tree-vect-stmts.c: Include tree-ssa-loop.h,
	tree-scalar-evolution.h and cgraph.h.
	(vectorizable_call): Handle calls without lhs.  Assert
	!stmt_can_throw_internal instead of failing for it.  Don't update
	EH stuff.
	(struct simd_call_arg_info): New.
	(vectorizable_simd_clone_call): New function.
	(vect_transform_stmt): Call it.
	(vect_analyze_stmt): Likewise.  Allow NULL STMT_VINFO_VECTYPE for
	calls without lhs.
	* ipa-prop.c (ipa_add_new_function): Only call ipa_analyze_node
	if cgraph_function_with_gimple_body_p is true.

2013-11-27  Tom de Vries  <tom@codesourcery.com>
	    Marc Glisse  <marc.glisse@inria.fr>

	PR middle-end/59037
	* fold-const.c (fold_indirect_ref_1): Don't create out-of-bounds
	BIT_FIELD_REF.
	* gimple-fold.c (gimple_fold_indirect_ref): Same.
	* tree-cfg.c (verify_expr): Give error if BIT_FIELD_REF is
	out-of-bounds.

2013-11-27  Eric Botcazou  <ebotcazou@adacore.com>

	PR middle-end/59138
	* expr.c (emit_group_store): Don't write past the end of the structure.
	(store_bit_field): Fix formatting.

2013-11-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59288
	* tree-vect-loop.c (get_initial_def_for_induction): Do not
	re-analyze the PHI but use STMT_VINFO_LOOP_PHI_EVOLUTION_PART.

2013-11-27  Marek Polacek  <polacek@redhat.com>

	* ubsan.c (ubsan_type_descriptor): If varpool_get_node returns NULL
	for a decl, recreate that decl.  Save into the hash table VAR_DECLs
	rather than ADDR_EXPRs.

2013-11-27  Alexander Ivchenko  <alexander.ivchenko@intel.com>

	* config/ia64/hpux.h (TARGET_LIBC_HAS_FUNCTION): Fix typo.

2013-11-26  David Malcolm  <dmalcolm@redhat.com>

	* gengtype.c (struct seen_tag): New.
	(already_seen_tag): New.
	(mark_tag_as_seen): New.
	(walk_subclasses): Support having multiple subclasses using the
	same tag by tracking which tags have already been seen, and using
	this to avoid adding duplicate cases to the "switch" statement.
	The call to already_seen_tag introduces an O(N^2) when running
	gengtype on N, the number of tags, due to the repeated linear
	search, but currently max(N) is relatively small (the number of
	GSS codes, which is 26).
	(walk_type): Pass in a seen_tag for use by the walk_subclasses
	recursion.

	* gimple.def (GIMPLE_OMP_ATOMIC_STORE, GIMPLE_OMP_RETURN): Rename
	underlying GSS values for these codes (from GSS_OMP_ATOMIC_STORE to
	GSS_OMP_ATOMIC_STORE_LAYOUT) to make clear that although
	GIMPLE_OMP_RETURN happens to share the data layout of
	GIMPLE_OMP_ATOMIC_STORE, they are not otherwise related.
	(GIMPLE_OMP_PARALLEL, GIMPLE_OMP_TARGET): Likewise, rename
	underlying GSS value from GSS_OMP_PARALLEL to
	GSS_OMP_PARALLEL_LAYOUT to make clear that these gimple codes are
	not directly related; they merely share in-memory layout.
	(GIMPLE_OMP_SINGLE, GIMPLE_OMP_TEAMS): Likewise, rename GSS values
	for these two codes from GSS_OMP_SINGLE to GSS_OMP_SINGLE_LAYOUT.

	* gsstruct.def (GSS_OMP_PARALLEL, gimple_statement_omp_parallel):
	Rename to...
	(GSS_OMP_PARALLEL_LAYOUT, gimple_statement_omp_parallel_layout):
	...these.
	(GSS_OMP_SINGLE, gimple_statement_omp_single): Rename to...
	(GSS_OMP_SINGLE_LAYOUT, gimple_statement_omp_single_layout): ...these.
	(GSS_OMP_ATOMIC_STORE, gimple_statement_omp_atomic_store): Rename to...
	(GSS_OMP_ATOMIC_STORE_LAYOUT, gimple_statement_omp_atomic_store):
	...these.

	* gimple.h (gimple_statement_resx): New subclass of
	gimple_statement_eh_ctrl, with the invariant that
	stmt->code == GIMPLE_RESX.
	(gimple_statement_eh_dispatch): New subclass of
	gimple_statement_eh_ctrl, with the invariant that
	stmt->code == GIMPLE_EH_DISPATH.

	(gimple_statement_omp_parallel): The existing class expressed
	a layout (GSS_OMP_PARALLEL), but the codes with that layout
	are not all related, so it makes more sense for this class to
	express a *code* (GIMPLE_OMP_PARALLEL).  GSS_OMP_PARALLEL has
	been renamed to GSS_OMP_PARALLEL_LAYOUT to express this, so
	rename the existing gimple_statement_omp_parallel class to...
	(gimple_statement_omp_parallel_layout): ...this, expressing
	a statement of structure layout GSS_OMP_PARALLEL_LAYOUT.
	(gimple_statement_omp_taskreg): New subclass of
	gimple_statement_omp_parallel_layout, expressing the invariant
	that the code is one of GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK,
	as used by the various gimple_omp_taskreg_ accessors.
	(gimple_statement_omp_parallel): Reintroduce this class, this time
	as a subclass of gimple_statement_omp_taskreg to express the
	invariant stmt->code == GIMPLE_OMP_PARALLEL.
	(gimple_statement_omp_target) New class, subclassing
	gimple_statement_omp_parallel_layout, to express the invariant
	stmt->code == GIMPLE_OMP_TARGET.
	(gimple_statement_omp_task): Update to inherit from
	gimple_statement_omp_taskreg rather than
	gimple_statement_omp_parallel.

	(gimple_statement_omp_single): Rename to...
	(gimple_statement_omp_single_layout): ...this, expressing the
	invariant that the layout is GSS_OMP_SINGLE_LAYOUT.
	(gimple_statement_omp_single): ...and reintroduce this name as
	a subclass of gimple_statement_omp_single_layout, expressing
	the invariant that code == GIMPLE_OMP_SINGLE.
	(gimple_statement_omp_teams): New class, subclassing
	gimple_statement_omp_single_layout, for the code GIMPLE_OMP_TEAMS.

	(gimple_statement_omp_atomic_store): Rename to...
	(gimple_statement_omp_atomic_store_layout): ...this, expressing
	the invariant that the layout is GSS_OMP_ATOMIC_STORE_LAYOUT.
	(gimple_statement_omp_atomic_store): ...and reintroduce this
	name as a subclass of gimple_statement_omp_atomic_store_layout
	with code == GIMPLE_OMP_ATOMIC_STORE.
	(gimple_statement_omp_return): New class, subclassing
	gimple_statement_omp_atomic_store_layout for the code
	GIMPLE_OMP_RETURN.

	(is_a_helper <gimple_statement_eh_ctrl>::test): Delete.
	(is_a_helper <gimple_statement_resx>::test): New.
	(is_a_helper <gimple_statement_eh_dispatch>::test): New.
	(is_a_helper <gimple_statement_omp_atomic_store>::test): Only
	check for GIMPLE_OMP_ATOMIC_STORE, not for GIMPLE_OMP_RETURN.
	(is_a_helper <gimple_statement_omp_return>::test): New.
	(is_a_helper <gimple_statement_omp_taskreg>::test): New.
	(is_a_helper <gimple_statement_omp_parallel>::test): Only check
	for GIMPLE_OMP_PARALLEL, not for GIMPLE_OMP_TASK or
	GIMPLE_OMP_TARGET.
	(is_a_helper <gimple_statement_omp_target>::test): New.
	(is_a_helper <gimple_statement_omp_single>::test): Only check
	for GIMPLE_OMP_SINGLE, not for GIMPLE_OMP_TEAMS.
	(is_a_helper <gimple_statement_omp_teams>::test): New.

	(is_a_helper <const gimple_statement_eh_ctrl>::test): Delete.
	(is_a_helper <const gimple_statement_resx>::test): New.
	(is_a_helper <const gimple_statement_eh_dispatch>::test): New.
	(is_a_helper <const gimple_statement_omp_atomic_store>::test): Only
	check for GIMPLE_OMP_ATOMIC_STORE, not for GIMPLE_OMP_RETURN.
	(is_a_helper <const gimple_statement_omp_return>::test): New.
	(is_a_helper <const gimple_statement_omp_taskreg>::test): New.
	(is_a_helper <const gimple_statement_omp_parallel>::test): Only
	check for GIMPLE_OMP_PARALLEL, not for GIMPLE_OMP_TASK or
	GIMPLE_OMP_TARGET.
	(is_a_helper <const gimple_statement_omp_target>::test): New.
	(is_a_helper <const gimple_statement_omp_single>::test): Only
	check for GIMPLE_OMP_SINGLE, not for GIMPLE_OMP_TEAMS.
	(is_a_helper <const gimple_statement_omp_teams>::test): New.

	(gimple_omp_return_set_lhs, gimple_omp_return_lhs,
	gimple_omp_return_lhs_ptr): Replace bogus downcasts to
	gimple_statement_omp_atomic_store with downcasts to
	gimple_statement_omp_return, thus requiring that the code be
	GIMPLE_OMP_RETURN.
	(gimple_resx_region, gimple_resx_set_region): Replace bogus
	downcasts to gimple_statement_eh_ctrl with downcasts to
	gimple_statement_resx, thus requiring that the code be GIMPLE_RESX.
	(gimple_eh_dispatch_region, gimple_eh_dispatch_set_region):
	Replace bogus downcasts to const gimple_statement_eh_ctrl with
	downcasts to gimple_statement_eh_dispatch, thus requiring that
	the code be GIMPLE_EH_DISPATCH.
	(gimple_omp_taskreg_clauses, gimple_omp_taskreg_clauses_ptr)
	gimple_omp_taskreg_set_clauses, gimple_omp_taskreg_child_fn,
	gimple_omp_taskreg_child_fn_ptr, gimple_omp_taskreg_set_child_fn,
	gimple_omp_taskreg_data_arg, gimple_omp_taskreg_data_arg_ptr,
	gimple_omp_taskreg_set_data_arg): Replace bogus downcasts to
	gimple_statement_omp_parallel with downcasts to
	gimple_statement_omp_taskreg, thus requiring that the code be
	either GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK.
	(gimple_omp_target_clauses, gimple_omp_target_clauses_ptr
	gimple_omp_target_set_clauses, gimple_omp_target_child_fn
	gimple_omp_target_child_fn_ptr, gimple_omp_target_set_child_fn
	gimple_omp_target_data_arg, gimple_omp_target_data_arg_ptr
	gimple_omp_target_set_data_arg): Replace bogus downcasts to
	gimple_statement_omp_parallel with downcasts to
	gimple_statement_omp_target, thus requiring that the code be
	GIMPLE_OMP_TARGET.
	(gimple_omp_teams_clauses, gimple_omp_teams_clauses_ptr
	gimple_omp_teams_set_clauses): Replace bogus downcasts to
	gimple_statement_omp_single with downcasts to
	gimple_statement_omp_teams, thus requiring that the code be
	GIMPLE_OMP_TEAMS.

	* gimple.c (gimple_build_resx): Fix bogus as_a<> to use
	gimple_statement_resx.
	(gimple_build_eh_dispatch): Fix bogus as_a<> to use
	gimple_statement_eh_dispatch.

2013-11-26  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/59014
	* tree-vrp.c (register_edge_assert_for_1): Don't look
	through conversions from non-integral types or through
	narrowing conversions.

	PR target/59229
	* config/i386/i386.c (device_alg): Fix up formatting.
	(ix86_expand_set_or_movmem): Handle max_size < epilogue_size_needed
	similarly to count && count < epilogue_size_needed.  Fix up
	comment typo.
	* builtins.c (determine_block_size): Fix comment typo.

	PR sanitizer/59258
	* ubsan.c (ubsan_source_location): Don't add any location
	to ADDR_EXPR in the ctor.  Revert 2013-11-22 change.
	(ubsan_create_data): Strip block info from LOC.

	PR middle-end/59273
	* tree-vect-generic.c (optimize_vector_constructor): Don't optimize
	if there isn't optab handler for the corresponding vector PLUS_EXPR.

	PR rtl-optimization/59166
	* ira.c (find_moveable_pseudos): Use DF_REF_REAL_LOC instead of
	DF_REF_LOC in validate_change call.
	(split_live_ranges_for_shrink_wrap): Likewise.

	PR middle-end/59150
	* omp-low.c (lower_rec_input_clause): For reduction with placeholder
	of references to constant size types in simd loops, defer emitting
	initializer for the new_var, emit it later on only if not using
	SIMD arrays for it.

	PR middle-end/59152
	* omp-low.c (expand_omp_for_static_chunk): Don't set loop->latch
	for the inner loop if collapse_bb is non-NULL.
	(expand_omp_simd): Use cont_bb rather than e->dest as latch.

2013-11-26  Yufeng Zhang  <yufeng.zhang@arm.com>

	* config/arm/arm.c (arm_legitimize_address): Check xop1 is not
	a constant immediate before force_reg.

2013-11-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59245
	* tree-vrp.c (set_value_range): Assert that we don't have
	overflowed constants (but our infinities).
	(set_value_range_to_value): Drop all overflow flags.
	(vrp_visit_phi_node): Likewise.
	(vrp_visit_assignment_or_call): Use set_value_range_to_value
	to set a constant range.

2013-11-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/59290
	* config/arm/arm.md (*zextendsidi_negsi): New pattern.
	* config/arm/arm.c (arm_new_rtx_costs): Initialise cost correctly
	for zero_extend case.

2013-11-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/55552
	* configure.ac (install_gold_as_default): New.  Set to yes for
	--disable-ld or --enable-gold=default.
	(gcc_cv_ld_gold_srcdir): New.
	(gcc_cv_ld): Also check in-tree gold if install_gold_as_default is yes.
	(ORIGINAL_LD_BFD_FOR_TARGET): New AC_SUBST.
	(ORIGINAL_LD_GOLD_FOR_TARGET): Likewise.
	* configure: Regenerated.

	* exec-tool.in (ORIGINAL_LD_BFD_FOR_TARGET): New variable.
	(ORIGINAL_LD_GOLD_FOR_TARGET): Likewise.
	(original) [collect-ld && -fuse-ld=bfd]: Set to
	$ORIGINAL_LD_BFD_FOR_TARGET.
	(original) [collect-ld && -fuse-ld=gold]: Set to
	$ORIGINAL_LD_GOLD_FOR_TARGET.
	(dir) [collect-ld && ../gold/ld-new]: Set to gold.
	(fast_install) [collect-ld && ../gold/ld-new]: Set to yes.

2013-11-26  Terry Guo  <terry.guo@arm.com>

	* config/arm/arm.c (require_pic_register): Handle high pic base
	register for thumb-1.
	(arm_load_pic_register): Also initialize high pic base register.
	* doc/invoke.texi: Update documentation for option -mpic-register.

2013-11-26  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/58314
	PR target/50751
	* config/sh/sh.c (max_mov_insn_displacement, disp_addr_displacement):
	Prefix function names with 'sh_'.  Make them non-static.
	* config/sh/sh-protos.h (sh_disp_addr_displacement,
	sh_max_mov_insn_displacement): Add declarations.
	* config/sh/constraints.md (Q): Reject QImode.
	(Sdd): Use match_code "mem".
	(Snd): Fix erroneous matching of non-memory operands.
	* config/sh/predicates.md (short_displacement_mem_operand): New
	predicate.
	(general_movsrc_operand): Disallow PC relative QImode loads.
	* config/sh/sh.md (*mov<mode>_reg_reg): Remove it.
	(*movqi, *movhi): Merge both insns into...
	(*mov<mode>): ... this new insn.  Replace generic 'm' constraints with
	'Snd' and 'Sdd' constraints.  Calculate insn length dynamically based
	on the operand types.

2013-11-26  Joern Rennecke  <joern.rennecke@embecosm.com>

	* config/epiphany/epiphany.c (epiphany_expand_prologue):
	Remove unused variable save_config.
	(epiphany_compute_frame_size): Avoid signed/unsigned comparison in
	assert.

2013-11-26  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/arm_neon.h (vtbx1_<psu>8): Emulate behaviour
	using other intrinsics.
	(vtbx3_<psu>8): Likewise.

2013-11-26  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-builtins.c
	(aarch64_types_bsl_p_qualifiers): New.
	(aarch64_types_bsl_s_qualifiers): Likewise.
	(aarch64_types_bsl_u_qualifiers): Likewise.
	(TYPES_BSL_P): Likewise.
	(TYPES_BSL_S): Likewise.
	(TYPES_BSL_U): Likewise.
	(BUILTIN_VALLDIF): Likewise.
	(BUILTIN_VDQQH): Likewise.
	* config/aarch64/aarch64-simd-builtins.def (simd_bsl): New.
	* config/aarch64/aarch64-simd.md
	(aarch64_simd_bsl<mode>_internal): Handle more modes.
	(aarch64_simd_bsl<mode>): Likewise.
	* config/aarch64/arm_neon.h
	(vbsl<q>_<fpsu><8,16,32,64): Implement using builtins.
	* config/aarch64/iterators.md (VALLDIF): New.
	(Vbtype): Handle more modes.

2013-11-26  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-builtins.c
	(aarch64_type_qualifiers): Add qualifier_poly.
	(aarch64_build_scalar_type): Also build Poly types.
	(aarch64_build_vector_type): Likewise.
	(aarch64_build_type): Likewise.
	(aarch64_build_signed_type): New.
	(aarch64_build_unsigned_type): Likewise.
	(aarch64_build_poly_type): Likewise.
	(aarch64_init_simd_builtins): Also handle Poly types.

2013-11-26  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-builtins.c
	(VAR1): Use new naming scheme for aarch64_builtins.
	(aarch64_builtin_vectorized_function): Use new aarch64_builtins names.

2013-11-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59287
	* tree-ssa-structalias.c (get_constraint_for_component_ref):
	Remove no longer necessary special-casing of union accesses.

2013-11-26  Richard Biener  <rguenther@suse.de>

	* pretty-print.c (output_buffer::~output_buffer): Really
	free the obstacks.

2013-11-25  Jeff Law  <law@redhat.com>

	* tree-ssa-threadupdate.c (thread_through_all_blocks): Selectively
	invalidate loop information.

2013-11-25  Oleg Endo  <olegendo@gcc.gnu.org>

	* config/sh/sh.md (doloop_end_split): Add missing SI mode.

2013-11-25  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/53976
	PR target/59243
	* config/sh/sh_optimize_sett_clrt.cc (struct ccreg_value): Update
	comments.
	(sh_optimize_sett_clrt::find_last_ccreg_values): Check stack of
	previously visited basic blocks before recursing instead of only one
	basic block.

2013-11-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/aarch64/aarch64.c (cortexa53_tuning): New struct.
	* config/aarch64/aarch64-cores.def (cortex-a53):
	Use cortexa53 tuning struct.

2013-11-25  Andrew Macleod  <amacleod@redhat.com>

	PR bootstrap/59260
	* fold-const.c: Include hash-table.h.

2013-11-25  Marek Polacek  <polacek@redhat.com>

	PR sanitizer/59258
	* ubsan.c (ubsan_create_data): Increase the size of the fields array.

2013-11-25  Richard Biener  <rguenther@suse.de>

	* tree-dfa.c: Remove unused convert.h include.

2013-11-25  Terry Guo  <terry.guo@arm.com>

	* doc/invoke.texi (-mslow-flash-data): Document new option.
	* config/arm/arm.opt (mslow-flash-data): New option.
	* config/arm/arm-protos.h (arm_max_const_double_inline_cost):
	Declare it.
	* config/arm/arm.h (TARGET_USE_MOVT): Always true when literal pools
	are disabled.
	(arm_disable_literal_pool): Declare it.
	* config/arm/arm.c (arm_disable_literal_pool): New variable.
	(arm_option_override): Handle new option.
	(thumb2_legitimate_address_p): Don't allow symbol references when
	literal pools are disabled.
	(arm_max_const_double_inline_cost): New function.
	* config/arm/arm.md (types.md): Include it before ...
	(use_literal_pool): New attribute.
	(enabled): Use new attribute.
	(split pattern): Replace symbol+offset with MOVW/MOVT.

2013-11-24  Steven Bosscher  <steven@gcc.gnu.org>

	PR bootstrap/59279
	Revert previous commit.

2013-11-24  Steven Bosscher  <steven@gcc.gnu.org>

	* jump.c (reset_insn_reg_label_operand_notes): New function,
	split out from ...
	(init_label_info): ... here.  Reset LABEL_NUSES in cfglayout mode.
	* cfgcleanup.c (delete_dead_jump_tables_between): New function,
	split out from ...
	(delete_dead_jumptables): ... here.  Handle cfglayout mode.
	(cleanup_cfg): Delete dead jump tables in cfglayout mode if an
	expensive CFG cleanup is called for.
	* cfgrtl.c (fixup_reorder_chain): Remove BARRIERs from fallthru paths.
	(cfg_layout_finalize): Delete dead jump tables before re-building
	the insns chain.
	* ira.c (ira): Rebuild jump labels *after* deleting unreachable
	basic blocks, not before.
	* loop-init.c (rtl_loop_done): Call for an expensive CFG cleanup.

	* modulo-sched.c (sms_schedule): Do not look for BARRIERs in the
	insns chain of a scheduling extended basic block, they cannot appear
	there in cfglayout mode.

2013-11-24  Tobias Burnus  <burnus@net-b.de>

	* doc/invoke.texi (-fsanitize=leak): Add link to the wiki page.

2013-11-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Correct
	for little endian.

2013-11-24  H.J. Lu  <hongjiu.lu@intel.com>

	* graphite-sese-to-poly.c: Don't include extra "expr.h".

2013-11-23  Eric Botcazou  <ebotcazou@adacore.com>

	* cilk-common.c (expand_builtin_cilk_detach): Dereference worker.

2013-11-23  David Edelson  <dje.gcc@gmail.com>
	    Andrew Dixie  <andrewd@gentrack.com>

	PR target/33704
	* config/rs6000/aix.h (COLLECT_SHARED_INIT_FUNC): Define.
	(COLLECT_SHARED_FINI_FUNC): Define.

	* collect2.c (aix_shared_initname): Declare.
	(aix_shared_fininame): Declare.
	(symkind): Add SYM_AIXI and SYM_AIXD.
	(scanfilter_masks): Add SCAN_AIXI and SCAN_AIXD.
	(struct names special): Add GLOBAL__AIXI_ and GLOBAL__AIXD_.
	(aixlazy_flag): Parse.
	(extract_init_priority): SYM_AIXI and SYM_AIXD have highest priority.
	(scan_prog_file, COFF): Handle SYM_AIXI and SYM_AIXD.

2013-11-23  David Edelsohn  <dje.gcc@gmail.com>

	* config/rs6000/rs6000.c (IN_NAMED_SECTION): New macro.
	(rs6000_xcoff_select_section): Place decls with stricter alignment
	into named sections.
	(rs6000_xcoff_unique_section): Allow unique sections for
	uninitialized data with strict alignment.

2013-11-23  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/59154
	* tree-ssa-reassoc.c (maybe_optimize_range_tests): When changing
	rhs1 of a cast and new_op is invariant, fold_convert it.
	* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Only call
	simplify_conversion_from_bitmask if rhs1 is a SSA_NAME.

2013-11-23  Uros Bizjak  <ubizjak@gmail.com>

	PR target/56788
	* config/i386/i386.c (bdesc_multi_arg) <IX86_BUILTIN_VFRCZSS>:
	Declare as MULTI_ARG_1_SF instruction.
	<IX86_BUILTIN_VFRCZSD>: Decleare as MULTI_ARG_1_DF instruction.
	* config/i386/sse.md (*xop_vmfrcz<mode>2): Rename
	from *xop_vmfrcz_<mode>.
	* config/i386/xopintrin.h (_mm_frcz_ss): Use __builtin_ia32_movss
	to merge scalar result with __A.
	(_mm_frcz_sd): Use __builtin_ia32_movsd to merge scalar
	result with __A.

2013-11-23  Eric Botcazou  <ebotcazou@adacore.com>

	* gimplify.h (recalculate_side_effects): Delete.
	* gimplify.c (recalculate_side_effects): Make static and add comment.

2013-11-23  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/sh/sh.md: Use nonimmediate_operand rather than general_operand
	for the destination of a define_peephole2.  Likewise register_operand
	rather than arith_reg_operand.  Remove constraints from
	define_peephole2s.

2013-11-23  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation):
	Delete.
	(mn10300_store_multiple_operation_p): Declare.
	* config/mn10300/mn10300.c (mn10300_store_multiple_operation):
	Rename to...
	(mn10300_store_multiple_operation_p): ...this and remove mode
	argument.
	* config/mn10300/predicates.md (mn10300_store_multiple_operation):
	Define.

2013-11-23  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/bfin/bfin-protos.h (push_multiple_operation): Delete.
	(pop_multiple_operation): Delete.
	(analyze_push_multiple_operation): Declare.
	(analyze_pop_multiple_operation): Declare.
	* config/bfin/bfin.c (push_multiple_operation): Rename to...
	(analyze_push_multiple_operation): ...this and remove mode argument.
	(pop_multiple_operation): Rename to...
	(analyze_pop_multiple_operation): ...this and remove mode argument.
	* config/bfin/predicates.md (push_multiple_operation): Define.
	(pop_multiple_operation): Likewise.

2013-11-23  Alan Modra  <amodra@gmail.com>

	* config/rs6000/vsx.md (fusion peepholes): Disable when !TARGET_VSX.

2013-11-22  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/59061
	* common.opt (static-liblsan): Add.
	* config/gnu-user.h (STATIC_LIBLSAN_LIBS, STATIC_LIBUBSAN_LIBS):
	Define.
	* flag-types.h (enum sanitize_code): Add SANITIZE_LEAK.  Renumber
	SANITIZE_SHIFT, SANITIZE_DIVIDE, SANITIZE_UNREACHABLE, SANITIZE_VLA,
	SANITIZE_RETURN.
	* opts.c (common_handle_option): Handle -fsanitize=leak.
	* gcc.c (ADD_STATIC_LIBLSAN_LIBS, LIBLSAN_SPEC): Define.
	(LIBUBSAN_SPEC): Don't test LIBUBSAN_EARLY_SPEC.
	(LIBUBSAN_EARLY_SPEC): Remove.
	(SANITIZER_EARLY_SPEC): Don't do anything for libubsan.
	(SANITIZER_SPEC): Add -fsanitize=leak handling.
	(sanitize_spec_function): Handle %sanitize(leak).
	* doc/invoke.texi (-static-liblsan, -fsanitize=leak): Document.

2013-11-22  Aldy Hernandez  <aldyh@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* ipa.c (symtab_remove_unreachable_nodes): Fix up comment typos.
	* ipa-prop.c (get_vector_of_formal_parm_types): Renamed to ...
	(ipa_get_vector_of_formal_parm_types): ... this.  No longer static.
	(ipa_modify_formal_parameters): Adjust caller.  Remove
	synth_parm_prefix argument.  Use operator enum instead of bit fields.
	Add assert for properly handling vector of references.  Handle
	creating brand new parameters.
	(ipa_modify_call_arguments): Use operator enum instead of bit
	fields.
	(ipa_combine_adjustments): Same.  Assert that IPA_PARM_OP_NEW is not
	used.
	(ipa_modify_expr, get_ssa_base_param, ipa_get_adjustment_candidate):
	New functions.
	(ipa_dump_param_adjustments): Rename reduction to new_decl.
	Use operator enum instead of bit fields.
	* ipa-prop.h (enum ipa_parm_op): New.
	(struct ipa_parm_adjustment): New field op.  Rename reduction
	to new_decl, new_arg_prefix to arg_prefix and remove remove_param
	and copy_param.
	(ipa_modify_formal_parameters): Remove last argument.
	(ipa_get_vector_of_formal_parm_types, ipa_modify_expr,
	ipa_get_adjustment_candidate): New prototypes.
	* tree-sra.c (turn_representatives_into_adjustments): Use operator
	enum.  Set arg_prefix.
	(get_adjustment_for_base): Use operator enum.
	(sra_ipa_modify_expr): Rename to ipa_modify_expr and move to
	ipa-prop.c.
	(sra_ipa_modify_assign): Rename sra_ipa_modify_expr to ipa_modify_expr.
	(ipa_sra_modify_function_body): Same.  No longer static.
	(sra_ipa_reset_debug_stmts): Use operator enum.
	(modify_function): Do not pass prefix argument.

2013-11-22  Jakub Jelinek  <jakub@redhat.com>

	* ubsan.c (ubsan_source_location): Don't crash on unknown locations.
	(ubsan_pass): Ignore clobber stmts.

	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_MISSING_RETURN): New built-in.
	* opts.c (common_handle_option): Add -fsanitize=return.
	* flag-types.h (enum sanitize_code): Add SANITIZE_RETURN and
	or it into SANITIZE_UNDEFINED.

	* sanitizer.def (BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT,
	BUILT_IN_ASAN_AFTER_DYNAMIC_INIT): New.
	* asan.c (instrument_derefs): Handle also VAR_DECL loads/stores.
	Don't instrument accesses to VAR_DECLs which are known to fit
	into their bounds and the vars are known to have shadow bytes
	indicating allowed access.
	(asan_dynamic_init_call): New function.
	(asan_add_global): If vnode->dynamically_initialized,
	set __has_dynamic_init to 1 instead of 0.
	(initialize_sanitizer_builtins): Add BT_FN_VOID_CONST_PTR var.
	* asan.h (asan_dynamic_init_call): New prototype.
	* cgraph.h (varpool_node): Add dynamically_initialized bitfield.

2013-11-22  Martin Jambor  <mjambor@suse.cz>

	PR rtl-optimization/10474
	* ira.c (interesting_dest_for_shprep_1): New function.
	(interesting_dest_for_shprep): Use interesting_dest_for_shprep_1,
	also check parallels.

2013-11-22  Jeff Law  <law@redhat.com>

	* tree-ssa-threadedge.c (record_temporary_equivalence): Handle
	NULL for RHS, which we used to invalidate equivalences.
	(record_temporary_equivalences_from_phis): New bitmap arguments
	and a boolean indicating if we have passed a backedge.  If we
	have passed a backedge, then set the appropriate bit in the
	bitmaps for the SRC & DEST of PHIs creating equivalences.
	(invalidate_equivalences, dummy_simplify): New functions.
	(cond_arg_set_in_b): Remove.
	(record_temporary_equivalences_from_stmts_at_dest): New bitmap
	arguments and a boolean indicating if we have passed a backedge.
	If we have passed a backedge, then perform invalidations as needed.
	(thread_around_empty_blocks): If we have seen a backedge, then
	use the dummy simplify routine.
	(thread_through_normal_block): Likewise.  Pass bitmaps and
	backedge status to children.  Do not pessimize so much when
	traversing backedges in the CFG.
	(thread_across_edge): Manage the SRC_MAP/DST_MAP bitmaps.
	If we have seen a backedge, then use the dummy simplify routine.
	Do not pessimize so much when traversing backedges.

2013-11-22  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/cris.c (cris_atomic_align_for_mode): New function.
	(TARGET_ATOMIC_ALIGN_FOR_MODE): Define.

2013-11-22  Yuri Rumyantsev  <ysrumyan@gmail.com>

	* config/i386/i386.c (processor_alias_table): Enable PTA_AES,
	PTA_PCLMUL and PTA_RDRND for Silvermont.
	* config/i386/driver-i386.c (host_detect_local_cpu): Set up cpu
	for Silvermont.

	* doc/invoke.texi: Mention AES, PCLMUL and RDRND for Silvermont.

2013-11-22  Andrew MacLeod  <amacleod@redhat.com>

	* hooks.h (hook_uint_mode_0): Add Prototype.
	* hooks.c (hook_uint_mode_0): New default function.
	* target.def (atomic_align_for_mode): New target hook.
	* tree.c (build_atomic_base): Add alignment override parameter.
	(build_common_tree_nodes): Use atomic alignment override.
	* doc/tm.texi.in (TARGET_ATOMIC_ALIGN_FOR_MODE): Define.
	* doc/tm.texi (TARGET_ATOMIC_ALIGN_FOR_MODE): Add description.

2013-11-22  Andrew MacLeod  <amacleod@redhat.com>

	* gimple.h: Remove all includes.
	(recalculate_side_effects): Move prototype to gimplify.h.
	* Makefile.in (PLUGIN_HEADERS): Add flattened gimple.h includes.
	* gengtype.c (open_base_files): Add gimple.h include list.
	* gimplify.h (recalculate_side_effects): Relocate prototype here.
	* gimple.c: Adjust include list.
	(recalculate_side_effects): Move to gimplify.c.
	* gimplify.c: Adjust include list.
	(recalculate_side_effects): Relocate from gimple.c.
	* alias.c: Add required include files removed from gimple.h.
	* asan.c: Likewise.
	* builtins.c: Likewise.
	* calls.c: Likewise.
	* cfgexpand.c: Likewise.
	* cfgloop.c: Likewise.
	* cfgloopmanip.c: Likewise.
	* cgraphbuild.c: Likewise.
	* cgraph.c: Likewise.
	* cgraphclones.c: Likewise.
	* cgraphunit.c: Likewise.
	* cilk-common.c: Likewise.
	* data-streamer.c: Likewise.
	* data-streamer-in.c: Likewise.
	* data-streamer-out.c: Likewise.
	* dse.c: Likewise.
	* dwarf2out.c: Likewise.
	* emit-rtl.c: Likewise.
	* except.c: Likewise.
	* expr.c: Likewise.
	* fold-const.c: Likewise.
	* function.c: Likewise.
	* gimple-builder.c: Likewise.
	* gimple-expr.c: Likewise.
	* gimple-fold.c: Likewise.
	* gimple-iterator.c: Likewise.
	* gimple-low.c: Likewise.
	* gimple-pretty-print.c: Likewise.
	* gimple-ssa-isolate-paths.c: Likewise.
	* gimple-ssa-strength-reduction.c: Likewise.
	* gimple-streamer-in.c: Likewise.
	* gimple-streamer-out.c: Likewise.
	* gimple-walk.c: Likewise.
	* gimplify-me.c: Likewise.
	* graphite-blocking.c: Likewise.
	* graphite.c: Likewise.
	* graphite-clast-to-gimple.c: Likewise.
	* graphite-dependences.c: Likewise.
	* graphite-interchange.c: Likewise.
	* graphite-optimize-isl.c: Likewise.
	* graphite-poly.c: Likewise.
	* graphite-scop-detection.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* internal-fn.c: Likewise.
	* ipa.c: Likewise.
	* ipa-cp.c: Likewise.
	* ipa-devirt.c: Likewise.
	* ipa-inline-analysis.c: Likewise.
	* ipa-inline.c: Likewise.
	* ipa-profile.c: Likewise.
	* ipa-prop.c: Likewise.
	* ipa-pure-const.c: Likewise.
	* ipa-reference.c: Likewise.
	* ipa-split.c: Likewise.
	* ipa-utils.c: Likewise.
	* langhooks.c: Likewise.
	* lto-cgraph.c: Likewise.
	* lto-compress.c: Likewise.
	* lto-opts.c: Likewise.
	* lto-section-in.c: Likewise.
	* lto-section-out.c: Likewise.
	* lto-streamer.c: Likewise.
	* lto-streamer-in.c: Likewise.
	* lto-streamer-out.c: Likewise.
	* omp-low.c: Likewise.
	* opts-global.c: Likewise.
	* passes.c: Likewise.
	* predict.c: Likewise.
	* profile.c: Likewise.
	* sese.c: Likewise.
	* stmt.c: Likewise.
	* stor-layout.c: Likewise.
	* symtab.c: Likewise.
	* targhooks.c: Likewise.
	* toplev.c: Likewise.
	* tracer.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-affine.c: Likewise.
	* tree.c: Likewise.
	* tree-call-cdce.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-chrec.c: Likewise.
	* tree-complex.c: Likewise.
	* tree-data-ref.c: Likewise.
	* tree-dfa.c: Likewise.
	* tree-eh.c: Likewise.
	* tree-emutls.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-into-ssa.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-nested.c: Likewise.
	* tree-nrv.c: Likewise.
	* tree-object-size.c: Likewise.
	* tree-outof-ssa.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-phinodes.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-pretty-print.c: Likewise.
	* tree-profile.c: Likewise.
	* tree-scalar-evolution.c: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa-address.c: Likewise.
	* tree-ssa-alias.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-ssa-ccp.c: Likewise.
	* tree-ssa-coalesce.c: Likewise.
	* tree-ssa-copy.c: Likewise.
	* tree-ssa-copyrename.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-dom.c: Likewise.
	* tree-ssa-dse.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-ifcombine.c: Likewise.
	* tree-ssa-live.c: Likewise.
	* tree-ssa-loop.c: Likewise.
	* tree-ssa-loop-ch.c: Likewise.
	* tree-ssa-loop-im.c: Likewise.
	* tree-ssa-loop-ivcanon.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-ssa-loop-manip.c: Likewise.
	* tree-ssa-loop-niter.c: Likewise.
	* tree-ssa-loop-prefetch.c: Likewise.
	* tree-ssa-loop-unswitch.c: Likewise.
	* tree-ssa-math-opts.c: Likewise.
	* tree-ssanames.c: Likewise.
	* tree-ssa-operands.c: Likewise.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-phiprop.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-propagate.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sccvn.c: Likewise.
	* tree-ssa-sink.c: Likewise.
	* tree-ssa-strlen.c: Likewise.
	* tree-ssa-structalias.c: Likewise.
	* tree-ssa-tail-merge.c: Likewise.
	* tree-ssa-ter.c: Likewise.
	* tree-ssa-threadedge.c: Likewise.
	* tree-ssa-threadupdate.c: Likewise.
	* tree-ssa-uncprop.c: Likewise.
	* tree-ssa-uninit.c: Likewise.
	* tree-stdarg.c: Likewise.
	* tree-streamer.c: Likewise.
	* tree-streamer-in.c: Likewise.
	* tree-streamer-out.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-generic.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vect-patterns.c: Likewise.
	* tree-vect-slp.c: Likewise.
	* tree-vect-stmts.c: Likewise.
	* tree-vrp.c: Likewise.
	* tsan.c: Likewise.
	* ubsan.c: Likewise.
	* value-prof.c: Likewise.
	* varpool.c: Likewise.
	* var-tracking.c: Likewise.
	* vtable-verify.c: Likewise.
	* config/darwin.c: Likewise.
	* config/aarch64/aarch64-builtins.c: Likewise.
	* config/aarch64/aarch64.c: Likewise.
	* config/alpha/alpha.c: Likewise.
	* config/i386/i386.c: Likewise.
	* config/i386/winnt.c: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/m32c/m32c.c: Likewise.
	* config/mep/mep.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/sh/sh.c: Likewise.
	* config/sparc/sparc.c: Likewise.
	* config/spu/spu.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/tilegx/tilegx.c: Likewise.
	* config/tilepro/tilepro.c: Likewise.
	* config/xtensa/xtensa.c: Likewise.

2013-11-22  Richard Earnshaw  <rearnsha@arm.com>

	PR target/59216
	* arm.md (negdi_extendsidi): Fix invalid split.

2013-11-22  Alex Velenko  <Alex.Velenko@arm.com>

	* config/aarch64/arm_neon.h (vmov_n_f32): Implemented in C.
	(vmov_n_f64): Likewise.
	(vmov_n_p8): Likewise.
	(vmov_n_p16): Likewise.
	(vmov_n_s8): Likewise.
	(vmov_n_s16): Likewise.
	(vmov_n_s32): Likewise.
	(vmov_n_s64): Likewise.
	(vmov_n_u8): Likewise.
	(vmov_n_u16): Likewise.
	(vmov_n_u32): Likewise.
	(vmov_n_u64): Likewise.
	(vmovq_n_f32): Likewise.
	(vmovq_n_f64): Likewise.
	(vmovq_n_p8): Likewise.
	(vmovq_n_p16): Likewise.
	(vmovq_n_s8): Likewise.
	(vmovq_n_s16): Likewise.
	(vmovq_n_s32): Likewise.
	(vmovq_n_s64): Likewise.
	(vmovq_n_u8): Likewise.
	(vmovq_n_u16): Likewise.
	(vmovq_n_u32): Likewise.
	(vmovq_n_u64): Likewise.

2013-11-22  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-simd.md (vec_pack_trunc_<mode>,
	vec_pack_trunc_v2df, vec_pack_trunc_df): Swap for big-endian.
	(reduc_<sur>plus_<mode>): Factorize V2DI into this.
	(reduc_<sur>plus_<mode>): Change this to reduc_splus_<mode> for floats
	and also change to float UNSPEC.
	(reduc_maxmin_uns>_<mode>): Remove V2DI.
	* config/aarch64/arm_neon.h (vaddv<q>_<suf><8,16,32,64>,
	vmaxv<q>_<suf><8,16,32,64>, vminv<q>_<suf><8,16,32,64>): Fix up scalar
	result access for big-endian.
	(__LANE0): New macro used to fix up lane access of 'across-lanes'
	intrinsics for big-endian.
	* config/aarch64/iterators.md (VDQV): Add V2DI.
	(VDQV_S): New.
	(vp): New mode attribute.

2013-11-22  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-simd.md (vec_pack_trunc_<mode>,
	vec_pack_trunc_v2df, vec_pack_trunc_df): Swap source ops for
	big-endian.

2013-11-22  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Adjust
	for big-endian element order.
	(aarch64_simd_vec_setv2di): Likewise.
	(*aarch64_get_lane_extend<GPI:mode><VDQQH:mode>,
	*aarch64_get_lane_zero_extendsi<mode>, aarch64_get_lane): Likewise.
	(vec_extract): Expand using aarch64_get_lane.
	* config/aarch64/aarch64.h (ENDIAN_LANE_N): New.

2013-11-22  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Fix loads
	and stores to be ABI compliant.

2013-11-22  David Malcolm  <dmalcolm@redhat.com>

	* input.h (input_line): Remove.
	(input_filename): Likewise.
	(in_system_header): Likewise.
	* tree.h (EXPR_LOC_OR_HERE): Remove.
	* config/bfin/bfin.c (output_file_start): Remove use of
	input_filename macro.
	* builtins.c (c_strlen): Remove use of EXPR_LOC_OR_HERE macro.
	* gimplify.c (internal_get_tmp_var): Likewise.
	EXPR_LOC_OR_HERE macro.
	(shortcut_cond_expr): Likewise.
	* tree-diagnostic.c (diagnostic_report_current_function): Remove
	use of input_filename macro.
	* tree.c (get_file_function_name): Likewise.

2013-11-22  Kenneth Zadeck  <zadeck@naturalbridge.com>

	* store-layout.c (place-field): Fix hwi test and accessor mismatch.

2013-11-22  Jakub Jelinek  <jakub@redhat.com>

	* expr.c (store_constructor): Allow CONSTRUCTOR with VECTOR_TYPE
	(same sized) elements even if the type of the CONSTRUCTOR has
	vector mode and target is a REG.

2013-11-22  Richard Biener  <rguenther@suse.de>

	Revert
	2013-11-21  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-ch.c (copy_loop_headers): Decrement
	nb_iterations_upper_bound by one.

2013-11-22  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (processor_alias_table): Enable PTA_POPCNT
	for Silvermont.

	* doc/invoke.texi: Mention POPCNT for corei7, corei7-avx,
	core-avx-i, core-avx2 and slm.

2013-11-22  Eric Botcazou  <ebotcazou@adacore.com>

	* print-rtl.c (print_rtx) <case MEM>: Output a space if no MEM_EXPR.

2013-11-22  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/m32c/cond.md (stzx_16): Use register_operand for operand 0.
	(stzx_24_<mode>): Likewise mra_operand.

2013-11-22  Jeff Law  <law@redhat.com>

	* tree-ssa-threadupdate.c: Include tree-cfg.h and tree-pass.h
	(thread_block_1): Do not cancel jump threads which go from
	inside a loop, through the header, then back inside the loop.
	(bb_ends_with_multiway_branch): New function.
	(thread_through_all_blocks): Handle threading cases which start
	in a loop through the loop header to a point in the loop.

	* tree-ssa-threadedge.c (thread_across_edge): Mark the start of the
	jump thread path properly.

2013-11-22  Trevor Saunders  <tsaunders@mozilla.com>

	* vec.h (auto_vec): New class.
	* cfganal.c, cfgloop.c, cgraphunit.c, config/i386/i386.c, dwarf2out.c,
	function.c, genautomata.c, gimple.c, haifa-sched.c, ipa-inline.c,
	ira-build.c, loop-unroll.c, omp-low.c, ree.c, trans-mem.c,
	tree-call-cdce.c, tree-eh.c, tree-if-conv.c, tree-into-ssa.c,
	tree-loop-distribution.c, tree-predcom.c, tree-sra.c,
	tree-sssa-forwprop.c, tree-ssa-loop-manip.c, tree-ssa-pre.c,
	tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
	tree-vect-loop.c, tree-vect-stmts.c: Use auto_vec and stack_vec as
	appropriate instead of vec for local variables.

2013-11-21  Teresa Johnson  <tejohnson@google.com>

	PR target/59233
	* cfgcleanup.c (outgoing_edges_match): Walk up past note instructions
	not understood by old_insns_match_p.

2013-11-21  Bill Schmidt  <wschmidt@vnet.ibm.com>

	* config/rs6000/vector.md (vec_pack_trunc_v2df): Revert previous
	little endian change.
	(vec_pack_sfix_trunc_v2df): Likewise.
	(vec_pack_ufix_trunc_v2df): Likewise.
	* config/rs6000/rs6000.c (rs6000_expand_interleave): Correct
	double checking of endianness.

2013-11-22  Jakub Jelinek  <jakub@redhat.com>

	* tree-vect-generic.c (optimize_vector_constructor): New function.
	(expand_vector_operations_1): Call it.

2013-11-21  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.c (ix86_expand_special_args_builtin): Use
	ix86_zero_extend_to_Pmode where appropriate.
	(ix86_expand_builtin): Ditto.

2013-11-21  Cary Coutant  <ccoutant@google.com>

	* dwarf2out.c (want_pubnames): Don't do pubnames for -g1.
	(add_linkage_name): Don't add linkage name for -g1.
	(decls_for_scope): Process subblocks for -g1.
	(dwarf2out_source_line): Output line tables for -g1.
	(dwarf2out_finish): Likewise.
	* tree-ssa-live.c (remove_unused_scope_block_p): Don't prune
	unused scopes for -g1.
	* opts.c (common_handle_option): Handle -g same as -g2.
	* doc/invoke.texi: Update description for -g1.

2013-11-21  Peter Bergner  <bergner@vnet.ibm.com>

	* doc/extend.texi: Document htm builtins.

2013-11-21  Jeff Law  <law@redhat.com>

	PR tree-optimization/59221
	* tree-ssa-threadedge.c (thread_across_edge): Properly manage
	temporary equivalences when threading through joiner blocks.

2013-11-21  Joseph Myers  <joseph@codesourcery.com>

	PR rtl-optimization/55950
	* real.c (real_sqrt): Remove function.
	* real.h (real_sqrt): Remove prototype.
	* simplify-rtx.c (simplify_const_unary_operation): Do not fold
	SQRT using real_sqrt.

2013-11-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59058
	* tree-scalar-evolution.h (number_of_exit_cond_executions): Remove.
	* tree-scalar-evolution.c (number_of_exit_cond_executions): Likewise.
	* tree-vectorizer.h (LOOP_PEELING_FOR_ALIGNMENT): Rename to ...
	(LOOP_VINFO_PEELING_FOR_ALIGNMENT): ... this.
	(NITERS_KNOWN_P): Fold into ...
	(LOOP_VINFO_NITERS_KNOWN_P): ... this.
	(LOOP_VINFO_PEELING_FOR_NITER): Add.
	* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
	Use LOOP_VINFO_PEELING_FOR_ALIGNMENT.
	(vect_do_peeling_for_alignment): Re-use precomputed niter
	instead of re-emitting it.
	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
	Use LOOP_VINFO_PEELING_FOR_ALIGNMENT.
	* tree-vect-loop.c (vect_get_loop_niters): Use
	number_of_latch_executions.
	(new_loop_vec_info): Initialize LOOP_VINFO_PEELING_FOR_NITER.
	(vect_analyze_loop_form): Simplify.
	(vect_analyze_loop_operations): Move epilogue peeling code ...
	(vect_analyze_loop_2): ... here and adjust it to compute
	LOOP_VINFO_PEELING_FOR_NITER.
	(vect_estimate_min_profitable_iters): Use
	LOOP_VINFO_PEELING_FOR_ALIGNMENT.
	(vect_build_loop_niters): Emit on the preheader.
	(vect_generate_tmps_on_preheader): Likewise.
	(vect_transform_loop): Use LOOP_VINFO_PEELING_FOR_NITER instead
	of recomputing it.  Adjust.

2013-11-21  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
	LOC_LINE): Remove wrappers and fix all users.
	(struct _loop_vec_info): Remove loop_line_number member.
	(LOOP_VINFO_LOC): Remove.
	* tree-parloops.c, tree-vect-loop-manip.c, tree-vect-slp.c,
	tree-vectorizer.c: Fix users of LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE
	and LOC_LINE.

2013-11-21  Richard Biener  <rguenther@suse.de>

	* tree-ssa-forwprop.c (simplify_vce): New function.
	(ssa_forward_propagate_and_combine): Call it.

2013-11-21  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop-manip.c (vect_build_loop_niters,
	vect_generate_tmps_on_preheader): Move ...
	* tree-vect-loop.c (vect_build_loop_niters,
	vect_generate_tmps_on_preheader): ... here and simplify.
	(vect_transform_loop): Call them here and pass down results
	to consumers.
	* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound):
	Get niter variables from caller.
	(vect_do_peeling_for_alignment): Likewise.
	* tree-vectorizer.h (vect_generate_tmps_on_preheader): Remove.
	(vect_do_peeling_for_loop_bound, vect_do_peeling_for_alignment):
	Adjust prototypes.

2013-11-21  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-ch.c (copy_loop_headers): Decrement
	nb_iterations_upper_bound by one.

2013-11-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59058
	* tree-loop-distribution.c (struct partition_s): Add plus_one member.
	(build_size_arg_loc): Apply niter adjustment here.
	(generate_memset_builtin): Adjust.
	(generate_memcpy_builtin): Likewise.
	(classify_partition): Do not use number_of_exit_cond_executions
	but record whether niter needs to be adjusted.

2013-11-21  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-ssa-tail-merge.c (stmt_local_def): Return false if the statement
	could throw.

2013-11-21  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/53976
	* config/sh/sh_optimize_sett_clrt.cc: New SH specific RTL pass.
	* config/sh/sh.c (register_sh_passes): Add sh_optimize_sett_clrt pass.
	* config/sh/sh/t-sh (sh_optimize_sett_clrt pass.o): New entry.
	* config.gcc (sh[123456789lbe]*-*-* | sh-*-*): Add
	sh_optimize_sett_clrt pass.o to	extra_objs.

2013-11-20  David Malcolm  <dmalcolm@redhat.com>

	* cfg.c (dump_edge_info): Remove redundant comment.
	* cfgcleanup.c (outgoing_edges_match): Reword reference to
	EXIT_BLOCK_PTR in comment.
	(try_optimize_cfg): Likewise.
	* cfgrtl.c (last_bb_in_partition): Likewise.
	* cgraph.c (cgraph_node_cannot_return): Likewise.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.
	* graphite-scop-detection.c (scopdet_basic_block_info): Likewise.
	* ipa-split.c (consider_split): Likewise.
	* profile.c (find_spanning_tree): Likewise.
	* sched-int.h (common_sched_info_def.add_block): Likewise.
	* dominance.c (calc_dfs_tree_nonrec): Reword references in
	comments to now removed ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR macros.
	* tree-cfgcleanup.c (cleanup_control_flow_bb): Reword references
	in comments to now removed ENTRY_BLOCK_PTR macro.
	(tree_forwarder_block_p): Reword reference in comment to
	EXIT_BLOCK_PTR.
	* tree-inline.c (copy_cfg_body): Reword references in comments to
	now removed ENTRY_BLOCK_PTR macro.
	* tree-ssa-propagate.c (ssa_prop_init): Likewise.
	* tree-scalar-evolution.h ( block_before_loop): Likewise.  Add
	a comma to the comment to clarify the meaning.

2013-11-20  Andrew MacLeod  <amacleod@redhat.com>

	* gimplify.h (gimplify_hasher:typed_free_remove, struct gimplify_ctx):
	Move to gimplify.c.
	(free_gimplify_stack): Add prototype.
	* gimplify.c (gimplify_hasher:typed_free_remove): Relocate here.
	(struct gimplify_ctx): Relocate here.
	(gimplify_ctxp): Make static.
	(ctx_pool, ctx_alloc, ctx_free, free_gimplify_stack): New.  Manage a
	list of struct gimplify_ctx.
	(push_gimplify_context): Add default parameters and allocate a struct
	from the pool.
	(pop_gimplify_context): Free a struct back to the pool.
	(gimplify_scan_omp_clauses, gimplify_omp_parallel, gimplify_omp_task,
	gimplify_omp_workshare, gimplify_transaction, gimplify_body): Don't
	use a local 'struct gimplify_ctx'.
	* cgraphunit.c (expand_all_functions): call free_gimplify_stack.
	* gimplify-me.c (force_gimple_operand_1, gimple_regimplify_operands):
	Likewise.
	* omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master,
	lower_omp_ordered, lower_omp_critical, lower_omp_for,
	create_task_copyfn, lower_omp_taskreg, lower_omp_target,
	lower_omp_teams, execute_lower_omp): Likewise.
	* gimple-fold.c (gimplify_and_update_call_from_tree): Likewise.
	* tree-inline.c (optimize_inline_calls): Likewise.

2013-11-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vsx.md (vsx_set_<mode>): Adjust for little endian.
	(vsx_extract_<mode>): Likewise.
	(*vsx_extract_<mode>_one_le): New LE variant on
	*vsx_extract_<mode>_zero.
	(vsx_extract_v4sf): Adjust for little endian.

2013-11-20  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/59133
	* lra.c (expand_reg_data): Add new argument.  Set up ALL_REGS for
	new pseudos.
	(lra_create_new_reg_with_unique_value): Pass new argument value.
	(lra_emit_add, lra_emit_move): Ditto.
	* lra-constraints.c (in_class_p): Add check for move for a new insn.
	(change_class): Rename to lra_change_class.  Move to lra-int.h.
	(get_reload_reg, narrow_reload_pseudo_class): Adjust calls of
	change_class.
	(process_addr_reg, process_addr): Ditto.
	(curr_insn_transform): Ditto.  Add check on old pseudo for
	optional reload.
	* lra-int.h (lra_get_regno_hard_regno): Move below.
	(lra_change_class): Renamed change_class from lra.c.

2013-11-20  David Malcolm  <dmalcolm@redhat.com>

	* gdbhooks.py (VecPrinter.children): Don't attempt to iterate
	the children of a NULL pointer.

2013-11-20  Robert Suchanek  <Robert.Suchanek@imgtec.com>

	* lra.c (lra): Set lra_in_progress before check_rtl call.
	* recog.c (insn_invalid_p): Add !lra_in_progress to prevent
	adding clobber regs when LRA is running.

2013-11-20  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/mips/mips.h (ISA_HAS_FP4): Remove TARGET_FLOAT64
	restriction for ISA_MIPS32R2.
	(ISA_HAS_LXC1_SXC1): New macro.
	(ISA_HAS_FP_MADD4_MSUB4): Remove ISA_MIPS32R2 special-casing.
	(ISA_HAS_NMADD4_NMSUB4): Likewise.
	(ISA_HAS_FP_RECIP_RSQRT): Likewise.
	(ISA_HAS_PREFETCHX): Redefine in terms of ISA_HAS_FP4.
	* config/mips/mips.md (*<ANYF:loadx>_<P:mode>): Use
	ISA_HAS_LXC1_SXC1 rather than ISA_HAS_FP4.
	(*<ANYF:storex>_<P:mode>): Likewise.

2013-11-20  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/mips/mips.h (ISA_HAS_FP_RECIP_RSQRT): New macro.
	* config/mips/mips.c (mips_rtx_costs) <DIV>: Check for
	ISA_HAS_FP_RECIP_RSQRT rather than ISA_HAS_FP4.
	* config/mips/mips.md (recip_condition): Remove mode attribute.
	(div<mode>3): Use ISA_HAS_FP_RECIP_RSQRT rather than
	<recip_condition>.
	(*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Likewise.

2013-11-20  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/59207
	* config/sparc/sparc.c (sparc_fold_builtin) <case CODE_FOR_pdist_vis>:
	Make sure neg2_ovf is set before being used.

2013-11-20  Basile Starynkevitch  <basile@starynkevitch.net>

	* plugin.def: Add comment about register_callback and
	invoke_plugin_callbacks_full.

	* plugin.c (register_callback, invoke_plugin_callbacks_full):
	Handle PLUGIN_INCLUDE_FILE event.

2013-11-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_cannot_change_mode_class): Do not
	allow subregs of TDmode in FPRs of smaller size in little-endian.
	(rs6000_split_multireg_move): When splitting an access to TDmode
	in FPRs, do not use simplify_gen_subreg.

2013-11-20  Joseph Myers  <joseph@codesourcery.com>

	PR middle-end/21718
	* real.c: Remove comment about decimal string conversion and
	rounding errors.
	(real_from_string): Use MPFR to convert nonzero decimal constant
	to REAL_VALUE_TYPE.

2013-11-20  Eric Botcazou  <ebotcazou@adacore.com>

	* config/arm/arm.c (arm_dwarf_register_span): Take into account the
	endianness of the D registers for the legacy encodings.

2013-11-20  Richard Earnshaw  <rearnsha@arm.com>

	PR rtl-optimization/54300
	* regcprop.c (copyprop_hardreg_forward_1): Ensure any unused
	outputs in a single-set are killed from the value chains.

2013-11-20  Ilya Enkovich  <ilya.enkovich@intel.com>

	* cgraph.h (varpool_node): Add need_bounds_init field.
	* lto-cgraph.c (lto_output_varpool_node): Output
	need_bounds_init value.
	(input_varpool_node): Read need_bounds_init value.
	* varpool.c (dump_varpool_node): Dump need_bounds_init field.

2013-11-20  Jan Hubicka  <jh@suse.cz>

	* opts.c (finish_options): Imply -ffat-lto-objects with
	-fno-use-linker-plugin.
	* common.opt (fuse-linker-plugin): Add var.

2013-11-20  Ilya Enkovich  <ilya.enkovich@intel.com>

	* dbxout.c (dbxout_type): Ignore POINTER_BOUNDS_TYPE.
	* dwarf2out.c (gen_subprogram_die): Ignore bound args.
	(gen_type_die_with_usage): Skip pointer bounds.
	(dwarf2out_global_decl): Likewise.

2013-11-20  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64.md: Remove "mode" and "mode2" attributes
	from all insns.

2013-11-20  Yuri Rumyantsev  <ysrumyan@gmail.com>

	PR target/57756
	* config/i386/i386.c (ix86_option_override_internal): Add missed
	argument prefix for 'ix86_fpmath'.
	* config/i386/ssemath.h: Add missed definition of
	TARGET_FPMATH_DEFAULT_P macros.

2013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
	    Mike Stump  <mikestump@comcast.net>
	    Richard Sandiford  <rdsandiford@googlemail.com>

	* alias.c (ao_ref_from_mem): Use tree_to_shwi and tree_to_uhwi
	instead of TREE_INT_CST_LOW, in cases where there is a protecting
	tree_fits_shwi_p or tree_fits_uhwi_p.
	* builtins.c (fold_builtin_powi): Likewise.
	* config/epiphany/epiphany.c (epiphany_special_round_type_align):
	Likewise.
	* dbxout.c (dbxout_symbol): Likewise.
	* expr.c (expand_expr_real_1): Likewise.
	* fold-const.c (fold_single_bit_test, fold_plusminus_mult_expr)
	(fold_binary_loc): Likewise.
	* gimple-fold.c (fold_const_aggregate_ref_1): Likewise.
	* gimple-ssa-strength-reduction.c (stmt_cost): Likewise.
	* omp-low.c (lower_omp_for_lastprivate): Likewise.
	* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
	* stor-layout.c (compute_record_mode): Likewise.
	* tree-cfg.c (verify_expr): Likewise.
	* tree-dfa.c (get_ref_base_and_extent): Likewise.
	* tree-pretty-print.c (dump_array_domain): Likewise.
	* tree-sra.c (build_user_friendly_ref_for_offset): Likewise.
	* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Likewise.
	* tree-ssa-loop-ivopts.c (get_loop_invariant_expr_id): Likewise.
	* tree-ssa-math-opts.c (execute_cse_sincos): Likewise.
	* tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
	* tree-ssa-reassoc.c (acceptable_pow_call): Likewise.
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
	(ao_ref_init_from_vn_reference, vn_reference_fold_indirect): Likewise.
	(vn_reference_lookup_3, simplify_binary_expression): Likewise.
	* tree-ssa-structalias.c (bitpos_of_field): Likewise.
	(get_constraint_for_1, push_fields_onto_fieldstack): Likewise.
	(create_variable_info_for_1): Likewise.
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Likewise.
	(vect_verify_datarefs_alignment): Likewise.
	(vect_analyze_data_ref_accesses): Likewise.
	(vect_prune_runtime_alias_test_list): Likewise.
	* tree-vectorizer.h (NITERS_KNOWN_P): Likewise.

2013-11-20  Richard Sandiford  <rdsandiford@googlemail.com>

	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Avoid signed
	overflow.  Use tree_to_shwi.

2013-11-20  Richard Sandiford  <rdsandiford@googlemail.com>

	* fold-const.c (fold_binary_loc): Use unsigned rather than signed
	HOST_WIDE_INTs when folding (x >> c) << c.

2013-11-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
	    Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* config/s390/s390.c (s390_canonicalize_comparison): Don't fold
	int comparisons with an out of range condition code.
	(s390_optimize_nonescaping_tx): Skip empty BBs.
	Generate the new tbegin RTX when removing the FPR clobbers (with
	two SETs).
	(s390_expand_tbegin): Fix the retry loop counter.  Copy CC to the
	result before doing the retry calculations.
	(s390_init_builtins): Make tbegin "returns_twice" and tabort
	"noreturn".
	* config/s390/s390.md (UNSPECV_TBEGIN_TDB): New constant used for
	the TDB setting part of an tbegin.
	("tbegin_1", "tbegin_nofloat_1"): Add a set for the TDB.
	("tx_assist"): Set unused argument to an immediate zero instead of
	loading zero into a GPR and pass it as argument.
	* config/s390/htmxlintrin.h (__TM_simple_begin, __TM_begin):
	Remove inline and related attributes.
	(__TM_nesting_depth, __TM_is_user_abort, __TM_is_named_user_abort)
	(__TM_is_illegal, __TM_is_footprint_exceeded)
	(__TM_is_nested_too_deep, __TM_is_conflict): Fix format value check.

2013-11-20  Richard Biener  <rguenther@suse.de>

	PR lto/59035
	* lto-opts.c (lto_write_options): Write defaults only if
	they were not explicitely specified.  Also write
	-ffp-contract default.
	* lto-wrapper.c (merge_and_complain): Merge -ffp-contract
	conservatively.
	(run_gcc): Pass through -ffp-contract.

2013-11-20  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/mips/mips.c (r10k_simplify_address): Eliminate macro usage.

2013-11-20  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-builtins.c
	(aarch64_simd_itype): Remove.
	(aarch64_simd_builtin_datum): Remove itype, add qualifiers pointer.
	(VAR1): Use qualifiers.
	(aarch64_build_scalar_type): New.
	(aarch64_build_vector_type): Likewise.
	(aarch64_build_type): Likewise.
	(aarch64_init_simd_builtins): Refactor, remove special cases,
	consolidate main loop.
	(aarch64_simd_expand_args): Likewise.

2013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>

	PR c/53001
	* doc/invoke.texi: Adding documentation about -Wfloat-conversion.

2013-11-19  Miro Kropacek  <miro.kropacek@gmail.com>

	* config/m68k/m68k.c (m68k_option_overrides): Fix typo.

2013-11-19  David Malcolm  <dmalcolm@redhat.com>

	* gdbhooks.py (VecPrinter): New class, for prettyprinting pointers
	to "vec<>" instances.
	(build_pretty_printer): Register the vec<>* prettyprinter.

2013-11-19  David Malcolm  <dmalcolm@redhat.com>

	* gdbhooks.py (GdbSubprinter.__init__): Drop str_type_ field.
	(GdbSubprinter.handles_type): New.
	(GdbSubprinterTypeList): New subclass of GdbSubprinter.
	(GdbSubprinterRegex): New subclass of GdbSubprinter.
	(GdbPrettyPrinters.add_printer): Remove in favor of...
	(GdbPrettyPrinters.add_printer_for_types): ...this new method and...
	(GdbPrettyPrinters.add_printer_for_regex): ...this other new method.
	(GdbPrettyPrinters.__call__): Update search for subprinter
	to use handles_type method.
	(build_pretty_printer): Update registration of subprinters to
	use the new API above, supporting multiple spelling of each type,
	and allowing for future regex-based subprinters.

2013-11-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Adjust
	V16QI vector splat case for little endian.

2013-11-19  Jeff Law  <law@redhat.com>

	* tree-ssa-threadedge.c (thread_across_edge): After threading
	through a joiner, allow threading a normal block requiring duplication.

	* tree-ssa-threadupdate.c (thread_block_1): Improve code to detect
	jump threading requests that would muck up the loop structures.

	* tree-ssa-threadupdate.c: Fix trailing whitespace.
	* tree-ssa-threadupdate.h: Likewise.

2013-11-19  Mike Stump  <mikestump@comcast.net>

	* gdbinit.in: Add pmz to print out mpz values.

2013-11-20  Jan Hubicka  <jh@suse.cz>

	* common.opt (ffat-lto-objects): Disable by default.
	* doc/invoke.texi (fat-lto-objects): Update documentation.
	* opts.c: Enable fat-lto-objects on lto plugin disable setups.

2013-11-19  Martin Jambor  <mjambor@suse.cz>

	PR rtl-optimization/59099
	* ira.c (find_moveable_pseudos): Put back various analyses from ira()
	here.
	(ira): Move init_reg_equiv and call to
	split_live_ranges_for_shrink_wrap up, remove analyses around call
	to find_moveable_pseudos.

2013-11-20  Alan Modra  <amodra@gmail.com>

	* config/rs6000/sysv4.h (CC1_ENDIAN_LITTLE_SPEC): Define as empty.
	* config/rs6000/rs6000.c (rs6000_option_override_internal): Default
	to strict alignment on older processors when little-endian.
	* config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to power8
	for ELFv2.

2013-11-19  Teresa Johnson  <tejohnson@google.com>

	* common/config/i386/i386-common.c (ix86_option_optimization_table):
	Enable -freorder-blocks-and-partition at -O2 and up for x86.
	* doc/invoke.texi: Update -freorder-blocks-and-partition default.
	* opts.c (finish_options): Only warn if
	-freorder-blocks-and-partition was set on command line.

2013-11-19  Sriraman Tallam  <tmsriram@google.com>

	* final.c (final_scan_insn): Emit a label for the split
	cold function part.  Label name is formed by suffixing
	the original function name with "cold".

2013-11-19  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (ENTRY_BLOCK_PTR_FOR_FUNCTION): Rename macro to...
	(EXIT_BLOCK_PTR_FOR_FUNCTION): ...this.
	(ENTRY_BLOCK_PTR_FOR_FN): Renamed macro to...
	(EXIT_BLOCK_PTR_FOR_FN): ...this.
	(ENTRY_BLOCK_PTR): Eliminate macro as work towards making uses of
	cfun be explicit.
	(EXIT_BLOCK_PTR): Likewise.
	(FOR_ALL_BB): Rework for now to eliminate use of "ENTRY_BLOCK_PTR".
	(FOR_ALL_BB_FN): Update for renaming of
	"ENTRY_BLOCK_PTR_FOR_FUNCTION" to "ENTRY_BLOCK_PTR_FOR_FN".

	* cfg.c (init_flow): Likewise.
	(check_bb_profile): Likewise.
	* cfganal.c (pre_and_rev_post_order_compute_fn): Likewise.
	* cfgcleanup.c (walk_to_nondebug_insn): Likewise.
	* cfghooks.c (account_profile_record): Likewise.
	* cfgloop.c (init_loops_structure): Likewise.
	* cgraphbuild.c (record_eh_tables): Likewise.
	(compute_call_stmt_bb_frequency): Likewise.
	* ipa-inline-analysis.c (compute_bb_predicates): Likewise.
	* lto-streamer-in.c (input_cfg): Likewise.
	* predict.c (maybe_hot_frequency_p): Likewise.
	* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
	* tree-inline.c (initialize_cfun): Likewise.
	(copy_cfg_body): Likewise.
	(copy_body): Likewise.
	(tree_function_versioning): Likewise.

	* bb-reorder.c (add_labels_and_missing_jumps): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(duplicate_computed_gotos): Remove usage of EXIT_BLOCK_PTR macro.
	(find_rarely_executed_basic_blocks_and_crossing_edges): Remove uses of
	macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(connect_traces): Likewise.
	(rest_of_handle_reorder_blocks): Remove usage of EXIT_BLOCK_PTR macro.
	(bb_to_key): Remove usage of ENTRY_BLOCK_PTR macro.
	(fix_crossing_conditional_branches): Remove usage of EXIT_BLOCK_PTR
	macro.
	(find_traces_1_round): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(fix_up_fall_thru_edges): Remove usage of EXIT_BLOCK_PTR macro.
	(find_traces): Remove usage of ENTRY_BLOCK_PTR macro.
	(fix_up_crossing_landing_pad): Remove usage of EXIT_BLOCK_PTR macro.
	(rotate_loop): Likewise.
	* bt-load.c (migrate_btr_def): Remove usage of ENTRY_BLOCK_PTR macro.
	* cfg.c (clear_aux_for_edges): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(alloc_aux_for_edges): Likewise.
	(clear_bb_flags): Remove usage of ENTRY_BLOCK_PTR macro.
	(cached_make_edge): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(compact_blocks): Likewise.
	(clear_edges): Likewise.
	* cfganal.c (single_pred_before_succ_order): Remove usage of
	ENTRY_BLOCK_PTR macro.
	(bitmap_union_of_succs): Remove usage of EXIT_BLOCK_PTR macro.
	(bitmap_union_of_preds): Remove usage of ENTRY_BLOCK_PTR macro.
	(bitmap_intersection_of_succs): Remove usage of EXIT_BLOCK_PTR macro.
	(bitmap_intersection_of_preds): Remove usage of ENTRY_BLOCK_PTR macro.
	(inverted_post_order_compute): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(compute_dominance_frontiers_1): Remove usage of ENTRY_BLOCK_PTR macro.
	(post_order_compute): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(connect_infinite_loops_to_exit): Remove usage of EXIT_BLOCK_PTR macro.
	(remove_fake_edges): Remove usage of ENTRY_BLOCK_PTR macro.
	(add_noreturn_fake_exit_edges): Remove usage of EXIT_BLOCK_PTR macro.
	(find_pdom): Remove uses of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(remove_fake_exit_edges): Remove usage of EXIT_BLOCK_PTR macro.
	(verify_edge_list): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(print_edge_list): Likewise.
	(create_edge_list): Likewise.
	(find_unreachable_blocks): Remove usage of ENTRY_BLOCK_PTR macro.
	(mark_dfs_back_edges): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	* cfgbuild.c (find_bb_boundaries): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(find_many_sub_basic_blocks): Remove usage of EXIT_BLOCK_PTR macro.
	(make_edges): Remove uses of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	* cfgcleanup.c (delete_unreachable_blocks): Likewise.
	(try_optimize_cfg): Likewise.
	(try_head_merge_bb): Remove usage of EXIT_BLOCK_PTR macro.
	(try_crossjump_to_edge): Remove usage of ENTRY_BLOCK_PTR macro.
	(try_crossjump_bb): Remove usage of EXIT_BLOCK_PTR macro.
	(merge_blocks_move): Remove usage of ENTRY_BLOCK_PTR macro.
	(outgoing_edges_match): Remove usage of EXIT_BLOCK_PTR macro.
	(try_forward_edges): Likewise.
	(try_simplify_condjump): Likewise.
	* cfgexpand.c (gimple_expand_cfg): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(construct_exit_block): Remove usage of EXIT_BLOCK_PTR macro.
	(construct_init_block): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(expand_gimple_basic_block): Remove usage of EXIT_BLOCK_PTR macro.
	(expand_gimple_tailcall): Likewise.
	* cfghooks.c (can_duplicate_block_p): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(tidy_fallthru_edges): Likewise.
	(verify_flow_info): Likewise.
	* cfgloop.c (flow_bb_inside_loop_p): Likewise.
	(num_loop_branches): Remove usage of EXIT_BLOCK_PTR macro.
	(disambiguate_multiple_latches): Remove usage of ENTRY_BLOCK_PTR macro.
	(get_loop_exit_edges): Remove usage of EXIT_BLOCK_PTR macro.
	(bb_loop_header_p): Remove usage of ENTRY_BLOCK_PTR macro.
	(get_loop_body_in_bfs_order): Remove usage of EXIT_BLOCK_PTR macro.
	(get_loop_body_in_dom_order): Likewise.
	(get_loop_body): Likewise.
	* cfgloopanal.c (mark_irreducible_loops): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	* cfgloopmanip.c (create_preheader): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(remove_path): Remove usage of EXIT_BLOCK_PTR macro.
	(fix_bb_placement): Likewise.
	* cfgrtl.c (rtl_block_empty_p): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(rtl_can_remove_branch_p): Remove usage of EXIT_BLOCK_PTR macro.
	(cfg_layout_split_edge): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(rtl_flow_call_edges_add): Remove usage of EXIT_BLOCK_PTR macro.
	(cfg_layout_can_merge_blocks_p): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(cfg_layout_redirect_edge_and_branch): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(fixup_fallthru_exit_predecessor): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(fixup_reorder_chain): Likewise.
	(relink_block_chain): Likewise.
	(cfg_layout_delete_block): Remove usage of EXIT_BLOCK_PTR macro.
	(rtl_verify_bb_layout): Remove usage of ENTRY_BLOCK_PTR macro.
	(cfg_layout_duplicate_bb): Remove usage of EXIT_BLOCK_PTR macro.
	(force_one_exit_fallthru): Likewise.
	(rtl_verify_fallthru): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(rtl_verify_edges): Likewise.
	(commit_edge_insertions): Likewise.
	(commit_one_edge_insertion): Likewise.
	(rtl_split_edge): Likewise.
	(force_nonfallthru_and_redirect): Likewise.
	(outof_cfg_layout_mode): Remove usage of EXIT_BLOCK_PTR macro.
	(skip_insns_after_block): Likewise.
	(fixup_partition_crossing): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(purge_dead_edges): Remove usage of EXIT_BLOCK_PTR macro.
	(rtl_can_merge_blocks): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(contains_no_active_insn_p): Likewise.
	(emit_insn_at_entry): Remove usage of ENTRY_BLOCK_PTR macro.
	(entry_of_function): Likewise.
	(last_bb_in_partition): Remove usage of EXIT_BLOCK_PTR macro.
	(fixup_new_cold_bb): Likewise.
	(patch_jump_insn): Likewise.
	(try_redirect_by_replacing_jump): Likewise.
	(block_label): Likewise.
	(could_fall_through): Likewise.
	(can_fallthru): Likewise.
	* cgraphbuild.c (cgraph_rebuild_references): Remove usage of
	ENTRY_BLOCK_PTR macro.
	(rebuild_cgraph_edges): Likewise.
	* cgraphunit.c (init_lowered_empty_function): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(expand_thunk): Remove usage of EXIT_BLOCK_PTR macro.
	* combine.c (get_last_value): Remove usage of ENTRY_BLOCK_PTR macro.
	(distribute_links): Remove usage of EXIT_BLOCK_PTR macro.
	(get_last_value_validate): Remove usage of ENTRY_BLOCK_PTR macro.
	(try_combine): Remove usage of EXIT_BLOCK_PTR macro.
	(reg_num_sign_bit_copies_for_combine): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(reg_nonzero_bits_for_combine): Likewise.
	(set_nonzero_bits_and_sign_copies): Likewise.
	(combine_instructions): Likewise.
	* cprop.c (one_cprop_pass): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(bypass_conditional_jumps): Likewise.
	(bypass_block): Remove usage of EXIT_BLOCK_PTR macro.
	(find_implicit_sets): Likewise.
	(cprop_jump): Likewise.
	* cse.c (cse_cc_succs): Likewise.
	(cse_find_path): Likewise.
	* df-problems.c (df_lr_confluence_0): Likewise.
	* df-scan.c (df_entry_block_defs_collect): Remove usage of
	ENTRY_BLOCK_PTR macro.
	(df_exit_block_uses_collect): Remove usage of EXIT_BLOCK_PTR macro.
	* dominance.c (iterate_fix_dominators): Remove usage of
	ENTRY_BLOCK_PTR macro.
	(calc_idoms): Remove uses of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(determine_dominators_for_sons): Remove usage of ENTRY_BLOCK_PTR macro.
	(calc_dfs_tree): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(prune_bbs_to_update_dominators): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(calc_dfs_tree_nonrec): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	* domwalk.c (cmp_bb_postorder): Likewise.
	* dse.c (dse_step1): Remove usage of EXIT_BLOCK_PTR macro.
	* except.c (finish_eh_generation): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(sjlj_emit_function_enter): Likewise.
	* final.c (compute_alignments): Likewise.
	* function.c (thread_prologue_and_epilogue_insns): Remove uses of
	macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(reposition_prologue_and_epilogue_notes): Remove usage of
	EXIT_BLOCK_PTR macro.
	(convert_jumps_to_returns): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(regno_clobbered_at_setjmp): Remove usage of ENTRY_BLOCK_PTR macro.
	(next_block_for_reg): Remove usage of EXIT_BLOCK_PTR macro.
	* gcse.c (hoist_code): Remove usage of ENTRY_BLOCK_PTR macro.
	(update_bb_reg_pressure): Remove usage of EXIT_BLOCK_PTR macro.
	(compute_code_hoist_vbeinout): Likewise.
	(should_hoist_expr_to_dom): Remove usage of ENTRY_BLOCK_PTR macro.
	(pre_expr_reaches_here_p_work): Likewise.
	* gimple-iterator.c (gsi_commit_edge_inserts): Likewise.
	(gimple_find_edge_insert_loc): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	* gimple-ssa-strength-reduction.c (slsr_process_phi): Remove usage of
	ENTRY_BLOCK_PTR macro.
	* graph.c (draw_cfg_nodes_for_loop): Remove usage of EXIT_BLOCK_PTR
	macro.
	* graphite-clast-to-gimple.c (translate_clast_user): Remove usage of
	ENTRY_BLOCK_PTR macro.
	* graphite-scop-detection.c (build_scops): Likewise.
	(create_sese_edges): Remove usage of EXIT_BLOCK_PTR macro.
	(scopdet_basic_block_info): Remove usage of ENTRY_BLOCK_PTR macro.
	* haifa-sched.c (restore_bb_notes): Remove usage of EXIT_BLOCK_PTR
	macro.
	(unlink_bb_notes): Likewise.
	(create_check_block_twin): Likewise.
	(init_before_recovery): Likewise.
	(sched_extend_bb): Likewise.
	(priority): Likewise.
	* hw-doloop.c (reorder_loops): Likewise.
	(discover_loop): Likewise.
	* ifcvt.c (dead_or_predicable): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(find_if_case_1): Remove usage of EXIT_BLOCK_PTR macro.
	(block_has_only_trap): Likewise.
	(cond_exec_find_if_block): Likewise.
	(merge_if_block): Likewise.
	* ipa-inline-analysis.c (param_change_prob): Remove usage of
	ENTRY_BLOCK_PTR macro.
	(record_modified): Likewise.
	* ipa-pure-const.c (execute_warn_function_noreturn): Remove usage of
	EXIT_BLOCK_PTR macro.
	(local_pure_const): Likewise.
	* ipa-split.c (split_function): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(find_split_points): Likewise.
	(consider_split): Likewise.
	(find_return_bb): Remove usage of EXIT_BLOCK_PTR macro.
	(verify_non_ssa_vars): Remove usage of ENTRY_BLOCK_PTR macro.
	* ira-build.c (ira_loop_tree_body_rev_postorder): Likewise.
	* ira-color.c (print_loop_title): Remove usage of EXIT_BLOCK_PTR macro.
	* ira-emit.c (entered_from_non_parent_p): Remove usage of
	ENTRY_BLOCK_PTR macro.
	(ira_emit): Remove usage of EXIT_BLOCK_PTR macro.
	* ira-int.h (ira_assert): Remove usage of ENTRY_BLOCK_PTR macro.
	* ira.c (split_live_ranges_for_shrink_wrap): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	* lcm.c (compute_rev_insert_delete): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(compute_nearerout): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(compute_farthest): Likewise.
	(compute_available): Likewise.
	(compute_insert_delete): Remove usage of EXIT_BLOCK_PTR macro.
	(compute_laterin): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(compute_earliest): Likewise.
	(compute_antinout_edge): Likewise.
	* loop-iv.c (simplify_using_initial_values): Remove usage of
	ENTRY_BLOCK_PTR macro.
	* loop-unswitch.c (unswitch_loop): Remove usage of EXIT_BLOCK_PTR
	macro.
	* lra-assigns.c (find_hard_regno_for): Remove usage of ENTRY_BLOCK_PTR
	macro.
	* lra-constraints.c (lra_inheritance): Remove usage of EXIT_BLOCK_PTR
	macro.
	* lra-lives.c (lra_create_live_ranges): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	* lra.c (has_nonexceptional_receiver): Remove usage of EXIT_BLOCK_PTR
	macro.
	* lto-streamer-in.c (input_function): Remove usage of ENTRY_BLOCK_PTR
	macro.
	* lto-streamer-out.c (output_cfg): Likewise.
	* mcf.c (adjust_cfg_counts): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(create_fixup_graph): Remove usage of ENTRY_BLOCK_PTR macro.
	* mode-switching.c (optimize_mode_switching): Likewise.
	(create_pre_exit): Remove usage of EXIT_BLOCK_PTR macro.
	* modulo-sched.c (rest_of_handle_sms): Likewise.
	(canon_loop): Likewise.
	* omp-low.c (build_omp_regions): Remove usage of ENTRY_BLOCK_PTR macro.
	* postreload-gcse.c (eliminate_partially_redundant_loads): Remove uses
	of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	* predict.c (rebuild_frequencies): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(propagate_freq): Remove usage of EXIT_BLOCK_PTR macro.
	(estimate_bb_frequencies): Remove usage of ENTRY_BLOCK_PTR macro.
	(tree_estimate_probability_bb): Remove usage of EXIT_BLOCK_PTR macro.
	(expensive_function_p): Remove usage of ENTRY_BLOCK_PTR macro.
	(tree_bb_level_predictions): Remove usage of EXIT_BLOCK_PTR macro.
	(counts_to_freqs): Remove usage of ENTRY_BLOCK_PTR macro.
	(apply_return_prediction): Remove usage of EXIT_BLOCK_PTR macro.
	(estimate_loops): Remove usage of ENTRY_BLOCK_PTR macro.
	(gimple_predict_edge): Likewise.
	(probably_never_executed): Likewise.
	* profile.c (find_spanning_tree): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(branch_prob): Likewise.
	(compute_branch_probabilities): Likewise.
	(compute_frequency_overlap): Remove usage of ENTRY_BLOCK_PTR macro.
	(is_inconsistent): Remove usage of EXIT_BLOCK_PTR macro.
	(read_profile_edge_counts): Remove usage of ENTRY_BLOCK_PTR macro.
	(set_bb_counts): Likewise.
	(correct_negative_edge_counts): Likewise.
	(get_exec_counts): Likewise.
	(instrument_values): Likewise.
	(instrument_edges): Likewise.
	* reg-stack.c (convert_regs): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(compensate_edges): Remove usage of ENTRY_BLOCK_PTR macro.
	(convert_regs_exit): Remove usage of EXIT_BLOCK_PTR macro.
	(convert_regs_entry): Remove usage of ENTRY_BLOCK_PTR macro.
	(reg_to_stack): Likewise.
	* regs.h (REG_N_SETS): Likewise.
	* reload.c (find_dummy_reload): Likewise.
	(combine_reloads): Likewise.
	(push_reload): Likewise.
	* reload1.c (has_nonexceptional_receiver): Remove usage of
	EXIT_BLOCK_PTR macro.
	* resource.c (mark_target_live_regs): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(find_basic_block): Likewise.
	* sched-ebb.c (ebb_add_block): Remove usage of EXIT_BLOCK_PTR macro.
	(schedule_ebbs): Likewise.
	* sched-int.h (sel_sched_p): Likewise.
	* sched-rgn.c (compute_dom_prob_ps): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(rgn_add_block): Remove usage of EXIT_BLOCK_PTR macro.
	(haifa_find_rgns): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(propagate_deps): Remove usage of EXIT_BLOCK_PTR macro.
	(extend_rgns): Likewise.
	(find_single_block_region): Likewise.
	* sel-sched-ir.c (sel_remove_loop_preheader): Remove usage of
	ENTRY_BLOCK_PTR macro.
	(setup_nop_and_exit_insns): Remove usage of EXIT_BLOCK_PTR macro.
	(sel_create_recovery_block): Likewise.
	(bb_ends_ebb_p): Likewise.
	(sel_bb_end): Likewise.
	(sel_bb_head): Likewise.
	(free_lv_sets): Likewise.
	(init_lv_sets): Likewise.
	(tidy_control_flow): Likewise.
	(maybe_tidy_empty_bb): Likewise.
	* sel-sched-ir.h (_succ_iter_cond): Likewise.
	(_succ_iter_start): Likewise.
	(sel_bb_empty_or_nop_p): Likewise.
	(get_loop_exit_edges_unique_dests): Likewise.
	(inner_loop_header_p): Likewise.
	* sel-sched.c (create_block_for_bookkeeping): Likewise.
	(find_block_for_bookkeeping): Likewise.
	* store-motion.c (remove_reachable_equiv_notes): Likewise.
	(insert_store): Likewise.
	* trans-mem.c (ipa_tm_transform_clone): Remove usage of
	ENTRY_BLOCK_PTR macro.
	(tm_memopt_compute_available): Remove usage of EXIT_BLOCK_PTR macro.
	(ipa_tm_scan_irr_function): Remove usage of ENTRY_BLOCK_PTR macro.
	(gate_tm_init): Likewise.
	(tm_region_init): Likewise.
	* tree-cfg.c (execute_fixup_cfg): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(execute_warn_function_return): Remove usage of EXIT_BLOCK_PTR macro.
	(split_critical_edges): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(print_loops): Remove usage of ENTRY_BLOCK_PTR macro.
	(move_sese_region_to_fn): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(gimple_redirect_edge_and_branch): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(gimple_verify_flow_info): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(remove_edge_and_dominated_blocks): Remove usage of EXIT_BLOCK_PTR
	macro.
	(make_edges): Remove uses of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(gimple_flow_call_edges_add): Remove usage of EXIT_BLOCK_PTR macro.
	(make_blocks): Remove usage of ENTRY_BLOCK_PTR macro.
	(build_gimple_cfg): Likewise.
	(gimple_duplicate_bb): Remove usage of EXIT_BLOCK_PTR macro.
	(gimple_can_merge_blocks_p): Likewise.
	* tree-cfgcleanup.c (tree_forwarder_block_p): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	* tree-complex.c (update_parameter_components): Remove usage of
	ENTRY_BLOCK_PTR macro.
	* tree-if-conv.c (get_loop_body_in_if_conv_order): Remove usage of
	EXIT_BLOCK_PTR macro.
	* tree-inline.c (tree_function_versioning): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(delete_unreachable_blocks_update_callgraph): Likewise.
	(initialize_cfun): Likewise.
	(copy_cfg_body): Remove usage of ENTRY_BLOCK_PTR macro.
	(copy_edges_for_bb): Remove usage of EXIT_BLOCK_PTR macro.
	(remap_ssa_name): Remove usage of ENTRY_BLOCK_PTR macro.
	* tree-into-ssa.c (update_ssa): Likewise.
	(maybe_register_def): Remove usage of EXIT_BLOCK_PTR macro.
	(insert_updated_phi_nodes_for): Remove usage of ENTRY_BLOCK_PTR macro.
	(rewrite_into_ssa): Likewise.
	(rewrite_debug_stmt_uses): Likewise.
	* tree-outof-ssa.c (expand_phi_nodes): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	* tree-profile.c (gimple_gen_ic_func_profiler): Remove usage of
	ENTRY_BLOCK_PTR macro.
	* tree-scalar-evolution.h (block_before_loop): Likewise.
	* tree-sra.c (sra_ipa_reset_debug_stmts): Likewise.
	(dump_dereferences_table): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(analyze_caller_dereference_legality): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(propagate_dereference_distances): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(initialize_parameter_reductions): Remove usage of ENTRY_BLOCK_PTR
	macro.
	* tree-ssa-ccp.c (gsi_prev_dom_bb_nondebug): Likewise.
	(optimize_stack_restore): Remove usage of EXIT_BLOCK_PTR macro.
	* tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.
	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(remove_dead_stmt): Remove usage of EXIT_BLOCK_PTR macro.
	(propagate_necessity): Remove usage of ENTRY_BLOCK_PTR macro.
	(mark_control_dependent_edges_necessary): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	* tree-ssa-dom.c (eliminate_degenerate_phis): Remove usage of
	ENTRY_BLOCK_PTR macro.
	(tree_ssa_dominator_optimize): Remove usage of EXIT_BLOCK_PTR macro.
	* tree-ssa-live.c (verify_live_on_entry): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(calculate_live_on_exit): Likewise.
	(set_var_live_on_entry): Remove usage of ENTRY_BLOCK_PTR macro.
	(loe_visit_block): Likewise.
	* tree-ssa-live.h (live_on_exit): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(live_on_entry): Likewise.
	* tree-ssa-loop-ivopts.c (find_interesting_uses): Remove usage of
	EXIT_BLOCK_PTR macro.
	* tree-ssa-loop-manip.c (compute_live_loop_exits): Remove usage of
	ENTRY_BLOCK_PTR macro.
	* tree-ssa-loop-niter.c (simplify_using_initial_conditions): Likewise.
	(bound_difference): Likewise.
	* tree-ssa-loop-prefetch.c (may_use_storent_in_loop_p): Remove usage
	of EXIT_BLOCK_PTR macro.
	* tree-ssa-loop-unswitch.c (simplify_using_entry_checks): Remove usage
	of ENTRY_BLOCK_PTR macro.
	* tree-ssa-math-opts.c (register_division_in): Likewise.
	* tree-ssa-phiprop.c (tree_ssa_phiprop): Likewise.
	* tree-ssa-pre.c (compute_avail): Likewise.
	(compute_antic): Remove usage of EXIT_BLOCK_PTR macro.
	(insert): Remove usage of ENTRY_BLOCK_PTR macro.
	* tree-ssa-propagate.c (ssa_prop_init): Likewise.
	(simulate_block): Remove usage of EXIT_BLOCK_PTR macro.
	(cfg_blocks_add): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	(add_control_edge): Remove usage of EXIT_BLOCK_PTR macro.
	* tree-ssa-reassoc.c (do_reassoc): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(build_and_add_sum): Remove usage of ENTRY_BLOCK_PTR macro.
	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
	(execute_sink_code): Remove usage of EXIT_BLOCK_PTR macro.
	* tree-ssa-uninit.c (find_dom): Remove usage of ENTRY_BLOCK_PTR macro.
	(compute_control_dep_chain): Remove usage of EXIT_BLOCK_PTR macro.
	(find_pdom): Likewise.
	(warn_uninitialized_vars): Remove usage of ENTRY_BLOCK_PTR macro.
	* tree-stdarg.c (reachable_at_most_once): Likewise.
	* tree-tailcall.c (tree_optimize_tail_calls_1): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(eliminate_tail_call): Likewise.
	* tsan.c (instrument_func_entry): Remove usage of ENTRY_BLOCK_PTR
	macro.
	(instrument_func_exit): Remove usage of EXIT_BLOCK_PTR macro.
	* var-tracking.c (vt_initialize): Remove uses of macros:
	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
	(vt_add_function_parameter): Remove usage of ENTRY_BLOCK_PTR macro.
	(vt_find_locations): Remove usage of EXIT_BLOCK_PTR macro.
	(vt_stack_adjustments): Remove uses of macros: ENTRY_BLOCK_PTR,
	EXIT_BLOCK_PTR.
	* varasm.c (assemble_start_function): Remove usage of ENTRY_BLOCK_PTR
	macro.
	* config/bfin/bfin.c (hwloop_optimize): Likewise.
	* config/nds32/nds32.c (nds32_fp_as_gp_check_available): Remove usage
	of EXIT_BLOCK_PTR macro.
	* config/arm/arm.c (require_pic_register): Remove usage of
	ENTRY_BLOCK_PTR macro.
	(arm_r3_live_at_start_p): Likewise.
	(any_sibcall_could_use_r3): Remove usage of EXIT_BLOCK_PTR macro.
	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
	* config/frv/frv.c (frv_optimize_membar_global): Likewise.
	* config/alpha/alpha.c (alpha_gp_save_rtx): Remove usage of
	ENTRY_BLOCK_PTR macro.
	* config/i386/i386.c (ix86_count_insn): Likewise.
	(ix86_seh_fixup_eh_fallthru): Remove usage of EXIT_BLOCK_PTR macro.
	(ix86_pad_short_function): Likewise.
	(ix86_compute_frame_layout): Remove usage of ENTRY_BLOCK_PTR macro.
	(ix86_pad_returns): Remove usage of EXIT_BLOCK_PTR macro.
	(ix86_eax_live_at_start_p): Remove usage of ENTRY_BLOCK_PTR macro.
	(add_condition_to_bb): Remove usage of EXIT_BLOCK_PTR macro.
	(ix86_expand_epilogue): Likewise.
	* config/ia64/ia64.c (ia64_asm_unwind_emit): Likewise.
	(ia64_expand_prologue): Likewise.

2013-11-19  Catherine Moore  <clm@codesourcery.com>

	* doc/invoke.texi (mfix-rm7000, mno-fix-rm7000): Document.
	* config/mips/mips.opt (mfix-rm7000): New option.
	* config/mips/mips.h (ASM_SPEC): Handle mfix-rm7000.
	* config/mips/mips.c (mips_reorg_process_insns): Disable
	noreorder for TARGET_FIX_RM7000.

2013-11-19  Oleg Endo  <olegendo@gcc.gnu.org>

	* config/sh/sh-c.c: Fix typo in include of file attribs.h.

2013-11-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (arm_new_rtx_costs):
	Handle narrow mode add-shifts properly.
	* config/arm/arm-common.c (arm_rtx_shift_left_p): Remove static.
	* config/arm/arm-common-protos.h (arm_rtx_shift_left_p):
	Declare extern.

2013-11-19  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/arm/arm.md (zero_extend<mode>di2): Add type attribute.

2013-11-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/vector.md ("mov<mode>"): Do not call
	rs6000_emit_le_vsx_move to move into or out of GPRs.
	* config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Assert
	source and destination are not GPR hard regs.

2013-11-19  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (n_edges_for_function): Rename macro to...
	(n_edges_for_fn): ...this.
	(n_edges): Eliminate macro as work towards making uses of
	cfun be explicit.

	* cfg.c (init_flow): Update for renaming of "n_edges_for_function"
	to "n_edges_for_fn".

	* cfg.c (unchecked_make_edge): Remove usage of n_edges macro.
	(clear_edges): Likewise.
	(free_edge): Likewise.
	* cfghooks.c (dump_flow_info): Likewise.
	* cprop.c (is_too_expensive): Likewise.
	* df-core.c (df_worklist_dataflow_doublequeue): Likewise.
	* gcse.c (is_too_expensive): Likewise.
	(prune_insertions_deletions): Likewise.
	* mcf.c (create_fixup_graph): Likewise.
	* sched-rgn.c (haifa_find_rgns): Likewise.
	* tree-cfg.c (gimple_dump_cfg): Likewise.
	* var-tracking.c (variable_tracking_main_1): Likewise.

2013-11-19  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Fix over
	length lines.

2013-11-19  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/aarch64/aarch64.md
	(aarch64_movdi_<mode>low, *add_<shift>_si_uxtw): Adjust whitespace.

2013-11-19  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/aarch64/aarch64.h (PROFILE_HOOK): Fix whitespace.

2013-11-19  Joseph Myers  <joseph@codesourcery.com>

	* varasm.c (align_variable): Give error instead of warning for
	unsupported alignment.
	(assemble_noswitch_variable): Likewise.

2013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>

	* plugin.def (PLUGIN_INCLUDE_FILE): New event, invoked in
	cb_file_change.

2013-11-19  Peter Bergner  <bergner@vnet.ibm.com>

	* loop-doloop.c (doloop_optimize_loops): Remove unused
	loop iterator argument from FOR_EACH_LOOP.

2013-11-19  David Malcolm  <dmalcolm@redhat.com>

	Convert gimple types from a union to C++ inheritance.
	* Makefile.in (GIMPLE_H): Add dep on is-a.h.
	* coretypes.h (union gimple_statement_d): Remove declaration.
	(gimple): Convert from being a "union gimple_statement_d *"
	to a "struct gimple_statement_base *".
	(const_gimple): Likewise (with "const").
	* ggc.h (ggc_alloc_cleared_gimple_statement_d_stat): Replace with...
	(ggc_alloc_cleared_gimple_statement_stat): ...this.
	* gimple-pretty-print.c (debug): Change parameter from a
	"gimple_statement_d &" to a "gimple_statement_base &".
	(debug): Change parameter from a "gimple_statement_d *" to
	a "gimple_statement_base *".
	* gimple-pretty-print.h (debug): Update declarations as above.
	* gimple.c (gimple_alloc_stat): Update for renaming of
	ggc_alloc_cleared_gimple_statement_d_stat to
	ggc_alloc_cleared_gimple_statement_stat.
	* gimple.h: Include "is-a.h" for use by is_a_helper
	specializations in followup autogenerated patch.
	(struct gimple statement_base): Make this type usable as a base
	class by adding "desc", "tag" and "variable_size" to GTY, thus
	using opting-in to gengtype's support for simple inheritance.
	(gimple_statement_with_ops_base): Convert to a subclass of
	gimple_statement_base, dropping initial "gsbase" field.  Note that
	this type is abstract, with no GSS_ value, and thus no GTY tag value.
	(gimple_statement_with_ops): Convert to a subclass of
	gimple_statement_with_ops_base, dropping initial "opbase" field.
	Add tag value to GTY marking.  Update marking of op field to
	reflect how num_ops field is accessed via inheritance.
	(gimple_statement_with_memory_ops_base): Convert to a subclass of
	gimple_statement_with_ops_base, dropping initial "opbase" field.
	Add tag value to GTY marking.
	(gimple_statement_with_memory_ops): Convert to a subclass of
	public gimple_statement_with_memory_ops_base, dropping initial
	"membase" field.  Add tag value to GTY marking.  Update marking
	of op field to reflect how num_ops field is accessed via inheritance.
	(gimple_statement_call): Analogous changes that also update the
	marking of the "u" union.
	(gimple_statement_omp): Convert to a subclass of
	gimple_statement_base, dropping initial "gsbase" field, adding
	tag value to GTY marking.
	(gimple_statement_bind): Likewise.
	(gimple_statement_catch): Likewise.
	(gimple_statement_eh_filter): Likewise.
	(gimple_statement_eh_else): Likewise.
	(gimple_statement_eh_mnt): Likewise.
	(gimple_statement_phi): Likewise.
	(gimple_statement_eh_ctrl): Likewise.
	(gimple_statement_try): Likewise.
	(gimple_statement_wce): Likewise.
	(gimple_statement_asm): Convert to a subclass of
	gimple_statement_with_memory_ops_base, dropping initial
	"membase" field, adding tag value to GTY marking, and updating
	marking of op field.
	(gimple_statement_omp_critical): Convert to a subclass of
	gimple_statement_omp, dropping initial "omp" field, adding tag
	value to GTY marking.
	(gimple_statement_omp_for): Likewise.
	(gimple_statement_omp_parallel): Likewise.
	(gimple_statement_omp_task): Convert to a subclass of
	gimple_statement_omp_parallel, dropping initial "par" field,
	adding tag value to GTY marking.
	(gimple_statement_omp_sections): Convert to a subclass of
	gimple_statement_omp, dropping initial "omp" field, adding
	tag value to GTY marking.
	(gimple_statement_omp_continue): Convert to a subclass of
	gimple_statement_base, dropping initial "gsbase" field, adding
	tag value to GTY marking.
	(gimple_statement_omp_single): Convert to a subclass of
	gimple_statement_omp, dropping initial "omp" field, adding
	tag value to GTY marking.
	(gimple_statement_omp_atomic_load): Convert to a subclass of
	gimple_statement_base, dropping initial "gsbase" field, adding
	tag value to GTY marking.
	(gimple_statement_omp_atomic_store): Convert to a subclass of
	gimple_statement_base, dropping initial "gsbase" field, adding
	tag value to GTY marking.
	(gimple_statement_transaction): Convert to a subclass of
	gimple_statement_with_memory_ops_base, dropping initial "gsbase"
	field, adding tag value to GTY marking.
	(union gimple_statement_d): Remove.
	* system.h (CONST_CAST_GIMPLE): Update to use
	"struct gimple_statement_base *" rather than
	"union gimple_statement_d *".
	* tree-ssa-ccp.c (gimple_htab): Convert underlying type from
	gimple_statement_d to gimple_statement_base.

	* gimple.h (gimple_use_ops): Port from union to usage of dyn_cast.
	(gimple_set_use_ops): Port from union to usage of as_a.
	(gimple_set_vuse): Likewise.
	(gimple_set_vdef): Likewise.
	(gimple_call_internal_fn): Port from union to a static_cast,
	given that the type has already been asserted.
	(gimple_omp_body_ptr): Port from unchecked union usage to
	a static_cast.
	(gimple_omp_set_body): Likewise.

	* gimple-iterator.c (update_bb_for_stmts): Update for conversion of
	gimple types to a true class hierarchy.
	(update_call_edge_frequencies): Likewise.
	(gsi_insert_seq_nodes_before): Likewise.
	(gsi_insert_seq_nodes_after): Likewise.
	(gsi_split_seq_after): Likewise.
	(gsi_set_stmt): Likewise.
	(gsi_split_seq_before): Likewise.
	(gsi_remove): Likewise.
	* gimple-iterator.h (gsi_one_before_end_p): Likewise.
	(gsi_next): Likewise.
	(gsi_prev): Likewise.
	* gimple-pretty-print.c (dump_gimple_debug): Likewise.
	* gimple-ssa.h (gimple_vuse_op): Likewise.
	(gimple_vdef_op): Likewise.
	* gimple-streamer-in.c (input_gimple_stmt): Likewise.
	* gimple-streamer-out.c (output_gimple_stmt): Likewise.
	* gimple.c (gimple_set_code): Likewise.
	(gimple_alloc_stat): Likewise.
	(gimple_set_subcode): Likewise.
	(gimple_build_call_internal_1): Likewise.
	(gimple_check_failed): Likewise.
	(gimple_call_flags): Likewise.
	(gimple_set_bb): Likewise.
	* gimple.h (is_a_helper <gimple_statement_asm> (gimple)): New.
	(is_a_helper <gimple_statement_bind> (gimple)): Likewise.
	(is_a_helper <gimple_statement_call> (gimple)): Likewise.
	(is_a_helper <gimple_statement_catch> (gimple)): Likewise.
	(is_a_helper <gimple_statement_eh_ctrl> (gimple)): Likewise.
	(is_a_helper <gimple_statement_eh_else> (gimple)): Likewise.
	(is_a_helper <gimple_statement_eh_filter> (gimple)): Likewise.
	(is_a_helper <gimple_statement_eh_mnt> (gimple)): Likewise.
	(is_a_helper <gimple_statement_omp_atomic_load> (gimple)): Likewise.
	(is_a_helper <gimple_statement_omp_atomic_store> (gimple)): Likewise.
	(is_a_helper <gimple_statement_omp_continue> (gimple)): Likewise.
	(is_a_helper <gimple_statement_omp_critical> (gimple)): Likewise.
	(is_a_helper <gimple_statement_omp_for> (gimple)): Likewise.
	(is_a_helper <gimple_statement_omp_parallel> (gimple)): Likewise.
	(is_a_helper <gimple_statement_omp_sections> (gimple)): Likewise.
	(is_a_helper <gimple_statement_omp_single> (gimple)): Likewise.
	(is_a_helper <gimple_statement_omp_task> (gimple)): Likewise.
	(is_a_helper <gimple_statement_phi> (gimple)): Likewise.
	(is_a_helper <gimple_statement_transaction> (gimple)): Likewise.
	(is_a_helper <gimple_statement_try> (gimple)): Likewise.
	(is_a_helper <gimple_statement_wce> (gimple)): Likewise.
	(is_a_helper <const gimple_statement_asm> (const_gimple)): Likewise.
	(is_a_helper <const gimple_statement_bind> (const_gimple)): Likewise.
	(is_a_helper <const gimple_statement_call> (const_gimple)): Likewise.
	(is_a_helper <const gimple_statement_catch> (const_gimple)): Likewise.
	(is_a_helper <const gimple_statement_eh_ctrl> (const_gimple)):
	Likewise.
	(is_a_helper <const gimple_statement_eh_filter> (const_gimple)):
	Likewise.
	(is_a_helper <const gimple_statement_omp_atomic_load> (const_gimple)):
	Likewise.
	(is_a_helper <const gimple_statement_omp_atomic_store>
	(const_gimple)): Likewise.
	(is_a_helper <const gimple_statement_omp_continue> (const_gimple)):
	Likewise.
	(is_a_helper <const gimple_statement_omp_critical> (const_gimple)):
	Likewise.
	(is_a_helper <const gimple_statement_omp_for> (const_gimple)):
	Likewise.
	(is_a_helper <const gimple_statement_omp_parallel> (const_gimple)):
	Likewise.
	(is_a_helper <const gimple_statement_omp_sections> (const_gimple)):
	Likewise.
	(is_a_helper <const gimple_statement_omp_single> (const_gimple)):
	Likewise.
	(is_a_helper <const gimple_statement_omp_task> (const_gimple)):
	Likewise.
	(is_a_helper <const gimple_statement_phi> (const_gimple)): Likewise.
	(is_a_helper <const gimple_statement_transaction> (const_gimple)):
	Likewise.
	(gimple_seq_last): Update for conversion of gimple types to a true
	class hierarchy.
	(gimple_seq_set_last): Likewise.
	(gimple_code): Likewise.
	(gimple_bb): Likewise.
	(gimple_block): Likewise.
	(gimple_set_block): Likewise.
	(gimple_location): Likewise.
	(gimple_location_ptr): Likewise.
	(gimple_set_location): Likewise.
	(gimple_no_warning_p): Likewise.
	(gimple_set_no_warning): Likewise.
	(gimple_set_visited): Likewise.
	(gimple_visited_p): Likewise.
	(gimple_set_plf): Likewise.
	(gimple_plf): Likewise.
	(gimple_set_uid): Likewise.
	(gimple_uid): Likewise.
	(gimple_init_singleton): Likewise.
	(gimple_modified_p): Likewise.
	(gimple_set_modified): Likewise.
	(gimple_expr_code): Likewise.
	(gimple_has_volatile_ops): Likewise.
	(gimple_set_has_volatile_ops): Likewise.
	(gimple_omp_subcode): Likewise.
	(gimple_omp_set_subcode): Likewise.
	(gimple_omp_return_set_nowait): Likewise.
	(gimple_omp_section_set_last): Likewise.
	(gimple_omp_parallel_set_combined_p): Likewise.
	(gimple_omp_atomic_set_need_value): Likewise.
	(gimple_omp_atomic_set_seq_cst): Likewise.
	(gimple_num_ops): Likewise.
	(gimple_set_num_ops): Likewise.
	(gimple_assign_nontemporal_move_p): Likewise.
	(gimple_assign_set_nontemporal_move): Likewise.
	(gimple_assign_rhs_code): Likewise.
	(gimple_assign_set_rhs_code): Likewise.
	(gimple_call_internal_p): Likewise.
	(gimple_call_with_bounds_p): Likewise.
	(gimple_call_set_with_bounds): Likewise.
	(gimple_call_set_tail): Likewise.
	(gimple_call_tail_p): Likewise.
	(gimple_call_set_return_slot_opt): Likewise.
	(gimple_call_return_slot_opt_p): Likewise.
	(gimple_call_set_from_thunk): Likewise.
	(gimple_call_from_thunk_p): Likewise.
	(gimple_call_set_va_arg_pack): Likewise.
	(gimple_call_va_arg_pack_p): Likewise.
	(gimple_call_set_nothrow): Likewise.
	(gimple_call_set_alloca_for_var): Likewise.
	(gimple_call_alloca_for_var_p): Likewise.
	(gimple_call_copy_flags): Likewise.
	(gimple_cond_code): Likewise.
	(gimple_cond_set_code): Likewise.
	(gimple_cond_make_false): Likewise.
	(gimple_cond_make_true): Likewise.
	(gimple_asm_volatile_p): Likewise.
	(gimple_asm_set_volatile): Likewise.
	(gimple_asm_set_input): Likewise.
	(gimple_asm_input_p): Likewise.
	(gimple_try_kind): Likewise.
	(gimple_try_set_kind): Likewise.
	(gimple_try_catch_is_cleanup): Likewise.
	(gimple_try_set_catch_is_cleanup): Likewise.
	(gimple_wce_cleanup_eh_only): Likewise.
	(gimple_wce_set_cleanup_eh_only): Likewise.
	(gimple_debug_bind_p): Likewise.
	(gimple_debug_source_bind_p): Likewise.
	(gimple_omp_for_set_kind): Likewise.
	(gimple_omp_for_set_combined_p): Likewise.
	(gimple_omp_for_set_combined_into_p): Likewise.
	(gimple_omp_target_set_kind): Likewise.
	(gimple_transaction_subcode): Likewise.
	(gimple_transaction_set_subcode): Likewise.
	(gimple_predict_predictor): Likewise.
	(gimple_predict_set_predictor): Likewise.
	(gimple_predict_outcome): Likewise.
	(gimple_predict_set_outcome): Likewise.
	(gimple_transaction_set_label): Likewise.
	(gimple_transaction_set_body): Likewise.
	(gimple_transaction_label_ptr): Likewise.
	(gimple_transaction_label): Likewise.
	(gimple_transaction_body_ptr): Likewise.
	(gimple_omp_continue_set_control_use): Likewise.
	(gimple_omp_continue_control_use_ptr): Likewise.
	(gimple_omp_continue_control_use): Likewise.
	(gimple_omp_continue_set_control_def): Likewise.
	(gimple_omp_continue_control_def_ptr): Likewise.
	(gimple_omp_continue_control_def): Likewise.
	(gimple_omp_atomic_load_rhs_ptr): Likewise.
	(gimple_omp_atomic_load_rhs): Likewise.
	(gimple_omp_atomic_load_set_rhs): Likewise.
	(gimple_omp_atomic_load_lhs_ptr): Likewise.
	(gimple_omp_atomic_load_lhs): Likewise.
	(gimple_omp_atomic_load_set_lhs): Likewise.
	(gimple_omp_atomic_store_val_ptr): Likewise.
	(gimple_omp_atomic_store_val): Likewise.
	(gimple_omp_atomic_store_set_val): Likewise.
	(gimple_omp_for_cond): Likewise.
	(gimple_omp_for_set_cond): Likewise.
	(gimple_omp_sections_set_control): Likewise.
	(gimple_omp_sections_control_ptr): Likewise.
	(gimple_omp_sections_control): Likewise.
	(gimple_omp_sections_set_clauses): Likewise.
	(gimple_omp_sections_clauses_ptr): Likewise.
	(gimple_omp_sections_clauses): Likewise.
	(gimple_omp_teams_set_clauses): Likewise.
	(gimple_omp_teams_clauses_ptr): Likewise.
	(gimple_omp_teams_clauses): Likewise.
	(gimple_omp_target_set_data_arg): Likewise.
	(gimple_omp_target_data_arg_ptr): Likewise.
	(gimple_omp_target_data_arg): Likewise.
	(gimple_omp_target_set_child_fn): Likewise.
	(gimple_omp_target_child_fn_ptr): Likewise.
	(gimple_omp_target_child_fn): Likewise.
	(gimple_omp_target_set_clauses): Likewise.
	(gimple_omp_target_clauses_ptr): Likewise.
	(gimple_omp_target_clauses): Likewise.
	(gimple_omp_single_set_clauses): Likewise.
	(gimple_omp_single_clauses_ptr): Likewise.
	(gimple_omp_single_clauses): Likewise.
	(gimple_omp_task_set_arg_align): Likewise.
	(gimple_omp_task_arg_align_ptr): Likewise.
	(gimple_omp_task_arg_align): Likewise.
	(gimple_omp_task_set_arg_size): Likewise.
	(gimple_omp_task_arg_size_ptr): Likewise.
	(gimple_omp_task_arg_size): Likewise.
	(gimple_omp_task_set_copy_fn): Likewise.
	(gimple_omp_task_copy_fn_ptr): Likewise.
	(gimple_omp_task_copy_fn): Likewise.
	(gimple_omp_task_set_data_arg): Likewise.
	(gimple_omp_task_data_arg_ptr): Likewise.
	(gimple_omp_task_data_arg): Likewise.
	(gimple_omp_task_set_child_fn): Likewise.
	(gimple_omp_task_child_fn_ptr): Likewise.
	(gimple_omp_task_child_fn): Likewise.
	(gimple_omp_task_set_clauses): Likewise.
	(gimple_omp_task_clauses_ptr): Likewise.
	(gimple_omp_task_clauses): Likewise.
	(gimple_omp_parallel_set_data_arg): Likewise.
	(gimple_omp_parallel_data_arg_ptr): Likewise.
	(gimple_omp_parallel_data_arg): Likewise.
	(gimple_omp_parallel_set_child_fn): Likewise.
	(gimple_omp_parallel_child_fn_ptr): Likewise.
	(gimple_omp_parallel_child_fn): Likewise.
	(gimple_omp_parallel_set_clauses): Likewise.
	(gimple_omp_parallel_clauses_ptr): Likewise.
	(gimple_omp_parallel_clauses): Likewise.
	(gimple_omp_for_set_pre_body): Likewise.
	(gimple_omp_for_pre_body_ptr): Likewise.
	(gimple_omp_for_set_incr): Likewise.
	(gimple_omp_for_incr_ptr): Likewise.
	(gimple_omp_for_incr): Likewise.
	(gimple_omp_for_set_final): Likewise.
	(gimple_omp_for_final_ptr): Likewise.
	(gimple_omp_for_final): Likewise.
	(gimple_omp_for_set_initial): Likewise.
	(gimple_omp_for_initial_ptr): Likewise.
	(gimple_omp_for_initial): Likewise.
	(gimple_omp_for_set_index): Likewise.
	(gimple_omp_for_index_ptr): Likewise.
	(gimple_omp_for_index): Likewise.
	(gimple_omp_for_collapse): Likewise.
	(gimple_omp_for_set_clauses): Likewise.
	(gimple_omp_for_clauses_ptr): Likewise.
	(gimple_omp_for_clauses): Likewise.
	(gimple_omp_critical_set_name): Likewise.
	(gimple_omp_critical_name_ptr): Likewise.
	(gimple_omp_critical_name): Likewise.
	(gimple_eh_dispatch_set_region): Likewise.
	(gimple_eh_dispatch_region): Likewise.
	(gimple_resx_set_region): Likewise.
	(gimple_resx_region): Likewise.
	(gimple_phi_set_arg): Likewise.
	(gimple_phi_arg): Likewise.
	(gimple_phi_set_result): Likewise.
	(gimple_phi_result_ptr): Likewise.
	(gimple_phi_result): Likewise.
	(gimple_phi_num_args): Likewise.
	(gimple_phi_capacity): Likewise.
	(gimple_wce_set_cleanup): Likewise.
	(gimple_wce_cleanup_ptr): Likewise.
	(gimple_try_set_cleanup): Likewise.
	(gimple_try_set_eval): Likewise.
	(gimple_try_cleanup_ptr): Likewise.
	(gimple_try_eval_ptr): Likewise.
	(gimple_eh_else_set_e_body): Likewise.
	(gimple_eh_else_set_n_body): Likewise.
	(gimple_eh_else_e_body_ptr): Likewise.
	(gimple_eh_else_n_body_ptr): Likewise.
	(gimple_eh_must_not_throw_set_fndecl): Likewise.
	(gimple_eh_must_not_throw_fndecl): Likewise.
	(gimple_eh_filter_set_failure): Likewise.
	(gimple_eh_filter_set_types): Likewise.
	(gimple_eh_filter_failure_ptr): Likewise.
	(gimple_eh_filter_types_ptr): Likewise.
	(gimple_eh_filter_types): Likewise.
	(gimple_catch_set_handler): Likewise.
	(gimple_catch_set_types): Likewise.
	(gimple_catch_handler_ptr): Likewise.
	(gimple_catch_types_ptr): Likewise.
	(gimple_catch_types): Likewise.
	(gimple_asm_string): Likewise.
	(gimple_asm_set_label_op): Likewise.
	(gimple_asm_label_op): Likewise.
	(gimple_asm_set_clobber_op): Likewise.
	(gimple_asm_clobber_op): Likewise.
	(gimple_asm_set_output_op): Likewise.
	(gimple_asm_output_op_ptr): Likewise.
	(gimple_asm_output_op): Likewise.
	(gimple_asm_set_input_op): Likewise.
	(gimple_asm_input_op_ptr): Likewise.
	(gimple_asm_input_op): Likewise.
	(gimple_asm_nlabels): Likewise.
	(gimple_asm_nclobbers): Likewise.
	(gimple_asm_noutputs): Likewise.
	(gimple_asm_ninputs): Likewise.
	(gimple_bind_set_block): Likewise.
	(gimple_bind_block): Likewise.
	(gimple_bind_add_seq): Likewise.
	(gimple_bind_add_stmt): Likewise.
	(gimple_bind_set_body): Likewise.
	(gimple_bind_body_ptr): Likewise.
	(gimple_bind_append_vars): Likewise.
	(gimple_bind_set_vars): Likewise.
	(gimple_bind_vars): Likewise.
	(gimple_call_clobber_set): Likewise.
	(gimple_call_use_set): Likewise.
	(gimple_call_set_internal_fn): Likewise.
	(gimple_call_set_fntype): Likewise.
	(gimple_call_fntype): Likewise.
	(gimple_omp_return_lhs_ptr): Likewise.
	(gimple_omp_return_lhs): Likewise.
	(gimple_omp_return_set_lhs): Likewise.
	(gimple_omp_taskreg_set_data_arg): Likewise.
	(gimple_omp_taskreg_data_arg_ptr): Likewise.
	(gimple_omp_taskreg_data_arg): Likewise.
	(gimple_omp_taskreg_set_child_fn): Likewise.
	(gimple_omp_taskreg_child_fn_ptr): Likewise.
	(gimple_omp_taskreg_child_fn): Likewise.
	(gimple_omp_taskreg_set_clauses): Likewise.
	(gimple_omp_taskreg_clauses_ptr): Likewise.
	(gimple_omp_taskreg_clauses): Likewise.
	(gimple_vuse): Likewise.
	(gimple_vdef): Likewise.
	(gimple_vuse_ptr): Likewise.
	(gimple_vdef_ptr): Likewise.
	* tree-inline.c (copy_debug_stmt): Likewise.
	* tree-phinodes.c (make_phi_node): Likewise.

	* gimple.h (is_a_helper <const gimple_statement_with_ops>::test): New.
	(is_a_helper <gimple_statement_with_ops>::test): New.
	(is_a_helper <const gimple_statement_with_memory_ops>::test): New.
	(is_a_helper <gimple_statement_with_memory_ops>::test): New.

	* gimple-streamer-in.c (input_gimple_stmt): Port from union
	access to use of as_a.
	* gimple.c (gimple_build_asm_1): Likewise.
	(gimple_build_try): Likewise.  Also, return a specific subclass
	rather than just gimple.
	(gimple_build_resx): Port from union access to use of as_a.
	(gimple_build_eh_dispatch): Likewise.
	(gimple_build_omp_for): Likewise.  Also, convert allocation of iter
	now that gengtype no longer provides a typed allocator function.
	(gimple_copy): Likewise.
	* gimple.h (gimple_build_try): Return a specific subclass rather
	than just gimple.
	* gimplify.c (gimplify_cleanup_point_expr): Replace union access
	with subclass access by making use of new return type of
	gimple_build_try.
	* tree-phinodes.c: (allocate_phi_node): Return a
	"gimple_statement_phi *" rather than just a gimple.
	(resize_phi_node): Likewise.
	(make_phi_node): Replace union access with subclass access by
	making use of new return type of allocate_phi_node.
	(reserve_phi_args_for_new_edge): Replace union access with as_a.
	(remove_phi_arg_num): Accept a "gimple_statement_phi *" rather
	than just a gimple.
	(remove_phi_args): Update for change to remove_phi_arg_num.

	* gdbhooks.py (GimplePrinter.to_string): Update lookup of
	code field to reflect inheritance, rather than embedding of
	the base gimple type.

2013-11-19  Richard Biener  <rguenther@suse.de>

	* cfgloop.h (struct loop_iterator): C++-ify, add constructor
	and destructor and make fel_next a member function.
	(fel_next): Transform into ...
	(loop_iterator::next): ... this.
	(fel_init): Transform into ...
	(loop_iterator::loop_iterator): ... this.
	(loop_iterator::~loop_iterator): New.
	(FOR_EACH_LOOP): Remove loop-iterator argument.
	(FOR_EACH_LOOP_BREAK): Remove no longer necessary macro.
	* cfgloop.c, cfgloopmanip.c, config/mn10300/mn10300.c,
	graphite-clast-to-gimple.c, graphite-scop-detection.c,
	graphite-sese-to-poly.c, ipa-inline-analysis.c, ipa-pure-const.c,
	loop-init.c, loop-invariant.c, loop-unroll.c, loop-unswitch.c,
	modulo-sched.c, predict.c, sel-sched-ir.c, tree-cfg.c, tree-data-ref.c,
	tree-if-conv.c, tree-loop-distribution.c, tree-parloops.c,
	tree-predcom.c, tree-scalar-evolution.c, tree-ssa-dce.c,
	tree-ssa-loop-ch.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
	tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
	tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c,
	tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vrp.c: Adjust
	uses of FOR_EACH_LOOP and remove loop_iterator variables.  Replace
	FOR_EACH_LOOP_BREAK with break.

2013-11-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59164
	* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
	Uncomment assert.
	* tree-vect-loop.c (vect_analyze_loop_operations): Adjust check
	whether we can create an epilogue loop to reflect thecases where
	we create one.

2013-11-19  Andrew MacLeod  <amacleod@redhat.com>

	* graphite-sese-to-poly.c: Include expr.h.

2013-11-19  Richard Biener  <rguenther@suse.de>

	PR middle-end/58956
	* tree-ssa-ter.c (find_replaceable_in_bb): Avoid forwarding
	loads into stmts that may clobber it.

2013-11-19  Bernd Schmidt  <bernds@codesourcery.com>

	* cgraphunit.c (symtab_terminator): New variable.
	(queued_nodes): Renamed from first.  Use symtab_terminator as
	initializer.
	(analyze_functions): Adjust accordingly.
	(cgraph_process_new_functions): Return void.
	* cgraph.h (cgraph_process_new_functions): Adjust declaration.

2013-11-19  Marek Polacek  <polacek@redhat.com>

	* opts.c (common_handle_option): Add -fsanitize=null option.
	Turn off -fdelete-null-pointer-checks option when doing the
	NULL pointer checking.
	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH): Add.
	* tree-pass.h (make_pass_ubsan): Declare.
	(make_pass_sanopt): Declare.
	* timevar.def (TV_TREE_UBSAN): New timevar.
	* passes.def: Add pass_sanopt and pass_ubsan.
	* ubsan.h (ubsan_null_ckind): New enum.
	(ubsan_mismatch_data): New struct.
	(ubsan_expand_null_ifn): Declare.
	(ubsan_create_data): Adjust declaration.
	(ubsan_type_descriptor): Likewise.
	* asan.c: Include "ubsan.h".
	(pass_data_sanopt): New pass.
	(execute_sanopt): New function.
	(gate_sanopt): Likewise.
	(make_pass_sanopt): Likewise.
	(class pass_sanopt): New class.
	* ubsan.c: Include tree-pass.h, gimple-ssa.h, gimple-walk.h,
	gimple-iterator.h and cfgloop.h.
	(PROB_VERY_UNLIKELY): Define.
	(tree_type_map_hash): New function.
	(ubsan_type_descriptor): Add new parameter.
	Improve type name generation.
	(ubsan_create_data): Add new parameter.  Add pointer data into
	ubsan structure.
	(ubsan_expand_null_ifn): New function.
	(instrument_member_call): Likewise.
	(instrument_mem_ref): Likewise.
	(instrument_null): Likewise.
	(ubsan_pass): Likewise.
	(gate_ubsan): Likewise.
	(make_pass_ubsan): Likewise.
	(ubsan_instrument_unreachable): Adjust ubsan_create_data call.
	(class pass_ubsan): New class.
	(pass_data_ubsan): New pass.
	* flag-types.h (enum sanitize_code): Add SANITIZE_NULL.
	* internal-fn.c (expand_UBSAN_NULL): New function.
	* cgraphunit.c (varpool_finalize_decl): Call varpool_assemble_decl
	even when !flag_toplevel_reorder.
	* internal-fn.def (UBSAN_NULL): New.

2013-11-19  Jan Hubicka  <jh@suse.cz>

	* cgraph.c (cgraph_create_indirect_edge): Use
	get_polymorphic_call_info.
	* cgraph.h (cgraph_indirect_call_info): Add outer_type,
	maybe_in_construction and maybe_derived_type.
	* ipa-utils.h (ipa_polymorphic_call_context): New structure.
	(ipa_dummy_polymorphic_call_context): New global var.
	(possible_polymorphic_call_targets): Add context paramter.
	(dump_possible_polymorphic_call_targets): Likewise; update wrappers.
	(possible_polymorphic_call_target_p): Likewise.
	(get_polymorphic_call_info): New function.
	* ipa-devirt.c (ipa_dummy_polymorphic_call_context): New function.
	(add_type_duplicate): Remove forgotten debug output.
	(method_class_type): Add sanity check.
	(maybe_record_node): Add FINALP parameter.
	(record_binfo): Add OUTER_TYPE and OFFSET; walk the inner
	by info by get_binfo_at_offset.
	(possible_polymorphic_call_targets_1): Add OUTER_TYPE/OFFSET
	parameters; pass them to record-binfo.
	(polymorphic_call_target_d): Add context and FINAL.
	(polymorphic_call_target_hasher::hash): Hash context.
	(polymorphic_call_target_hasher::equal): Compare context.
	(free_polymorphic_call_targets_hash):
	(get_class_context): New function.
	(contains_type_p): New function.
	(get_polymorphic_call_info): New function.
	(walk_bases): New function.
	(possible_polymorphic_call_targets): Add context parameter; honnor it.
	(dump_possible_polymorphic_call_targets): Dump context.
	(possible_polymorphic_call_target_p): Add context.
	(update_type_inheritance_graph): Update comment.s
	(ipa_set_jf_known_type): Assert that compoentn type is known.
	(ipa_note_param_call): Do not tamper with offsets.
	(ipa_analyze_indirect_call_uses): When offset is being changed; clear
	outer type.
	(update_indirect_edges_after_inlining): Likewise.
	(ipa_write_indirect_edge_info): Stream new fields.
	(ipa_read_indirect_edge_info): Stream in new fields.

2013-11-19  Jan Hubicka  <jh@suse.cz>

	* tree-pretty-print.c (dump_generic_node): Print class type of
	OBJ_TYPE_REF.

2013-11-19  Joey Ye  <joey.ye@arm.com>

	* config/arm/arm.opt (-marm-pic-data-is-text-relative): New option.
	* doc/invoke.texi (-marm-pic-data-is-text-relative): Documentation
	for new option.
	* config/arm/arm.c (arm_option_override): By default disable
	-marm-pic-data-is-text-relative.
	(legitimize_pic_address): Use arm_pic_data_is_text_relative.
	(arm_assemble_integer): Likewise.
	* config/arm/arm.h (TARGET_DEFAULT_PIC_DATA_IS_TEXT_RELATIVE):
	New macro to initialize -marm-pic-data-is-text-relative.

2013-11-19  Bin Cheng  <bin.cheng@arm.com>

	* tree-ssa-loop-ivopts.c (enum ainc_type): New.
	(address_cost_data): New field.
	(get_address_cost): Compute auto-increment rtx cost in ainc_costs.
	Use ainc_costs for auto-increment rtx patterns.  Cleanup TWS.

2013-11-19  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64.md: Remove v8type from all insns.

2013-11-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57517
	* tree-predcom.c (combinable_refs_p): Verify the combination
	is always executed when the refs are.

2013-11-19  Jeff Law  <law@redhat.com>

	* tree-ssa-threadupdate.c: Include ssa-iterators.h
	(copy_phi_arg_into_existing_phi): New function.
	(any_remaining_duplicated_blocks): Likewise.
	(ssa_fix_duplicate_block_edges): Handle multiple duplicated
	blocks on a jump threading path.

	* tree-ssa-threadupdate.c (thread_through_loop_header):  Do not
	thread through a joiner which has the latch edge.

2013-11-19  Jan Hubicka  <jh@suse.cz>

	* md.texi (setmem): Document new parameter.
	* optabs.c (maybe_gen_insn): Support 9 operands.
	* builtins.c (determine_block_size): Add probable_max_size;
	support anti-ranges.
	(expand_builtin_memcpy. expand_builtin_memset_args): Pass around
	probable_max_size.
	* expr.c (emit_block_move_via_movmem, emit_block_move_hints,
	emit_block_move, clear_storage_hints, set_storage_via_setmem):
	Likewise.
	* expr.h (emit_block_move_hints, clear_storage_hints,
	set_storage_via_setmem): Update prototype.
	* i386.md (setmem, movmem patterns): Add 9th operand.
	* i386-protos.h (ix86_expand_set_or_movmem): Update prototype.
	* i386.c (ix86_expand_set_or_movmem): Take probable_max_size_exp
	argument; pass it to decide_alg.

2013-11-19  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (n_basic_blocks_for_function): Rename macro to...
	(n_basic_blocks_for_fn): ...this.

	(n_basic_blocks): Eliminate macro as work towards making uses of
	cfun be explicit.

	* cfgloop.c (init_loops_structure): Update for renaming of
	"n_basic_blocks_for_function" to "n_basic_blocks_for_fn".
	* graph.c (draw_cfg_nodes_no_loops): Likewise.
	* ipa-utils.c (ipa_merge_profiles): Likewise.
	* lto-streamer-in.c (make_new_block): Likewise.
	* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
	(dump_function_to_file): Likewise.

	* alias.c (init_alias_analysis): Replace usage of "n_basic_blocks"
	macro with "n_basic_blocks_for_fn (cfun)".
	* bb-reorder.c (partition_hot_cold_basic_blocks): Likewise.
	(duplicate_computed_gotos): Likewise.
	(reorder_basic_blocks): Likewise.
	* bt-load.c (augment_live_range): Likewise.
	* cfg.c (expunge_block): Likewise.
	(compact_blocks): Likewise.
	* cfganal.c (single_pred_before_succ_order): Likewise.
	(compute_idf): Likewise.
	(flow_dfs_compute_reverse_init): Likewise.
	(pre_and_rev_post_order_compute): Likewise.
	(pre_and_rev_post_order_compute_fn): Likewise.
	(inverted_post_order_compute): Likewise.
	(post_order_compute): Likewise.
	(print_edge_list): Likewise.
	(find_unreachable_blocks): Likewise.
	(mark_dfs_back_edges): Likewise.
	* cfgcleanup.c (try_optimize_cfg): Likewise.
	(try_forward_edges): Likewise.
	* cfghooks.c (dump_flow_info): Likewise.
	* cfgloop.c (verify_loop_structure): Likewise.
	(get_loop_body): Likewise.
	(flow_loops_find): Likewise.
	* cfgloopmanip.c (add_loop): Likewise.
	(remove_path): Likewise.
	(find_path): Likewise.
	* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
	(rtl_verify_bb_layout): Likewise.
	(entry_of_function): Likewise.
	(rtl_create_basic_block): Likewise.
	* coverage.c (coverage_compute_cfg_checksum): Likewise.
	* cprop.c (one_cprop_pass): Likewise.
	(is_too_expensive): Likewise.
	* df-core.c (df_compute_cfg_image): Likewise.
	(df_compact_blocks): Likewise.
	(df_worklist_dataflow_doublequeue): Likewise.
	* dominance.c (calculate_dominance_info): Likewise.
	(calc_dfs_tree): Likewise.
	(calc_dfs_tree_nonrec): Likewise.
	(init_dom_info): Likewise.
	* domwalk.c (cmp_bb_postorder): Likewise.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.
	(generate_setjmp_warnings): Likewise.
	* fwprop.c (build_single_def_use_links): Likewise.
	* gcse.c (is_too_expensive): Likewise.
	(one_code_hoisting_pass): Likewise.
	(one_pre_gcse_pass): Likewise.
	* graphite.c (graphite_initialize): Likewise.
	* haifa-sched.c (haifa_sched_init): Likewise.
	* ipa-inline-analysis.c (estimate_function_body_sizes): Likewise.
	* ira.c (split_live_ranges_for_shrink_wrap): Likewise.
	* ira-build.c (ira_build): Likewise.
	* lcm.c (compute_nearerout): Likewise.
	(compute_available): Likewise.
	(compute_laterin): Likewise.
	(compute_antinout_edge): Likewise.
	* lra-lives.c (lra_create_live_ranges): Likewise.
	* lra.c (has_nonexceptional_receiver): Likewise.
	* mcf.c (create_fixup_graph): Likewise.
	* profile.c (branch_prob): Likewise.
	* reg-stack.c (convert_regs_2): Likewise.
	* regrename.c (regrename_analyze): Likewise.
	* reload1.c (has_nonexceptional_receiver): Likewise.
	* reorg.c (dbr_schedule): Likewise.
	* sched-deps.c (sched_deps_init): Likewise.
	* sched-ebb.c (schedule_ebbs): Likewise.
	* sched-rgn.c (extend_regions): Likewise.
	(schedule_insns): Likewise.
	(sched_rgn_init): Likewise.
	(extend_rgns): Likewise.
	(haifa_find_rgns): Likewise.
	* sel-sched-ir.c (recompute_rev_top_order): Likewise.
	(sel_recompute_toporder): Likewise.
	* sel-sched.c (run_selective_scheduling): Likewise.
	* store-motion.c (one_store_motion_pass): Likewise.
	(remove_reachable_equiv_notes): Likewise.
	* tracer.c (tracer): Likewise.
	(tail_duplicate): Likewise.
	* tree-cfg.c (gimple_flow_call_edges_add): Likewise.
	(dump_cfg_stats): Likewise.
	(gimple_dump_cfg): Likewise.
	(create_bb): Likewise.
	(build_gimple_cfg): Likewise.
	* tree-cfgcleanup.c (merge_phi_nodes): Likewise.
	* tree-inline.c (optimize_inline_calls): Likewise.
	(fold_marked_statements): Likewise.
	* tree-ssa-ifcombine.c (tree_ssa_ifcombine): Likewise.
	* tree-ssa-loop-ch.c (copy_loop_headers): Likewise.
	* tree-ssa-loop-im.c (analyze_memory_references): Likewise.
	* tree-ssa-loop-manip.c (compute_live_loop_exits): Likewise.
	* tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
	* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
	* tree-ssa-pre.c (do_pre): Likewise.
	(init_pre): Likewise.
	(compute_avail): Likewise.
	* tree-ssa-reassoc.c (init_reassoc): Likewise.
	* tree-ssa-sccvn.c (init_scc_vn): Likewise.
	* tree-ssa-tail-merge.c (alloc_cluster_vectors): Likewise.
	(init_worklist): Likewise.
	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
	* var-tracking.c (variable_tracking_main_1): Likewise.
	(vt_find_locations): Likewise.
	(vt_stack_adjustments): Likewise.
	* config/s390/s390.c (s390_optimize_nonescaping_tx): Likewise.
	* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.

2013-11-18  Jan Hubicka  <jh@suse.cz>

	* profile.c (compute_branch_probabilities): Do not sanity check
	run_max.

2013-11-18  Kenneth Zadeck  <zadeck@naturalbridge.com>

	* tree.c (int_fits_type_p): Change GET_MODE_BITSIZE to
	GET_MODE_PRECISION.
	* fold-const.c (fold_single_bit_test_into_sign_test)
	(fold_binary_loc): Change GET_MODE_BITSIZE to GET_MODE_PRECISION.

2013-11-18  Teresa Johnson  <tejohnson@google.com>

	* cfgrtl.c (cfg_layout_initialize): Assert if we try to go into
	cfglayout after bb reordering.
	* passes.def: Move compgotos before bb reordering since it goes into
	cfglayout.

2013-11-18  Bernd Schmidt  <bernds@codesourcery.com>

	* cgraphunit.c (ipa_passes): Don't execute all_lto_gen_passes.
	* lto-streamer-out.c (lto_output, produce_asm_for_decls): No longer
	static.
	(pass_data_ipa_lto_gimple_out, pass_ipa_lto_gimple_out,
	make_pass_ipa_lto_gimple_out, pass_data_ipa_lto_finish_out,
	pass_ipa_lto_finish_out, make_pass_ipa_lto_finish_out): Remove.
	* lto-streamer.h (lto_output, produce_asm_for_decls): Declare.
	* pass-manager.h (GCC_PASS_LISTS, class pass_manager):
	Remove all_lto_gen_passes.
	* passes.c (pass_manager::dump_passes): Remove its use.
	(pass_manager::register_pass): Likewise.
	(ipa_read_summaries, ipa_read_optimization_summaries): Likewise.
	(pass_manager::pass_manager): Don't initialize or use it.
	(write_lto): New static function.
	(ipa_write_summaries_1, ipa_write_optimization_summaries): Use it
	instead of using all_lto_gen_passes.
	* passes.def (all_lto_gen_passes, pass_ipa_lto_gimple_out,
	pass_ipa_lto_finish_out): Delete.
	* tree-pass.h (make_pass_ipa_lto_gimple_out,
	make_pass_ipa_lto_finish_out): Don't declare.

2013-11-18  Jeff Law  <law@redhat.com>

	* tree-ssa-threadupdate.c (redirection_data): Record two
	duplicated blocks instead of just one.
	(local_info): Explain why we don't create a template for the
	second duplicated block in a thread path.
	(create_block_for_threading): Accept argument indicating array
	index into redirection_data to store its result.
	(lookup_redirection_data): Initialize both duplicate blocks.
	(ssa_create_duplicates): If a jump threading path needs multiple
	blocks duplicated, then duplicate them.
	(ssa_fix_duplicate_block_edges): Corresponding changes.
	(ssa_fixup_template_block, thread_single_edge):  Likewise.

2013-11-18  Marek Polacek  <polacek@redhat.com>

	* doc/invoke.texi: Extend -fsanitize=undefined documentation.

2013-11-18  Andrew Pinski <apinski@cavium.com>
	    Steve Ellcey  <sellcey@mips.com>

	PR target/56552
	* config/mips/mips.md (*mov<GPR:mode>_on_<MOVECC:mode>): Remove
	type restriction from equality_operator on conditonal move.
	(*mov<SCALARF:mode>_on_<MOVECC:mode>): Ditto.
	(*mov<GPR:mode>_on_<GPR2:mode>_ne): New.

2013-11-18  Jeff Law  <law@redhat.com>

	* tree-ssa-threadupdate.c: Fix file block comment.
	Fix minor indention issue.

2013-11-18  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
	ix86_address_subreg_operand.  Move subreg checks to
	ix86_validate_address_register.  Move address override check to
	ix86_legitimate_address_p.
	(ix86_validate_address_register): New function.
	(ix86_legitimate_address_p): Call ix86_validate_address_register
	to validate base and index registers.  Add address override check
	from ix86_decompose_address.
	(ix86_decompose_address): Remove.

2013-11-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59125
	PR tree-optimization/54570
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): When inlining
	is not complete do not treat component-references with offset zero
	but different fields as equal.
	* tree-object-size.c: Include tree-phinodes.h and ssa-iterators.h.
	(compute_object_sizes): Apply TLC.  Propagate the constant
	results into all uses and fold their stmts.
	* passes.def (pass_all_optimizations): Move pass_object_sizes
	after the first pass_forwprop and before pass_fre.

2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>

	* tree.h (tree_to_uhwi): Return an unsigned HOST_WIDE_INT.
	* tree.c (tree_to_uhwi): Return an unsigned HOST_WIDE_INT.
	(tree_ctz): Remove cast to unsigned type.
	* builtins.c (fold_builtin_memory_op): Likewise.
	* dwarf2out.c (descr_info_loc): Likewise.
	* godump.c (go_output_typedef): Likewise.
	* omp-low.c (expand_omp_simd): Likewise.
	* stor-layout.c (excess_unit_span): Likewise.
	* tree-object-size.c (addr_object_size): Likewise.
	* tree-sra.c (analyze_all_variable_accesses): Likewise.
	* tree-ssa-forwprop.c (simplify_builtin_call): Likewise.
	(simplify_rotate): Likewise.
	* tree-ssa-strlen.c (adjust_last_stmt, handle_builtin_memcpy)
	(handle_pointer_plus): Likewise.
	* tree-switch-conversion.c (check_range): Likewise.
	* tree-vect-patterns.c (vect_recog_rotate_pattern): Likewise.
	* tsan.c (instrument_builtin_call): Likewise.
	* cfgexpand.c (defer_stack_allocation): Add cast to HOST_WIDE_INT.
	* trans-mem.c (tm_log_add): Likewise.
	* config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Likewise.
	* config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): Likewise.
	* config/mips/mips.c (r10k_safe_mem_expr_p): Make offset unsigned.

2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>

	* tree.h (host_integerp, tree_low_cst): Delete.
	* tree.c (host_integerp, tree_low_cst): Delete.

2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>

	* expr.h: Update comments to refer to tree_to_[su]hwi rather
	than tree_low_cst.
	* fold-const.c (fold_binary_loc): Likewise.
	* expr.c (store_constructor): Use tree_to_uhwi rather than
	tree_low_cst.
	* ipa-utils.h (possible_polymorphic_call_target_p): Likewise.
	* stmt.c (emit_case_dispatch_table): Likewise.
	* tree-switch-conversion.c (emit_case_bit_tests): Likewise.

2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>

	* alias.c, asan.c, builtins.c, cfgexpand.c, cgraph.c,
	config/aarch64/aarch64.c, config/alpha/predicates.md,
	config/arm/arm.c, config/darwin.c, config/epiphany/epiphany.c,
	config/i386/i386.c, config/iq2000/iq2000.c, config/m32c/m32c-pragma.c,
	config/mep/mep-pragma.c, config/mips/mips.c,
	config/picochip/picochip.c, config/rs6000/rs6000.c, cppbuiltin.c,
	dbxout.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, fold-const.c,
	function.c, gimple-fold.c, godump.c, ipa-cp.c, ipa-prop.c, omp-low.c,
	predict.c, sdbout.c, stor-layout.c, trans-mem.c, tree-object-size.c,
	tree-sra.c, tree-ssa-ccp.c, tree-ssa-forwprop.c,
	tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-niter.c,
	tree-ssa-loop-prefetch.c, tree-ssa-strlen.c, tree-stdarg.c,
	tree-switch-conversion.c, tree-vect-generic.c, tree-vect-loop.c,
	tree-vect-patterns.c, tree-vrp.c, tree.c, tsan.c, ubsan.c, varasm.c:
	Replace tree_low_cst (..., 1) with tree_to_uhwi throughout.

2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>

	* builtins.c, cilk-common.c, config/aarch64/aarch64.c,
	config/alpha/alpha.c, config/arm/arm.c, config/c6x/predicates.md,
	config/i386/i386.c, config/ia64/predicates.md, config/s390/s390.c,
	coverage.c, dbxout.c, dwarf2out.c, except.c, explow.c, expr.c, expr.h,
	fold-const.c, gimple-fold.c, godump.c, ipa-prop.c, omp-low.c,
	predict.c, rtlanal.c, sdbout.c, stmt.c, stor-layout.c, targhooks.c,
	tree-cfg.c, tree-data-ref.c, tree-inline.c, tree-ssa-forwprop.c,
	tree-ssa-loop-prefetch.c, tree-ssa-phiopt.c, tree-ssa-sccvn.c,
	tree-ssa-strlen.c, tree-stdarg.c, tree-vect-data-refs.c,
	tree-vect-patterns.c, tree.c, tree.h, var-tracking.c, varasm.c:
	Replace tree_low_cst (..., 0) with tree_to_shwi throughout.

2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>

	* tree.h (tree_to_shwi, tree_to_uhwi): Declare, with inline expansions.
	* tree.c (tree_to_shwi, tree_to_uhwi): New functions.

2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>

	* expr.h: Update comments to refer to tree_fits_[su]hwi_p rather
	than host_integerp.

2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>

	* builtins.c, config/alpha/alpha.c, config/iq2000/iq2000.c,
	config/mips/mips.c, dbxout.c, dwarf2out.c, expr.c, fold-const.c,
	gimple-fold.c, godump.c, omp-low.c, predict.c, sdbout.c, stor-layout.c,
	tree-dfa.c, tree-sra.c, tree-ssa-forwprop.c, tree-ssa-loop-prefetch.c,
	tree-ssa-phiopt.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
	tree-ssa-structalias.c, tree-vect-data-refs.c, tree-vect-patterns.c,
	tree.c, varasm.c, alias.c, cfgexpand.c, config/aarch64/aarch64.c,
	config/arm/arm.c, config/epiphany/epiphany.c, config/i386/i386.c,
	config/m32c/m32c-pragma.c, config/mep/mep-pragma.c,
	config/rs6000/rs6000.c, config/sparc/sparc.c, emit-rtl.c, function.c,
	gimplify.c, ipa-prop.c, stmt.c, trans-mem.c, tree-cfg.c,
	tree-object-size.c, tree-ssa-ccp.c, tree-ssa-loop-ivcanon.c,
	tree-stdarg.c, tree-switch-conversion.c, tree-vect-generic.c,
	tree-vrp.c, tsan.c, ubsan.c: Replace host_integerp (..., 1) with
	tree_fits_uhwi_p throughout.

2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>

	* builtins.c, config/alpha/alpha.c, config/c6x/predicates.md,
	config/ia64/predicates.md, config/iq2000/iq2000.c, config/mips/mips.c,
	config/s390/s390.c, dbxout.c, dwarf2out.c, except.c, explow.c, expr.c,
	expr.h, fold-const.c, gimple-fold.c, gimple-ssa-strength-reduction.c,
	gimple.c, godump.c, graphite-scop-detection.c, graphite-sese-to-poly.c,
	omp-low.c, predict.c, rtlanal.c, sdbout.c, simplify-rtx.c,
	stor-layout.c, tree-data-ref.c, tree-dfa.c, tree-pretty-print.c,
	tree-sra.c, tree-ssa-alias.c, tree-ssa-forwprop.c,
	tree-ssa-loop-ivopts.c, tree-ssa-loop-prefetch.c, tree-ssa-math-opts.c,
	tree-ssa-phiopt.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
	tree-ssa-strlen.c, tree-ssa-structalias.c, tree-vect-data-refs.c,
	tree-vect-patterns.c, tree-vectorizer.h, tree.c, var-tracking.c,
	varasm.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
	throughout.

2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>

	* tree.h (tree_fits_shwi_p, tree_fits_uhwi_p): Declare.
	* tree.c (tree_fits_shwi_p, tree_fits_uhwi_p): Define.

2013-11-18  Kirill Yukhin  <kirill.yukhin@intel.com>

	* config/ia64/ia64.c (ia64_split_tmode_move): Mark load with `dead'
	flag if it kills its address, not its post-increment.

2013-11-18  Ilya Enkovich  <ilya.enkovich@intel.com>

	* builtin-types.def (BT_FN_PTR_CONST_PTR_VAR): New.
	* chkp-builtins.def (BUILT_IN_CHKP_BIND_BOUNDS): New.
	* cfgexpand.c (expand_call_stmt): Expand BUILT_IN_CHKP_BIND_BOUNDS.
	* gimple.c (gimple_call_get_nobnd_arg_index): Remove.
	* gimple.h (gf_mask): Add GF_CALL_WITH_BOUNDS.
	(gimple_call_with_bounds_p): New.
	(gimple_call_set_with_bounds): New.
	(gimple_call_num_nobnd_args): Remove.
	(gimple_call_nobnd_arg): Remove.
	* tree.h (CALL_WITH_BOUNDS_P): New.
	* rtl.h (CALL_EXPR_WITH_BOUNDS_P): New.

2013-11-18  Trevor Saunders  <tsaunders@mozilla.com>

	* cgraph.h (symtab_node_asm_name): Rename to symtab_node::asm_name.
	(symtab_node_name): Rename to symtab_node::name.
	(cgraph_node_asm_name): Remove.
	(varpool_node_asm_name): Remove.
	* cgraph.c cgraphclones.c cgraphunit.c ipa-cp.c ipa-devirt.c
	ipa-inline-analysis.c ipa-inline-transform.c ipa-inline.c
	ipa-profile.c ipa-prop.c ipa-pure-const.c ipa-ref.c ipa-reference.c
	ipa-utils.c ipa.c symtab.c tree-inline.c tree-sra.c
	tree-ssa-structalias.c value-prof.c varpool.c Adjust.

2013-11-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/aarch-cost-tables.h (cortexa53_extra_costs): New table.
	* config/arm/arm.c (arm_cortex_a53_tune): New.
	* config/arm/arm-cores.def (cortex-a53): Use cortex_a53 tuning struct.

2013-11-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>

	* config.gcc (i[34567]86-*-linux* | ...): Add bdver4.
	(case ${target}): Add bdver4.
	* config/i386/bdver3.md: Add bdver4.
	* config/i386/driver-i386.c: (host_detect_local_cpu): Let
	-march=native recognize bdver4 processors.
	* config/i386/i386-c.c (ix86_target_macros_internal): Add
	bdver4 def_and_undef
	* config/i386/i386.c (struct processor_costs bdver4_cost): New.
	(m_BDVER4): New definition.
	(m_AMD_MULTIPLE): Includes m_BDVER4.
	(processor_target_table): Add bdver4 entry.
	(static const char *const cpu_names): Add bdver4 entry.
	(software_prefetching_beneficial_p): Add bdver3.
	(ix86_option_override_internal): Add bdver4 instruction sets.
	(ix86_issue_rate): Add bdver4.
	(ix86_adjust_cost): Add bdver4.
	(ia32_multipass_dfa_lookahead): Add bdver4.
	(enum processor_model): Add M_AMDFAM15H_BDVER4.
	(struct _arch_names_table): Add M_AMDFAM15H_BDVER4.
	(has_dispatch): Add bdver4.
	* config/i386/i386.h (TARGET_BDVER4): New definition.
	(enum target_cpu_default): Add TARGET_CPU_DEFAULT_bdver4.
	(enum processor_type): Add PROCESSOR_BDVER4.
	* config/i386/i386.md (define_attr "cpu"): Add bdver4.
	* config/i386/i386.opt (flag_dispatch_scheduler): Add bdver4.
	* doc/extend.texi: Add details about bdver4.
	* doc/invoke.texi: Add details about bdver4. Add
	fma4 and fsgsbase for bdver3. Add fma4 for bdver2.

2013-11-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_emit_move): Use low word of
	sdmode_stack_slot also in little-endian mode.

2013-11-17  Jan Hubicka  <jh@suse.cz>

	* doc/md.texi (setmem, movstr): Update documentation.
	* builtins.c (determine_block_size): New function.
	(expand_builtin_memcpy): Use it and pass it to emit_block_move_hints.
	(expand_builtin_memset_args): Use it and pass it to
	set_storage_via_setmem.
	* expr.c (emit_block_move_via_movmem): Add min_size/max_size
	parameters; update call to expander.
	(emit_block_move_hints): Add min_size/max_size parameters.
	(clear_storage_hints): Likewise.
	(set_storage_via_setmem): Likewise.
	(clear_storage): Update.
	* expr.h (emit_block_move_hints, clear_storage_hints,
	set_storage_via_setmem): Update prototypes.
	* i386.c (ix86_expand_set_or_movmem): Add bounds; export.
	(ix86_expand_movmem, ix86_expand_setmem): Remove.
	(ix86_expand_movmem, ix86_expand_setmem): Remove.
	* i386.md (movmem, setmem): Pass parameters.

2013-11-17  Uros Bizjak  <ubizjak@gmail.com>

	PR target/59153
	* config/i386/i386.c (ix86_address_subreg_operand): Do not
	reject non-integer subregs.
	(ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
	Move check for invalid x32 constant addresses ...
	(ix86_legitimate_address_p): ... here.

2011-11-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_frame_related): Add split_reg
	parameter and use it in REG_FRAME_RELATED_EXPR note.
	(emit_frame_save): Call rs6000_frame_related with extra NULL_RTX
	parameter.
	(rs6000_emit_prologue): Likewise, but for little endian VSX
	stores, pass the source register of the store instead.

2013-11-17  Andrew MacLeod  <amacleod@redhat.com>

	* gimple.h: Reorder prototypes to match .c declaration order, and
	remove protyotypes for functions not in gimple.c.
	(LABEL): Move to tree-into-ssa.c.
	* gimple.c: Remove unused prototypes.
	(get_base_address): Move to tree.c.
	* tree.c (get_base_address): Relocate from gimple.c.
	* builtins.h (validate_gimple_arglist): Add prototype.
	* trans-mem.h (compute_transaction_bits, is_tm_ending): Add prototype.
	* cfgexpand.h: New File.
	(gimple_assign_rhs_to_tree, estimated_stack_frame_size): Add protoype.
	* tree.h (build_addr): Move to tree-nested.h.
	* tree-nested.h: New File.
	(build_addr, lower_nested_functions, insert_field_into_struct): Add
	prototypes.
	* tree-inline.h (estimated_stack_frame_size): Remove prototype.
	* ipa-inline-analysis.c: Include cfgexpand.h.
	* cgraphunit.c: Include tree-nested.h.
	* omp-low.c: Likewise.
	* tree-parloops.c: Likewise.
	* gimple-low.h: Likewise.
	* tree-profile.h: Likewise.
	* expr.c: Include cfgexpand.h.
	* tree-affine.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-ssa-loop-im.c: Include trans-mem.h.
	* tree-ssa-tail-merge.c: Likewise.
	* value-prof.c: Include builtins.h and tree-nested.h.
	* tree-into-ssa.c (LABEL): Define here.

2013-11-16  Joern Rennecke  <joern.rennecke@embecosm.com>

	* config/arc/arc.c (arc_predicate_delay_insns): New function.
	(pass_data_arc_predicate_delay_insns): New pass_data instance.
	(pass_arc_predicate_delay_insns): New subclass of rtl_opt_class.
	(make_pass_arc_predicate_delay_insns): New function.
	(arc_init): Register pass_arc_predicate_delay_insns if
	flag_delayed_branch is active.

2013-11-16  Joern Rennecke  <joern.rennecke@embecosm.com>

	* config/arc/constraints.md (Rcq): Simplify register number test.

2013-11-15  Aldy Hernandez  <aldyh@redhat.com>

	* gimple.h (enum gf_mask): Change the ordering of GF_OMP_* bits.

2013-11-15  Kaz Kojima  <kkojima@gcc.gnu.org>

	* config/sh/sh.c (barrier_align): Return 0 when barrier_or_label
	is null.

2013-11-15  Aldy Hernandez  <aldyh@redhat.com>

	* Makefile.in (C_COMMON_OBJS): Depend on c-cilkplus.o.
	* gimple-pretty-print.c (dump_omp_for): Add case for
	GF_OMP_FOR_KIND_CILKSIMD.
	* gimple.h (enum gf_mask): Restructure entries to add
	GF_OMP_FOR_KIND_CILKSIMD.
	* gimplify.c (is_gimple_stmt): Add case for CILK_SIMD.
	(gimplify_omp_for): Handle CILK_SIMD.
	(gimplify_expr): Add ccase for CILK_SIMD.
	* omp-low.c (extract_omp_for_data): Handle CILK_SIMD.
	(build_outer_var_ref): Same.
	(check_omp_nesting_restrictions): Same.
	(lower_rec_input_clauses): Same.
	(lower_lastprivate_clauses): Same.
	(expand_omp_for): Same.
	(execute_expand_omp): Check flag_enable_cilkplus.
	(execute_lower_omp): Same.
	(diagnose_sb_0): Handle CILK_SIMD.
	(diagnose_omp_structured_block_errors): Check flag_enable_cilkplus.
	(setjmp_or_longjmp_p): New.
	(scan_omp_1_stmt): Error on setjmp/longjmp in a simd construct.
	* tree-pretty-print.c (dump_generic_node): Add case for CILK_SIMD.
	* tree.def: Add tree code for CILK_SIMD.

2013-11-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (UNSPEC_VPERM_X, UNSPEC_VPERM_UNS_X):
	Remove.
	(altivec_vperm_<mode>): Revert earlier little endian change.
	(*altivec_vperm_<mode>_internal): Remove.
	(altivec_vperm_<mode>_uns): Revert earlier little endian change.
	(*altivec_vperm_<mode>_uns_internal): Remove.
	* config/rs6000/vector.md (vec_realign_load_<mode>): Revise commentary.

2013-11-15  Jeff Law  <law@redhat.com>

	* basic-block.h (has_abnormal_or_eh_outgoing_edge): Renamed from
	has_abnormal_or_outgoing_edge.  Check for EH edges as well.
	* gimple-ssa-isolate-paths.c
	(find_implicit_erroneous_behaviour): Corresponding changes.
	Do not check stmt_ends_bb_p or GIMPLE_RETURN anymore.
	(find_explicit_erroneous_behaviour): Likewise.

2013-11-15  Jeff Law  <law@redhat.com>

	* ifcvt.c (find_cond_trap): Properly handle case where
	trap_bb == else_bb.

2013-11-15  Andreas Schwab  <schwab@linux-m68k.org>

	* configure: Regenerate.

2013-11-15  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-simd.md: Remove simd_type from all patterns.
	* config/aarch64/aarch64.md: Likewise, correct "type" attribute
	where it is incorrect or missing.

2013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>

	* dwarf2out.c (gen_enumeration_type_die): Remove unnecessary
	host_integerp test.
	* tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
	Use TREE_INT_CST_LOW rather than tree_low_cst when reading the
	constant.
	* fold-const.c (fold_binary_loc): Replace a host_integerp/tree_low_cst
	pair with a TREE_CODE test and TREE_INT_CST_LOW.
	* tree-vect-generic.c (expand_vector_divmod): Likewise.

2013-11-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/50262
	* tree-ssa-alias.h (struct pt_solution): Split
	vars_contains_global into vars_contains_nonlocal,
	vars_contains_escaped and vars_contains_escaped_heap.
	* tree-ssa-structalias.c (label_visit): Expand comment.
	(handle_lhs_call): Adjust comment.
	(set_uids_in_ptset): Set the new flags appropriately.
	(pt_solution_set): Adjust.
	(pt_solution_set_var): Likewise.
	(pt_solution_ior_into): Likewise.
	(pt_solution_includes_global): Likewise.
	(pt_solutions_intersect_1): Optimize escaped handling.
	(compute_points_to_sets): Remove heap variable globalization.
	(ipa_escaped_pt): Adjust initializer.
	(pass_data_ipa_pta): Do not run TODO_update_ssa.
	* gimple-pretty-print.c (pp_points_to_solution): Print split flags.
	* tree-ssa-alias.c (dump_points_to_solution): Likewise.

2013-11-15  Richard Biener  <rguenther@suse.de>

	* tree-loop-distribution.c (tree_loop_distribution): Make sure
	to distribute all stores.

2013-11-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* doc/invoke.texi (-mabi=elfv1, -mabi=elfv2): Document.

2013-11-15  Joseph Myers  <joseph@codesourcery.com>

	* acinclude.m4 (GCC_GLIBC_VERSION_GTE_IFELSE): New configure macro.
	* configure.ac: Determine target_header_dir earlier.
	(--with-glibc-version): New configure option.
	Use GCC_GLIBC_VERSION_GTE_IFELSE in enable_gnu_unique_object,
	gcc_cv_libc_provides_ssp and gcc_cv_target_ldbl128 tests.
	* configure: Regenerate.
	* doc/install.texi (--enable-gnu-unique-object): Don't refer to
	native toolchains for default.
	(--with-glibc-version): Document.

2013-11-15  Eric Botcazou  <ebotcazou@adacore.com>

	* fold-const.c (fold_binary_loc) <comparisons>: Reuse local variable.

2013-11-15  Uros Bizjak  <ubizjak@gmail.com>

	* lto-streamer-in.c (input function): Call cgraph_create_node if
	cgraph_get_node failed.

2013-11-14  Olivier Hainque  <hainque@adacore.com>

	* cfgexpand.c (defer_stack_allocation): When optimization is enabled,
	defer allocation of DECL_IGNORED_P variables at toplevel unless really
	small.  Factorize size threshold computation from the existing one.
	(expand_used_vars): Refine comment.

2013-11-14  Cong Hou  <congh@google.com>

	* tree-vectorizer.h (struct dr_with_seg_len): Remove the base
	address field as it can be obtained from dr.  Rename the struct.
	* tree-vect-data-refs.c (comp_dr_with_seg_len_pair): Consider
	steps of data references during sort.
	(vect_prune_runtime_alias_test_list): Adjust with the change to
	struct dr_with_seg_len.
	* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
	Adjust with the change to struct dr_with_seg_len.

2013-11-14  Jeff Law  <law@redhat.com>

	PR middle-end/59127
	* basic-block.h (has_abnormal_outgoing_edge_p): Moved here from...
	* tree-inline.c (has_abnormal_outgoing_edge_p): Remove.
	* gimple-ssa-isolate-paths.c: Include tree-cfg.h.
	(find_implicit_erroneous_behaviour): If a block has abnormal outgoing
	edges, then ignore it.  If the statement exhibiting erroneous
	behaviour ends basic blocks, with the exception of GIMPLE_RETURNs,
	then we can not optimize.
	(find_explicit_erroneous_behaviour): Likewise.

2013-11-14  Andrew MacLeod  <amacleod@redhat.com>

	* gimplify-me.h:  New file.  Add prototypes.
	* gimplify.h: Don't include gimple.h.
	(struct gimplify_hasher, struct gimplify_ctx, is_gimple_sizepos):
	Relocate from gimple.h.
	* gimple.h (struct gimplify_hasher, struct gimplify_ctx,
	is_gimple_sizepos): Move to gimplify.h.
	(gimplify_hasher::hash, gimplify_hasher::equal): Move to gimplify.c.
	(enum gsi_iterator_update): Move to gimple-iterator.h.
	* gimple-iterator.h (enum gsi_iterator_update): Relocate from gimple.h.
	* gimplify-me.c: New File.
	(force_gimple_operand_1, force_gimple_operand,
	force_gimple_operand_gsi_1, force_gimple_operand_gsi,
	gimple_regimplify_operands): Relocate from gimplify.c.
	* gimplify.c (force_gimple_operand_1, force_gimple_operand,
	force_gimple_operand_gsi_1, force_gimple_operand_gsi,
	gimple_regimplify_operands): Move to gimplify-me.c.
	(gimplify_hasher::hash, gimplify_hasher::equal): Relocate
	from gimple.h.
	* Makefile.in (OBJS): Add gimplify-me.o
	* asan.c: Include only gimplify.h, gimplify-me.h, and/or gimple.h as
	required.
	* cfgloopmanip.c: Likewise.
	* cgraphunit.c: Likewise.
	* cilk-common.c: Likewise.
	* fold-const.c: Likewise.
	* function.c: Likewise.
	* gimple-expr.c: Likewise.
	* gimple-fold.c: Likewise.
	* gimple-ssa-strength-reduction.c: Likewise.
	* gimple.c: Likewise.
	* graphite-clast-to-gimple.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* ipa-prop.c: Likewise.
	* ipa-split.c: Likewise.
	* ipa.c: Likewise.
	* langhooks.c: Likewise.
	* omp-low.c: Likewise.
	* sese.c: Likewise.
	* stor-layout.c: Likewise.
	* targhooks.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-affine.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-complex.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-nested.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-profile.c: Likewise.
	* tree-scalar-evolution.c: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa-address.c: Likewise.
	* tree-ssa-ccp.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-ifcombine.c: Likewise.
	* tree-ssa-loop-im.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-ssa-loop-manip.c: Likewise.
	* tree-ssa-loop-niter.c: Likewise.
	* tree-ssa-loop-prefetch.c: Likewise.
	* tree-ssa-loop-unswitch.c: Likewise.
	* tree-ssa-math-opts.c: Likewise.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-phiprop.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-propagate.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sccvn.c: Likewise.
	* tree-ssa-strlen.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-generic.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-patterns.c: Likewise.
	* tree-vect-stmts.c: Likewise.
	* tree.c: Likewise.
	* tsan.c: Likewise.
	* value-prof.c: Likewise.
	* config/aarch64/aarch64.c: Likewise.
	* config/alpha/alpha.c: Likewise.
	* config/darwin.c: Likewise.
	* config/i386/i386.c: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/mep/mep.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/sh/sh.c: Likewise.
	* config/sparc/sparc.c: Likewise.
	* config/spu/spu.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/tilegx/tilegx.c: Likewise.
	* config/tilepro/tilepro.c: Likewise.
	* config/xtensa/xtensa.c: Likewise.

2013-11-14  Diego Novillo  <dnovillo@google.com>

	* Makefile.in (PLUGIN_HEADERS): Add stringpool.h.

2013-11-14  Diego Novillo  <dnovillo@google.com>

	* tree.h: Include fold-const.h.
	(aggregate_value_p): Moved to function.h.
	(alloca_call_p): Moved to calls.h.
	(allocate_struct_function): Moved to function.h.
	(apply_tm_attr): Moved to attribs.h.
	(array_at_struct_end_p): Moved to expr.h.
	(array_ref_element_size): Moved to tree-dfa.h.
	(array_ref_low_bound): Moved to tree-dfa.h.
	(array_ref_up_bound): Moved to tree.h.
	(assemble_alias): Moved to cgraph.h.
	(bit_from_pos): Moved to stor-layout.h.
	(build_addr): Moved to tree-nested.h.
	(build_duplicate_type): Moved to tree-inline.h.
	(build_fold_addr_expr): Moved to fold-const.h.
	(build_fold_addr_expr_with_type): Moved to fold-const.h.
	(build_fold_addr_expr_with_type_loc): Moved to fold-const.h.
	(build_fold_indirect_ref): Moved to fold-const.h.
	(build_fold_indirect_ref_loc): Moved to fold-const.h.
	(build_personality_function): Moved to tree.h.
	(build_range_check): Moved to fold-const.h.
	(build_simple_mem_ref): Moved to fold-const.h.
	(build_simple_mem_ref_loc): Moved to fold-const.h.
	(build_tm_abort_call): Moved to trans-mem.h.
	(byte_from_pos): Moved to stor-layout.h.
	(call_expr_flags): Moved to calls.h.
	(can_move_by_pieces): Moved to expr.h.
	(categorize_ctor_elements): Moved to expr.h.
	(change_decl_assembler_name): Moved to gcc-symtab.h.
	(combine_comparisons): Moved to fold-const.h.
	(complete_ctor_at_level_p): Moved to tree.h.
	(component_ref_field_offset): Moved to tree-dfa.h.
	(compute_builtin_object_size): Moved to tree-object-size.h.
	(compute_record_mode): Moved to stor-layout.h.
	(constant_boolean_node): Moved to fold-const.h.
	(constructor_static_from_elts_p): Moved to varasm.h.
	(cxx11_attribute_p): Moved to attribs.h.
	(debug_body): Moved to print-tree.h.
	(debug_find_tree): Moved to tree-inline.h.
	(debug_fold_checksum): Moved to fold-const.h.
	(debug_head): Moved to print-tree.h.
	(debug_head): Moved to print-tree.h.
	(debug_raw): Moved to print-tree.h.
	(debug_tree): Moved to print-tree.h.
	(debug_vec_tree): Moved to print-tree.h.
	(debug_verbose): Moved to print-tree.h.
	(debug_verbose): Moved to print-tree.h.
	(decl_attributes): Moved to attribs.h.
	(decl_binds_to_current_def_p): Moved to varasm.h.
	(decl_default_tls_model): Moved to varasm.h.
	(decl_replaceable_p): Moved to varasm.h.
	(div_if_zero_remainder): Moved to fold-const.h.
	(double_int mem_ref_offset): Moved to fold-const.h.
	(dump_addr): Moved to print-tree.h.
	(element_precision): Moved to machmode.h.
	(expand_dummy_function_end): Moved to function.h.
	(expand_function_end): Moved to function.h.
	(expand_function_start): Moved to function.h.
	(expand_label): Moved to stmt.h.
	(expr_first): Moved to tree-iterator.h.
	(expr_last): Moved to tree-iterator.h.
	(finalize_size_functions): Moved to stor-layout.h.
	(finish_builtin_struct): Moved to stor-layout.h.
	(finish_record_layout): Moved to stor-layout.h.
	(fixup_signed_type): Moved to stor-layout.h.
	(fixup_unsigned_type): Moved to stor-layout.h.
	(flags_from_decl_or_type): Moved to calls.h.
	(fold): Moved to fold-const.h.
	(fold_abs_const): Moved to fold-const.h.
	(fold_binary): Moved to fold-const.h.
	(fold_binary_loc): Moved to fold-const.h.
	(fold_binary_to_constant): Moved to fold-const.h.
	(fold_build1): Moved to fold-const.h.
	(fold_build1_initializer_loc): Moved to fold-const.h.
	(fold_build1_loc): Moved to fold-const.h.
	(fold_build1_stat_loc): Moved to fold-const.h.
	(fold_build2): Moved to fold-const.h.
	(fold_build2_initializer_loc): Moved to fold-const.h.
	(fold_build2_loc): Moved to fold-const.h.
	(fold_build2_stat_loc): Moved to fold-const.h.
	(fold_build3): Moved to fold-const.h.
	(fold_build3_loc): Moved to fold-const.h.
	(fold_build3_stat_loc): Moved to fold-const.h.
	(fold_build_call_array): Moved to fold-const.h.
	(fold_build_call_array_initializer): Moved to fold-const.h.
	(fold_build_call_array_initializer_loc): Moved to fold-const.h.
	(fold_build_call_array_loc): Moved to fold-const.h.
	(fold_build_cleanup_point_expr): Moved to fold-const.h.
	(fold_convert): Moved to fold-const.h.
	(fold_convert_loc): Moved to fold-const.h.
	(fold_convertible_p): Moved to fold-const.h.
	(fold_defer_overflow_warnings): Moved to fold-const.h.
	(fold_deferring_overflow_warnings_p): Moved to fold-const.h.
	(fold_fma): Moved to fold-const.h.
	(fold_ignored_result): Moved to fold-const.h.
	(fold_indirect_ref): Moved to fold-const.h.
	(fold_indirect_ref_1): Moved to fold-const.h.
	(fold_indirect_ref_loc): Moved to fold-const.h.
	(fold_read_from_constant_string): Moved to fold-const.h.
	(fold_real_zero_addition_p): Moved to fold-const.h.
	(fold_single_bit_test): Moved to fold-const.h.
	(fold_strip_sign_ops): Moved to fold-const.h.
	(fold_ternary): Moved to fold-const.h.
	(fold_ternary_loc): Moved to fold-const.h.
	(fold_unary): Moved to tree-data-ref.h.
	(fold_unary_ignore_overflow): Moved to fold-const.h.
	(fold_unary_ignore_overflow_loc): Moved to fold-const.h.
	(fold_unary_loc): Moved to fold-const.h.
	(fold_unary_to_constant): Moved to fold-const.h.
	(fold_undefer_and_ignore_overflow_warnings): Moved to fold-const.h.
	(fold_undefer_overflow_warnings): Moved to fold-const.h.
	(folding_initializer): Moved to fold-const.h.
	(free_temp_slots): Moved to function.h.
	(generate_setjmp_warnings): Moved to function.h.
	(get_attribute_name): Moved to attribs.h.
	(get_identifier): Moved to stringpool.h.
	(get_identifier_with_length): Moved to stringpool.h.
	(get_inner_reference): Moved to tree.h.
	(gimple_alloca_call_p): Moved to calls.h.
	(gimplify_parameters): Moved to function.h.
	(highest_pow2_factor): Moved to expr.h.
	(indent_to): Moved to print-tree.h.
	(init_attributes): Moved to attribs.h.
	(init_dummy_function_start): Moved to function.h.
	(init_function_start): Moved to function.h.
	(init_inline_once): Moved to tree-inline.h.
	(init_object_sizes): Moved to tree-object-size.h.
	(init_temp_slots): Moved to function.h.
	(init_tree_optimization_optabs): Moved to optabs.h.
	(initialize_sizetypes): Moved to stor-layout.h.
	(initializer_constant_valid_for_bitfield_p): Moved to varasm.h.
	(initializer_constant_valid_p): Moved to varasm.h.
	(int_const_binop): Moved to fold-const.h.
	(internal_reference_types): Moved to stor-layout.h.
	(invert_tree_comparison): Moved to fold-const.h.
	(invert_truthvalue): Moved to fold-const.h.
	(invert_truthvalue_loc): Moved to fold-const.h.
	(is_tm_ending_fndecl): Moved to trans-mem.h.
	(is_tm_may_cancel_outer): Moved to trans-mem.h.
	(is_tm_pure): Moved to trans-mem.h.
	(is_tm_safe): Moved to trans-mem.h.
	(layout_decl): Moved to stor-layout.h.
	(layout_type): Moved to stor-layout.h.
	(lookup_attribute_spec): Moved to attribs.h.
	(make_accum_type): Moved to stor-layout.h.
	(make_decl_one_only): Moved to varasm.h.
	(make_decl_rtl): Moved to tree.h.
	(make_decl_rtl_for_debug): Moved to varasm.h.
	(make_fract_type): Moved to stor-layout.h.
	(make_or_reuse_sat_signed_accum_type): Moved to stor-layout.h.
	(make_or_reuse_sat_signed_fract_type): Moved to stor-layout.h.
	(make_or_reuse_sat_unsigned_accum_type): Moved to stor-layout.h.
	(make_or_reuse_sat_unsigned_fract_type): Moved to stor-layout.h.
	(make_or_reuse_signed_accum_type): Moved to stor-layout.h.
	(make_or_reuse_signed_fract_type): Moved to stor-layout.h.
	(make_or_reuse_unsigned_accum_type): Moved to stor-layout.h.
	(make_or_reuse_unsigned_fract_type): Moved to stor-layout.h.
	(make_range): Moved to fold-const.h.
	(make_range_step): Moved to fold-const.h.
	(make_sat_signed_accum_type): Moved to stor-layout.h.
	(make_sat_signed_fract_type): Moved to stor-layout.h.
	(make_sat_unsigned_accum_type): Moved to stor-layout.h.
	(make_sat_unsigned_fract_type): Moved to stor-layout.h.
	(make_signed_accum_type): Moved to stor-layout.h.
	(make_signed_fract_type): Moved to stor-layout.h.
	(make_signed_type): Moved to stor-layout.h.
	(make_unsigned_accum_type): Moved to stor-layout.h.
	(make_unsigned_fract_type): Moved to stor-layout.h.
	(make_unsigned_type): Moved to stor-layout.h.
	(mark_decl_referenced): Moved to varasm.h.
	(mark_referenced): Moved to varasm.h.
	(may_negate_without_overflow_p): Moved to fold-const.h.
	(maybe_get_identifier): Moved to stringpool.h.
	(merge_ranges): Moved to fold-const.h.
	(merge_weak): Moved to varasm.h.
	(mode_for_size_tree): Moved to stor-layout.h.
	(multiple_of_p): Moved to fold-const.h.
	(must_pass_in_stack_var_size): Moved to calls.h.
	(must_pass_in_stack_var_size_or_pad): Moved to calls.h.
	(native_encode_expr): Moved to fold-const.h.
	(native_interpret_expr): Moved to fold-const.h.
	(non_lvalue): Moved to fold-const.h.
	(non_lvalue_loc): Moved to fold-const.h.
	(normalize_offset): Moved to stor-layout.h.
	(normalize_rli): Moved to stor-layout.h.
	(notice_global_symbol): Moved to varasm.h.
	(omit_one_operand): Moved to fold-const.h.
	(omit_one_operand_loc): Moved to fold-const.h.
	(omit_two_operands): Moved to fold-const.h.
	(omit_two_operands_loc): Moved to fold-const.h.
	(operand_equal_p): Moved to tree-data-ref.h.
	(parse_input_constraint): Moved to stmt.h.
	(parse_output_constraint): Moved to stmt.h.
	(place_field): Moved to stor-layout.h.
	(pop_function_context): Moved to function.h.
	(pop_temp_slots): Moved to function.h.
	(pos_from_bit): Moved to stor-layout.h.
	(preserve_temp_slots): Moved to function.h.
	(print_node): Moved to print-tree.h.
	(print_node_brief): Moved to print-tree.h.
	(print_rtl): Moved to rtl.h.
	(process_pending_assemble_externals): Moved to varasm.h.
	(ptr_difference_const): Moved to fold-const.h.
	(push_function_context): Moved to function.h.
	(push_struct_function): Moved to function.h.
	(push_temp_slots): Moved to function.h.
	(record_tm_replacement): Moved to trans-mem.h.
	(relayout_decl): Moved to stor-layout.h.
	(resolve_asm_operand_names): Moved to stmt.h.
	(resolve_unique_section): Moved to varasm.h.
	(rli_size_so_far): Moved to stor-layout.h.
	(rli_size_unit_so_far): Moved to stor-layout.h.
	(round_down): Moved to fold-const.h.
	(round_down_loc): Moved to fold-const.h.
	(round_up): Moved to fold-const.h.
	(round_up_loc): Moved to fold-const.h.
	(set_decl_incoming_rtl): Moved to emit-rtl.h.
	(set_decl_rtl): Moved to tree.h.
	(set_min_and_max_values_for_integral_type): Moved to stor-layout.h.
	(set_user_assembler_name): Moved to varasm.h.
	(setjmp_call_p): Moved to calls.h.
	(size_binop): Moved to fold-const.h.
	(size_binop_loc): Moved to fold-const.h.
	(size_diffop): Moved to fold-const.h.
	(size_diffop_loc): Moved to fold-const.h.
	(size_int_kind): Moved to fold-const.h.
	(stack_protect_epilogue): Moved to function.h.
	(start_record_layout): Moved to stor-layout.h.
	(supports_one_only): Moved to varasm.h.
	(swap_tree_comparison): Moved to fold-const.h.
	(tm_malloc_replacement): Moved to trans-mem.h.
	(tree build_fold_addr_expr_loc): Moved to fold-const.h.
	(tree build_invariant_address): Moved to fold-const.h.
	(tree_binary_nonnegative_warnv_p): Moved to fold-const.h.
	(tree_binary_nonzero_warnv_p): Moved to fold-const.h.
	(tree_call_nonnegative_warnv_p): Moved to fold-const.h.
	(tree_expr_nonnegative_p): Moved to fold-const.h.
	(tree_expr_nonnegative_warnv_p): Moved to fold-const.h.
	(tree_output_constant_def): Moved to varasm.h.
	(tree_overlaps_hard_reg_set): Moved to stmt.h.
	(tree_single_nonnegative_warnv_p): Moved to fold-const.h.
	(tree_single_nonzero_warnv_p): Moved to fold-const.h.
	(tree_swap_operands_p): Moved to fold-const.h.
	(tree_unary_nonnegative_warnv_p): Moved to fold-const.h.
	(tree_unary_nonzero_warnv_p): Moved to fold-const.h.
	(update_alignment_for_field): Moved to stor-layout.h.
	(use_register_for_decl): Moved to function.h.
	(variable_size): Moved to rtl.h.
	(vector_type_mode): Moved to stor-layout.h.
	* cgraph.h: Corresponding changes.
	* emit-rtl.h: Corresponding changes.
	* expr.h: Corresponding changes.
	* function.h: Corresponding changes.
	* optabs.h: Corresponding changes.
	* trans-mem.h: Corresponding changes.
	Protect against multiple inclusion.
	* tree-inline.h: Corresponding changes.
	* tree-iterator.h: Corresponding changes.
	* tree-dfa.h: Include expr.h.
	* tree-ssanames.h: Include stringpool.h.
	* attribs.h: New file.
	* calls.h: New file.
	* fold-const.h: New file.
	* gcc-symtab.h: New file.
	* print-rtl.h: New file.
	* print-tree.h: New file.
	* stmt.h: New file.
	* stor-layout.h: New file.
	* strinpool.h: New file.
	* tree-nested.h: New file
	* tree-object-size.h: New file.
	* varasm.h: New file.

2013-11-14  Diego Novillo  <dnovillo@google.com>

	* alias.c: Include varasm.h.
	Include expr.h.
	* asan.c: Include calls.h.
	Include stor-layout.h.
	Include varasm.h.
	* attribs.c: Include stringpool.h.
	Include attribs.h.
	Include stor-layout.h.
	* builtins.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	Include tree-object-size.h.
	* calls.c: Include stor-layout.h.
	Include varasm.h.
	Include stringpool.h.
	Include attribs.h.
	* cfgexpand.c: Include stringpool.h.
	Include varasm.h.
	Include stor-layout.h.
	Include stmt.h.
	Include print-tree.h.
	* cgraph.c: Include varasm.h.
	Include calls.h.
	Include print-tree.h.
	* cgraphclones.c: Include stringpool.h.
	Include function.h.
	Include emit-rtl.h.
	Move inclusion of rtl.h earlier in the file.
	* cgraphunit.c: Include varasm.h.
	Include stor-layout.h.
	Include stringpool.h.
	* cilk-common.c: Include stringpool.h.
	Include stor-layout.h.
	* combine.c: Include stor-layout.h.
	* config/aarch64/aarch64-builtins.c: Include stor-layout.h.
	Include stringpool.h.
	Include calls.h.
	* config/aarch64/aarch64.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/alpha/alpha.c: Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/arc/arc.c: Include varasm.h.
	Include stor-layout.h.
	Include stringpool.h.
	Include calls.h.
	* config/arm/arm.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/avr/avr-c.c: Include stor-layout.h.
	* config/avr/avr-log.c: Include print-tree.h.
	* config/avr/avr.c: Include print-tree.h.
	Include calls.h.
	Include stor-layout.h.
	Include stringpool.h.
	* config/bfin/bfin.c: Include varasm.h.
	Include calls.h.
	* config/c6x/c6x.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	Include stringpool.h.
	* config/cr16/cr16.c: Include stor-layout.h.
	Include calls.h.
	* config/cris/cris.c: Include varasm.h.
	Include stor-layout.h.
	Include calls.h.
	Include stmt.h.
	* config/darwin.c: Include stringpool.h.
	Include varasm.h.
	Include stor-layout.h.
	* config/epiphany/epiphany.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	Include stringpool.h.
	* config/fr30/fr30.c: Include stor-layout.h.
	Include varasm.h.
	* config/frv/frv.c: Include varasm.h.
	Include stor-layout.h.
	Include stringpool.h.
	* config/h8300/h8300.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	Include stringpool.h.
	* config/i386/i386.c: Include stringpool.h.
	Include attribs.h.
	Include calls.h.
	Include stor-layout.h.
	Include varasm.h.
	* config/i386/winnt-cxx.c: Include stringpool.h.
	Include attribs.h.
	* config/i386/winnt.c: Include stringpool.h.
	Include varasm.h.
	* config/ia64/ia64-c.c: Include stringpool.h.
	* config/ia64/ia64.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/iq2000/iq2000.c: Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/lm32/lm32.c: Include calls.h.
	* config/m32c/m32c.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/m32r/m32r.c: Include stor-layout.h.
	Include varasm.h.
	Include stringpool.h.
	Include calls.h.
	* config/m68k/m68k.c: Include calls.h.
	Include stor-layout.h.
	Include varasm.h.
	* config/mcore/mcore.c: Include stor-layout.h.
	Include varasm.h.
	Include stringpool.h.
	Include calls.h.
	* config/mep/mep.c: Include varasm.h.
	Include calls.h.
	Include stringpool.h.
	Include stor-layout.h.
	* config/microblaze/microblaze.c: Include varasm.h.
	Include stor-layout.h.
	Include calls.h.
	* config/mips/mips.c: Include varasm.h.
	Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	* config/mmix/mmix.c: Include varasm.h.
	Include stor-layout.h.
	Include calls.h.
	* config/mn10300/mn10300.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/moxie/moxie.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/msp430/msp430.c: Include stor-layout.h.
	Include calls.h.
	* config/nds32/nds32.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/pa/pa.c: Include stor-layout.h.
	Include stringpool.h.
	Include varasm.h.
	Include calls.h.
	* config/pdp11/pdp11.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/picochip/picochip.c: Include calls.h.
	Include stor-layout.h.
	Include stringpool.h.
	Include varasm.h.
	* config/rl78/rl78.c: Include varasm.h.
	Include stor-layout.h.
	Include calls.h.
	* config/rs6000/rs6000-c.c: Include stor-layout.h.
	Include stringpool.h.
	* config/rs6000/rs6000.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include print-tree.h.
	Include varasm.h.
	* config/rx/rx.c: Include varasm.h.
	Include stor-layout.h.
	Include calls.h.
	* config/s390/s390.c: Include print-tree.h.
	Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/score/score.c: Include stringpool.h.
	Include calls.h.
	Include varasm.h.
	Include stor-layout.h.
	* config/sh/sh-c.c: Include stringpool.h.
	Include attribs.h.h.
	* config/sh/sh.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/sol2-c.c: Include stringpool.h.
	Include attribs.h.
	* config/sol2-cxx.c: Include stringpool.h.
	* config/sol2.c: Include stringpool.h.
	Include varasm.h.
	* config/sparc/sparc.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/spu/spu-c.c: Include stringpool.h.
	* config/spu/spu.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/stormy16/stormy16.c: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/tilegx/tilegx.c: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/tilepro/tilepro.c: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/v850/v850-c.c: Include stringpool.h.
	Include attribs.h.
	* config/v850/v850.c: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/vax/vax.c: Include calls.h.
	Include varasm.h.
	* config/vms/vms.c: Include stringpool.h.
	* config/vxworks.c: Include stringpool.h.
	* config/xtensa/xtensa.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* convert.c: Include stor-layout.h.
	* coverage.c: Include stringpool.h.
	Include stor-layout.h.
	* dbxout.c: Include varasm.h.
	Include stor-layout.h.
	* dojump.c: Include stor-layout.h.
	* dse.c: Include stor-layout.h.
	* dwarf2asm.c: Include stringpool.h.
	Include varasm.h.
	* dwarf2cfi.c: Include stor-layout.h.
	* dwarf2out.c: Include rtl.h.
	Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include function.h.
	Include emit-rtl.h.
	Move inclusion of rtl.h earlier in the file.
	* emit-rtl.c: Include varasm.h.
	* except.c: Include stringpool.h.
	Include stor-layout.h.
	* explow.c: Include stor-layout.h.
	* expmed.c: Include stor-layout.h.
	* expr.c: Include stringpool.h.
	Include stor-layout.h.
	Include attribs.h.
	Include varasm.h.
	* final.c: Include varasm.h.
	* fold-const.c: Include stor-layout.h.
	Include calls.h.
	Include tree-iterator.h.
	* function.c: Include stor-layout.h.
	Include varasm.h.
	Include stringpool.h.
	* genattrtab.c (write_header): Emit includes for varasm.h,
	stor-layout.h and calls.h.
	* genautomata.c (main): Likewise.
	* genemit.c: Likewise.
	* genopinit.c: Likewise.
	* genoutput.c (output_prologue): Likewise.
	* genpeep.c: Likewise.
	* genpreds.c (write_insn_preds_c): Likewise.
	* gengtype.c (open_base_files): Add stringpool.h.
	* gimple-expr.c: Include stringpool.h.
	Include stor-layout.h.
	* gimple-fold.c: Include stringpool.h.
	Include expr.h.
	Include stmt.h.
	Include stor-layout.h.
	* gimple-low.c: Include tree-nested.h.
	Include calls.h.
	* gimple-pretty-print.c: Include stringpool.h.
	* gimple-ssa-strength-reduction.c: Include stor-layout.h.
	Include expr.h.
	* gimple-walk.c: Include stmt.h.
	* gimple.c: Include calls.h.
	Include stmt.h.
	Include stor-layout.h.
	* gimplify.c: Include stringpool.h.
	Include calls.h.
	Include varasm.h.
	Include stor-layout.h.
	Include stmt.h.
	Include print-tree.h.
	Include expr.h.
	* gimplify-me.c: Include stmt.h
	Include stor-layout.h
	* internal-fn.c: Include stor-layout.h.
	* ipa-devirt.c: Include print-tree.h.
	Include calls.h.
	* ipa-inline-analysis.c: Include stor-layout.h.
	Include stringpool.h.
	Include print-tree.h.
	* ipa-inline.c: Include trans-mem.h.
	Include calls.h.
	* ipa-prop.c: Include expr.h.
	Include stor-layout.h.
	Include print-tree.h.
	* ipa-pure-const.c: Include print-tree.h.
	Include calls.h.
	* ipa-reference.c: Include calls.h.
	* ipa-split.c: Include stringpool.h.
	Include expr.h.
	Include calls.h.
	* ipa.c: Include calls.h.
	Include stringpool.h.
	* langhooks.c: Include stringpool.h.
	Include attribs.h.
	* lto-cgraph.c: Include stringpool.h.
	* lto-streamer-in.c: Include stringpool.h.
	* lto-streamer-out.c: Include stor-layout.h.
	Include stringpool.h.
	* omp-low.c: Include stringpool.h.
	Include stor-layout.h.
	Include expr.h.
	* optabs.c: Include stor-layout.h.
	Include stringpool.h.
	Include varasm.h.
	* passes.c: Include varasm.h.
	* predict.c: Include calls.h.
	* print-rtl.c: Include print-tree.h.
	* print-tree.c: Include varasm.h.
	Include print-rtl.h.
	Include stor-layout.h.
	* realmpfr.c: Include stor-layout.h.
	* reg-stack.c: Include varasm.h.
	* sdbout.c: Include varasm.h.
	Include stor-layout.h.
	* simplify-rtx.c: Include varasm.h.
	* stmt.c: Include varasm.h.
	Include stor-layout.h.
	* stor-layout.c: Include stor-layout.h.
	Include stringpool.h.
	Include varasm.h.
	Include print-tree.h.
	* symtab.c: Include rtl.h.
	Include print-tree.h.
	Include varasm.h.
	Include function.h.
	Include emit-rtl.h.
	* targhooks.c: Include stor-layout.h.
	Include varasm.h.
	* toplev.c: Include varasm.h.
	Include tree-inline.h.
	* trans-mem.c: Include calls.h.
	Include function.h.
	Include rtl.h.
	Include emit-rtl.h.
	* tree-affine.c: Include expr.h.
	* tree-browser.c: Include print-tree.h.
	* tree-call-cdce.c: Include stor-layout.h.
	* tree-cfg.c: Include trans-mem.h.
	Include stor-layout.h.
	Include print-tree.h.
	* tree-complex.c: Include stor-layout.h.
	* tree-data-ref.c: Include expr.h.
	* tree-dfa.c: Include stor-layout.h.
	* tree-eh.c: Include expr.h.
	Include calls.h.
	* tree-emutls.c: Include stor-layout.h.
	Include varasm.h.
	* tree-if-conv.c: Include stor-layout.h.
	* tree-inline.c: Include stor-layout.h.
	Include calls.h.
	* tree-loop-distribution.c: Include stor-layout.h.
	* tree-nested.c: Include stringpool.h.
	Include stor-layout.h.
	* tree-object-size.c: Include tree-object-size.h.
	* tree-outof-ssa.c: Include stor-layout.h.
	* tree-parloops.c: Include stor-layout.h.
	Include tree-nested.h.
	* tree-pretty-print.c: Include stor-layout.h.
	Include expr.h.
	* tree-profile.c: Include varasm.h.
	Include tree-nested.h.
	* tree-scalar-evolution.c: Include expr.h.
	* tree-sra.c: Include stor-layout.h.
	* tree-ssa-address.c: Include stor-layout.h.
	* tree-ssa-ccp.c: Include stor-layout.h.
	* tree-ssa-dce.c: Include calls.h.
	* tree-ssa-dom.c: Include stor-layout.h.
	* tree-ssa-forwprop.c: Include stor-layout.h.
	* tree-ssa-ifcombine.c: Include stor-layout.h.
	* tree-ssa-loop-ivopts.c: Include stor-layout.h.
	* tree-ssa-loop-niter.c: Include calls.h.
	Include expr.h.
	* tree-ssa-loop-prefetch.c: Include stor-layout.h.
	* tree-ssa-math-opts.c: Include stor-layout.h.
	* tree-ssa-operands.c: Include stmt.h.
	Include print-tree.h.
	* tree-ssa-phiopt.c: Include stor-layout.h.
	* tree-ssa-reassoc.c: Include stor-layout.h.
	* tree-ssa-sccvn.c: Include stor-layout.h.
	* tree-ssa-sink.c: Include stor-layout.h.
	* tree-ssa-strlen.c: Include stor-layout.h.
	* tree-ssa-structalias.c: Include stor-layout.h.
	Include stmt.h.
	* tree-ssa-tail-merge.c: Include stor-layout.h.
	Include trans-mem.h.
	* tree-ssa-uncprop.c: Include stor-layout.h.
	* tree-ssa.c: Include stor-layout.h.
	* tree-ssanames.c: Include stor-layout.h.
	* tree-streamer-in.c: Include stringpool.h.
	* tree-streamer-out.c: Include stor-layout.h.
	* tree-switch-conversion.c: Include varasm.h.
	Include stor-layout.h.
	* tree-tailcall.c: Include stor-layout.h.
	* tree-vect-data-refs.c: Include stor-layout.h.
	* tree-vect-generic.c: Include stor-layout.h.
	* tree-vect-loop.c: Include stor-layout.h.
	* tree-vect-patterns.c: Include stor-layout.h.
	* tree-vect-slp.c: Include stor-layout.h.
	* tree-vect-stmts.c: Include stor-layout.h.
	* tree-vectorizer.c: Include stor-layout.h.
	* tree-vrp.c: Include stor-layout.h.
	Include calls.h.
	* tree.c: Include stor-layout.h.
	Include calls.h.
	Include attribs.h.
	Include varasm.h.
	* tsan.c: Include expr.h.
	* ubsan.c: Include stor-layout.h.
	Include stringpool.h.
	* value-prof.c: Include tree-nested.h.
	Include calls.h.
	* var-tracking.c: Include varasm.h.
	Include stor-layout.h.
	* varasm.c: Include stor-layout.h.
	Include stringpool.h.
	Include gcc-symtab.h.
	Include varasm.h.
	* varpool.c: Include varasm.h.
	* vmsdbgout.c: Include varasm.h.
	* xcoffout.c: Include varasm.h.

2013-11-14  Joern Rennecke  <joern.rennecke@embecosm.com>

	* config/arc/arc.md (doloop_begin_i): Remove extra alignment;
	use (.&-4) idiom.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/sysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
	(RS6000_SAVE_TOC): Remove.
	(RS6000_TOC_SAVE_SLOT): New macro.
	* config/rs6000/rs6000.c (rs6000_parm_offset): New function.
	(rs6000_parm_start): Use it.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_emit_prologue): Use RS6000_TOC_SAVE_SLOT.
	(rs6000_emit_epilogue): Likewise.
	(rs6000_call_aix): Likewise.
	(rs6000_output_function_prologue): Do not save/restore r11
	around calling _mcount for ABI_ELFv2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/rs6000-protos.h (rs6000_reg_parm_stack_space):
	Add prototype.
	* config/rs6000/rs6000.h (RS6000_REG_SAVE): Remove.
	(REG_PARM_STACK_SPACE): Call rs6000_reg_parm_stack_space.
	* config/rs6000/rs6000.c (rs6000_parm_needs_stack): New function.
	(rs6000_function_parms_need_stack): Likewise.
	(rs6000_reg_parm_stack_space): Likewise.
	(rs6000_function_arg): Do not replace BLKmode by Pmode when
	returning a register argument.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Michael Gschwind  <mkg@us.ibm.com>

	* config/rs6000/rs6000.h (FP_ARG_MAX_RETURN): New macro.
	(ALTIVEC_ARG_MAX_RETURN): Likewise.
	(FUNCTION_VALUE_REGNO_P): Use them.
	* config/rs6000/rs6000.c (TARGET_RETURN_IN_MSB): Define.
	(rs6000_return_in_msb): New function.
	(rs6000_return_in_memory): Handle ELFv2 homogeneous aggregates.
	Handle aggregates of up to 16 bytes for ELFv2.
	(rs6000_function_value): Handle ELFv2 homogeneous aggregates.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Michael Gschwind  <mkg@us.ibm.com>

	* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
	(rs6000_discover_homogeneous_aggregate): Likewise.
	(rs6000_function_arg_boundary): Handle homogeneous aggregates.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_arg_partial_bytes): Likewise.
	(rs6000_psave_function_arg): Handle BLKmode arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Michael Gschwind  <mkg@us.ibm.com>

	* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
	(rs6000_discover_homogeneous_aggregate): Likewise.
	(rs6000_function_arg_boundary): Handle homogeneous aggregates.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_arg_partial_bytes): Likewise.
	(rs6000_psave_function_arg): Handle BLKmode arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (machine_function): New member
	r2_setup_needed.
	(rs6000_emit_prologue): Set r2_setup_needed if necessary.
	(rs6000_output_mi_thunk): Set r2_setup_needed.
	(rs6000_output_function_prologue): Output global entry point
	prologue and local entry point marker if needed for ABI_ELFv2.
	Output -mprofile-kernel code here.
	(output_function_profiler): Do not output -mprofile-kernel
	code here; moved to rs6000_output_function_prologue.
	(rs6000_file_start): Output ".abiversion 2" for ABI_ELFv2.

	(rs6000_emit_move): Do not handle dot symbols for ABI_ELFv2.
	(rs6000_output_function_entry): Likewise.
	(rs6000_assemble_integer): Likewise.
	(rs6000_elf_encode_section_info): Likewise.
	(rs6000_elf_declare_function_name): Do not create dot symbols
	or .opd section for ABI_ELFv2.

	(rs6000_trampoline_size): Update for ABI_ELFv2 trampolines.
	(rs6000_trampoline_init): Likewise.
	(rs6000_elf_file_end): Call file_end_indicate_exec_stack for ABI_ELFv2.

	(rs6000_call_aix): Handle ELFv2 indirect calls.  Do not check
	for function descriptors in ABI_ELFv2.

	* config/rs6000/rs6000.md ("*call_indirect_aix<mode>"): Support
	on ABI_AIX only, not ABI_ELFv2.
	("*call_value_indirect_aix<mode>"): Likewise.
	("*call_indirect_elfv2<mode>"): New pattern.
	("*call_value_indirect_elfv2<mode>"): Likewise.

	* config/rs6000/predicates.md ("symbol_ref_operand"): Do not
	check for function descriptors in ABI_ELFv2.
	("current_file_function_operand"): Likewise.

	* config/rs6000/ppc-asm.h [__powerpc64__ && _CALL_ELF == 2]:
	(toc): Undefine.
	(FUNC_NAME): Define ELFv2 variant.
	(JUMP_TARGET): Likewise.
	(FUNC_START): Likewise.
	(HIDDEN_FUNC): Likewise.
	(FUNC_END): Likeiwse.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config.gcc [powerpc*-*-* | rs6000-*-*]: Support --with-abi=elfv1
	and --with-abi=elfv2.
	* config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Add "abi".
	* config/rs6000/rs6000.opt (mabi=elfv1): New option.
	(mabi=elfv2): Likewise.
	* config/rs6000/rs6000-opts.h (enum rs6000_abi): Add ABI_ELFv2.
	* config/rs6000/linux64.h (DEFAULT_ABI): Do not hard-code to AIX_ABI
	if !RS6000_BI_ARCH.
	(ELFv2_ABI_CHECK): New macro.
	(SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
	rs6000_current_abi to ABI_AIX or ABI_ELFv2.
	(GLIBC_DYNAMIC_LINKER64): Support ELFv2 ld.so version.
	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
	_CALL_ELF and __STRUCT_PARM_ALIGN__ if appropriate.

	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Handle ABI_ELFv2.
	(debug_stack_info): Likewise.
	(rs6000_file_start): Treat ABI_ELFv2 the same as ABI_AIX.
	(rs6000_legitimize_tls_address): Likewise.
	(rs6000_conditional_register_usage): Likewise.
	(rs6000_emit_move): Likewise.
	(init_cumulative_args): Likewise.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_arg_partial_bytes): Likewise.
	(rs6000_output_function_entry): Likewise.
	(rs6000_assemble_integer): Likewise.
	(rs6000_savres_strategy): Likewise.
	(rs6000_stack_info): Likewise.
	(rs6000_function_ok_for_sibcall): Likewise.
	(rs6000_emit_load_toc_table): Likewise.
	(rs6000_savres_routine_name): Likewise.
	(ptr_regno_for_savres): Likewise.
	(rs6000_emit_prologue): Likewise.
	(rs6000_emit_epilogue): Likewise.
	(rs6000_output_function_epilogue): Likewise.
	(output_profile_hook): Likewise.
	(output_function_profiler): Likewise.
	(rs6000_trampoline_size): Likewise.
	(rs6000_trampoline_init): Likewise.
	(rs6000_elf_output_toc_section_asm_op): Likewise.
	(rs6000_elf_encode_section_info): Likewise.
	(rs6000_elf_reloc_rw_mask): Likewise.
	(rs6000_elf_declare_function_name): Likewise.
	(rs6000_function_arg_boundary): Treat ABI_ELFv2 the same as ABI_AIX,
	except that rs6000_compat_align_parm is always assumed false.
	(rs6000_gimplify_va_arg): Likewise.
	(rs6000_call_aix): Update comment.
	(rs6000_sibcall_aix): Likewise.
	* config/rs6000/rs6000.md ("tls_gd_aix<TLSmode:tls_abi_suffix>"):
	Treat ABI_ELFv2 the same as ABI_AIX.
	("*tls_gd_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
	("tls_ld_aix<TLSmode:tls_abi_suffix>"): Likewise.
	("*tls_ld_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
	("load_toc_aix_si"): Likewise.
	("load_toc_aix_di"): Likewise.
	("call"): Likewise.
	("call_value"): Likewise.
	("*call_local_aix<mode>"): Likewise.
	("*call_value_local_aix<mode>"): Likewise.
	("*call_nonlocal_aix<mode>"): Likewise.
	("*call_value_nonlocal_aix<mode>"): Likewise.
	("*call_indirect_aix<mode>"): Likewise.
	("*call_value_indirect_aix<mode>"): Likewise.
	("sibcall"): Likewise.
	("sibcall_value"): Likewise.
	("*sibcall_aix<mode>"): Likewise.
	("*sibcall_value_aix<mode>"): Likewise.
	* config/rs6000/predicates.md ("symbol_ref_operand"): Likewise.
	("current_file_function_operand"): Likewise.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Simplify logic
	by making use of the fact that for vector / floating point arguments
	passed both in VRs/FPRs and in the fixed parameter area, the partial
	bytes mechanism is in fact not used.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_psave_function_arg): New function.
	(rs6000_finish_function_arg): Likewise.
	(rs6000_function_arg): Use rs6000_psave_function_arg and
	rs6000_finish_function_arg to handle both vector and floating
	point arguments that are also passed in GPRs / the stack.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.
	(USE_ALTIVEC_FOR_ARG_P): Likewise.
	(rs6000_darwin64_record_arg_advance_recurse): Update uses.
	(rs6000_function_arg_advance_1):Likewise.
	(rs6000_darwin64_record_arg_recurse): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_arg_partial_bytes): Likewise.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_option_override_internal): Replace
	"DEFAULT_ABI != ABI_AIX" test by testing for ABI_V4 or ABI_DARWIN.
	(rs6000_savres_strategy): Likewise.
	(rs6000_return_addr): Likewise.
	(rs6000_emit_load_toc_table): Replace "DEFAULT_ABI != ABI_AIX" by
	testing for ABI_V4 (since ABI_DARWIN is impossible here).
	(rs6000_emit_prologue): Likewise.
	(legitimate_lo_sum_address_p): Simplify DEFAULT_ABI test.
	(rs6000_elf_declare_function_name): Remove duplicated test.
	* config/rs6000/rs6000.md ("load_toc_v4_PIC_1"): Explicitly test
	for ABI_V4 (instead of "DEFAULT_ABI != ABI_AIX" test).
	("load_toc_v4_PIC_1_normal"): Likewise.
	("load_toc_v4_PIC_1_476"): Likewise.
	("load_toc_v4_PIC_1b"): Likewise.
	("load_toc_v4_PIC_1b_normal"): Likewise.
	("load_toc_v4_PIC_1b_476"): Likewise.
	("load_toc_v4_PIC_2"): Likewise.
	("load_toc_v4_PIC_3b"): Likewise.
	("load_toc_v4_PIC_3c"): Likewise.
	* config/rs6000/rs6000.h (RS6000_REG_SAVE): Simplify DEFAULT_ABI test.
	(RS6000_SAVE_AREA): Likewise.
	(FP_ARG_MAX_REG): Likewise.
	(RETURN_ADDRESS_OFFSET): Likewise.
	* config/rs6000/sysv.h (TARGET_TOC): Test for ABI_V4 instead
	of ABI_AIX.
	(SUBTARGET_OVERRIDE_OPTIONS): Likewise.
	(MINIMAL_TOC_SECTION_ASM_OP): Likewise.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_call_indirect_aix): Rename to ...
	(rs6000_call_aix): ... this.  Handle both direct and indirect calls.
	Create call insn directly instead of via various gen_... routines.
	Mention special registers used by the call in CALL_INSN_FUNCTION_USAGE.
	(rs6000_sibcall_aix): New function.
	* config/rs6000/rs6000.md (TOC_SAVE_OFFSET_32BIT): Remove.
	(TOC_SAVE_OFFSET_64BIT): Likewise.
	(AIX_FUNC_DESC_TOC_32BIT): Likewise.
	(AIX_FUNC_DESC_TOC_64BIT): Likewise.
	(AIX_FUNC_DESC_SC_32BIT): Likewise.
	(AIX_FUNC_DESC_SC_64BIT): Likewise.
	("call" expander): Call rs6000_call_aix.
	("call_value" expander): Likewise.
	("call_indirect_aix<ptrsize>"): Replace this pattern ...
	("call_indirect_aix<ptrsize>_nor11"): ... and this pattern ...
	("*call_indirect_aix<mode>"): ... by this insn pattern.
	("call_value_indirect_aix<ptrsize>"): Replace this pattern ...
	("call_value_indirect_aix<ptrsize>_nor11"): ... and this pattern ...
	("*call_value_indirect_aix<mode>"): ... by this insn pattern.
	("*call_nonlocal_aix32", "*call_nonlocal_aix64"): Replace by ...
	("*call_nonlocal_aix<mode>"): ... this pattern.
	("*call_value_nonlocal_aix32", "*call_value_nonlocal_aix64"): Replace
	("*call_value_nonlocal_aix<mode>"): ... by this pattern.
	("*call_local_aix<mode>"): New insn pattern.
	("*call_value_local_aix<mode>"): Likewise.
	("sibcall" expander): Call rs6000_sibcall_aix.
	("sibcall_value" expander): Likewise.  Move earlier in file.
	("*sibcall_nonlocal_aix<mode>"): Replace by ...
	("*sibcall_aix<mode>"): ... this pattern.
	("*sibcall_value_nonlocal_aix<mode>"): Replace by ...
	("*sibcall_value_aix<mode>"): ... this pattern.
	* config/rs6000/rs6000-protos.h (rs6000_call_indirect_aix): Remove.
	(rs6000_call_aix): Add prototype.
	(rs6000_sibcall_aix): Likewise.

2013-11-14  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/59122
	* asan.c (asan_emit_stack_protection): Ensure -fsection-anchors
	isn't confused by the artificial decl.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_emit_prologue): Do not place a
	RTX_FRAME_RELATED_P marker on the UNSPEC_MOVESI_FROM_CR insn.
	Instead, add USEs of all modified call-saved CR fields to the
	insn storing the result to the stack slot, and provide an
	appropriate REG_FRAME_RELATED_EXPR for that insn.
	* config/rs6000/rs6000.md ("*crsave"): New insn pattern.
	* config/rs6000/predicates.md ("crsave_operation"): New predicate.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* function.c (assign_parms): Use all.reg_parm_stack_space instead
	of re-evaluating REG_PARM_STACK_SPACE target macro.
	(locate_and_pad_parm): New parameter REG_PARM_STACK_SPACE.  Use it
	instead of evaluating target macro REG_PARM_STACK_SPACE every time.
	(assign_parm_find_entry_rtl): Update call.
	* calls.c (initialize_argument_information): Update call.
	(emit_library_call_value_1): Likewise.
	* expr.h (locate_and_pad_parm): Update prototype.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* calls.c (store_unaligned_arguments_into_pseudos): Skip PARALLEL
	arguments.

2013-11-14  DJ Delorie  <dj@redhat.com>

	* config/rx/rx.c (rx_mode_dependent_address_p): Allow offsets up
	to 16 bits.

2013-11-14  Jeff Law  <law@redhat.com>

	* tree-ssa-threadedge.c (thread_through_normal_block): Only push the
	EDGE_START_JUMP_THREAD marker if the jump threading path is empty.

2013-11-14  James Greenhalgh  <james.greenhalgh@arm.com>

	* doc/invoke.texi: Update documentation for AArch64's -mcpu
	and -mtune options.

2013-11-14  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-cores.def (example-1): Remove.
	(example-2): Likewise.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* config/aarch64/aarch64.md: Do not include "large.md" or "small.md".
	(generic_sched): Remove "large", "small".
	* config/aarch64/large.md: Delete.
	* config/aarch64/small.md: Delete.

2013-11-14  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-cores.def (cortex-a57): Tune for cortexa15.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* config/aarch64/aarch64.md: Include cortex-a15 pipeline model.
	(generic_sched): "no" if we are	tuning for cortexa15.
	* config/arm/cortex-a15.md: Include cortex-a15-neon.md by
	relative path.

2013-11-14  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-arches.def (armv8-a): Tune for cortex-a53.
	* config/aarch64/aarch64.md: Do not include aarch64-generic.md.
	* config/aarch64/aarch64.c (aarch64_tune): Initialize to cortexa53.
	(all_cores): Use cortexa53 when tuning for "generic".
	(aarch64_override_options): Fix comment.
	* config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Set to cortexa53.
	* config/aarch64/aarch64-generic.md: Delete.

2013-11-14  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64.c (all_architectures): Remove "generic".

2013-11-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/aarch64/aarch64.c: Include aarch-cost-tables.h.
	(generic_rtx_cost_table): Remove.
	(aarch64_rtx_costs): Use fields from cpu_cost_table.
	* config/aarch64/aarch64-protos.h (tune_params): Use cpu_cost_table for
	insn_extra_cost.
	(cpu_rtx_cost_table): Remove.

2013-11-14  Julian Brown  <julian@codesourcery.com>
	    Joey Ye  <joey.ye@arm.com>

	* config/arm/arm.c (arm_cortex_m_branch_cost): New.
	(arm_v7m_tune): New.
	(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune, arm_9e_tune,
	arm_v6t2_tune, arm_cortex_tune, arm_cortex_a15_tune,
	arm_cortex_a5_tune, arm_v6m_tune): Add comments for Sched adj cost.
	* config/arm/arm-cores.def (cortex-m4, cortex-m3): Use arm_v7m_tune.

2013-11-14  Kirill Yukhin  <kirill.yukhin@intel.com>

	PR target/57491
	* config/ia64/ia64.c (ia64_split_tmode_move): Relax `dead'
	flag setting.

2013-11-14  Jakub Jelinek  <jakub@redhat.com>
	    Uros Bizjak  <ubizjak@gmail.com>

	PR target/59101
	* config/i386/i386.md (*anddi_2): Only allow CCZmode if
	operands[2] satisfies_constraint_Z that might have bit 31 set.

2013-11-13  Jeff Law  <law@redhat.com>

	PR tree-optimization/59102
	* gimple-ssa-isolate-paths.c
	(insert_trap_and_remove_trailing_statments): Ensure STMT is a
	gimple assignment before looking at gimple_assign_lhs.

2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

	* ira.c: Add comment about threads at the top of file.

2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

	* ira-color.c (coalesce_allocnos): Don't allocate and free
	sorted_copies.

2013-11-14  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-tail-merge.c (gimple_equal_p): Add test for structural
	equality for GIMPLE_ASSIGN.

2013-11-14  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Factor new
	function out of ...
	(gimple_equal_p): ... here.

2013-11-14  Tom de Vries  <tom@codesourcery.com>

	* trans-mem.c (is_tm_ending): New function.
	* gimple.h (is_tm_ending): Declare.
	* tree-ssa-tail-merge.c (gimple_equal_p): Remove test on
	BUILT_IN_TM_COMMIT.
	(find_duplicate): Use is_tm_ending instead of is_tm_ending_fndecl.

2013-11-14  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-tail-merge.c (gimple_equal_p): Remove equal variable.

2013-11-13  Andrew MacLeod  <amacleod@redhat.com>

	* gimple-walk.h: New File.  Relocate prototypes from gimple.h.
	(struct walk_stmt_info):  Relocate here from gimple.h.
	* gimple-iterator.h: New File.  Relocate prototypes from gimple.h.
	(struct gimple_stmt_iterator_d): Relocate here from gimple.h.
	(gsi_start_1, gsi_none, gsi_start_bb, gsi_last_1, gsi_last_bb,
	gsi_end_p, gsi_one_before_end_p, gsi_next, gsi_prev, gsi_stmt,
	gsi_after_labels, gsi_next_nondebug, gsi_prev_nondebug,
	gsi_start_nondebug_bb, gsi_start_nondebug_after_labels_bb,
	gsi_last_nondebug_bb, gsi_bb, gsi_seq): Relocate here from gimple.h.
	* gimple.h (struct gimple_stmt_iterator_d): Move to gimple-iterator.h.
	(gsi_start_1, gsi_none, gsi_start_bb, gsi_last_1, gsi_last_bb,
	gsi_end_p, gsi_one_before_end_p, gsi_next, gsi_prev, gsi_stmt,
	gsi_after_labels, gsi_next_nondebug, gsi_prev_nondebug,
	gsi_start_nondebug_bb, gsi_start_nondebug_after_labels_bb,
	gsi_last_nondebug_bb, gsi_bb, gsi_seq): Move to gimple-iterator.h.
	(struct walk_stmt_info): Move to gimple-walk.h.
	(gimple_seq_set_location): Move to gimple.c
	* gimple-walk.c: New File.
	(walk_gimple_seq_mod, walk_gimple_seq, walk_gimple_asm, walk_gimple_op,
	walk_gimple_stmt, get_base_loadstore, walk_stmt_load_store_addr_ops,
	walk_stmt_load_store_ops): Relocate here from gimple.c.
	* gimple-iterator.c: Include gimple-iterator.h.
	* gimple.c (walk_gimple_seq_mod, walk_gimple_seq, walk_gimple_asm,
	walk_gimple_op, walk_gimple_stmt, get_base_loadstore,
	walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Move to
	gimple-walk.c.
	(gimple_seq_set_location): Relocate from gimple.h.
	* tree-phinodes.h (set_phi_nodes): Move to tree-phinodes.c.
	* tree-phinodes.c (set_phi_nodes): Relocate from tree-phinodes.h.
	* gengtype.c (open_base_files): Add gimple-iterator.h to include list.
	* Makefile.in (OBJS): Add gimple-walk.o
	* asan.c: Update Include list as required for gimple-iterator.h and
	gimple-walk.h.
	* cfgexpand.c: Likewise.
	* cfgloop.c: Likewise.
	* cfgloopmanip.c: Likewise.
	* cgraph.c: Likewise.
	* cgraphbuild.c: Likewise.
	* cgraphunit.c: Likewise.
	* gimple-fold.c: Likewise.
	* gimple-low.c: Likewise.
	* gimple-pretty-print.c: Likewise.
	* gimple-ssa-isolate-paths.c: Likewise.
	* gimple-ssa-strength-reduction.c: Likewise.
	* gimple-streamer-in.c: Likewise.
	* gimple-streamer-out.c: Likewise.
	* gimplify.c: Likewise.
	* graphite-blocking.c: Likewise.
	* graphite-clast-to-gimple.c: Likewise.
	* graphite-dependences.c: Likewise.
	* graphite-interchange.c: Likewise.
	* graphite-optimize-isl.c: Likewise.
	* graphite-poly.c: Likewise.
	* graphite-scop-detection.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* graphite.c: Likewise.
	* ipa-inline-analysis.c: Likewise.
	* ipa-profile.c: Likewise.
	* ipa-prop.c: Likewise.
	* ipa-pure-const.c: Likewise.
	* ipa-split.c: Likewise.
	* lto-streamer-in.c: Likewise.
	* lto-streamer-out.c: Likewise.
	* omp-low.c: Likewise.
	* predict.c: Likewise.
	* profile.c: Likewise.
	* sese.c: Likewise.
	* tracer.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-call-cdce.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-complex.c: Likewise.
	* tree-data-ref.c: Likewise.
	* tree-dfa.c: Likewise.
	* tree-eh.c: Likewise.
	* tree-emutls.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-into-ssa.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-nested.c: Likewise.
	* tree-nrv.c: Likewise.
	* tree-object-size.c: Likewise.
	* tree-outof-ssa.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-profile.c: Likewise.
	* tree-scalar-evolution.c: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa-ccp.c: Likewise.
	* tree-ssa-coalesce.c: Likewise.
	* tree-ssa-copy.c: Likewise.
	* tree-ssa-copyrename.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-dom.c: Likewise.
	* tree-ssa-dse.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-ifcombine.c: Likewise.
	* tree-ssa-live.c: Likewise.
	* tree-ssa-loop-ch.c: Likewise.
	* tree-ssa-loop-im.c: Likewise.
	* tree-ssa-loop-ivcanon.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-ssa-loop-manip.c: Likewise.
	* tree-ssa-loop-niter.c: Likewise.
	* tree-ssa-loop-prefetch.c: Likewise.
	* tree-ssa-loop.c: Likewise.
	* tree-ssa-math-opts.c: Likewise.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-phiprop.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-propagate.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sink.c: Likewise.
	* tree-ssa-strlen.c: Likewise.
	* tree-ssa-structalias.c: Likewise.
	* tree-ssa-tail-merge.c: Likewise.
	* tree-ssa-ter.c: Likewise.
	* tree-ssa-threadedge.c: Likewise.
	* tree-ssa-threadupdate.c: Likewise.
	* tree-ssa-uncprop.c: Likewise.
	* tree-ssa-uninit.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-stdarg.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-generic.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-patterns.c: Likewise.
	* tree-vect-slp.c: Likewise.
	* tree-vect-stmts.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vrp.c: Likewise.
	* tree.c: Likewise.
	* tsan.c: Likewise.
	* value-prof.c: Likewise.
	* vtable-verify.c: Likewise.

2013-11-13  Steven Bosscher  <steven@gcc.gnu.org>

	* gimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment
	fix.

2013-11-13  Jeff Law  <law@redhat.com>

	* PR middle-end/59119
	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour): New
	function, extracted from gimple_ssa_isolate_erroneous_paths.
	(find_explicit_erroneous_behaviour): Similarly.
	(insert_trap_and_remove_trailing_statements): Remove statements
	in reverse order.

2013-11-13  Steven Bosscher  <steven@gcc.gnu.org>

	* cfgrtl.c (can_fallthru): Reorder code to move tablejump check up.
	Make that check explicit.  BB_HEAD cannot be NULL, remove check for it.
	* haifa-sched.c (ready_remove_first_dispatch): Check INSN_P before
	looking at INSN_CODE.
	* reload1.c (delete_dead_insn) Do not expect JUMP_TABLE_DATA to be an
	active_insn_p object, respect basic block boundaries.
	* reorg.c (follow_jumps): Use invariant that JUMP_TABLE_DATA always
	follows immediately after the jump table data label.
	* config/nds32/nds32.c (nds32_output_casesi_pc_relative): Likewise.
	* config/sh/sh.c (barrier_align): Likewise.  Rearrange code such
	that JUMP_TABLE_DATA is not expected to be an active_insn_p object.

2013-11-13  Teresa Johnson  <tejohnson@google.com>

	PR ipa/58862
	* predict.c (drop_profile): Error is currently too strict.
	(handle_missing_profiles): Pass call_count to drop_profile.

2013-11-13  Teresa Johnson  <tejohnson@google.com>

	PR ipa/58862
	* ipa-inline.c (edge_badness): Fix overflow.

2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/59036
	* ira-color.c (struct allocno_color_data): Add new members
	first_thread_allocno, next_thread_allocno, thread_freq.
	(sorted_copies): New static var.
	(allocnos_conflict_by_live_ranges_p, copy_freq_compare_func): Move up.
	(allocno_thread_conflict_p, merge_threads)
	(form_threads_from_copies, form_threads_from_bucket)
	(form_threads_from_colorable_allocno, init_allocno_threads): New
	functions.
	(bucket_allocno_compare_func): Add comparison by thread frequency
	and threads.
	(add_allocno_to_ordered_bucket): Rename to
	add_allocno_to_ordered_colorable_bucket.  Remove parameter.
	(push_only_colorable): Call form_threads_from_bucket.
	(color_pass): Call init_allocno_threads.  Use
	consideration_allocno_bitmap instead of coloring_allocno_bitmap
	for nuillify allocno color data.
	(ira_initiate_assign, ira_finish_assign): Allocate/free sorted_copies.
	(coalesce_allocnos): Use static sorted copies.

2013-11-13  Jakub Jelinek  <jakub@redhat.com>

	* passes.c (execute_todo): Don't call do_per_function if
	flags are zero.
	(execute_one_ipa_transform_pass, execute_one_pass): Don't call
	execute_function_dump if dump_file is NULL.

2013-11-13  Martin Jambor  <mjambor@suse.cz>

	* cgraph.c (cgraph_get_create_node): Do what
	cgraph_get_create_real_symbol_node used to do.
	(cgraph_get_create_real_symbol_node): Removed.  Changed all users to
	call cgraph_get_create_node.
	* cgraph.h (cgraph_get_create_real_symbol_node): Removed.
	* lto-streamer-in.c (input_function): Call cgraph_get_node instead of
	cgraph_get_create_node.  Assert we get a node.

2013-11-13  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-simd.md (vec_extract): New.

2013-11-13  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-simd.md (vec_set<mode>): Add w -> w option to
	the constraint.

2013-11-13  Eric Botcazou  <ebotcazou@adacore.com>

	* cfgexpand.c (expand_used_vars): Allocate space for partitions based
	on PARM_DECLs or RESULT_DECLs only if they are ignored for debug info
	or if optimization is enabled.
	* tree-ssa-coalesce.c (coalesce_ssa_name): If optimization is disabled,
	require that all the names based on a PARM_DECL or a RESULT_DECL that
	isn't ignored for debug info be coalesced.

2013-11-13  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/c6x/c6x.c: Include "gimple-expr.h".

2013-11-13  Richard Biener  <rguenther@suse.de>

	* gimple-streamer-out.c (output_gimple_stmt): Also wrap
	decls in ADDR_EXPR operands inside a MEM_REF and optimize that.
	* gimple-streamer-in.c (input_gimple_stmt): Remove now dead code
	dealing with type mismatches inside component reference chains.

2013-11-13  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/59077
	* ipa-pure-const.c (better_state): Update *state.

2013-11-13  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/aarch64/aarch64.h (FRAME_GROWS_DOWNWARD): Define to 1.
	* config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
	Update offset calculations.

2013-11-13  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/35998
	* dwarf2out.c (add_byte_size_attribute): Also use int_size_in_bytes
	for fields.  Do not add the attribute if the size is negative.

2013-11-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c: Include aarch-cost-tables.h.
	(generic_extra_costs): Move from here...
	* config/arm/aarch-cost-tables.h: ... To here.  New file.

2013-11-13  Alexander Ivchenko  <alexander.ivchenko@intel.com>
	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
	    Sergey Lega  <sergey.s.lega@intel.com>
	    Anna Tikhonova  <anna.tikhonova@intel.com>
	    Ilya Tocar  <ilya.tocar@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* config/i386/i386.c (ix86_print_operand): Support z-masking.
	* config/i386/predicate.md (const_0_to_4_operand): New.
	(const_0_to_5_operand): Ditto.
	* config/i386/sse.md (UNSPEC_COMPRESS): New.
	(UNSPEC_COMPRESS_STORE): Ditto.
	(UNSPEC_EXPAND): Ditto.
	(UNSPEC_EMBEDDED_ROUNDING): Ditto.
	(define_mode_attr ssescalarsize): Ditto.
	(avx512f_load<mode>_mask): Ditto.
	(avx512f_store<mode>_mask): Ditto.
	(avx512f_storedqu<mode>_mask): Ditto.
	(avx512f_vmcmp<mode>3_mask): Ditto.
	(avx512f_fmadd_<mode>_mask): Ditto.
	(avx512f_fmadd_<mode>_mask3): Ditto.
	(avx512f_fmsub_<mode>_mask): Ditto.
	(avx512f_fmsub_<mode>_mask3): Ditto.
	(avx512f_fnmadd_<mode>_mask): Ditto.
	(avx512f_fnmadd_<mode>_mask3): Ditto.
	(avx512f_fnmsub_<mode>_mask): Ditto.
	(avx512f_fnmsub_<mode>_mask3): Ditto.
	(avx512f_fmaddsub_<mode>_mask): Ditto.
	(avx512f_fmaddsub_<mode>_mask3): Ditto.
	(avx512f_fmsubadd_<mode>_mask): Ditto.
	(avx512f_fmsubadd_<mode>_mask3): Ditto.
	(vec_unpacku_float_lo_v16si): Ditto.
	(avx512f_vextract<shuffletype>32x4_mask): Ditto.
	(avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
	(avx512f_vextract<shuffletype>64x4_mask): Ditto.
	(vec_extract_lo_<mode>_maskm): Ditto.
	(vec_extract_hi_<mode>_maskm): Ditto.
	(avx512f_vternlog<mode>_mask): Ditto.
	(avx512f_shufps512_mask): Ditto.
	(avx512f_fixupimm<mode>_mask): Ditto.
	(avx512f_shufpd512_mask): Ditto.
	(avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
	(avx512f_<code>v8div16qi2_mask/trunc): Ditto.
	(*avx512f_<code>v8div16qi2_store_mask): Ditto.
	(ashr<mode>3<mask_name>): Ditto.
	(avx512f_vinsert<shuffletype>32x4_mask): Ditto.
	(avx512f_vinsert<shuffletype>64x4_mask): Ditto.
	(avx512f_shuf_<shuffletype>64x2_mask): Ditto.
	(avx512f_shuf_<shuffletype>32x4_mask): Ditto.
	(avx512f_pshufdv3_mask): Ditto.
	(avx512f_perm<mode>_mask): Ditto.
	(avx512f_vpermi2var<mode>3_mask): Ditto.
	(avx512f_vpermt2var<mode>3_mask): Ditto.
	(avx512f_compress<mode>_mask): Ditto.
	(avx512f_compressstore<mode>_mask): Ditto.
	(avx512f_expand<mode>_mask): Ditto.
	(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Extend
	to support masking.
	(avx512f_storeu<ssemodesuffix>512_mask): Ditto.
	(<plusminus_insn><mode>3<mask_name>): Ditto.
	(*<plusminus_insn><mode>3<mask_name>): Ditto.
	(mul<mode>3<mask_name>): Ditto.
	(*mul<mode>3<mask_name>): Ditto.
	(<sse>_div<mode>3<mask_name>): Ditto.
	(<mask_codefor>rcp14<mode><mask_name>): Ditto.
	(<sse>_sqrt<mode>2<mask_name>): Ditto.
	(<mask_codefor>rsqrt14<mode><mask_name>): Ditto.
	(<code><mode>3<mask_name>/smaxmin): Ditto.
	(*<code><mode>3_finite<mask_name>/smaxmin): Ditto.
	(*<code><mode>3<mask_name>/smaxmin): Ditto.
	(float<sseintvecmodelower><mode>2<mask_name>): Ditto.
	(ufloatv16siv16sf2<mask_name>): Ditto.
	(<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name>): Ditto.
	(<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name>): Ditto.
	(<fixsuffix>fix_truncv16sfv16si2<mask_name>): Ditto.
	(float<si2dfmodelower><mode>2<mask_name>): Ditto.
	(ufloatv8siv8df<mask_name>): Ditto.
	(<mask_codefor>avx512f_cvtpd2dq512<mask_name>): Ditto.
	(avx512f_ufix_notruncv8dfv8si<mask_name>): Ditto.
	(<fixsuffix>fix_truncv8dfv8si2<mask_name>): Ditto.
	(<mask_codefor>avx512f_cvtpd2ps512<mask_name>): Ditto.
	(<sse2_avx_avx512f>_cvtps2pd<avxsizesuffix><mask_name>): Ditto.
	(<mask_codefor>avx512f_unpckhps512<mask_name>): Ditto.
	(<mask_codefor>avx512f_unpcklps512<mask_name>): Ditto.
	(<mask_codefor>avx512f_movshdup512<mask_name>): Ditto.
	(<mask_codefor>avx512f_movsldup512<mask_name>): Ditto.
	(<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Ditto.
	(vec_extract_lo_<mode><mask_name>): Ditto.
	(vec_extract_hi_<mode><mask_name>): Ditto.
	(<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
	(avx512f_movddup512<mask_name>): Ditto.
	(avx512f_unpcklpd512<mask_name>): Ditto.
	(*avx512f_unpcklpd512<mask_name>): Ditto.
	(*avx512f_vmscalef<mode>): Ditto.
	(avx512f_scalef<mode><mask_name>): Ditto.
	(avx512f_getexp<mode><mask_name>): Ditto.
	(<mask_codefor>avx512f_align<mode><mask_name>): Ditto.
	(avx512f_rndscale<mode><mask_name>): Ditto.
	(avx512f_shufps512_1<mask_name>): Ditto.
	(avx512f_shufpd512_1<mask_name>): Ditto.
	(<plusminus_insn><mode>3<mask_name>): Ditto.
	(*<plusminus_insn><mode>3<mask_name>): Ditto.
	(vec_widen_umult_even_v16si<mask_name>): Ditto.
	(*vec_widen_umult_even_v16si<mask_name>): Ditto.
	(vec_widen_smult_even_v16si<mask_name>): Ditto.
	(*vec_widen_smult_even_v16si<mask_name>): Ditto.
	(mul<mode>3<mask_name>): Ditto.
	(*<sse4_1_avx2>_mul<mode>3<mask_name>): Ditto.
	(<shift_insn><mode>3<mask_name>): Ditto.
	(avx512f_<rotate>v<mode><mask_name>/rotate): Ditto.
	(avx512f_<rotate><mode><mask_name>): Ditto.
	(<code><mode>3<mask_name>/maxmin): Ditto.
	(*avx2_<code><mode>3<mask_name>/maxmin): Ditto.
	(<sse2_avx2>_andnot<mode>3<mask_name>): Ditto.
	(*andnot<mode>3<mask_name>): Ditto.
	(<mask_codefor><code><mode>3<mask_name>/any_logic): Ditto.
	(<mask_codefor>avx512f_interleave_highv16si<mask_name>): Ditto.
	(<mask_codefor>avx512f_interleave_lowv16si<mask_name>): Ditto.
	(<mask_codefor>avx512f_vinsert<shuffletype>32x4_1<mask_name>): Ditto.
	(vec_set_lo_<mode><mask_name>): Ditto.
	(vec_set_hi_<mode><mask_name>): Ditto.
	(avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ditto.
	(avx512f_shuf_<shuffletype>32x4_1<mask_name>): Ditto.
	(avx512f_pshufd_1<mask_name>): Ditto.
	(<mask_codefor>abs<mode>2<mask_name>): Ditto.
	(<mask_codefor>avx512f_<code>v16qiv16si2<mask_name>): Ditto.
	(avx512f_<code>v16hiv16si2<mask_name>/any_extend): Ditto.
	(avx512f_<code>v8qiv8di2<mask_name>/any_extend): Ditto.
	(avx512f_<code>v8hiv8di2<mask_name>/any_extend): Ditto.
	(avx512f_<code>v8siv8di2<mask_name>/any_extend): Ditto.
	(avx512er_exp2<mode><mask_name>): Ditto.
	(<mask_codefor>avx512er_rcp28<mode><mask_name>): Ditto.
	(<mask_codefor>avx512er_rsqrt28<mode><mask_name>): Ditto.
	(<avx2_avx512f>_permvar<mode><mask_name>): Ditto.
	(<avx2_avx512f>_perm<mode>_1<mask_name>): Ditto.
	(<mask_codefor>avx512f_vec_dup<mode><mask_name>): Ditto.
	(<mask_codefor>avx512f_broadcast<mode><mask_name>/V16FI): Ditto.
	(<mask_codefor>avx512f_broadcast<mode><mask_name>/V8FI): Ditto.
	(<mask_codefor>avx512f_vec_dup_gpr<mode><mask_name>): Ditto.
	(<mask_codefor>avx512f_vec_dup_mem<mode><mask_name>): Ditto.
	(<sse2_avx_avx512f>_vpermil<mode><mask_name>/VF2): Ditto.
	(<sse2_avx_avx512f>_vpermil<mode><mask_name>/VF1): Ditto.
	(*<sse2_avx_avx512f>_vpermilp<mode><mask_name>): Ditto.
	(<sse2_avx_avx512f>_vpermilvar<mode>3<mask_name>): Ditto.
	(<avx2_avx512f>_ashrv<mode><mask_name>): Ditto.
	(<avx2_avx512f>_<shift_insn>v<mode><mask_name>): Ditto.
	(<mask_codefor>avx512f_vcvtph2ps512<mask_name>): Ditto.
	(<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Ditto.
	(avx512f_getmant<mode><mask_name>): Ditto.
	(clz<mode>2<mask_name>): Ditto.
	(<mask_codefor>conflict<mode><mask_name>): Ditto.
	(*srcp14<mode>): Remove visibility.
	(*rsqrt14<mode>): Ditto.
	(*fma_fmsub_<mode>): Ditto.
	(*fma_fnmadd_<mode>): Ditto.
	(*avx512f_rndscale<mode>): Ditto.
	* config/i386/subst.md: New file.

2013-11-13  Joseph Myers  <joseph@codesourcery.com>

	* doc/extend.texi (Statement Exprs, Typeof): Discuss __auto_type.
	* ginclude/stdatomic.h (kill_dependency, atomic_store_explicit)
	(atomic_load_explicit, atomic_exchange_explicit)
	(atomic_compare_exchange_strong_explicit)
	(atomic_compare_exchange_weak_explicit): Use __auto_type to
	declare variable initialized with PTR argument.

2013-11-12  Jeff Law  <law@redhat.com>

	* tree-ssa-threadedge.c (thread_around_empty_blocks): New argument
	backedge_seen_p.  Set, use and pass it to children appropriately.
	(thread_through_normal_block): Similarly.
	(thread_across_edge): Similarly.

	* gimple-ssa-isolate-paths.c (check_loadstore): Mark discovered
	memory references as volatile.
	(insert_trap_and_remove_trailing_statements): Fix comment.

2013-11-12  Vladimir Makarov  <vmakarov@redhat.com>

	PR other/58712
	* ira-costs.c (record_operand_costs): Check operands number for
	the single set.

2013-11-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/59054
	* config/rs6000/rs6000.md (movdi_internal32): Eliminate
	constraints that would allow DImode into the traditional Altivec
	registers, but cause undesirable code generation when loading 0 as
	a constant.
	(movdi_internal64): Likewise.
	(cmp<mode>_fpr): Do not use %x for CR register output.
	(extendsfdf2_fpr): Fix constraints when -mallow-upper-df and
	-mallow-upper-sf debug switches are used.

2013-11-12  Andrew MacLeod  <amacleod@redhat.com>

	* gimple-expr.h (create_tmp_var_name, create_tmp_var_raw,
	create_tmp_var, create_tmp_reg, mark_addressable, is_gimple_reg_rhs):
	Relocate prototypes from gimple.h.
	* gimplify.h: New File.  Relocate some prototypes from gimple.h here.
	(gimple_predicate, enum fallback, enum gimplify_status): Relocate
	from gimple.h.
	* gimple.h: Move some prototypes to gimplify.h.
	(gimple_predicate, enum fallback, enum gimplify_status): Move to
	gimplify.h.
	(gimple_do_not_emit_location_p, gimple_set_do_not_emit_location):
	Relocate from gimpify.c.
	* gimple-expr.c (remove_suffix, tmp_var_id_num, create_tmp_var_name,
	create_tmp_var_raw, create_tmp_var, create_tmp_reg, mark_addressable,
	is_gimple_reg_rhs) Relocate from gimplify.c.
	* gimplify.c (mark_addressable): Move to gimple-expr.c.
	(gimple_seq_add_stmt_without_update): Move to gimple.c.
	(remove_suffix, tmp_var_id_num, create_tmp_var_name,
	create_tmp_var_raw, create_tmp_var, create_tmp_reg,
	is_gimple_reg_rhs): Move to gimple-expr.c.
	(should_carry_location_p): Move to gimple.c.
	(gimple_do_not_emit_location_p, gimple_set_do_not_emit_location): Move
	to gimple.h.
	(annotate_one_with_location, annotate_all_with_location_after,
	annotate_all_with_location): Move to gimple.c.
	(compare_case_labels, sort_case_labels,
	preprocess_case_label_vec_for_gimple): Move to gimple.c.
	(rhs_predicate_for): Make static.
	(gimplify_assign): Relocate from gimple.c.
	* gimple.c (gimplify_assign): Move to gimplify.c.
	(gimple_seq_add_stmt_without_update, should_carry_location_p,
	annotate_one_with_location, annotate_all_with_location_after,
	annotate_all_with_location, compare_case_labels, sort_case_labels,
	preprocess_case_label_vec_for_gimple): Relocate from gimplify.c.
	* tree.h (unshare_expr, unshare_expr_without_location,
	mark_addressable): Move prototypes to gimplify.h.
	* Makefile.in (GTFILES): gimple-expr.c now has the GTY tag for
	tmp_var_id_num
	* asan.c: Include gimplify.h rather than gimple.h.
	* cfgloopmanip.c: Likewise.
	* cgraphunit.c: Likewise.
	* cilk-common.c: Likewise.
	* dwarf2out.c: Dont include gimple.h.
	* fold-const.c: Include gimplify.h rather than gimple.h.
	* function.c: Likewise.
	* gimple-fold.c: Likewise.
	* gimple-ssa-strength-reduction.c: Likewise.
	* graphite-clast-to-gimple.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* ipa-prop.c: Likewise.
	* ipa-split.c: Likewise.
	* ipa.c: Likewise.
	* langhooks.c: Dont include gimple.h.
	* loop-init.c: Include gimplify.h rather than gimple.h.
	* omp-low.c: Likewise.
	* sese.c: Likewise.
	* stor-layout.c: Likewise.
	* targhooks.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-affine.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-complex.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-iterator.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-nested.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-profile.c: Likewise.
	* tree-scalar-evolution.c: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa-address.c: Likewise.
	* tree-ssa-ccp.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-ifcombine.c: Likewise.
	* tree-ssa-loop-im.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-ssa-loop-manip.c: Likewise.
	* tree-ssa-loop-niter.c: Likewise.
	* tree-ssa-loop-prefetch.c: Likewise.
	* tree-ssa-loop-unswitch.c: Likewise.
	* tree-ssa-math-opts.c: Likewise.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-phiprop.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-propagate.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sccvn.c: Likewise.
	* tree-ssa-strlen.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-switch-conversio: Likewise.n.c
	* tree-tailcall.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-generic.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-patterns.c: Likewise.
	* tree-vect-stmts.c: Likewise.
	* tsan.c: Likewise.
	* value-prof.c: Likewise.
	* config/aarch64/aarch64.c: Include gimplify.h instead of gimple.h.
	* config/alpha/alpha.c: Likewise.
	* config/darwin.c: Likewise.
	* config/i386/i386.c: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/mep/mep.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/sh/sh.c: Likewise.
	* config/sparc/sparc.c: Likewise.
	* config/spu/spu.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/tilegx/tilegx.c: Likewise.
	* config/tilepro/tilepro.c: Likewise.
	* config/xtensa/xtensa.c: Likewise.

2013-11-12  Adam Butcher  <adam@jessamine.co.uk>

	* tree.c (grow_tree_vec_stat): New function ...
	* tree.h (grow_tree_vec_stat) (grow_tree_vec): ... and its declaration
	and macro front-end.

2013-11-12  Marek Polacek  <polacek@redhat.com>

	* final.c (update_alignments): Initialize label to NULL_RTX.

2013-11-12  Jeff Law  <law@redhat.com>

	* gimple-ssa-isolate-paths.c (check_loadstore): New function.
	(insert_trap_and_remove_trailing_statements): New argument OP which
	is the NULL pointer.  Emit the trap after the load/store through
	the NULL pointer.  Simplify the RHS of a store through a NULL pointer
	when trivial to do so.
	(isolate_path): Corresponding changes.
	(gimple_ssa_isolate_erroneous_path): Likewise.

2013-11-12  Teresa Johnson  <tejohnson@google.com>
	    Jan Hubicka  <jh@suse.cz>

	* predict.c (drop_profile): New function.
	(handle_missing_profiles): Ditto.
	(counts_to_freqs): Don't overwrite estimated frequencies
	when function has no profile counts.
	* predict.h (handle_missing_profiles): Declare.
	* tree-inline.c (freqs_to_counts): New function.
	(copy_cfg_body): Invoke freqs_to_counts as needed.
	* tree-profile.c (tree_profiling): Invoke handle_missing_profiles.

2013-11-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59088
	* config/i386/x86-tune.def (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL):
	Set for m_HASWELL.
	(X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Set for m_HASWELL.

2013-11-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59084
	* config/i386/i386.c (ix86_option_override_internal): Check
	X86_TUNE_AVX256_UNALIGNED_LOAD_OPTIMAL and
	X86_TUNE_AVX256_UNALIGNED_STORE_OPTIMAL for
	MASK_AVX256_SPLIT_UNALIGNED_LOAD and
	MASK_AVX256_SPLIT_UNALIGNED_STORE.

	* config/i386/x86-tune.def (X86_TUNE_AVX256_UNALIGNED_LOAD_OPTIMAL):
	Clear m_COREI7_AVX and update comments.
	(X86_TUNE_AVX256_UNALIGNED_STORE_OPTIMAL): Likewise.

2013-11-12  Martin Jambor  <mjambor@suse.cz>

	PR rtl-optimization/10474
	* ira.c (interesting_dest_for_shprep): New function.
	(split_live_ranges_for_shrink_wrap): Likewise.
	(find_moveable_pseudos): Move calculation of dominance info,
	df_analysios and the final anlyses to...
	(ira): ...here, call split_live_ranges_for_shrink_wrap.

2013-11-12  Bin Cheng  <bin.cheng@arm.com>

	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Refactor the code.
	Handle type conversion.

2013-11-11  Martin Liska  <marxin.liska@gmail.com>
	    Jan Hubicka  <jh@suse.cz>

	* cgraph.c (dump_cgraph_node): Profile dump added.
	* cgraph.h (struct cgraph_node): New time profile variable added.
	* cgraphclones.c (cgraph_clone_node): Time profile is cloned.
	* gcov-io.h (gcov_type): New profiler type introduced.
	* ipa-profile.c (lto_output_node): Streaming for time profile added.
	(input_node): Time profiler is read from LTO stream.
	* predict.c (maybe_hot_count_p): Hot prediction changed.
	* profile.c (instrument_values): New case for time profiler added.
	(compute_value_histograms): Read of time profile.
	* tree-pretty-print.c (dump_function_header): Time profiler is dumped.
	* tree-profile.c (init_ic_make_global_vars): Time profiler
	function added.
	(gimple_init_edge_profiler): TP function instrumentation.
	(gimple_gen_time_profiler): New.
	* value-prof.c (gimple_add_histogram_value): Support for time profiler
	added.
	(dump_histogram_value): TP type added to dumps.
	(visit_hist): More sensitive check that takes TP into account.
	(gimple_find_values_to_profile): TP instrumentation.
	* value-prof.h (hist_type): New histogram type added.
	(struct histogram_value_t): Pointer to struct function added.
	* libgcc/Makefile.in: New GCOV merge function for TP added.
	* libgcov.c: function_counter variable introduced.
	(_gcov_merge_time_profile): New.
	(_gcov_time_profiler): New.

2013-11-11  Marc Glisse  <marc.glisse@inria.fr>
	    Jeff Law  <law@redhat.com>

	* tree-ssa-alias.c (stmt_kills_ref_p_1): Use
	ao_ref_init_from_ptr_and_size for builtins.

2013-11-11  Uros Bizjak  <ubizjak@gmail.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR target/58853
	* config/i386/x86-tune.def
	(X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Rename from
	TARGET_MISALIGNED_MOVE_STRING_PROLOGUES.
	* config/i386/i386.h
	(TARGET_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Rename from
	TARGET_MISALIGNED_MOVE_STRING_PROLOGUES_EPILOGUES.  Update for renamed
	X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES.
	* config/i386/i386.c (ix86_expand_set_or_movmem): Use
	TARGET_MISALIGNED_MOVE_STRING_PRO_EPILOGUES to calculate
	misaligned_prologue_used.  Check that
	desired_aling <= epilogue_size_needed.

2013-11-11  Cong Hou  <congh@google.com>

	PR tree-optimization/59050
	* tree-vect-data-refs.c (comp_dr_addr_with_seg_len_pair): Bug fix.

2013-11-11  Joern Rennecke  <joern.rennecke@embecosm.com>

	PR middle-end/59049
	* expmed.c (emit_store_flag): Fail for const-const comparison.

2013-11-11  Tristan Gingold  <gingold@adacore.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	* tree.h (CONSTRUCTOR_NO_CLEARING): Define.
	* tree-core.h (CONSTRUCTOR_NO_CLEARING): Document it.
	* tree.def (CONSTRUCTOR): Likewise.
	* doc/generic.texi (CONSTRUCTOR): Likewise.  Update description.
	* gimplify.c (gimplify_init_constructor): Do not clear the object when
	the constructor is incomplete and CONSTRUCTOR_NO_CLEARING is set.

2013-11-11  Basile Starynkevitch  <basile@starynkevitch.net>

	* toplev.c (toplev_main): Move PLUGIN_FINISH invocation before
	diagnostic_finish.

2013-11-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (arm_new_rtx_costs): Return after handling
	comparisons.

2013-11-11  Joern Rennecke  <joern.rennecke@embecosm.com>

	* config/arc/arc.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define.

2013-11-08  Jeff Law  <law@redhat.com>

	* tree-ssa-threadupdate.c (mark_threaded_blocks): Truncate jump
	threading paths first, then perform PHI node checks if applicable.

2013-11-10  Karlson2k  <k2k@narod.ru>
	    Kai Tietz  <ktietz@redhat.com>

	PR plugin/52872
	* configure.ac: Adding for exported symbols check
	and for rdynamic-check executable-extension.
	* configure: Regenerated.

2013-11-10  Uros Bizjak  <ubizjak@gmail.com>

	* mode-switching.c (optimize_mode_switching): Mark block as
	nontransparent, if last_mode at block exit is different from no_mode.

2013-11-09  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* function.c (NAME__MAIN): Move to...
	* cfgexpand.c (NAME__MAIN): ...here.

2013-11-09  Richard Sandiford  <rdsandiford@googlemail.com>

	* target.def (can_use_doloop_p): New hook.
	* doc/tm.texi.in (TARGET_CAN_USE_DOLOOP_P): Add.
	* doc/tm.texi: Regenerate.
	* doc/md.texi (doloop_begin, doloop_end): Update documentation.
	* hooks.h (hook_bool_dint_dint_uint_true): Declare.
	* hooks.c (hook_bool_dint_dint_uint_true): New function.
	* targhooks.h (can_use_doloop_if_innermost): Declare.
	* targhooks.c (can_use_doloop_if_innermost): New function.
	* target.h: Include double-int.h.
	* loop-doloop.c (doloop_optimize): Call targetm.can_use_doloop_p.
	Remove iteration count, maximum iteration count, loop depth and
	enter-at-top inputs from doloop_begin and doloop_end.
	* config/arc/arc.md (doloop_begin, doloop_end): Update for new
	interface.
	* config/arc/arc.c (arc_can_use_doloop_p): New function.
	(TARGET_CAN_USE_DOLOOP_P): Define.
	* config/arm/thumb2.md (doloop_end): Update for new interface.
	* config/arm/arm.c (TARGET_CAN_USE_DOLOOP_P): Define.
	* config/bfin/bfin.md (doloop_end): Update for new interface.
	* config/bfin/bfin.c (bfin_can_use_doloop_p): New function.
	(TARGET_CAN_USE_DOLOOP_P): Define.
	* config/c6x/c6x.md (doloop_end): Update for new interface.
	* config/ia64/ia64.md (doloop_end): Update for new interface.
	* config/ia64/ia64.c (TARGET_CAN_USE_DOLOOP_P): Define.
	* config/mep/mep.md (doloop_begin, doloop_end): Update for new
	interface.
	* config/mep/mep.c (mep_emit_doloop): Likewise.
	(TARGET_CAN_USE_DOLOOP_P): Define.
	* config/rs6000/rs6000.md (doloop_end): Update for new interface.
	* config/rs6000/rs6000.c (TARGET_CAN_USE_DOLOOP_P): Define.
	* config/s390/s390.md (doloop_end): Update for new interface.
	* config/sh/sh.md (doloop_end): Likewise.
	* config/spu/spu.md (doloop_end): Likewise.
	* config/spu/spu.c (TARGET_CAN_USE_DOLOOP_P): Define.
	* config/tilegx/tilegx.md (doloop_end): Update for new interface.
	* config/tilegx/tilegx.c (TARGET_CAN_USE_DOLOOP_P): Define.
	* config/tilepro/tilepro.md (doloop_end): Update for new interface.
	* config/tilepro/tilepro.c (TARGET_CAN_USE_DOLOOP_P): Define.
	* config/v850/v850.md (doloop_begin, doloop_end): Update for new
	interface.
	* config/v850/v850.c (TARGET_CAN_USE_DOLOOP_P): Define.

2013-11-08  H.J. Lu  <hongjiu.lu@intel.com>

	PR other/59055
	* doc/extend.texi: Move Cilk Plus Builtins node before Other
	Builtins node.

2013-11-08  Andrew MacLeod  <amacleod@redhat.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* ginclude/stdatomic.h: New file.
	* Makefile.in (USER_H): Add stdatomic.h.

2013-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (arm_new_rtx_costs): Break after handling
	comparisons.

2013-11-08  Jeff Law  <law@redhat.com>

	* tree-ssa-threadupdate.h (delete_thread_path): Declare.
	* tree-ssa-threadupdate.c (delete_thread_path): New function.
	(ssa_redirect_edges, thread_block_1): Use it.
	(thread_through_loop_header, mark_threaded_blocks): Likewise.
	(thread_through_all_blocks, register_jump_thread): Likewise.
	* tree-ssa-threadedge.c (thread_across_edge): Likewise.

2013-11-08  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/arm/aarch-common.c
	(search_term): New typedef.
	(shift_rtx_costs): New array.
	(arm_rtx_shift_left_p): New.
	(arm_find_sub_rtx_with_search_term): Likewise.
	(arm_find_sub_rtx_with_code): Likewise.
	(arm_early_load_addr_dep): Add sanity checking.
	(arm_no_early_alu_shift_dep): Likewise.
	(arm_no_early_alu_shift_value_dep): Likewise.
	(arm_no_early_mul_dep): Likewise.
	(arm_no_early_store_addr_dep): Likewise.

2013-11-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59047
	* tree-predcom.c (ref_at_iteration): Handle bitfield accesses properly.

2013-11-08  Ilya Enkovich  <ilya.enkovich@intel.com>

	* common.opt (fcheck-pointer-bounds): Move to ...
	* c-family/c.opt: ... here.
	* langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): Remove.
	(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CHKP_SUPPORTED.
	* langhooks.h (lang_hooks): Remove chkp_supported field.
	* toplev.c (process_options): Remove chkp_supported check.

2013-11-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59038
	PR tree-optimization/58955
	* tree-loop-distribution.c (pg_add_dependence_edges): Revert
	previous change.  Handle known dependences correctly.

2013-11-08  Tom de Vries  <tom@codesourcery.com>

	* config/rs6000/t-xilinx: Remove duplicate contents.

2013-11-07  Andrew MacLeod  <amacleod@redhat.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* tree-core.h (enum cv_qualifier): Add TYPE_QUAL_ATOMIC.
	(enum tree_index): Add TI_ATOMICQI_TYPE, TI_ATOMICHI_TYPE,
	TI_ATOMICSI_TYPE, TI_ATOMICDI_TYPE and TI_ATOMICTI_TYPE.
	(struct tree_base): Add atomic_flag field.
	* tree.h (TYPE_ATOMIC): New accessor macro.
	(TYPE_QUALS, TYPE_QUALS_NO_ADDR_SPACE): Add TYPE_QUAL_ATOMIC.
	(TYPE_QUALS_NO_ADDR_SPACE_NO_ATOMIC): New macro.
	(atomicQI_type_node, atomicHI_type_node, atomicSI_type_node)
	(atomicDI_type_node, atomicTI_type_node): New macros for type nodes.
	* tree.c (set_type_quals): Set TYPE_ATOMIC.
	(find_atomic_core_type): New function.
	(build_qualified_type): Adjust alignment for qualified types.
	(build_atomic_base): New function
	(build_common_tree_nodes): Build atomicQI_type_node,
	atomicHI_type_node, atomicSI_type_node, atomicDI_type_node and
	atomicTI_type_node.
	* print-tree.c (print_node): Print atomic qualifier.
	* tree-pretty-print.c (dump_generic_node): Print atomic type attribute.
	* target.def (atomic_assign_expand_fenv): New hook.
	* doc/tm.texi.in (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New @hook.
	* doc/tm.texi: Regenerate.
	* targhooks.c (default_atomic_assign_expand_fenv): New function.
	* targhooks.h (default_atomic_assign_expand_fenv): Declare.
	* sync-builtins.def (__atomic_feraiseexcept): New built-in function.
	* config/i386/i386-builtin-types.def (VOID_FTYPE_PUSHORT): New
	function type.
	* config/i386/i386.c (enum ix86_builtins): Add
	IX86_BUILTIN_FNSTENV, IX86_BUILTIN_FLDENV, IX86_BUILTIN_FNSTSW and
	IX86_BUILTIN_FNCLEX.
	(bdesc_special_args): Add __builtin_ia32_fnstenv,
	__builtin_ia32_fldenv, __builtin_ia32_fnstsw and __builtin_ia32_fnclex.
	(ix86_expand_builtin): Handle the new built-in functions.
	(ix86_atomic_assign_expand_fenv): New function.
	(TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New macro.
	* config/i386/i386.md (UNSPECV_FNSTENV, UNSPECV_FLDENV)
	(UNSPECV_FNSTSW, UNSPECV_FNCLEX): New unspecs.
	(fnstenv, fldenv, fnstsw, fnclex): New insns.

2013-11-07  Steve Ellcey  <sellcey@mips.com>

	* config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Add fp64 directory.
	* config/mips/t-mti-linux (MULTILIB_OPTIONS): Add -mfp64 flag.
	(MULTILIB_DIRNAMES): Add fp64 directory.
	(MULTILIB_EXCEPTIONS): Add new exclusions.

2013-11-07  Aldy Hernandez  <aldyh@redhat.com>

	* gimplify.c (gimple_regimplify_operands): Do not set
	SSA_NAME_DEF_STMT.
	* graphite-sese-to-poly.c (remove_simple_copy_phi): Same.
	(rewrite_close_phi_out_of_ssa): Same.
	(rewrite_phi_out_of_ssa): Same.
	(rewrite_degenerate_phi): Same.
	(handle_scalar_deps_crossing_scop_limits): Same.
	* tree-if-conv.c (predicate_scalar_phi): Same.
	* tree-parloops.c (create_loads_for_reductions): Same.
	(create_final_loads_for_reduction): Same.
	(create_loads_and_stores_for_name): Same.
	(transform_to_exit_first_loop): Same.
	(create_parallel_loop): Same.
	* tree-ssa-loop-im.c
	(move_computations_dom_walker::before_dom_children): Same.
	* tree-ssa-loop-manip.c (rewrite_phi_with_iv): Same.
	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Same.
	* tree-ssa-propagate.c (substitute_and_fold): Same.
	* tree-vect-loop.c (vect_finalize_reduction): Same.
	* tree-vect-stmts.c (vectorizable_call): Same.

2013-11-07  Mike Stump  <mikestump@comcast.net>

	* config/pdp11/pdp11.c: Include dbxout.h.
	* config/picochip/picochip.c: Likewise.

2013-11-07  Cong Hou  <congh@google.com>

	PR tree-optimization/56764
	* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
	Combine alias checks if it is possible to amortize the runtime
	overhead.  Return the number of alias checks after merging.
	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
	Use the function vect_create_cond_for_alias_checks () to check
	the number of alias checks.

2013-11-07  Jeff Law  <law@redhat.com>

	* varpool.c (ctor_for_folding): Fix typo in comment.

2013-11-07  Joern Rennecke  <joern.rennecke@embecosm.com>

	* config/arc/arc.c (arc_ifcvt): Use commutativity, e.g.:
	reg_a := reg_b + reg_a  ==>  reg_a := reg_a + reg_b

2013-11-07  Jeff Law  <law@redhat.com>

	* doc/invoke.texi (-fisolate-erroneous-paths): Document.

	* gimple-ssa-isolate-paths.c (gate_isolate_erroneous_paths):
	No longer check if we have __builtin_trap, assume it's available.

2013-11-07  Diego Novillo  <dnovillo@google.com>

	* attribs.c (lookup_scoped_attribute_spec): Make static.
	(get_attribute_namespace): Likewise.
	* builtins.c (more_const_call_expr_args_p): Move from tree.h.
	(validate_arglist): Move earlier in the file. Make static.
	(expand_stack_restore): Move from stmt.c
	(expand_stack_save): Move from stmt.c
	(rewrite_call_expr_array): Move earlier in the file.
	(rewrite_call_expr_valist): Likewise.
	* cfgexpand.c: Include hard-reg-set.h before tree.h
	Include recog.h.
	Include output.h.
	(expand_asm_loc): Move from stmt.c.
	(n_occurrences): Move from stmt.c.
	(check_operand_nalternatives): Move from stmt.c.
	(tree_conflicts_with_clobbers_p): Move from stmt.c.
	(expand_asm_operands): Move from stmt.c
	(expand_asm_stmt): Move from stmt.c
	(expand_computed_goto): Move from stmt.c
	(expand_goto): Move from stmt.c
	(expand_null_return_1): Move from stmt.c
	(expand_null_return): Move from stmt.c
	(expand_value_return): Move from stmt.c
	(expand_return): Move from stmt.c
	(expand_main_function): Move from function.c
	(stack_protect_prologue): Move from function.c
	* cgraphclones.c (build_function_type_skip_args): Move from tree.c.
	(build_function_decl_skip_args): Move from tree.c.
	* explow.c (tree_expr_size): Move from tree.c.
	* expr.c (addr_expr_of_non_mem_decl_p): Remove.
	(fields_length): Move from tree.c.
	* fold-const.c (size_low_cst): Move from tree.c.
	(tree_expr_nonzero_warnv_p): Make static. Move earlier in the file.
	(tree_expr_nonzero_p): Make static. Move earlier in the file.
	(fold_build3_initializer_loc): Remove.
	(tree_invalid_nonnegative_warnv_p): Make static.
	* function.c (expand_main_function): Move to cfgexpand.c.
	(stack_protect_prologue): Move to cfgexpand.c.
	(set_insn_locations): Move earlier in the file.
	* gimple-fold.c: Include langhooks.h.
	(truth_type_for): Move from tree.c.
	* print-tree.c (print_vec_tree): Remove.
	* stmt.c (expand_computed_goto): Move to cfgexpand.c.
	(expand_goto): Move to cfgexpand.c.
	(n_occurrences): Move to cfgexpand.c.
	(expand_asm_loc): Move to cfgexpand.c
	(tree_conflicts_with_clobbers_p): Move to cfgexpand.c.
	(expand_asm_operands): Move to cfgexpand.c.
	(expand_asm_stmt): Move to cfgexpand.c.
	(check_operand_nalternatives): Move to cfgexpand.c
	(expand_null_return): Move to cfgexpand.c.
	(expand_value_return): Move to cfgexpand.c.
	(expand_null_return_1): Move to cfgexpand.c.
	(expand_return): Move to cfgexpand.c.
	(expand_stack_save): Move to builtins.c.
	(expand_stack_restore): Move to builtins.c
	* symtab.c: Include output.h.
	(decl_assembler_name_hash): Move from tree.c.
	(decl_assembler_name_equal): Move from tree.c.
	* trans-mem.c (is_tm_safe_or_pure): Move from tree.h.
	* tree-eh.c (in_array_bounds_p): Move from tree.c.
	(range_in_array_bounds_p): Move from tree.c.
	* tree-object-size.c (fini_object_sizes): Make static.
	* tree-ssa-dom.c (iterative_hash_exprs_commutative): Move from tree.h.
	* tree-vrp.c (ssa_name_nonnegative_p): Remove.
	* tree.c (decl_assembler_name_equal): Move to symtab.c.
	(tree_expr_size): Move to explow.c.
	(decl_assembler_name_hash): Move to symtab.c.
	(real_twop): Remove.
	(tree_expr_size): Move to explow.c.
	(stabilize_reference_1): Move earlier in the file. Make static.
	(omp_remove_redundant_declare_simd_attrs): Remove.
	(simple_cst_list_equal): Move earlier in the file. Make static.
	(size_low_cst): Move to fold-const.c.
	(build_type_no_quals): Remove.
	(build_function_type_skip_args): Move to cgraphclones.c.
	(build_function_decl_skip_args): Move to cgraphclones.c.
	(in_array_bounds_p): Move to tree-eh.c.
	(range_in_array_bounds_p): Move to tree-eh.c.
	(truth_type_for): Move to gimple-fold.c.
	(list_equal_p): Remove.
	* tree.h (decl_assembler_name_equal): Remove.
	(decl_assembler_name_hash): Remove.
	(truth_type_for): Remove.
	(build_type_no_quals): Remove.
	(build_function_decl_skip_args): Remove.
	(in_array_bounds_p): Remove.
	(range_in_array_bounds_p): Remove.
	(size_low_cst): Remove.
	(omp_remove_redundant_declare_simd_attrs): Remove.
	(tree_expr_size): Remove.
	(fields_length): Remove.
	(stabilize_reference_1): Remove.
	(expand_goto): Remove.
	(expand_stack_save): Remove.
	(expand_stack_restore): Remove.
	(expand_return): Remove.
	(fold_build3_initializer_loc): Remove.
	(tree_expr_nonzero_p): Remove.
	(tree_invalid_nonnegative_warnv_p): Remove.
	(tree_expr_nonzero_warnv_p): Remove.
	(fold_builtin_snprintf_chk): Remove.
	(validate_arglist): Remove.
	(iterative_hash_exprs_commutative): Move to tree-ssa-dom.c.
	(simple_cst_list_equal): Remove.
	(real_twop): Remove.
	(expand_main_function): Remove.
	(stack_protect_prologue): Remove.
	(print_vec_tree): Remove.
	(lookup_scoped_attribute_spec): Remove.
	(get_attribute_namespace): Remove.
	(expand_computed_goto): Remove.
	(expand_asm_stmt): Remove.
	(list_equal_p): Remove.
	(ssa_name_nonnegative_p): Remove.
	(fini_object_sizes): Remove.
	(addr_expr_of_non_mem_decl_p): Remove.
	(is_tm_safe_or_pure): Move to trans-mem.c.
	(more_const_call_expr_args_p): Remove.
	(save_vtable_map_decl): Remove.

2013-11-07  Thomas Schwinge  <thomas@codesourcery.com>

	* doc/sourcebuild.texi (Top Level) <lto-plugin>: GNU ld can use
	linker plugins, too.

	* config/arc/arc.h (LINK_COMMAND_SPEC): For -ftree-parallelize-loops=*,
	link to libgomp and its dependencies.
	* config/ia64/hpux.h (LIB_SPEC): Likewise.
	* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
	* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
	* gcc.c (GOMP_SELF_SPECS): Update comment about libgomp's dependencies.

2013-11-07  Jakub Jelinek  <jakub@redhat.com>

	* tree-ssa-loop-niter.c: Include tree-ssanames.h.
	(determine_value_range): Add loop argument.  Use get_range_info to
	improve range.
	(bound_difference): Adjust caller.

2013-11-07  Richard Biener  <rguenther@suse.de>
	    Jakub Jelinek  <jakub@redhat.com>

	* tree-vrp.c (find_assert_locations): Pre-seed live bitmaps for loop
	latches from header PHI arguments from the latch edge.

2013-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58176
	* varasm.c (output_constant): Handle NULLPTR_TYPE.

2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_expand_set_or_movmem): Don't set
	misaligned_prologue_used when it has been set.

2013-11-07  Yury Gribov  <y.gribov@samsung.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/59029
	* asan.c (get_mem_refs_of_builtin_call): Allow
	integer literals as addresses in instrumented builtins.

2013-11-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/aarch64/aarch64.c (aarch64_legitimize_reload_address):
	Explain why plus_constant is not used.

2013-11-07  Richard Biener  <rguenther@suse.de>

	* tree-ssa-ccp.c (canonicalize_float_value): Rename to ...
	(canonicalize_value): ... this.  Also handle stripping of
	TREE_OVERFLOW.
	(get_value, set_lattice_value, get_value_for_expr): Adjust.
	* gimple-fold.c (canonicalize_constructor_val): Strip TREE_OVERFLOW.
	* tree-ssa-threadedge.c (set_ssa_name_value): Likewise.

2013-11-07  Richard Biener  <rguenther@suse.de>

	* tree-dfa.c (get_ref_base_and_extent): Fix casting.

2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59034
	* config/i386/i386.md (push peepholer/splitter): Use Pmode
	with stack_pointer_rtx.

2013-11-07  Bin Cheng  <bin.cheng@arm.com>

	* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Check equality
	using operand_equal_p.

2013-11-07  Bin Cheng  <bin.cheng@arm.com>

	* tree-ssa-loop-ivopts.c (alloc_iv): Lower address expressions.
	* tree-affine.c (get_inner_reference_aff): Return base.
	* tree-affine.h (get_inner_reference_aff): Change prototype.

2013-11-06  Tobias Burnus  <burnus@net-b.de>

	* doc/invoke.texi (Wdate-time): Fix typo.

2013-11-06  Oleg Endo  <olegendo@gcc.gnu.org>

	* config/sh/sh.md (addsf3, divsf3, divsf3_i, rsqrtsf2, cmpgtdf_t,
	cmpeqdf_t, *ieee_ccmpeqdf_t, negdf2, sqrtdf2, absdf2): Use
	fp_arith_reg_operand instead of arith_reg_operand.

2013-11-06  Oleg Endo  <olegendo@gcc.gnu.org>

	* config/sh/sh.md (adddi3): Remove empty constraints.
	Remove can_create_pseudo_p and arith_reg_operand check.
	(adddi3_compact, subdi3_compact, *negdi2): Remove constraints.
	Split before reload.

2013-11-06  Jeff Law  <law@redhat.com>
	    Tom Tromey  <tromey@redhat.com>

	* gdbinit.in: Disable strict type checking.

2013-11-06  Vladimir Makarov  <vmakarov@redhat.com>

	* tree-pass.h (make_pass_live_range_shrinkage): New external.
	* timevar.def (TV_LIVE_RANGE_SHRINKAGE): New.
	* sched-rgn.c (gate_handle_live_range_shrinkage): New.
	(rest_of_handle_live_range_shrinkage): Ditto
	(class pass_live_range_shrinkage): Ditto.
	(pass_data_live_range_shrinkage): Ditto.
	(make_pass_live_range_shrinkage): Ditto.
	* sched-int.h (initialize_live_range_shrinkage): New prototype.
	(finish_live_range_shrinkage): Ditto.
	* sched-deps.c (create_insn_reg_set): Make void return value.
	* passes.def: Add pass_live_range_shrinkage.
	* ira.c (update_equiv_regs): Don't move if flag_live_range_shrinkage.
	* haifa-sched.c (live_range_shrinkage_p): New.
	(initialize_live_range_shrinkage, finish_live_range_shrinkage):
	New functions.
	(rank_for_schedule): Add code for pressure relief through live
	range shrinkage.
	(schedule_insn): Print more debug info.
	(sched_init): Setup SCHED_PRESSURE_WEIGHTED for pressure relief
	through live range shrinkage.
	* doc/invoke.texi (-flive-range-shrinkage): New.
	* common.opt (flive-range-shrinkage): New.

2013-11-06  Uros Bizjak  <ubizjak@gmail.com>

	PR target/59021
	* config/i386/i386.c (ix86_avx_u128_mode_needed): Require
	AVX_U128_DIRTY mode for call_insn RTXes that use AVX256 registers.
	(ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY mode for call_insn
	RTXes that return in AVX256 register.

2013-11-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58653
	* tree-predcom.c (ref_at_iteration): Rewrite to generate a MEM_REF.
	(prepare_initializers_chain): Adjust.

2013-11-06  Andrew MacLeod  <amacleod@redhat.com>

	* gimple.h (block_in_transaction): Move to basic-block.h and rename.
	(gimple_in_transaction): Use bb_in_transaction.
	* basic-block.h (bb_in_transaction): Relocate here and rename.
	* tree-ssa-loop-im.c (execute_sm): Use bb_in_transaction.

2013-11-06  Richard Biener  <rguenther@suse.de>

	* tree.c (drop_tree_overflow): New function.
	* tree.h (drop_tree_overflow): Declare.
	* gimplify.c (gimplify_expr): Drop TREE_OVERFLOW.
	* tree-vrp.c (range_int_cst_singleton_p): Use
	is_overflow_infinity instead of testing TREE_OVERFLOW.
	(extract_range_from_assert): Likewise.
	(zero_nonzero_bits_from_vr): Likewise.
	(extract_range_basic): Likewise.
	(register_new_assert_for): Use drop_tree_overflow.
	(vrp_visit_phi_node): Likewise.

2013-11-06  Eric Botcazou  <ebotcazou@adacore.com>

	* config/i386/i386.c (ix86_expand_prologue): Optimize stack
	checking for leaf functions without dynamic stack allocation.
	* config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
	(ia64_expand_prologue): Likewise.
	* config/mips/mips.c (mips_expand_prologue): Likewise.
	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
	* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
	(sparc_flat_expand_prologue): Likewise.

2013-11-06  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/arm_neon.h (__ST2_LANE_FUNC): Better model data size.
	(__ST3_LANE_FUNC): Likewise.
	(__ST4_LANE_FUNC): Likewise.

2013-11-06  Nick Clifton  <nickc@redhat.com>

	* config/msp430/msp430.h (TARGET_CPU_CPP_BUILTINS): Define the
	name returned by msp430_mcu_name.
	(LIB_SPEC): If a -T option has not been specified then set a
	default, mcu-specific, linker script.
	* config/msp430/t-msp430 (MULTILIB_MATCHES): Add more mcu names.
	* config/msp430/msp430.c (msp430x_names): Likewise.
	Alpha sort the names for ease of comparison.
	(msp430_mcu_name): New function:  Returns a string suitable for
	use as a C preprocessor symbol based upon the name of the MCU
	being targeted.
	(msp430_option_override): Accept msp430x and msp430xv2 as generic
	mcu names.
	* config/msp430/msp430-protos.h (msp430_mcu_name): Prototype.

	* gcc.c (do_spec_1): Do not insert a space after a %* substitution
	unless it is the last part of a spec substring.
	* doc/invoke.texi (Spec Files): Document space insertion
	behaviour of %*.

2013-11-06  Christian Bruel  <christian.bruel@st.com>

	* config/sh/sh-mem.cc (sh_expand_cmpnstr, sh_expand_cmpstr):
	Factorize probabilities, Use adjust_address instead of
	adjust_automodify_address when possible. Enable for optimize.
	(sh_expand_strlen): New function.
	* config/sh/sh-protos.h (sh_expand_strlen): Declare.
	* config/sh/sh.md (strlensi): New pattern.
	(UNSPEC_BUILTIN_STRLEN): Define.

2013-11-06  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/58970
	* expr.c (get_bit_range): Handle *offset == NULL_TREE.
	(expand_assignment): If *bitpos is negative, set *offset
	and adjust *bitpos, so that it is not negative.

2013-11-06  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>

	* config/i386/bdver3.md : Added two additional decoder units
	to support issue rate of 4 and remodeled vector unit.
	* config/i386/i386.c (ix86_issue_rate): Issue rate for BD
	architectures is set to 4.
	* config/i386/i386.c (ia32_multipass_dfa_lookahead): DFA
	lookahead is set to 4 for BD architectures.

2013-11-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_option_override_internal):
	Remove restriction against use of VSX instructions when generating
	code for little endian mode.

2013-11-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (mulv4si3): Ensure we generate vmulouh
	for both big and little endian.
	(mulv8hi3): Swap input operands for merge high and merge low
	instructions for little endian.

2013-11-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (vec_widen_umult_even_v16qi): Change
	define_insn to define_expand that uses even patterns for big
	endian and odd patterns for little endian.
	(vec_widen_smult_even_v16qi): Likewise.
	(vec_widen_umult_even_v8hi): Likewise.
	(vec_widen_smult_even_v8hi): Likewise.
	(vec_widen_umult_odd_v16qi): Likewise.
	(vec_widen_smult_odd_v16qi): Likewise.
	(vec_widen_umult_odd_v8hi): Likewise.
	(vec_widen_smult_odd_v8hi): Likewise.
	(altivec_vmuleub): New define_insn.
	(altivec_vmuloub): Likewise.
	(altivec_vmulesb): Likewise.
	(altivec_vmulosb): Likewise.
	(altivec_vmuleuh): Likewise.
	(altivec_vmulouh): Likewise.
	(altivec_vmulesh): Likewise.
	(altivec_vmulosh): Likewise.

2013-11-05  Mike Stump  <mikestump@comcast.net>

	* Makefile.in (mostlyclean): Remove c-family objects.

2013-11-05  Ian Lance Taylor  <iant@google.com>

	* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
	If possible, add .cfi directives to record change to bx.
	* config/i386/i386.c (ix86_emit_cfi): New function.
	* config/i386/i386-protos.h (ix86_emit_cfi): Declare.

2013-11-05  Steven Bosscher  <steven@gcc.gnu.org>

	* rtlanal.c (tablejump_p): Expect a JUMP_TABLE_DATA to always follow
	immediately after a label for a tablejump pattern.

	* config/arm/arm.c (is_jump_table): Remove.
	(create_fix_barrier): Use tablejump_p instead.
	(arm_reorg): Likewise.
	(thumb1_output_casesi): Expect JUMP_TABLE_DATA to always be NEXT_INSN.
	(thumb2_output_casesi): Likewise.
	* config/aarch64/aarch64.c (aarch64_output_casesi): Likewise.
	* config/sh/sh.md (casesi_worker_1, casesi_worker_2,
	casesi_shift_media, casesi_load_media): Likewise.
	* config/iq2000/iq2000.md: Likewise (in anonymous define_insn).
	* config/microblaze/microblaze.md: Likewise.

2013-11-05  Tobias Burnus  <burnus@net-b.de>

	* doc/invoke.texi (-Wdate-time): Document.

2013-11-05  Richard Sandiford  <rdsandiford@googlemail.com>

	* double-int.c (lshift_double, rshift_double): Remove
	SHIFT_COUNT_TRUNCATED handling.

2013-11-05  Jeff Law  <law@redhat.com>

	* Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o
	* common.opt (-fisolate-erroneous-paths): Add option and documentation.
	* gimple-ssa-isolate-paths.c: New file.
	* gimple.c (check_loadstore): New function.
	(infer_nonnull_range): Moved into gimple.c from tree-vrp.c
	Verify OP is in the argument list and the argument corresponding
	to OP is a pointer type.  Use operand_equal_p rather than
	pointer equality when testing if OP is on the nonnull list.
	Use check_loadstore rather than count_ptr_derefs.  Handle
	GIMPLE_RETURN statements.
	* tree-vrp.c (infer_nonnull_range): Remove.
	* gimple.h (infer_nonnull_range): Declare.
	* opts.c (default_options_table): Add OPT_fisolate_erroneous_paths.
	* passes.def: Add pass_isolate_erroneous_paths.
	* timevar.def (TV_ISOLATE_ERRONEOUS_PATHS): New timevar.
	* tree-pass.h (make_pass_isolate_erroneous_paths): Declare.
	* tree-ssa.c (struct count_ptr_d): Remove.
	(count_ptr_derefs, count_uses_and_derefs): Remove.
	* tree-ssa.h (count_uses_and_derefs): Remove.

2013-11-05  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/58997
	* loop-iv.c (iv_subreg): For IV_UNKNOWN_EXTEND, expect
	get_iv_value to be in iv->mode rather than iv->extend_mode.
	(iv_extend): Likewise.  Otherwise, if iv->extend != extend,
	use lowpart_subreg on get_iv_value before calling simplify_gen_unary.
	* loop-unswitch.c (may_unswitch_on): Make sure op[i] is in the right
	mode.

2013-11-05  Andrew MacLeod  <amacleod@redhat.com>

	* gimple.h: Move some prototypes to gimple-expr.h and add to include
	list.
	(extract_ops_from_tree, gimple_call_addr_fndecl, is_gimple_reg_type):
	Move to gimple-expr.h.
	* gimple-expr.h: New file.  Relocate some prototypes from gimple.h.
	(types_compatible_p, is_gimple_reg_type, is_gimple_variable,
	is_gimple_id, virtual_operand_p, is_gimple_addressable,
	is_gimple_constant, extract_ops_from_tree, gimple_call_addr_fndecl):
	Relocate here.
	* gimple.c (extract_ops_from_tree_1, gimple_cond_get_ops_from_tree,
	gimple_set_body, gimple_body, gimple_has_body_p, is_gimple_lvalue,
	is_gimple_condexpr, is_gimple_addressable, is_gimple_constant,
	is_gimple_address, is_gimple_invariant_address,
	is_gimple_ip_invariant_address, is_gimple_min_invariant,
	is_gimple_ip_invariant, is_gimple_variable, is_gimple_id,
	virtual_operand_p, is_gimple_reg, is_gimple_val, is_gimple_asm_val,
	is_gimple_min_lval, is_gimple_call_addr, is_gimple_mem_ref_addr,
	gimple_decl_printable_name, useless_type_conversion_p,
	types_compatible_p, gimple_can_coalesce_p, copy_var_decl): Move to
	gimple-expr.[ch].
	* gimple-expr.c: New File.
	(useless_type_conversion_p, gimple_set_body, gimple_body,
	gimple_has_body_p, gimple_decl_printable_name, copy_var_decl,
	gimple_can_coalesce_p, extract_ops_from_tree_1,
	gimple_cond_get_ops_from_tree, is_gimple_lvalue, is_gimple_condexpr,
	is_gimple_address, is_gimple_invariant_address,
	is_gimple_ip_invariant_address, is_gimple_min_invariant,
	is_gimple_ip_invariant, is_gimple_reg, is_gimple_val,
	is_gimple_asm_val, is_gimple_min_lval, is_gimple_call_addr,
	is_gimple_mem_ref_addr): Relocate here.
	* Makefile.in (OBJS): Add gimple-expr.o.

2013-11-05  David Malcolm  <dmalcolm@redhat.com>

	* gengtype-parse.c (struct_field_seq): Support empty structs.

2013-11-05  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.

2013-11-05  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386-c.c (ix86_target_macros): Define _SOFT_FLOAT
	for !TARGET_80387.
	* config/i386/rtemself.h (TARGET_OS_CPP_BUILTINS): Do not define
	_SOFT_FLOAT here.
	(LONG_DOUBLE_TYPE_SIZE): New define.
	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Ditto.

2013-11-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58724
	* doc/extend.texi [visibility ("visibility_type")]: Add example
	about visibility attribute on namespace declaration.

2013-11-05  Richard Biener  <rguenther@suse.de>

	PR ipa/58492
	* passes.def (all_passes): Start with pass_fixup_cfg again.

2013-11-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58955
	* tree-loop-distribution.c (pg_add_dependence_edges): Fix
	edge direction.

2013-11-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vector.md (vec_pack_sfix_trunc_v2df): Adjust for
	little endian.
	(vec_pack_ufix_trunc_v2df): Likewise.

2013-11-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/58981
	* doc/md.texi (@code{movmem@var{m}}): Specify Pmode as mode of
	pattern, instead of word_mode.

	* expr.c (emit_block_move_via_movmem): Don't use mode wider than
	Pmode for size.
	(set_storage_via_setmem): Likewise.

2013-11-05  Andrew MacLeod  <amacleod@redhat.com>

	* tree-outof-ssa.c (queue_phi_copy_p): Combine phi_ssa_name_p from
	gimple.h and the rest of the condition in eliminate_build.
	(eliminate_build): Call new routine.
	* gimple.h (phi_ssa_name_p): Delete.

2013-11-05  Trevor Saunders  <tsaunders@mozilla.com>

	* vec.c (vec_prefix::calculate_allocation): Don't try to handle the
	case of no prefix and reserving zero slots, because when that's the
	case we'll never get here.
	* vec.h (va_heap::reserve): Don't try and handle
	vec_prefix::calculate_allocation returning zero because that should
	never happen.

2013-11-05  Richard Biener  <rguenther@suse.de>

	PR middle-end/58941
	* tree-dfa.c (get_ref_base_and_extent): Merge common code
	in MEM_REF and TARGET_MEM_REF handling.  Make sure to
	process trailing array detection before diving into the
	view-converted object (and possibly apply some extra offset).

2013-11-05  Joseph Myers  <joseph@codesourcery.com>

	* config/i386/i386.c (ix86_float_exceptions_rounding_supported_p):
	New function.
	(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Define.

2013-11-05  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/58958
	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Use
	get_addr_base_and_unit_offset instead of get_ref_base_and_extent.

2013-11-05  Marc Glisse  <marc.glisse@inria.fr>

	* tree-ssa-alias.h (ranges_overlap_p): Handle negative offsets.
	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Likewise.

2013-11-05  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/58984
	* ipa-prop.c (ipa_load_from_parm_agg_1): Add SIZE_P argument,
	set *SIZE_P if non-NULL on success.
	(ipa_load_from_parm_agg, ipa_analyze_indirect_call_uses): Adjust
	callers.
	(ipcp_transform_function): Likewise.  Punt if size of access
	is different from TYPE_SIZE on v->value's type.

2013-11-05  Tobias Burnus  <burnus@net-b.de>

	* doc/invoke.texi (-fopenmp-simd): Document new option.
	* gimplify.c (gimplify_body): Accept -fopenmp-simd.
	* omp-low.c (execute_expand_omp, execute_lower_omp): Ditto.
	* tree.c (attribute_value_equal): Ditto.

2013-11-04  Wei Mi  <wmi@google.com>

	* sched-rgn.c (add_branch_dependences): Keep insns in
	a SCHED_GROUP at the end of BB to remain their location.

2013-11-04  Wei Mi  <wmi@google.com>

	* config/i386/i386.c (memory_address_length): Extract a part
	of code to rip_relative_addr_p.
	(rip_relative_addr_p): New Function.
	(ix86_macro_fusion_p): Ditto.
	(ix86_macro_fusion_pair_p): Ditto.
	* config/i386/i386.h: Add new tune features about macro-fusion.
	* config/i386/x86-tune.def (DEF_TUNE): Ditto.
	* doc/tm.texi: Generated.
	* doc/tm.texi.in: Ditto.
	* haifa-sched.c (try_group_insn): New Function.
	(group_insns_for_macro_fusion): Ditto.
	(sched_init): Call group_insns_for_macro_fusion.
	* target.def: Add two hooks: macro_fusion_p and
	macro_fusion_pair_p.

2013-11-04  Kostya Serebryany  <kcc@google.com>

	Update to match the changed asan API.
	* asan.c (asan_function_start): New function.
	(asan_emit_stack_protection): Update the string stored in the
	stack red zone to match new API.  Store the PC of the current
	function in the red zone.
	(asan_global_struct): Update the __asan_global definition to match
	the new API.
	(asan_add_global): Ditto.
	* asan.h (asan_function_start): New prototype.
	* final.c (final_start_function): Call asan_function_start.
	* sanitizer.def (BUILT_IN_ASAN_INIT): Rename __asan_init_v1
	to __asan_init_v3.

2013-11-04  Wei Mi  <wmi@google.com>

	* config/i386/i386-c.c (ix86_target_macros_internal): Separate
	PROCESSOR_COREI7_AVX out from PROCESSOR_COREI7.
	* config/i386/i386.c (ix86_option_override_internal): Ditto.
	(ix86_issue_rate): Ditto.
	(ix86_adjust_cost): Ditto.
	(ia32_multipass_dfa_lookahead): Ditto.
	(ix86_sched_init_global): Ditto.
	(get_builtin_code_for_version): Ditto.
	* config/i386/i386.h (enum target_cpu_default): Ditto.
	(enum processor_type): Ditto.
	* config/i386/x86-tune.def (DEF_TUNE): Ditto.

2013-11-04  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/58967
	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
	!lra_in_progress for mode sizes bigger word.

2013-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (vec_widen_umult_hi_v16qi): Swap
	arguments to merge instruction for little endian.
	(vec_widen_umult_lo_v16qi): Likewise.
	(vec_widen_smult_hi_v16qi): Likewise.
	(vec_widen_smult_lo_v16qi): Likewise.
	(vec_widen_umult_hi_v8hi): Likewise.
	(vec_widen_umult_lo_v8hi): Likewise.
	(vec_widen_smult_hi_v8hi): Likewise.
	(vec_widen_smult_lo_v8hi): Likewise.

2013-11-04  Ian Lance Taylor  <iant@google.com>

	* builtins.def (ATTR_NOTHROWCALL_LEAF_LIST): Define.
	* sync-builtins.def: Use ATTR_NOTHROWCALL_LEAF_LIST for all sync
	builtins that take pointers.
	* lto-opts.c (lto_write_options): Write -fnon-call-exceptions if set.
	* lto-wrapper.c (merge_and_complain): Collect OPT_fnon_call_exceptions.
	(run_gcc): Pass -fnon-call-exceptions.

2013-11-04  Jakub Jelinek  <jakub@redhat.com>

	* optabs.c (expand_vec_perm): Revert one incorrect line from
	2013-10-31 change.

	PR tree-optimization/58978
	* tree-vrp.c (all_imm_uses_in_stmt_or_feed_cond): Don't modify
	use_stmt by single_imm_use directly.  Only call single_imm_use
	on SSA_NAMEs.

2013-11-04  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/58968
	* lra-spills.c (return_regno_p): New function.
	(lra_final_code_change): Use it.

2013-11-04  Joseph Myers  <joseph@codesourcery.com>

	* doc/cpp.texi (__GCC_IEC_559, __GCC_IEC_559_COMPLEX): Document macros.
	* target.def (float_exceptions_rounding_supported_p): New hook.
	* targhooks.c (default_float_exceptions_rounding_supported_p): New
	function.
	* targhooks.h (default_float_exceptions_rounding_supported_p): Declare.
	* doc/tm.texi.in (TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P):
	New @hook.
	* doc/tm.texi: Regenerate.
	* config.gcc (powerpc*-*-linux*): Set extra_objs.
	* config/rs6000/rs6000-linux.c: New file.
	* config/rs6000/rs6000-protos.h
	(rs6000_linux_float_exceptions_rounding_supported_p): Declare.
	* config/rs6000/linux.h
	(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): New macro.
	* config/rs6000/linux64.h
	(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Likewise.
	* config/rs6000/t-linux (rs6000-linux.o): New rule.
	* config/rs6000/t-linux64 (rs6000-linux.o): Likewise.

2013-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vsx.md (*vsx_le_perm_store_<mode> for VSX_D):
	Replace the define_insn_and_split with a define_insn and two
	define_splits, with the split after reload re-permuting the source
	register to its original value.
	(*vsx_le_perm_store_<mode> for VSX_W): Likewise.
	(*vsx_le_perm_store_v8hi): Likewise.
	(*vsx_le_perm_store_v16qi): Likewise.

2013-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vector.md (vec_pack_trunc_v2df):  Adjust for
	little endian.

2013-11-04  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/58946
	* tree-ssa-reassoc.c (maybe_optimize_range_tests): Update all
	bbs with bbinfo[idx].op != NULL before all blocks with
	bbinfo[idx].op == NULL.

2013-11-04  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/avr/avr-log.c (avr_double_int_pop_digit): Delete.
	(avr_dump_double_int_hex): Likewise.
	(avr_log_vadump): Remove %D and %X handling.
	* config/avr/avr.c (avr_double_int_push_digit): Delete.
	(avr_map_op_t): Change map from double_int to unsigned int.
	(avr_map_op): Update accordingly.
	(avr_map, avr_map_metric, avr_has_nibble_0xf, avr_map_decompose)
	(avr_move_bits, avr_out_insert_bits, avr_fold_builtin): Operate on
	unsigned ints rather than double_ints.

2013-11-03  Marek Polacek  <polacek@redhat.com>

	Implement -fsanitize=vla-bound.
	* opts.c (common_handle_option): Handle vla-bound.
	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE): Define.
	* flag-types.h (enum sanitize_code): Add SANITIZE_VLA.
	* asan.c (initialize_sanitizer_builtins): Build BT_FN_VOID_PTR_PTR.

2013-11-02  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

	* config/rs6000/rs6000.c (rs6000_expand_vector_set): Adjust for
	little endian.

2013-11-02  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/constraints.md (Ts, Tv): New address constrains.
	* config/i386/i386.md (*lea<mode>, *<mode>_<bndcheck>): Use Ts
	constraint for address_no_seg_operand.
	* config/i386/sse.md (*avx512pf_gatherpf<mode>_mask)
	(*avx512pf_gatherpf<mode>, *avx512pf_scatterpf<mode>_mask)
	(*avx512pf_scatterpf<mode>, *avx2_gathersi<mode>)
	(*avx2_gathersi<mode>_2, *avx2_gatherdi<mode>, *avx2_gatherdi<mode>_2)
	(*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4)
	(*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2)
	(*avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2)
	(*avx512f_scattersi<mode> *avx512f_scatterdi<mode>): Use Tv
	constraint for vsib_address_operand.

2013-11-02  Steven Bosscher  <steven@gcc.gnu.org>

	* gcse.c (pre_delete): Remove references to regmove from comments.
	* recog.c: (validate_replace_rtx_1): Likewise.
	* config/rl78/rl78.c: Likewise.
	* config/v850/v850.h: Likewise, and remove unused ENABLE_REGMOVE_PASS.
	* common/config/m32r/m32r-common.c: Don't manipulate OPT_fregmove.
	* common/config/mmix/mmix-common.c: Likewise.

2013-11-01  Trevor Saunders  <tsaunders@mozilla.com>

	* function.c (reorder_blocks): Convert block_stack to a stack_vec.
	* gimplify.c (gimplify_compound_lval): Likewise.
	* graphite-clast-to-gimple.c (gloog): Likewise.
	* graphite-dependences.c (loop_is_parallel_p): Likewise.
	* graphite-scop-detection.c (scopdet_basic_block_info): Likewise.
	(limit_scop); Likewise.
	(build_scops): Likewise.
	(dot_scop): Likewise.
	* graphite-sese-to-poly.c (sese_dom_walker): Likewise.
	(build_scop_drs): Likewise.
	(insert_stmts): Likewise.
	(insert_out_of_ssa_copy): Likewise.
	(remove_phi): Likewise.
	(rewrite_commutative_reductions_out_of_ssa_close_phi): Likewise.
	* hw-doloop.c (discover_loop): Likewise.
	* tree-call-cdce.c (shrink_wrap_one_built_in_call): Likewise.
	* tree-dfa.c (dump_enumerated_decls): Likewise.
	* tree-if-conv.c (if_convertable_loop_p): Likewise.
	* tree-inline.c (tree_function_versioning): Likewise.
	* tree-loop-distribution.c (build_rdg): Likewise.
	(rdg_flag_vertex_and_dependent): Likewise.
	(distribute_loop): Likewise.
	* tree-parloops.c (loop_parallel_p): Likewise.
	(eliminate_local_variables): Likewise.
	(separate_decls_in_region): Likewise.
	* tree-predcom.c (tree_predictive_commoning_loop): Likewise.
	* tree-ssa-phiopt.c (cond_if_else_store_replacement): Likewise.
	* tree-ssa-uncprop.c (uncprop_dom_walker): Likewise.
	* tree-vect-loop.c (vect_analyze_scaler_cycles_1): Likewise.
	* tree-vect-patterns.c (vect_pattern_recog): Likewise.
	* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
	(vectorizable_condition): Likewise.

2013-11-01  Uros Bizjak  <ubizjak@gmail.com>

	* configure.ac (HAVE_AS_IX86_INTERUNIT_MOVQ): Always define as 0/1.
	* configure: Regenerate.
	* config/i386/i386.md (*movdi_internal): Change
	HAVE_AS_IX86_INTERUNIT_MOVQ to runtime check.
	(*movdf_internal): Ditto.
	* config/i386/mmx.md (*mov<mode>_internal): Ditto.
	* config/i386/sse.md (vec_concatv2di): Output interunit movq
	for HAVE_AS_IX86_INTERUNIT_MOVQ targets.

2013-10-31  Robert Suchanek  <Robert.Suchanek@imgtec.com>

	* lra-spills.c (assign_spill_hard_regs): Remove statement terminator
	after comment.

2013-10-31  David Malcolm  <dmalcolm@redhat.com>

	Automated part of renaming of symtab_node_base to symtab_node.

	Patch autogenerated by rename_symtab.py from
	https://github.com/davidmalcolm/gcc-refactoring-scripts
	revision 58bb219cc090b2f4516a9297d868c245495ee622
	with ChangeLog entry fixed up by hand.

	* cgraph.c (x_cgraph_nodes_queue): Rename symtab_node_base to
	symtab_node.
	(cgraph_node_for_asm): Likewise.
	* cgraph.h (symtab_node_base): Likewise.
	(cgraph_node): Likewise.
	(varpool_node): Likewise.
	(is_a_helper <cgraph_node>::test): Likewise.
	(is_a_helper <varpool_node>::test): Likewise.
	(symtab_nodes): Likewise.
	(symtab_register_node): Likewise.
	(symtab_unregister_node): Likewise.
	(symtab_remove_node): Likewise.
	(symtab_get_node): Likewise.
	(symtab_node_for_asm): Likewise.
	(symtab_node_asm_name): Likewise.
	(symtab_node_name): Likewise.
	(symtab_insert_node_to_hashtable): Likewise.
	(symtab_add_to_same_comdat_group): Likewise.
	(symtab_dissolve_same_comdat_group_list): Likewise.
	(dump_symtab_node): Likewise.
	(debug_symtab_node): Likewise.
	(dump_symtab_base): Likewise.
	(verify_symtab_node): Likewise.
	(verify_symtab_base): Likewise.
	(symtab_used_from_object_file_p): Likewise.
	(symtab_alias_ultimate_target): Likewise.
	(symtab_resolve_alias): Likewise.
	(fixup_same_cpp_alias_visibility): Likewise.
	(symtab_for_node_and_aliases): Likewise.
	(symtab_nonoverwritable_alias): Likewise.
	(availability symtab_node_availability): Likewise.
	(symtab_semantically_equivalent_p): Likewise.
	(fixup_same_cpp_alias_visibility): Likewise.
	(symtab_prevail_in_asm_name_hash): Likewise.
	(cgraph): Likewise.
	(varpool): Likewise.
	(varpool_first_variable): Likewise.
	(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.
	(symtab_alias_target): Likewise.
	(symtab_real_symbol_p): Likewise.
	(symtab_can_be_discarded): Likewise.
	* cgraphbuild.c (mark_address): Likewise.
	(mark_load): Likewise.
	(mark_store): Likewise.
	* cgraphunit.c (decide_is_symbol_needed): Likewise.
	(first): Likewise.
	(enqueue_node): Likewise.
	(referred_to_p): Likewise.
	(cgraph_process_same_body_aliases): Likewise.
	(analyze_functions): Likewise.
	(handle_alias_pairs): Likewise.
	(output_weakrefs): Likewise.
	(compile): Likewise.
	* gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
	* ipa-inline-analysis.c (inline_write_summary): Likewise.
	* ipa-prop.c (remove_described_reference): Likewise.
	(try_decrement_rdesc_refcount): Likewise.
	(ipa_edge_duplication_hook): Likewise.
	* ipa-ref.c (ipa_record_reference): Likewise.
	(ipa_maybe_record_reference): Likewise.
	(ipa_clone_ref): Likewise.
	(ipa_clone_references): Likewise.
	(ipa_clone_referring): Likewise.
	(ipa_find_reference): Likewise.
	(ipa_remove_stmt_references): Likewise.
	(ipa_clear_stmts_in_references): Likewise.
	* ipa-ref.h (symtab_node_base): Likewise.
	(ipa_ref): Likewise.
	(ipa_record_reference): Likewise.
	(ipa_maybe_record_reference): Likewise.
	(ipa_clone_references): Likewise.
	(ipa_clone_referring): Likewise.
	(ipa_clone_ref): Likewise.
	(ipa_find_reference): Likewise.
	(ipa_remove_stmt_references): Likewise.
	(ipa_clear_stmts_in_references): Likewise.
	* ipa-reference.c (ipa_reference_write_optimization_summary):
	Likewise.
	* ipa.c (enqueue_node): Likewise.
	(process_references): Likewise.
	(walk_polymorphic_call_targets): Likewise.
	(symtab_remove_unreachable_nodes): Likewise.
	(address_taken_from_non_vtable_p): Likewise.
	(comdat_can_be_unshared_p_1): Likewise.
	(comdat_can_be_unshared_p): Likewise.
	(can_replace_by_local_alias): Likewise.
	(function_and_variable_visibility): Likewise.
	* is-a.h: Likewise (within example in comment).
	* lto-cgraph.c (input_cgraph_opt_summary): Likewise.
	(lto_symtab_encoder_encode): Likewise.
	(lto_symtab_encoder_delete_node): Likewise.
	(lto_symtab_encoder_in_partition_p): Likewise.
	(lto_set_symtab_encoder_in_partition): Likewise.
	(output_refs): Likewise.
	(compute_ltrans_boundary): Likewise.
	(output_symtab): Likewise.
	(input_node): Likewise.
	(input_ref): Likewise.
	(input_edge): Likewise.
	(input_cgraph_1): Likewise.
	(input_refs): Likewise.
	(output_cgraph_opt_summary): Likewise.
	(input_node_opt_summary): Likewise.
	(input_cgraph_opt_section): Likewise.
	* lto-section-in.c (lto_free_function_in_decl_state_for_node):
	Likewise.
	* lto-streamer-out.c (lto_output): Likewise.
	(output_symbol_p): Likewise.
	(produce_symtab): Likewise.
	* lto-streamer.h (lto_encoder_entry): Likewise.
	(lto_free_function_in_decl_state_for_node): Likewise.
	(lto_symtab_encoder_encode): Likewise.
	(lto_symtab_encoder_delete_node): Likewise.
	(lto_symtab_encoder_in_partition_p): Likewise.
	(lto_set_symtab_encoder_in_partition): Likewise.
	(lto_symtab_encoder_lookup): Likewise.
	(lsei_node): Likewise.
	(lto_symtab_encoder_deref): Likewise.
	* symtab.c (symtab_hash): Likewise.
	(assembler_name_hash): Likewise.
	(symtab_nodes): Likewise.
	(hash_node): Likewise.
	(eq_node): Likewise.
	(hash_node_by_assembler_name): Likewise.
	(eq_assembler_name): Likewise.
	(insert_to_assembler_name_hash): Likewise.
	(unlink_from_assembler_name_hash): Likewise.
	(symtab_prevail_in_asm_name_hash): Likewise.
	(symtab_register_node): Likewise.
	(symtab_insert_node_to_hashtable): Likewise.
	(symtab_unregister_node): Likewise.
	(symtab_get_node): Likewise.
	(symtab_remove_node): Likewise.
	(symtab_initialize_asm_name_hash): Likewise.
	(symtab_node_for_asm): Likewise.
	(symtab_add_to_same_comdat_group): Likewise.
	(symtab_dissolve_same_comdat_group_list): Likewise.
	(symtab_node_asm_name): Likewise.
	(symtab_node_name): Likewise.
	(dump_symtab_base): Likewise.
	(dump_symtab_node): Likewise.
	(dump_symtab): Likewise.
	(debug_symtab_node): Likewise.
	(verify_symtab_base): Likewise.
	(verify_symtab_node): Likewise.
	(verify_symtab): Likewise.
	(symtab_used_from_object_file_p): Likewise.
	(symtab_node_availability): Likewise.
	(symtab_alias_ultimate_target): Likewise.
	(fixup_same_cpp_alias_visibility): Likewise.
	(symtab_resolve_alias): Likewise.
	(symtab_for_node_and_aliases): Likewise.
	(symtab_for_node_and_aliases): Likewise.
	(symtab_nonoverwritable_alias_1): Likewise.
	(symtab_nonoverwritable_alias): Likewise.
	(symtab_semantically_equivalent_p): Likewise.
	* value-prof.c (init_node_map): Likewise.
	* varasm.c (find_decl): Likewise.
	* varpool.c (varpool_node_for_asm): Likewise.
	(varpool_remove_unreferenced_decls): Likewise.

2013-10-31  David Malcolm  <dmalcolm@redhat.com>

	Manual part of renaming of symtab_node_base to symtab_node.

	* ipa-ref.h (symtab_node): Remove typedef to pointer type, as it
	clashes with the preferred name for the base class.
	(const_symtab_node): Remove redundant typedef.

2013-10-31  Jakub Jelinek  <jakub@redhat.com>

	* optabs.c (expand_vec_perm): Avoid vector mode punning
	SUBREGs in SET_DEST.
	* expmed.c (store_bit_field_1): Likewise.
	* config/i386/sse.md (movdi_to_sse, vec_pack_sfix_trunc_v2df,
	vec_pack_sfix_v2df, vec_shl_<mode>, vec_shr_<mode>,
	vec_interleave_high<mode>, vec_interleave_low<mode>): Likewise.
	* config/i386/i386.c (ix86_expand_vector_move_misalign,
	ix86_expand_sse_movcc, ix86_expand_int_vcond, ix86_expand_vec_perm,
	ix86_expand_sse_unpack, ix86_expand_args_builtin,
	ix86_expand_vector_init_duplicate, ix86_expand_vector_set,
	emit_reduc_half, expand_vec_perm_blend, expand_vec_perm_pshufb,
	expand_vec_perm_interleave2, expand_vec_perm_pshufb2,
	expand_vec_perm_vpshufb2_vpermq,
	expand_vec_perm_vpshufb2_vpermq_even_odd, expand_vec_perm_even_odd_1,
	expand_vec_perm_broadcast_1, expand_vec_perm_vpshufb4_vpermq2,
	ix86_expand_sse2_mulv4si3, ix86_expand_pinsr): Likewise.
	(expand_vec_perm_palignr): Likewise.  Modify a copy of *d rather
	than *d itself.

2013-10-31  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.c (ix86_expand_sse2_abs): Rename function arguments.
	Use gcc_unreachable for unhandled modes.  Do not check results of
	expand_simple_binop.  If not expanded to target, move the result.

2013-10-31  Chung-Ju Wu  <jasonwucj@gmail.com>
	    Shiva Chen  <shiva0217@gmail.com>

	* config.gcc (nds32*-*-*): Add nds32 target.
	* config/nds32/nds32.c: New file.
	* config/nds32/nds32.h: New file.
	* config/nds32/nds32.md: New file.
	* config/nds32/constants.md: New file.
	* config/nds32/constraints.md: New file.
	* config/nds32/iterators.md: New file.
	* config/nds32/nds32-doubleword.md: New file.
	* config/nds32/nds32-intrinsic.md: New file.
	* config/nds32/nds32_intrinsic.h: New file.
	* config/nds32/nds32-modes.def: New file.
	* config/nds32/nds32-multiple.md: New file.
	* config/nds32/nds32.opt: New file.
	* config/nds32/nds32-opts.h: New file.
	* config/nds32/nds32-protos.h: New file.
	* config/nds32/nds32-peephole2.md: New file.
	* config/nds32/pipelines.md: New file.
	* config/nds32/predicates.md: New file.
	* config/nds32/t-mlibs: New file.
	* common/config/nds32: New directory and files.

	* doc/invoke.texi (NDS32 options): Document nds32 specific options.
	* doc/md.texi (NDS32 family): Document nds32 specific constraints.
	* doc/install.texi (Cross-Compiler-Specific Options): Document
	--with-nds32-lib for nds32 target.
	* doc/extend.texi (Function Attributes, Target Builtins): Document
	nds32 specific attributes.

2013-10-31  Vladimir Makarov  <vmakarov@redhat.com>

	* lra-constraints (process_alt_operands): Use the result
	elimination register for operand when matching constraints.

2013-10-31  Jakub Jelinek  <jakub@redhat.com>

	* tree-vrp.c (maybe_set_nonzero_bits): New function.
	(remove_range_assertions): Call it.

	* tree.c (tree_ctz): New function.
	* tree.h (tree_ctz): New prototype.
	* tree-ssanames.h (get_range_info, get_nonzero_bits): Change
	first argument from tree to const_tree.
	* tree-ssanames.c (get_range_info, get_nonzero_bits): Likewise.
	* tree-vectorizer.h (vect_generate_tmps_on_preheader): New prototype.
	* tree-vect-loop-manip.c (vect_generate_tmps_on_preheader): No longer
	static.
	* expr.c (highest_pow2_factor): Reimplemented using tree_ctz.
	* tree-vect-loop.c (vect_analyze_loop_operations,
	vect_transform_loop): Don't force scalar loop for bound just because
	number of iterations is unknown, only do it if it is not known to be
	a multiple of vectorization_factor.
	* builtins.c (get_object_alignment_2): Use tree_ctz on offset.

	* gimple-pretty-print.c (dump_ssaname_info): Print newline also
	in case of VR_VARYING.  Print get_nonzero_bits if not all ones.
	* tree-ssanames.h (struct range_info_def): Add nonzero_bits field.
	(set_nonzero_bits, get_nonzero_bits): New prototypes.
	* tree-ssa-ccp.c (get_default_value): Use get_range_info to see if
	a default def isn't partially constant.
	(ccp_finalize): If after IPA, set_range_info if integral SSA_NAME
	is known to be partially zero.
	(evaluate_stmt): If we'd return otherwise VARYING, use get_range_info
	to see if a default def isn't partially constant.
	* tree-ssanames.c (set_range_info): Initialize nonzero_bits upon
	creation of a range, if VR_RANGE, try to improve nonzero_bits from
	the range.
	(set_nonzero_bits, get_nonzero_bits): New functions.

	* tree-cfg.c (assert_unreachable_fallthru_edge_p): New function.
	* tree-cfg.h (assert_unreachable_fallthru_edge_p): New prototype.
	* tree-vrp.c (all_imm_uses_in_stmt_or_feed_cond): New function.
	(remove_range_assertions): If ASSERT_EXPR_VAR has no other immediate
	uses but in the condition and ASSERT_EXPR and the other successor of
	the predecessor bb is __builtin_unreachable (), set_range_info of the
	ASSERT_EXPR_VAR to the range info of the ASSERT_EXPR's lhs.

2013-10-31  Martin Jambor  <mjambor@suse.cz>

	PR rtl-optimization/58934
	Revert:
	2013-10-30  Martin Jambor  <mjambor@suse.cz>
	PR rtl-optimization/10474
	* ira.c (find_moveable_pseudos): Do not calculate dominance info
	nor df analysis.
	(interesting_dest_for_shprep): New function.
	(split_live_ranges_for_shrink_wrap): Likewise.
	(ira): Calculate dominance info and df analysis. Call
	split_live_ranges_for_shrink_wrap.

2013-10-31  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
	    Yury Gribov  <y.gribov@samsung.com>

	PR sanitizer/58543
	* asan.c (asan_clear_shadow): Allocate a new vreg for temporary
	shadow pointer to avoid clobbering the main one.

2013-10-31  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* lower-subreg.c (resolve_simple_move): Copy REG_INC note.

2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>

	PR bootstrap/58933
	* ira-color.c (update_costs_from_copies): Add new parameter.  Use
	it for calling update_costs_from_allocno.
	(assign_hard_reg): Call restore_costs_from_copies only for
	!retry_p.  Pass new argument to update_costs_from_copies.
	(color_pass): Pass new argument to update_costs_from_copies.
	(ira_mark_allocation_change): Ditto.

2013-10-30  Sharad Singhai  <singhai@google.com>

	PR middle-end/58134
	* opts.c (common_handle_option): Remove deprecated option
	-ftree-vectorizer-verbose.
	* doc/invoke.texi (Debugging Options): Ditto.
	* opts-global.c (handle_common_deferred_options): Ditto.
	(dump_remap_tree_vectorizer_verbose): Delete.
	* common.opt: Set -ftree-vectorizer-verbose as an ignored option.

2013-10-30  DJ Delorie  <dj@redhat.com>

	* config/rx/rx.c (ADD_RX_BUILTIN0): New macro, used for builtins
	that take no arguments.

2013-10-30  Joern Rennecke  <joern.rennecke@embecosm.com>

	PR other/58545
	* reload1.c (update_eliminables_and_spill): New function, broken
	out of reload.
	(reload): Use it.  Check for frame size change after frame size
	alignment, and call update_eliminables_and_spill first if continue-ing.

2013-10-30  Cong Hou  <congh@google.com>

	PR target/58762
	* config/i386/i386-protos.h (ix86_expand_sse2_abs): New function.
	* config/i386/i386.c (ix86_expand_sse2_abs): New function.
	* config/i386/sse.md: Add SSE2 support to abs (8/16/32-bit-int).

2013-10-18  Mikael Pettersson  <mikpelinux@gmail.com>

	PR rtl-optimization/58369
	* reload1.c (compute_reload_subreg_offset): New function.
	(choose_reload_regs): Use it to pass endian-correct
	offset to subreg_regno_offset.

2013-10-30  Tobias Burnus  <burnus@net-b.de>

	PR other/33426
	* tree-cfg.c (replace_loop_annotate): Replace warning by
	warning_at.

2013-10-30  Jason Merrill  <jason@redhat.com>

	* configure.ac (loose_warn): Add -Wno-format if
	--disable-build-format-warnings.

2013-10-30  David Malcolm  <dmalcolm@redhat.com>

	* cgraphunit.c (analyze_functions): Split symtab_node declarations
	onto multiple lines to make things easier for rename_symtab.py.

	* symtab.c (symtab_dissolve_same_comdat_group_list): Likewise.
	(symtab_semantically_equivalent_p): Likewise.

2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/58784
	* lra.c (check_rtl): Remove address check before LRA work.

2013-10-30  Marc Glisse  <marc.glisse@inria.fr>

	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for a
	POINTER_PLUS_EXPR in the defining statement.

2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>

	* regmove.c: Remove.
	* tree-pass.h (make_pass_regmove): Remove.
	* timevar.def (TV_REGMOVE): Remove.
	* passes.def (pass_regmove): Remove.
	* opts.c (default_options_table): Remove entry for regmove.
	* doc/passes.texi: Remove regmove pass description.
	* doc/invoke.texi (-foptimize-register-move, -fregmove): Remove
	options.
	(-fdump-rtl-regmove): Ditto.
	* common.opt (foptimize-register-move, fregmove): Ignore.
	* Makefile.in (OBJS): Remove regmove.o.
	* regmove.c: Remove.
	* ira-int.h (struct ira_allocno_pref, ira_pref_t): New structure
	and type.
	(struct ira_allocno) New member allocno_prefs.
	(ALLOCNO_PREFS): New macro.
	(ira_prefs, ira_prefs_num): New external vars.
	(ira_setup_alts, ira_get_dup_out_num, ira_debug_pref): New prototypes.
	(ira_debug_prefs, ira_debug_allocno_prefs, ira_create_pref): Ditto.
	(ira_add_allocno_pref, ira_remove_pref, ira_remove_allocno_prefs):
	Ditto.
	(ira_add_allocno_copy_to_list): Remove prototype.
	(ira_swap_allocno_copy_ends_if_necessary): Ditto.
	(ira_pref_iterator): New type.
	(ira_pref_iter_init, ira_pref_iter_cond): New functions.
	(FOR_EACH_PREF): New macro.
	* ira.c (commutative_constraint_p): Move from ira-conflicts.c.
	(ira_get_dup_out_num): Ditto. Rename from get_dup_num.  Modify the
	code.
	(ira_setup_alts): New function.
	(decrease_live_ranges_number): New function.
	(ira): Call the above function.
	* ira-build.c (ira_prefs, ira_prefs_num): New global vars.
	(ira_create_allocno): Initialize allocno prefs.
	(pref_pool, pref_vec): New static vars.
	(initiate_prefs, find_allocno_pref, ira_create_pref): New
	functions.
	(add_allocno_pref_to_list, ira_add_allocno_pref, print_pref): Ditto.
	(ira_debug_pref, print_prefs, ira_debug_prefs): Ditto.
	(print_allocno_prefs, ira_debug_allocno_prefs, finish_pref): Ditto.
	(ira_remove_pref, ira_remove_allocno_prefs, finish_prefs): Ditto.
	(ira_add_allocno_copy_to_list): Make static.  Rename to
	add_allocno_copy_to_list.
	(ira_swap_allocno_copy_ends_if_necessary): Make static.  Rename to
	swap_allocno_copy_ends_if_necessary.
	(remove_unnecessary_allocnos, remove_low_level_allocnos): Call
	ira_remove_allocno_prefs.
	(ira_flattening): Ditto.
	(ira_build): Call initiate_prefs, print_prefs.
	(ira_destroy): Call finish_prefs.
	* ira-color.c (struct update_cost_record): New.
	(struct allocno_color_data): Add new member update_cost_records.
	(update_cost_record_pool): New static var.
	(init_update_cost_records, get_update_cost_record): New functions.
	(free_update_cost_record_list, finish_update_cost_records): Ditto.
	(struct update_cost_queue_elem): Add member from.
	(initiate_cost_update): Call init_update_cost_records.
	(finish_cost_update): Call finish_update_cost_records.
	(queue_update_cost, get_next_update_cost): Add new param from.
	(Update_allocno_cost, update_costs_from_allocno): New functions.
	(update_costs_from_prefs): Ditto.
	(update_copy_costs): Rename to update_costs_from_copies.
	(restore_costs_from_copies): New function.
	(update_conflict_hard_regno_costs): Don't go back.
	(assign_hard_reg): Call restore_costs_from_copies.  Add printing
	more debug info.
	(pop_allocnos): Add priniting more debug info.
	(color_allocnos): Remove prefs for conflicting hard regs.
	Call update_costs_from_prefs.
	* ira-conflicts.c (commutative_constraint_p): Move to ira.c
	(get_dup_num): Rename, modify, and move to ira.c
	(process_regs_for_copy): Add prefs.
	(add_insn_allocno_copies): Put src as first arg of
	process_regs_for_copy.  Remove dead code.  Call ira_setup_alts.
	* ira-costs.c (record_reg_classes): Modify and move code into
	record_operands_costs.
	(find_costs_and_classes): Create prefs for the hard reg of small
	reg class.
	(process_bb_node_for_hard_reg_moves): Add prefs.

2013-10-30  Richard Biener  <rguenther@suse.de>

	PR middle-end/57100
	* basic-block.h (pre_and_rev_post_order_compute_fn): New function.
	* cfganal.c (pre_and_rev_post_order_compute_fn): New function
	as worker for ...
	(pre_and_rev_post_order_compute): ... which now wraps it.
	* graph.c (draw_cfg_nodes_no_loops): Use
	pre_and_rev_post_order_compute_fn to avoid ICEing and dependence
	on cfun.

2013-10-30  Christian Bruel  <christian.bruel@st.com>

	* config/sh/sh-mem.cc (sh_expand_cmpnstr): New function.
	(sh_expand_cmpstr): Handle known align and schedule improvements.
	* config/sh/sh-protos.h (sh_expand_cmpstrn): Declare.
	* config/sh/sh.md (cmpstrnsi): New pattern.

2013-10-30  Martin Jambor  <mjambor@suse.cz>

	PR rtl-optimization/10474
	* ira.c (find_moveable_pseudos): Do not calculate dominance info
	nor df analysis.
	(interesting_dest_for_shprep): New function.
	(split_live_ranges_for_shrink_wrap): Likewise.
	(ira): Calculate dominance info and df analysis. Call
	split_live_ranges_for_shrink_wrap.

2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	PR target/58854
	* config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage.

2013-10-30  Ilya Enkovich  <ilya.enkovich@intel.com>

	* tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.
	* tree.h (POINTER_BOUNDS_P): New.
	(BOUNDED_TYPE_P): New.
	(BOUNDED_P): New.
	(pointer_bounds_type_node): New.
	* tree.c (build_common_tree_nodes): Initialize
	pointer_bounds_type_node.
	* gimple.h (gimple_call_get_nobnd_arg_index): New.
	(gimple_call_num_nobnd_args): New.
	(gimple_call_nobnd_arg): New.
	(gimple_return_retbnd): New.
	(gimple_return_set_retbnd): New
	* gimple.c (gimple_build_return): Increase number of ops
	for return statement.
	(gimple_call_get_nobnd_arg_index): New.
	* gimple-pretty-print.c (dump_gimple_return): Print second op.

2013-10-30  Ilya Enkovich  <ilya.enkovich@intel.com>

	* ipa.c (cgraph_build_static_cdtor_1): Support contructors
	with "chkp ctor" and "bnd_legacy" attributes.
	* gimplify.c (gimplify_init_constructor): Avoid infinite
	loop during gimplification of bounds initializer.

2013-10-30  Ilya Enkovich  <ilya.enkovich@intel.com>

	* c-family/c-common.c (handle_bnd_variable_size_attribute): New.
	(handle_bnd_legacy): New.
	(c_common_attribute_table): Add bnd_variable_size and bnd_legacy.
	* doc/extend.texi: Document bnd_variable_size and bnd_legacy
	attributes.

2013-10-29  Ilya Enkovich  <ilya.enkovich@intel.com>

	* builtin-types.def (BT_FN_VOID_CONST_PTR): New.
	(BT_FN_PTR_CONST_PTR): New.
	(BT_FN_CONST_PTR_CONST_PTR): New.
	(BT_FN_PTR_CONST_PTR_SIZE): New.
	(BT_FN_PTR_CONST_PTR_CONST_PTR): New.
	(BT_FN_VOID_PTRPTR_CONST_PTR): New.
	(BT_FN_VOID_CONST_PTR_SIZE): New.
	(BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE): New.
	* chkp-builtins.def: New.
	* builtins.def: include chkp-builtins.def.
	(DEF_CHKP_BUILTIN): New.
	* builtins.c (expand_builtin): Support BUILT_IN_CHKP_INIT_PTR_BOUNDS,
	BUILT_IN_CHKP_NULL_PTR_BOUNDS, BUILT_IN_CHKP_COPY_PTR_BOUNDS,
	BUILT_IN_CHKP_CHECK_PTR_LBOUNDS, BUILT_IN_CHKP_CHECK_PTR_UBOUNDS,
	BUILT_IN_CHKP_CHECK_PTR_BOUNDS, BUILT_IN_CHKP_SET_PTR_BOUNDS,
	BUILT_IN_CHKP_NARROW_PTR_BOUNDS, BUILT_IN_CHKP_STORE_PTR_BOUNDS,
	BUILT_IN_CHKP_GET_PTR_LBOUND, BUILT_IN_CHKP_GET_PTR_UBOUND,
	BUILT_IN_CHKP_BNDMK, BUILT_IN_CHKP_BNDSTX, BUILT_IN_CHKP_BNDCL,
	BUILT_IN_CHKP_BNDCU, BUILT_IN_CHKP_BNDLDX, BUILT_IN_CHKP_BNDRET,
	BUILT_IN_CHKP_INTERSECT, BUILT_IN_CHKP_ARG_BND, BUILT_IN_CHKP_NARROW,
	BUILT_IN_CHKP_EXTRACT_LOWER, BUILT_IN_CHKP_EXTRACT_UPPER.
	* common.opt (fcheck-pointer-bounds): New.
	* toplev.c (process_options): Check Pointer Bounds Checker is
	supported.
	* doc/extend.texi: Document Pointer Bounds Checker built-in functions.

2013-10-30  Ilya Enkovich  <ilya.enkovich@intel.com>

	* target.def (builtin_chkp_function): New.
	(chkp_bound_type): New.
	(chkp_bound_mode): New.
	(fn_abi_va_list_bounds_size): New.
	(load_bounds_for_arg): New.
	(store_bounds_for_arg): New.
	* targhooks.h (default_load_bounds_for_arg): New.
	(default_store_bounds_for_arg): New.
	(default_fn_abi_va_list_bounds_size): New.
	(default_chkp_bound_type): New.
	(default_chkp_bound_mode): New.
	(default_builtin_chkp_function): New.
	* targhooks.c (default_load_bounds_for_arg): New.
	(default_store_bounds_for_arg): New.
	(default_fn_abi_va_list_bounds_size): New.
	(default_chkp_bound_type): New.
	(default_chkp_bound_mode); New.
	(default_builtin_chkp_function): New.
	* doc/tm.texi.in (TARGET_FN_ABI_VA_LIST_BOUNDS_SIZE): New.
	(TARGET_LOAD_BOUNDS_FOR_ARG): New.
	(TARGET_STORE_BOUNDS_FOR_ARG): New.
	(TARGET_BUILTIN_CHKP_FUNCTION): New.
	(TARGET_CHKP_BOUND_TYPE): New.
	(TARGET_CHKP_BOUND_MODE): New.
	* doc/tm.texi: Regenerated.
	* langhooks.h (lang_hooks): Add chkp_supported field.
	* langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): New.
	(LANG_HOOKS_INITIALIZER); Add LANG_HOOKS_CHKP_SUPPORTED.

2013-10-29  Andrew Pinski <apinski@cavium.com>

	* tree-ssa-ifcombine.c: Include rtl.h and tm_p.h.
	(ifcombine_ifandif): Handle cases where maybe_fold_and_comparisons
	fails, combining the branches anyways.
	(tree_ssa_ifcombine): Inverse the order of the basic block walk,
	increases the number of combinings.
	* gimple.h (gsi_start_nondebug_after_labels_bb): New function.

2013-10-29  Mike Stump  <mikestump@comcast.net>

	* machmode.def (PARTIAL_INT_MODE): Add precision and name.
	* genmodes.c (PARTIAL_INT_MODE): Add precision and name.
	(make_vector_mode): Increase namebuf to 16.
	(emit_insn_modes_h): When processing BImode, don't
	also match partial int modes.
	(emit_class_narrowest_mode): Likewise.

	* config/bfin/bfin-modes.def: Add precision to PDI.
	* config/m32c/m32c-modes.def: Add precision to PSI.
	* config/msp430/msp430-modes.def: Add precision to PSI.
	* config/rs6000/rs6000-modes.def: Add precision to PTI.
	* config/sh/sh-modes.def: Add precision to PSI and PDI.

2013-10-29  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/54236
	* config/sh/sh.md (*addc): Rename existing variations to ...
	(*addc_r_r_1, *addc_2r_1, *addc_r_1): ... these.
	(*addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_2r_lsb, *addc_r_msb,
	*addc_r_r_msb, *addc_2r_msb): New insn_and_split patterns.
	* config/sh/sh.c (addsubcosts): Handle some addc special cases.

2013-10-29  Teresa Johnson  <tejohnson@google.com>

	PR ipa/58862
	* tree-ssa-tail-merge.c (replace_block_by): Tolerate profile
	insanities when updating probabilities.

2013-10-29  David Malcolm  <dmalcolm@redhat.com>

	* gdbhooks.py (CGraphNodePrinter.to_string): Update gdb
	prettyprinter for cgraph_node to reflect the conversion of the
	symtable types to a C++ class hierarchy: it now *is* a
	symtab_node_base, rather than having one (named "symbol").

2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* builtins.c (is_builtin_name): Added a check for __cilkrts_detach and
	__cilkrts_pop_frame.  If matched, then return true for built-in
	function name.
	(expand_builtin): Added BUILT_IN_CILK_DETACH and
	BUILT_IN_CILK_POP_FRAME case.
	* langhooks-def.h (lhd_install_body_with_frame_cleanup): New prototype.
	(lhs_cilk_detect_spawn): Likewise.
	(LANG_HOOKS_DECLS): Added LANG_HOOKS_CILKPLUS.
	(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): New #define.
	(LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
	(LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
	(LANG_HOOKS_CILKPLUS): Likewise.
	* tree.h (CILK_SPAWN_FN): Likewise.
	* builtin.def (DEF_CILK_BUILTIN_STUB): Likewise.
	* Makefile.in (C_COMMON_OBJS): Added c-family/cilk.o.
	(OBJS): Added cilk-common.o.
	(BUILTINS_DEF): Added cilk-builtins.def.
	* langhooks.c (lhd_install_body_with_frame_cleanup): New function.
	(lhd_cilk_detect_spawn): Likewise.
	* langhooks.h (lang_hooks_for_cilkplus): New struct.
	(struct lang_hooks): Added new field called "cilkplus."
	* cilk-common.c: New file.
	* cilk.h: Likewise.
	* cilk-builtins.def: Likewise.
	* cppbuiltin.c (define_builtin_macros_for_compilation_flags): Added
	"__cilk" macro and set it to 200.
	* function.h (struct function::cilk_frame_decl): New field.
	(struct function::is_cilk_function): Likewise.
	(struct function::calls_cilk_spawn): Likewise.
	* gimplify.c (gimplify_call_expr): Added a check if the function call
	being gimplified is a spawn detach point.  If so, then add pop_frame
	and detach function calls.
	(gimplify_expr): Added a CILK_SPAWN_STMT and CILK_SYNC_STMT case
	for gimplifying _Cilk_spawn and _Cilk_sync statements.
	(gimplify_return_expr): Added a check for _Cilk_spawn usage in
	function.  If so, added a _Cilk_sync and gimplified it.
	(gimplify_modify_expr): Added a check for _Cilk_spawn in MODIFY and
	INIT_EXPRs.  If so, then call gimplify_cilk_spawn.
	* ipa-inline-analysis (initialize_inline_failed): Prevent inlining of
	spawner function.
	(can_inline_edge_p): Prevent inling of spawnee function.
	* ira.c (ira_setup_eliminable_regset): Force usage of frame pointer
	for functions that use Cilk keywords.
	* tree-inline.h (struct copy_body_data::remap_var_for_cilk): New field.
	* tree-pretty-print.c (dump_generic_node): Added CILK_SPAWN_STMT and
	CILK_SYNC_STMT cases.
	* tree.def (DEFTREECODE): Added CILK_SPAWN_STMT and CILK_SYNC_STMT
	trees.
	* generic.texi (CILK_SPAWN_STMT): Added documentation for _Cilk_spawn.
	(CILK_SYNC_STMT): Added documentation for _Cilk_sync.
	* passes.texi (Cilk Keywords): New section that describes the compiler
	code changes for handling Cilk Keywords.

2013-10-29  David Malcolm  <dmalcolm@redhat.com>

	Patch autogenerated by refactor_symtab.py from
	https://github.com/davidmalcolm/gcc-refactoring-scripts
	revision 58bb219cc090b2f4516a9297d868c245495ee622

	* asan.c (asan_finish_file): Update for conversion of symtab types to
	a true class hierarchy.
	* cfgexpand.c (estimated_stack_frame_size): Likewise.
	* cgraph.c (cgraph_get_body): Likewise.
	(cgraph_get_create_real_symbol_node): Likewise.
	(verify_cgraph_node): Likewise.
	(verify_edge_corresponds_to_fndecl): Likewise.
	(verify_edge_count_and_frequency): Likewise.
	(cgraph_will_be_removed_from_program_if_no_direct_calls): Likewise.
	(cgraph_can_remove_if_no_direct_calls_p): Likewise.
	(cgraph_can_remove_if_no_direct_calls_and_refs_p): Likewise.
	(cgraph_node_cannot_return): Likewise.
	(cgraph_set_pure_flag_1): Likewise.
	(cgraph_set_const_flag_1): Likewise.
	(cgraph_set_nothrow_flag_1): Likewise.
	(cgraph_make_node_local_1): Likewise.
	(cgraph_for_node_and_aliases): Likewise.
	(cgraph_for_node_thunks_and_aliases): Likewise.
	(cgraph_node_can_be_local_p): Likewise.
	(cgraph_node_cannot_be_local_p_1): Likewise.
	(cgraph_function_body_availability): Likewise.
	(dump_cgraph_node): Likewise.
	(cgraph_rtl_info): Likewise.
	(cgraph_mark_address_taken_node): Likewise.
	(cgraph_remove_node): Likewise.
	(cgraph_release_function_body): Likewise.
	(cgraph_update_edges_for_call_stmt_node): Likewise.
	(cgraph_redirect_edge_call_stmt_to_callee): Likewise.
	(cgraph_make_edge_direct): Likewise.
	(cgraph_resolve_speculation): Likewise.
	(cgraph_speculative_call_info): Likewise.
	(cgraph_turn_edge_to_speculative): Likewise.
	(cgraph_create_edge_1): Likewise.
	(cgraph_set_call_stmt): Likewise.
	(cgraph_node_for_asm): Likewise.
	(cgraph_add_thunk): Likewise.
	(cgraph_same_body_alias): Likewise.
	(cgraph_create_function_alias): Likewise.
	(cgraph_create_node): Likewise.
	(cgraph_create_empty_node): Likewise.
	(record_function_versions): Likewise.
	(used_from_object_file_p): Likewise.
	* cgraph.h (symtab_can_be_discarded): Likewise.
	(symtab_real_symbol_p): Likewise.
	(cgraph_mark_force_output_node): Likewise.
	(cgraph_edge_recursive_p): Likewise.
	(symtab_alias_target): Likewise.
	(varpool_all_refs_explicit_p): Likewise.
	(varpool_can_remove_if_no_refs): Likewise.
	(cgraph_only_called_directly_or_aliased_p): Likewise.
	(cgraph_next_function_with_gimple_body): Likewise.
	(cgraph_first_function_with_gimple_body): Likewise.
	(cgraph_function_with_gimple_body_p): Likewise.
	(cgraph_next_function): Likewise.
	(cgraph_first_function): Likewise.
	(cgraph_next_defined_function): Likewise.
	(cgraph_first_defined_function): Likewise.
	(varpool_next_defined_variable): Likewise.
	(varpool_first_defined_variable): Likewise.
	(varpool_next_static_initializer): Likewise.
	(varpool_first_static_initializer): Likewise.
	(varpool_next_variable): Likewise.
	(varpool_first_variable): Likewise.
	(varpool_node_name): Likewise.
	(varpool): Likewise.
	(cgraph): Likewise.
	(is_a_helper <varpool_node>::test): Likewise.
	(is_a_helper <cgraph_node>::test): Likewise.
	(varpool_variable_node): Likewise.
	(cgraph_function_or_thunk_node): Likewise.
	(varpool_alias_target): Likewise.
	(cgraph_alias_target): Likewise.
	(cgraph_node_name): Likewise.
	(varpool_node_asm_name): Likewise.
	(cgraph_node_asm_name): Likewise.
	* cgraphbuild.c (remove_cgraph_callee_edges): Likewise.
	(cgraph_rebuild_references): Likewise.
	(rebuild_cgraph_edges): Likewise.
	(record_eh_tables): Likewise.
	(build_cgraph_edges): Likewise.
	(mark_store): Likewise.
	(mark_load): Likewise.
	(mark_address): Likewise.
	(record_type_list): Likewise.
	(record_reference): Likewise.
	* cgraphclones.c (cgraph_materialize_all_clones): Likewise.
	(cgraph_materialize_clone): Likewise.
	(cgraph_function_versioning): Likewise.
	(cgraph_copy_node_for_versioning): Likewise.
	(update_call_expr): Likewise.
	(cgraph_find_replacement_node): Likewise.
	(cgraph_create_virtual_clone): Likewise.
	(cgraph_clone_node): Likewise.
	* cgraphunit.c (compile): Likewise.
	(output_weakrefs): Likewise.
	(output_in_order): Likewise.
	(expand_function): Likewise.
	(assemble_thunks_and_aliases): Likewise.
	(expand_thunk): Likewise.
	(mark_functions_to_output): Likewise.
	(handle_alias_pairs): Likewise.
	(analyze_functions): Likewise.
	(walk_polymorphic_call_targets): Likewise.
	(varpool_finalize_decl): Likewise.
	(process_function_and_variable_attributes): Likewise.
	(cgraph_process_same_body_aliases): Likewise.
	(analyze_function): Likewise.
	(cgraph_add_new_function): Likewise.
	(cgraph_finalize_function): Likewise.
	(referred_to_p): Likewise.
	(cgraph_reset_node): Likewise.
	(cgraph_process_new_functions): Likewise.
	(enqueue_node): Likewise.
	(decide_is_symbol_needed): Likewise.
	* coverage.c (coverage_compute_profile_id): Likewise.
	* dbxout.c (dbxout_expand_expr): Likewise.
	* dwarf2out.c (premark_types_used_by_global_vars_helper): Likewise.
	(reference_to_unused): Likewise.
	* gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
	* gimplify.c (unvisit_body): Likewise.
	(unshare_body): Likewise.
	* ipa-cp.c (ipcp_generate_summary): Likewise.
	(ipcp_decision_stage): Likewise.
	(identify_dead_nodes): Likewise.
	(decide_whether_version_node): Likewise.
	(decide_about_value): Likewise.
	(perhaps_add_new_callers): Likewise.
	(create_specialized_node): Likewise.
	(update_profiling_info): Likewise.
	(ipcp_propagate_stage): Likewise.
	(estimate_local_effects): Likewise.
	(good_cloning_opportunity_p): Likewise.
	(devirtualization_time_bonus): Likewise.
	(propagate_constants_accross_call): Likewise.
	(initialize_node_lattices): Likewise.
	(ipcp_cloning_candidate_p): Likewise.
	(determine_versionability): Likewise.
	(print_all_lattices): Likewise.
	(print_lattice): Likewise.
	(ipcp_discover_new_direct_edges): Likewise.
	* ipa-devirt.c (ipa_devirt): Likewise.
	(likely_target_p): Likewise.
	(update_type_inheritance_graph): Likewise.
	(possible_polymorphic_call_target_p): Likewise.
	(dump_possible_polymorphic_call_targets): Likewise.
	(devirt_variable_node_removal_hook): Likewise.
	(record_binfo): Likewise.
	(maybe_record_node): Likewise.
	(build_type_inheritance_graph): Likewise.
	* ipa-inline-analysis.c (inline_write_summary): Likewise.
	(inline_generate_summary): Likewise.
	(inline_analyze_function): Likewise.
	(do_estimate_growth): Likewise.
	(simple_edge_hints): Likewise.
	(estimate_node_size_and_time): Likewise.
	(estimate_edge_devirt_benefit): Likewise.
	(compute_inline_parameters): Likewise.
	(estimate_function_body_sizes): Likewise.
	(compute_bb_predicates): Likewise.
	(initialize_inline_failed): Likewise.
	(dump_inline_summary): Likewise.
	(dump_inline_edge_summary): Likewise.
	* ipa-inline-transform.c (inline_transform): Likewise.
	(preserve_function_body_p): Likewise.
	(save_inline_function_body): Likewise.
	(inline_call): Likewise.
	(clone_inlined_nodes): Likewise.
	(can_remove_node_now_p): Likewise.
	(can_remove_node_now_p_1): Likewise.
	* ipa-inline.c (early_inliner): Likewise.
	(early_inline_small_functions): Likewise.
	(inline_always_inline_functions): Likewise.
	(ipa_inline): Likewise.
	(flatten_function): Likewise.
	(inline_small_functions): Likewise.
	(speculation_useful_p): Likewise.
	(recursive_inlining): Likewise.
	(update_caller_keys): Likewise.
	(reset_edge_caches): Likewise.
	(update_edge_key): Likewise.
	(edge_badness): Likewise.
	(relative_time_benefit): Likewise.
	(want_inline_self_recursive_call_p): Likewise.
	(want_inline_small_function_p): Likewise.
	(want_early_inline_function_p): Likewise.
	(num_calls): Likewise.
	(can_early_inline_edge_p): Likewise.
	(can_inline_edge_p): Likewise.
	(report_inline_failed_reason): Likewise.
	* ipa-profile.c (ipa_profile): Likewise.
	(ipa_propagate_frequency): Likewise.
	(ipa_propagate_frequency_1): Likewise.
	(ipa_profile_generate_summary): Likewise.
	* ipa-prop.c (ipcp_transform_function): Likewise.
	(read_replacements_section): Likewise.
	(ipa_prop_read_section): Likewise.
	(ipa_modify_call_arguments): Likewise.
	(ipa_print_node_params): Likewise.
	(propagate_controlled_uses): Likewise.
	(update_indirect_edges_after_inlining): Likewise.
	(remove_described_reference): Likewise.
	(ipa_make_edge_direct_to_target): Likewise.
	(ipa_analyze_node): Likewise.
	(ipa_analyze_params_uses): Likewise.
	(ipa_compute_jump_functions): Likewise.
	(ipa_get_callee_param_type): Likewise.
	(ipa_print_node_jump_functions): Likewise.
	(ipa_initialize_node_params): Likewise.
	(ipa_populate_param_decls): Likewise.
	(ipa_func_spec_opts_forbid_analysis_p): Likewise.
	(write_agg_replacement_chain): Likewise.
	(ipa_write_node_info): Likewise.
	(ipa_edge_duplication_hook): Likewise.
	(try_decrement_rdesc_refcount): Likewise.
	* ipa-pure-const.c (propagate_nothrow): Likewise.
	(propagate_pure_const): Likewise.
	(pure_const_read_summary): Likewise.
	(pure_const_write_summary): Likewise.
	(analyze_function): Likewise.
	* ipa-ref-inline.h (ipa_ref_referred_ref_list): Likewise.
	(ipa_ref_referring_ref_list): Likewise.
	* ipa-ref.c (ipa_clear_stmts_in_references): Likewise.
	(ipa_remove_stmt_references): Likewise.
	(ipa_find_reference): Likewise.
	(ipa_dump_referring): Likewise.
	(ipa_dump_references): Likewise.
	(ipa_record_reference): Likewise.
	* ipa-reference.c (ipa_reference_read_optimization_summary): Likewise.
	(ipa_reference_write_optimization_summary): Likewise.
	(write_node_summary_p): Likewise.
	(propagate): Likewise.
	(read_write_all_from_decl): Likewise.
	(generate_summary): Likewise.
	(analyze_function): Likewise.
	(propagate_bits): Likewise.
	(ipa_reference_get_not_written_global): Likewise.
	(ipa_reference_get_not_read_global): Likewise.
	* ipa-split.c (execute_split_functions): Likewise.
	(split_function): Likewise.
	* ipa-utils.c (ipa_merge_profiles): Likewise.
	(dump_cgraph_node_set): Likewise.
	(ipa_reverse_postorder): Likewise.
	(ipa_edge_within_scc): Likewise.
	(ipa_get_nodes_in_cycle): Likewise.
	(ipa_free_postorder_info): Likewise.
	(ipa_reduced_postorder): Likewise.
	(searchc): Likewise.
	(recursive_call_p): Likewise.
	* ipa.c (ipa_cdtor_merge): Likewise.
	(record_cdtor_fn): Likewise.
	(function_and_variable_visibility): Likewise.
	(varpool_externally_visible_p): Likewise.
	(cgraph_externally_visible_p): Likewise.
	(comdat_can_be_unshared_p): Likewise.
	(comdat_can_be_unshared_p_1): Likewise.
	(address_taken_from_non_vtable_p): Likewise.
	(ipa_discover_readonly_nonaddressable_vars): Likewise.
	(symtab_remove_unreachable_nodes): Likewise.
	(walk_polymorphic_call_targets): Likewise.
	(process_references): Likewise.
	(enqueue_node): Likewise.
	(has_addr_references_p): Likewise.
	(cgraph_non_local_node_p_1): Likewise.
	* is-a.h (varpool_analyze_node): Likewise.
	* lto-cgraph.c (input_symtab): Likewise.
	(merge_profile_summaries): Likewise.
	(input_cgraph_1): Likewise.
	(input_edge): Likewise.
	(input_varpool_node): Likewise.
	(input_node): Likewise.
	(input_overwrite_node): Likewise.
	(compute_ltrans_boundary): Likewise.
	(output_refs): Likewise.
	(lto_output_varpool_node): Likewise.
	(lto_output_node): Likewise.
	(reachable_from_other_partition_p): Likewise.
	(referenced_from_other_partition_p): Likewise.
	(lto_output_edge): Likewise.
	(output_node_opt_summary): Likewise.
	(add_node_to): Likewise.
	(reachable_from_this_partition_p): Likewise.
	(lto_set_symtab_encoder_in_partition): Likewise.
	(lto_symtab_encoder_in_partition_p): Likewise.
	(lto_set_symtab_encoder_encode_initializer): Likewise.
	(lto_symtab_encoder_encode