+2014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR tree-optimization/61136
+ * wide-int.h (multiple_of_p): Define a version that doesn't return
+ the quotient.
+ * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
+ integer_zerop/const_binop pair.
+ (multiple_of_p): Likewise, converting both operands to widest_int
+ precision.
+
+2014-05-09 Teresa Johnson <tejohnson@google.com>
+
+ * cgraphunit.c (analyze_functions): Use correct dump file.
+
+2014-05-09 Florian Weimer <fweimer@redhat.com>
+
+ * cfgexpand.c (stack_protect_decl_p): New function, extracted from
+ expand_used_vars.
+ (stack_protect_return_slot_p): New function.
+ (expand_used_vars): Call stack_protect_decl_p and
+ stack_protect_return_slot_p for -fstack-protector-strong.
+
+2014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ PR middle-end/61111
+ * fold-const.c (fold_binary_loc): Changed width of mask.
+
+2014-05-09 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
+ unsigned int initializers for regno_in, regno_out.
+
+2014-05-09 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/61055
+ * config/avr/avr.md (cc): Add new attribute set_vzn.
+ (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
+ Set cc insn attribute to set_vzn instead of set_zn for alternatives
+ with INC, DEC or NEG.
+ * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
+ (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
+ INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
+
+2014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ Revert:
+ 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * wide-int.cc (UTItype): Define.
+ (UDWtype): Define for appropriate W_TYPE_SIZE.
+
+2014-05-09 Richard Biener <rguenther@suse.de>
+
+ * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
+ * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
+ (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
+ (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
+ ssa_propagate): Adjust.
+
+2014-05-08 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/61009
+ * tree-ssa-threadedge.c (thread_through_normal_block): Return a
+ tri-state rather than a boolean. When a block is too big to
+ thread through, inform caller via negative return value.
+ (thread_across_edge): If a block was too big for normal threading,
+ then it's too big for a joiner too, so remove temporary equivalences
+ and return immediately.
+
+2014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
+ Matthias Klose <doko@ubuntu.com>
+
+ PR driver/61106
+ * optc-gen.awk: Fix option handling for -Wunused-parameter.
+
+2014-05-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/59952
+ * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
+
+2014-05-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/61092
+ * config/alpha/alpha.c: Include gimple-iterator.h.
+ (alpha_gimple_fold_builtin): New function. Move
+ ALPHA_BUILTIN_UMULH folding from ...
+ (alpha_fold_builtin): ... here.
+ (TARGET_GIMPLE_FOLD_BUILTIN): New define.
+
+2014-05-08 Wei Mi <wmi@google.com>
+
+ PR target/58066
+ * config/i386/i386.c (ix86_compute_frame_layout): Update
+ preferred_stack_boundary for call, expanded from tls descriptor.
+ * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
+ to depend on SP register.
+ (*tls_local_dynamic_base_32_gnu): Ditto.
+ (*tls_local_dynamic_32_once): Ditto.
+ (tls_global_dynamic_64_<mode>): Set
+ ix86_tls_descriptor_calls_expanded_in_cfun.
+ (tls_local_dynamic_base_64_<mode>): Ditto.
+ (tls_global_dynamic_32): Set
+ ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
+ to depend on SP register.
+ (tls_local_dynamic_base_32): Ditto.
+
+2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm_neon.h: Update comment.
+ * config/arm/neon-docgen.ml: Delete.
+ * config/arm/neon-gen.ml: Delete.
+ * doc/arm-neon-intrinsics.texi: Update comment.
+
+2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
+ and v4sf versions.
+ (vand, vorr, veor, vorn, vbic): Remove.
+ * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
+ iterator.
+ (neon_vsub_unspec): Likewise.
+ (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
+
+2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm_neon.h (vadd_s8): GNU C implementation
+ (vadd_s16): Likewise.
+ (vadd_s32): Likewise.
+ (vadd_f32): Likewise.
+ (vadd_u8): Likewise.
+ (vadd_u16): Likewise.
+ (vadd_u32): Likewise.
+ (vadd_s64): Likewise.
+ (vadd_u64): Likewise.
+ (vaddq_s8): Likewise.
+ (vaddq_s16): Likewise.
+ (vaddq_s32): Likewise.
+ (vaddq_s64): Likewise.
+ (vaddq_f32): Likewise.
+ (vaddq_u8): Likewise.
+ (vaddq_u16): Likewise.
+ (vaddq_u32): Likewise.
+ (vaddq_u64): Likewise.
+ (vmul_s8): Likewise.
+ (vmul_s16): Likewise.
+ (vmul_s32): Likewise.
+ (vmul_f32): Likewise.
+ (vmul_u8): Likewise.
+ (vmul_u16): Likewise.
+ (vmul_u32): Likewise.
+ (vmul_p8): Likewise.
+ (vmulq_s8): Likewise.
+ (vmulq_s16): Likewise.
+ (vmulq_s32): Likewise.
+ (vmulq_f32): Likewise.
+ (vmulq_u8): Likewise.
+ (vmulq_u16): Likewise.
+ (vmulq_u32): Likewise.
+ (vsub_s8): Likewise.
+ (vsub_s16): Likewise.
+ (vsub_s32): Likewise.
+ (vsub_f32): Likewise.
+ (vsub_u8): Likewise.
+ (vsub_u16): Likewise.
+ (vsub_u32): Likewise.
+ (vsub_s64): Likewise.
+ (vsub_u64): Likewise.
+ (vsubq_s8): Likewise.
+ (vsubq_s16): Likewise.
+ (vsubq_s32): Likewise.
+ (vsubq_s64): Likewise.
+ (vsubq_f32): Likewise.
+ (vsubq_u8): Likewise.
+ (vsubq_u16): Likewise.
+ (vsubq_u32): Likewise.
+ (vsubq_u64): Likewise.
+ (vand_s8): Likewise.
+ (vand_s16): Likewise.
+ (vand_s32): Likewise.
+ (vand_u8): Likewise.
+ (vand_u16): Likewise.
+ (vand_u32): Likewise.
+ (vand_s64): Likewise.
+ (vand_u64): Likewise.
+ (vandq_s8): Likewise.
+ (vandq_s16): Likewise.
+ (vandq_s32): Likewise.
+ (vandq_s64): Likewise.
+ (vandq_u8): Likewise.
+ (vandq_u16): Likewise.
+ (vandq_u32): Likewise.
+ (vandq_u64): Likewise.
+ (vorr_s8): Likewise.
+ (vorr_s16): Likewise.
+ (vorr_s32): Likewise.
+ (vorr_u8): Likewise.
+ (vorr_u16): Likewise.
+ (vorr_u32): Likewise.
+ (vorr_s64): Likewise.
+ (vorr_u64): Likewise.
+ (vorrq_s8): Likewise.
+ (vorrq_s16): Likewise.
+ (vorrq_s32): Likewise.
+ (vorrq_s64): Likewise.
+ (vorrq_u8): Likewise.
+ (vorrq_u16): Likewise.
+ (vorrq_u32): Likewise.
+ (vorrq_u64): Likewise.
+ (veor_s8): Likewise.
+ (veor_s16): Likewise.
+ (veor_s32): Likewise.
+ (veor_u8): Likewise.
+ (veor_u16): Likewise.
+ (veor_u32): Likewise.
+ (veor_s64): Likewise.
+ (veor_u64): Likewise.
+ (veorq_s8): Likewise.
+ (veorq_s16): Likewise.
+ (veorq_s32): Likewise.
+ (veorq_s64): Likewise.
+ (veorq_u8): Likewise.
+ (veorq_u16): Likewise.
+ (veorq_u32): Likewise.
+ (veorq_u64): Likewise.
+ (vbic_s8): Likewise.
+ (vbic_s16): Likewise.
+ (vbic_s32): Likewise.
+ (vbic_u8): Likewise.
+ (vbic_u16): Likewise.
+ (vbic_u32): Likewise.
+ (vbic_s64): Likewise.
+ (vbic_u64): Likewise.
+ (vbicq_s8): Likewise.
+ (vbicq_s16): Likewise.
+ (vbicq_s32): Likewise.
+ (vbicq_s64): Likewise.
+ (vbicq_u8): Likewise.
+ (vbicq_u16): Likewise.
+ (vbicq_u32): Likewise.
+ (vbicq_u64): Likewise.
+ (vorn_s8): Likewise.
+ (vorn_s16): Likewise.
+ (vorn_s32): Likewise.
+ (vorn_u8): Likewise.
+ (vorn_u16): Likewise.
+ (vorn_u32): Likewise.
+ (vorn_s64): Likewise.
+ (vorn_u64): Likewise.
+ (vornq_s8): Likewise.
+ (vornq_s16): Likewise.
+ (vornq_s32): Likewise.
+ (vornq_s64): Likewise.
+ (vornq_u8): Likewise.
+ (vornq_u16): Likewise.
+ (vornq_u32): Likewise.
+ (vornq_u64): Likewise.
+
+2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * wide-int.cc (UTItype): Define.
+ (UDWtype): Define for appropriate W_TYPE_SIZE.
+
+2014-05-08 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/59100
+ * tree-ssa-phiopt.c: Include tree-inline.h.
+ (neutral_element_p, absorbing_element_p): New functions.
+ (value_replacement): Handle conditional binary operations with a
+ neutral or absorbing element.
+
+2014-05-08 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
+ folding the expression.
+ (valueize_expr): Remove.
+ (visit_reference_op_load): Do not valueize the result of
+ vn_get_expr_for.
+ (simplify_binary_expression): Likewise.
+ (simplify_unary_expression): Likewise.
+
+2014-05-08 Richard Biener <rguenther@suse.de>
+
+ * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
+ looking at TYPE_ARG_TYPES.
+
+2014-05-08 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
+ pointer propagation special-case.
+
+2014-05-08 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
+ core part of address expressions.
+
+2014-05-08 Alan Modra <amodra@gmail.com>
+
+ PR target/60737
+ * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
+ loads and stores when -mno-strict-align at any alignment.
+ (expand_block_clear): Similarly. Also correct calculation of
+ instruction count.
+
+2014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR middle-end/39246
+ * tree-complex.c (expand_complex_move): Keep line info when expanding
+ complex move.
+ * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
+ of complex expression. Use new argument to display correct location
+ for values coming from phi statement.
+ (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
+ (warn_uninitialized_phi): Pass location of phi argument to
+ warn_uninit.
+ * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
+ COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
+
+2014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/predicates.md (indexed_address_mem): New.
+ * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
+ load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
+ fpstore_ux, fpstore_u.
+ (sign_extend, indexed, update): New.
+ (cell_micro): Adjust.
+ (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
+ *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
+ *movsi_internal1, *movsi_internal1_single, *movhi_internal,
+ *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
+ *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
+ *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
+ *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
+ *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
+ *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
+ *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
+ *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
+ *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
+ *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
+ *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
+ *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
+
+ * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
+ * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
+ *vsx_extract_<mode>_store): Adjust.
+ * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
+ is_cracked_insn, insn_must_be_first_in_group,
+ insn_must_be_last_in_group): Adjust.
+
+ * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
+ Adjust.
+ * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
+ ppc440-fpstore): Adjust.
+ * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
+ ppc476-fpstore): Adjust.
+ * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
+ ppc601-fpstore): Adjust.
+ * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
+ Adjust.
+ * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
+ Adjust.
+ * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
+ ppc7450-fpstore): Adjust.
+ * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
+ * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
+ * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
+ Adjust.
+ * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
+ cell-fpload, cell-fpload-update, cell-store, cell-store-update,
+ cell-fpstore, cell-fpstore-update): Adjust.
+ * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
+ ppce300c3_store, ppce300c3_fpstore): Adjust.
+ * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
+ e500mc_fpstore): Adjust.
+ * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
+ e500mc64_store, e500mc64_fpstore): Adjust.
+ * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
+ e5500_fpstore): Adjust.
+ * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
+ e6500_fpstore): Adjust.
+ * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
+ Adjust.
+ * config/rs6000/power4.md (power4-load, power4-load-ext,
+ power4-load-ext-update, power4-load-ext-update-indexed,
+ power4-load-update-indexed, power4-load-update, power4-fpload,
+ power4-fpload-update, power4-store, power4-store-update,
+ power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
+ Adjust.
+ * config/rs6000/power5.md (power5-load, power5-load-ext,
+ power5-load-ext-update, power5-load-ext-update-indexed,
+ power5-load-update-indexed, power5-load-update, power5-fpload,
+ power5-fpload-update, power5-store, power5-store-update,
+ power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
+ Adjust.
+ * config/rs6000/power6.md (power6-load, power6-load-ext,
+ power6-load-update, power6-load-update-indexed,
+ power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
+ power6-fpload-update, power6-store, power6-store-update,
+ power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
+ Adjust.
+ * config/rs6000/power7.md (power7-load, power7-load-ext,
+ power7-load-update, power7-load-update-indexed,
+ power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
+ power7-fpload-update, power7-store, power7-store-update,
+ power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
+ Adjust.
+ * config/rs6000/power8.md (power8-load, power8-load-update,
+ power8-load-ext, power8-load-ext-update, power8-fpload,
+ power8-fpload-update, power8-store, power8-store-update-indexed,
+ power8-fpstore, power8-fpstore-update): Adjust.
+ * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
+ Adjust.
+ * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
+ titan_lsu_store, titan_lsu_fpstore): Adjust.
+ * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
+
+2014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/60884
+ * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
+ unrolled byte insns. Emit address increments after move insns.
+
+2014-05-07 David Malcolm <dmalcolm@redhat.com>
+
+ * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
+ const_gimple, rather than a gimple.
+ (gimple_call_builtin_p): Likewise, for the three variants.
+
+ * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
+ (gimple_call_builtin_p): Likewise, for the three variants.
+
+2014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
+
+ PR tree-optimization/61095
+ * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
+
+2014-05-07 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/61034
+ * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
+ (maybe_skip_until): Use translate to take into account
+ lattices when trying to do disambiguations.
+ (get_continuation_for_phi_1): Likewise.
+ (get_continuation_for_phi): Adjust for added translate arguments.
+ (walk_non_aliased_vuses): Likewise.
+ * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
+ (walk_non_aliased_vuses): Likewise.
+ (call_may_clobber_ref_p_1): Declare.
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
+ calls. Stop early if we are only supposed to disambiguate.
+ * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
+
+2014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
+ Emit an error when the function has arguments.
+
+2014-05-07 Thomas Schwinge <thomas@codesourcery.com>
+
+ * cfgloop.h (unswitch_loops): Remove.
+ * doc/passes.texi: Remove references to loop-unswitch.c
+ * timevar.def (TV_LOOP_UNSWITCH): Remove.
+
+2014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
+
+ * tree-vect-data-refs.c (vect_grouped_load_supported): New
+ check for loads group of length 3.
+ (vect_permute_load_chain): New permutations for loads group of
+ length 3.
+ * tree-vect-stmts.c (vect_model_load_cost): Change cost
+ of vec_perm_shuffle for the new permutations.
+
+2014-05-07 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
+ vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
+ vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
+ vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
+ vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
+ vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
+ vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
+ vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
+
+2014-05-07 Thomas Schwinge <thomas@codesourcery.com>
+
+ * loop-unswitch.c: Delete.
+
+2014-05-07 Richard Biener <rguenther@suse.de>
+
+ * config.gcc: Always set need_64bit_hwint to yes.
+
+2014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
+ of using optimize_size.
+
+2014-05-06 Mike Stump <mikestump@comcast.net>
+
+ * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
+
+2014-05-06 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/sse.md (*mov<mode>_internal)
+ (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
+ (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
+ (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
+ (*<code><mode>3, *andnot<mode>3<mask_name>)
+ (<mask_codefor><code><mode>3<mask_name>): Only consider
+ TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
+
+2014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
+
+ Revert:
+ 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lra-constraints.c (valid_address_p): Move earlier in file.
+ Add a constraint argument to the address_info version.
+ (satisfies_memory_constraint_p): New function.
+ (satisfies_address_constraint_p): Likewise.
+ (process_alt_operands, curr_insn_transform): Use them.
+ (process_address): Pass the constraint to valid_address_p when
+ checking address operands.
+
+2014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
+ to their respective blocks. Fix inadvertent use of "node".
+
+2014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * emit-rtl.c (init_derived_machine_modes): New functionm, split
+ out from...
+ (init_emit_once): ...here.
+ * rtl.h (init_derived_machine_modes): Declare.
+ * toplev.c (do_compile): Call it even if no_backend.
+
+2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
+ Mike Stump <mikestump@comcast.net>
+ Richard Sandiford <rdsandiford@googlemail.com>
+ Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * alias.c (ao_ref_from_mem): Use wide-int interfaces.
+ (rtx_equal_for_memref_p): Update comment.
+ (adjust_offset_for_component_ref): Use wide-int interfaces.
+ * builtins.c (get_object_alignment_2): Likewise.
+ (c_readstr): Likewise.
+ (target_char_cast): Add comment.
+ (determine_block_size): Use wide-int interfaces.
+ (expand_builtin_signbit): Likewise.
+ (fold_builtin_int_roundingfn): Likewise.
+ (fold_builtin_bitop): Likewise.
+ (fold_builtin_bswap): Likewise.
+ (fold_builtin_logarithm): Use signop.
+ (fold_builtin_pow): Likewise.
+ (fold_builtin_memory_op): Use wide-int interfaces.
+ (fold_builtin_object_size): Likewise.
+ * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
+ nb_iterations_estimate.
+ (record_niter_bound): Use wide-int interfaces.
+ (get_estimated_loop_iterations_int): Likewise.
+ (get_estimated_loop_iterations): Likewise.
+ (get_max_loop_iterations): Likewise.
+ * cfgloop.h: Include wide-int.h.
+ (struct nb_iter_bound): Change bound to widest_int.
+ (struct loop): Change nb_iterations_upper_bound and
+ nb_iterations_estimate to widest_int.
+ (record_niter_bound): Switch to use widest_int.
+ (get_estimated_loop_iterations): Likewise.
+ (get_max_loop_iterations): Likewise.
+ (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
+ update for wide-int.
+ * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
+ * combine.c (try_combine): Likewise.
+ (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
+ * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
+ interfaces.
+ (aarch64_float_const_representable_p): Likewise.
+ * config/arc/arc.c: Include wide-int.h.
+ (arc_can_use_doloop_p): Use wide-int interfaces.
+ * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
+ (vfp3_const_double_index): Likewise.
+ * config/avr/avr.c (avr_out_round): Likewise.
+ (avr_fold_builtin): Likewise.
+ * config/bfin/bfin.c (bfin_local_alignment): Likewise.
+ (bfin_can_use_doloop_p): Likewise.
+ * config/darwin.c (darwin_mergeable_constant_section): Likewise.
+ (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
+ * config/i386/i386.c: Include wide-int.h.
+ (ix86_data_alignment): Use wide-int interfaces.
+ (ix86_local_alignment): Likewise.
+ (ix86_emit_swsqrtsf): Update real_from_integer.
+ * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
+ * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
+ * config/rs6000/predicates.md (any_operand): Add const_wide_int.
+ (zero_constant): Likewise.
+ (input_operand): Likewise.
+ (splat_input_operand): Likewise.
+ (non_logical_cint_operand): Change const_double to const_wide_int.
+ * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
+ (easy_altivec_constant): Remove comment.
+ (paired_expand_vector_init): Use CONSTANT_P.
+ (rs6000_legitimize_address): Handle CONST_WIDE_INT.
+ (rs6000_emit_move): Update checks.
+ (rs6000_aggregate_candidate): Use wide-int interfaces.
+ (rs6000_expand_ternop_builtin): Likewise.
+ (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
+ (rs6000_assemble_integer): Likewise.
+ (rs6000_hash_constant): Likewise.
+ (output_toc): Likewise.
+ (rs6000_rtx_costs): Likewise.
+ (rs6000_emit_swrsqrt); Update call to real_from_integer.
+ * config/rs6000/rs6000-c.c: Include wide-int.h.
+ (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
+ * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
+ * config/rs6000/rs6000.md: Use const_scalar_int_operand.
+ Handle CONST_WIDE_INT.
+ * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
+ Use tree_fits_uhwi_p.
+ * config/sparc/sparc.c: Include wide-int.h.
+ (sparc_fold_builtin): Use wide-int interfaces.
+ * config/vax/vax.c: Include wide-int.h.
+ (vax_float_literal): Use real_from_integer.
+ * coretypes.h (struct hwivec_def): New.
+ (hwivec): New.
+ (const_hwivec): New.
+ * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
+ (equiv_constant): Handle CONST_WIDE_INT.
+ * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
+ (cselib_hash_rtx): Handle CONST_WIDE_INT.
+ * dbxout.c (stabstr_U): Use wide-int interfaces.
+ (dbxout_type): Update to use cst_fits_shwi_p.
+ * defaults.h (LOG2_BITS_PER_UNIT): Define.
+ (TARGET_SUPPORTS_WIDE_INT): Add default.
+ * dfp.c: Include wide-int.h.
+ (decimal_real_to_integer2): Use wide-int interfaces and rename to
+ decimal_real_to_integer.
+ * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
+ decimal_real_to_integer.
+ * doc/generic.texi (Constant expressions): Update for wide_int.
+ * doc/rtl.texi (const_double): Likewise.
+ (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
+ (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
+ * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
+ (REAL_VALUE_FROM_INT): Remove.
+ (TARGET_SUPPORTS_WIDE_INT): New.
+ * doc/tm.texi: Regenerate.
+ * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
+ * double-int.h: Include wide-int.h.
+ (struct wi::int_traits): New.
+ * dwarf2out.c (get_full_len): New.
+ (dw_val_equal_p): Add case dw_val_class_wide_int.
+ (size_of_loc_descr): Likewise.
+ (output_loc_operands): Likewise.
+ (insert_double): Remove.
+ (insert_wide_int): New.
+ (add_AT_wide): New.
+ (print_die): Add case dw_val_class_wide_int.
+ (attr_checksum): Likewise.
+ (attr_checksum_ordered): Likewise.
+ (same_dw_val_p): Likewise.
+ (size_of_die): Likewise.
+ (value_format): Likewise.
+ (output_die): Likewise.
+ (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
+ Use wide-int.
+ (clz_loc_descriptor): Use wide-int interfaces.
+ (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
+ (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
+ (round_up_to_align): Use wide-int interfaces.
+ (field_byte_offset): Likewise.
+ (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
+ (add_const_value_attribute): Handle CONST_WIDE_INT. Update
+ CONST_DOUBLE handling. Use wide-int interfaces.
+ (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
+ (gen_enumeration_type_die): Use add_AT_wide.
+ (hash_loc_operands): Add case dw_val_class_wide_int.
+ (compare_loc_operands): Likewise.
+ * dwarf2out.h: Include wide-int.h.
+ (wide_int_ptr): New.
+ (enum dw_val_class): Add dw_val_class_wide_int.
+ (struct dw_val_struct): Add val_wide.
+ * emit-rtl.c (const_wide_int_htab): New.
+ (const_wide_int_htab_hash): New.
+ (const_wide_int_htab_eq): New.
+ (lookup_const_wide_int): New.
+ (const_double_htab_hash): Use wide-int interfaces.
+ (const_double_htab_eq): Likewise.
+ (rtx_to_double_int): Conditionally compile for wide-int.
+ (immed_double_int_const): Rename to immed_wide_int_const and
+ update for wide-int.
+ (immed_double_const): Conditionally compile for wide-int.
+ (init_emit_once): Use wide-int interfaces.
+ * explow.c (plus_constant): Likewise.
+ * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
+ (lshift_value): Use wide-int interfaces.
+ (expand_mult): Likewise.
+ (choose_multiplier): Likewise.
+ (expand_smod_pow2): Likewise.
+ (make_tree): Likewise.
+ * expr.c (convert_modes): Consolidate handling of constants.
+ Use wide-int interfaces.
+ (emit_group_load_1): Add note.
+ (store_expr): Update comment.
+ (get_inner_reference): Use wide-int interfaces.
+ (expand_constructor): Update comment.
+ (expand_expr_real_2): Use wide-int interfaces.
+ (expand_expr_real_1): Likewise.
+ (reduce_to_bit_field_precision): Likewise.
+ (const_vector_from_tree): Likewise.
+ * final.c: Include wide-int-print.h.
+ (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
+ * fixed-value.c: Include wide-int.h.
+ (fixed_from_string): Use wide-int interfaces.
+ (fixed_to_decimal): Likewise.
+ (fixed_convert_from_real): Likewise.
+ (real_convert_from_fixed): Likewise.
+ * fold-const.h (mem_ref_offset): Return an offset_int.
+ (div_if_zero_remainder): Remove code parameter.
+ * fold-const.c (div_if_zero_remainder): Remove code parameter.
+ Use wide-int interfaces.
+ (may_negate_without_overflow_p): Use wide-int interfaces.
+ (negate_expr_p): Likewise.
+ (fold_negate_expr): Likewise.
+ (int_const_binop_1): Likewise.
+ (const_binop): Likewise.
+ (fold_convert_const_int_from_int): Likewise.
+ (fold_convert_const_int_from_real): Likewise.
+ (fold_convert_const_int_from_fixed): Likewise.
+ (fold_convert_const_fixed_from_int): Likewise.
+ (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
+ (sign_bit_p): Use wide-int interfaces.
+ (make_range_step): Likewise.
+ (build_range_check): Likewise. Pass an integer of the correct type
+ instead of using integer_one_node.
+ (range_predecessor): Pass an integer of the correct type instead
+ of using integer_one_node.
+ (range_successor): Likewise.
+ (merge_ranges): Likewise.
+ (unextend): Use wide-int interfaces.
+ (extract_muldiv_1): Likewise.
+ (fold_div_compare): Likewise.
+ (fold_single_bit_test): Likewise.
+ (fold_sign_changed_comparison): Likewise.
+ (try_move_mult_to_index): Update calls to div_if_zero_remainder.
+ (fold_plusminus_mult_expr): Use wide-int interfaces.
+ (native_encode_int): Likewise.
+ (native_interpret_int): Likewise.
+ (fold_unary_loc): Likewise.
+ (pointer_may_wrap_p): Likewise.
+ (size_low_cst): Likewise.
+ (mask_with_tz): Likewise.
+ (fold_binary_loc): Likewise.
+ (fold_ternary_loc): Likewise.
+ (multiple_of_p): Likewise.
+ (tree_call_nonnegative_warnv_p): Update calls to
+ tree_int_cst_min_precision and real_from_integer.
+ (fold_negate_const): Use wide-int interfaces.
+ (fold_abs_const): Likewise.
+ (fold_relational_const): Use tree_int_cst_lt.
+ (round_up_loc): Use wide-int interfaces.
+ * genemit.c (gen_exp): Add CONST_WIDE_INT case.
+ * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
+ * gengtype.c: Remove include of double-int.h.
+ (do_typedef): Use wide-int interfaces.
+ (open_base_files): Add wide-int.h.
+ (main): Add offset_int and widest_int typedefs.
+ * gengtype-lex.l: Handle "^".
+ (CXX_KEYWORD): Add "static".
+ * gengtype-parse.c (require3): New.
+ (require_template_declaration): Handle constant template arguments
+ and nested templates.
+ * gengtype-state.c: Don't include "double-int.h".
+ * genpreds.c (write_one_predicate_function): Update comment.
+ (write_tm_constrs_h): Add check for hval and lval use in
+ CONST_WIDE_INT.
+ * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
+ (add_to_sequence): Likewise.
+ * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
+ and const_double_operand.
+ * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
+ interfaces.
+ * gimple-fold.c (get_base_constructor): Likewise.
+ (fold_array_ctor_reference): Likewise.
+ (fold_nonarray_ctor_reference): Likewise.
+ (fold_const_aggregate_ref_1): Likewise.
+ (gimple_val_nonnegative_real_p): Likewise.
+ (gimple_fold_indirect_ref): Likewise.
+ * gimple-pretty-print.c (dump_ssaname_info): Likewise.
+ * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
+ (struct slsr_cand_d): Change index to be widest_int.
+ (struct incr_info_d): Change incr to be widest_int.
+ (alloc_cand_and_find_basis): Use wide-int interfaces.
+ (slsr_process_phi): Likewise.
+ (backtrace_base_for_ref): Likewise. Return a widest_int.
+ (restructure_reference): Take a widest_int instead of a double_int.
+ (slsr_process_ref): Use wide-int interfaces.
+ (create_mul_ssa_cand): Likewise.
+ (create_mul_imm_cand): Likewise.
+ (create_add_ssa_cand): Likewise.
+ (create_add_imm_cand): Take a widest_int instead of a double_int.
+ (slsr_process_add): Use wide-int interfaces.
+ (slsr_process_cast): Likewise.
+ (slsr_process_copy): Likewise.
+ (dump_candidate): Likewise.
+ (dump_incr_vec): Likewise.
+ (replace_ref): Likewise.
+ (cand_increment): Likewise. Return a widest_int.
+ (cand_abs_increment): Likewise.
+ (replace_mult_candidate): Take a widest_int instead of a double_int.
+ (replace_unconditional_candidate): Use wide-int interfaces.
+ (incr_vec_index): Take a widest_int instead of a double_int.
+ (create_add_on_incoming_edge): Likewise.
+ (create_phi_basis): Use wide-int interfaces.
+ (replace_conditional_candidate): Likewise.
+ (record_increment): Take a widest_int instead of a double_int.
+ (record_phi_increments): Use wide-int interfaces.
+ (phi_incr_cost): Take a widest_int instead of a double_int.
+ (lowest_cost_path): Likewise.
+ (total_savings): Likewise.
+ (analyze_increments): Use wide-int interfaces.
+ (ncd_with_phi): Take a widest_int instead of a double_int.
+ (ncd_of_cand_and_phis): Likewise.
+ (nearest_common_dominator_for_cands): Likewise.
+ (insert_initializers): Use wide-int interfaces.
+ (all_phi_incrs_profitable): Likewise.
+ (replace_one_candidate): Likewise.
+ (replace_profitable_candidates): Likewise.
+ * godump.c: Include wide-int-print.h.
+ (go_output_typedef): Use wide-int interfaces.
+ * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
+ * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
+ (build_loop_iteration_domains): Likewise.
+ * hooks.h: Include wide-int.h rather than double-int.h.
+ (hook_bool_dint_dint_uint_bool_true): Delete.
+ (hook_bool_wint_wint_uint_bool_true): Declare.
+ * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
+ (hook_bool_wint_wint_uint_bool_true): New.
+ * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
+ interfaces.
+ (ubsan_expand_si_overflow_mul_check): Likewise.
+ * ipa-devirt.c (get_polymorphic_call_info): Likewise.
+ * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
+ (get_ancestor_addr_info): Likewise.
+ (ipa_modify_call_arguments): Likewise.
+ * loop-doloop.c (doloop_modify): Likewise.
+ (doloop_optimize): Likewise.
+ * loop-iv.c (iv_number_of_iterations): Likewise.
+ * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
+ (unroll_loop_constant_iterations): Likewise.
+ (decide_unroll_runtime_iterations): Likewise.
+ (unroll_loop_runtime_iterations): Likewise.
+ (decide_peel_simple): Likewise.
+ (decide_unroll_stupid): Likewise.
+ * lto-streamer-in.c (streamer_read_wi): Add.
+ (input_cfg): Use wide-int interfaces.
+ (lto_input_tree_1): Likewise.
+ * lto-streamer-out.c (streamer_write_wi): Add.
+ (hash_tree): Use wide-int interfaces.
+ (output_cfg): Likewise.
+ * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
+ (GTFILES): Add wide-int.h and signop.h.
+ (TAGS): Look for .cc files too.
+ * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
+ * optabs.c (expand_subword_shift): Likewise.
+ (expand_doubleword_shift): Likewise.
+ (expand_absneg_bit): Likewise.
+ (expand_copysign_absneg): Likewise.
+ (expand_copysign_bit): Likewise.
+ * postreload.c (reload_cse_simplify_set): Likewise.
+ * predict.c (predict_iv_comparison): Likewise.
+ * pretty-print.h: Include wide-int-print.h.
+ (pp_wide_int) New.
+ * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
+ * print-tree.c: Include wide-int-print.h.
+ (print_node_brief): Use wide-int interfaces.
+ (print_node): Likewise.
+ * read-rtl.c (validate_const_wide_int): New.
+ (read_rtx_code): Add CONST_WIDE_INT case.
+ * real.c: Include wide-int.h.
+ (real_to_integer2): Delete.
+ (real_to_integer): New function, returning a wide_int.
+ (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
+ (ten_to_ptwo): Update call to real_from_integer.
+ (real_digit): Likewise.
+ * real.h: Include signop.h, wide-int.h and insn-modes.h.
+ (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
+ (REAL_VALUE_TO_INT): Delete.
+ (real_to_integer): Declare a wide-int form.
+ (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
+ * recog.c (const_int_operand): Improve comment.
+ (const_scalar_int_operand): New.
+ (const_double_operand): Add a separate definition for CONST_WIDE_INT.
+ * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
+ (split_double): Likewise.
+ * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
+ (rtx_size): Likewise.
+ (rtx_alloc_stat_v): New.
+ (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
+ (cwi_output_hex): New.
+ (iterative_hash_rtx): Handle CONST_WIDE_INT.
+ (cwi_check_failed_bounds): New.
+ * rtl.def (CONST_WIDE_INT): New.
+ * rtl.h: Include <utility> and wide-int.h.
+ (struct hwivec_def): New.
+ (CWI_GET_NUM_ELEM): New.
+ (CWI_PUT_NUM_ELEM): New.
+ (struct rtx_def): Add num_elem and hwiv.
+ (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
+ (CASE_CONST_UNIQUE): Likewise.
+ (CASE_CONST_ANY): Likewise.
+ (CONST_SCALAR_INT_P): Likewise.
+ (CONST_WIDE_INT_P): New.
+ (CWI_ELT): New.
+ (HWIVEC_CHECK): New.
+ (cwi_check_failed_bounds): New.
+ (CWI_ELT): New.
+ (HWIVEC_CHECK): New.
+ (CONST_WIDE_INT_VEC) New.
+ (CONST_WIDE_INT_NUNITS) New.
+ (CONST_WIDE_INT_ELT) New.
+ (rtx_mode_t): New type.
+ (wi::int_traits <rtx_mode_t>): New.
+ (wi::shwi): New.
+ (wi::min_value): New.
+ (wi::max_value): New.
+ (rtx_alloc_v) New.
+ (const_wide_int_alloc): New.
+ (immed_wide_int_const): New.
+ * sched-vis.c (print_value): Handle CONST_WIDE_INT.
+ * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
+ * signop.h: New file.
+ * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
+ (simplify_const_unary_operation): Use wide-int interfaces.
+ (simplify_binary_operation_1): Likewise.
+ (simplify_const_binary_operation): Likewise.
+ (simplify_const_relational_operation): Likewise.
+ (simplify_immed_subreg): Likewise.
+ * stmt.c (expand_case): Likewise.
+ * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
+ signop rather than a bool.
+ * stor-layout.c (layout_type): Use wide-int interfaces.
+ (initialize_sizetypes): Update calls to
+ set_min_and_max_values_for_integral_type.
+ (set_min_and_max_values_for_integral_type): Take a signop rather
+ than a bool. Use wide-int interfaces.
+ (fixup_signed_type): Update accordingly. Remove
+ HOST_BITS_PER_DOUBLE_INT limit.
+ (fixup_unsigned_type): Likewise.
+ * system.h (STATIC_CONSTANT_P): New.
+ (STATIC_ASSERT): New.
+ * target.def (can_use_doloop_p): Take widest_ints rather than
+ double_ints.
+ * target.h: Include wide-int.h rather than double-int.h.
+ * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
+ than double_ints.
+ * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
+ rather than INT_CST_LT_UNSIGNED.
+ (can_use_doloop_if_innermost): Take widest_ints rather than
+ double_ints.
+ * tree-affine.c: Include wide-int-print.h.
+ (double_int_ext_for_comb): Delete.
+ (wide_int_ext_for_comb): New.
+ (aff_combination_zero): Use wide-int interfaces.
+ (aff_combination_const): Take a widest_int instead of a double_int.
+ (aff_combination_elt): Use wide-int interfaces.
+ (aff_combination_scale): Take a widest_int instead of a double_int.
+ (aff_combination_add_elt): Likewise.
+ (aff_combination_add_cst): Likewise.
+ (aff_combination_add): Use wide-int interfaces.
+ (aff_combination_convert): Likewise.
+ (tree_to_aff_combination): Likewise.
+ (add_elt_to_tree): Take a widest_int instead of a double_int.
+ (aff_combination_to_tree): Use wide-int interfaces.
+ (aff_combination_remove_elt): Likewise.
+ (aff_combination_add_product): Take a widest_int instead of
+ a double_int.
+ (aff_combination_mult): Use wide-int interfaces.
+ (aff_combination_expand): Likewise.
+ (double_int_constant_multiple_p): Delete.
+ (wide_int_constant_multiple_p): New.
+ (aff_combination_constant_multiple_p): Take a widest_int pointer
+ instead of a double_int pointer.
+ (print_aff): Use wide-int interfaces.
+ (get_inner_reference_aff): Take a widest_int pointer
+ instead of a double_int pointer.
+ (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
+ * tree-affine.h: Include wide-int.h.
+ (struct aff_comb_elt): Change type of coef to widest_int.
+ (struct affine_tree_combination): Change type of offset to widest_int.
+ (double_int_ext_for_comb): Delete.
+ (wide_int_ext_for_comb): New.
+ (aff_combination_const): Use widest_int instead of double_int.
+ (aff_combination_scale): Likewise.
+ (aff_combination_add_elt): Likewise.
+ (aff_combination_constant_multiple_p): Likewise.
+ (get_inner_reference_aff): Likewise.
+ (aff_comb_cannot_overlap_p): Likewise.
+ (aff_combination_zero_p): Use wide-int interfaces.
+ * tree.c: Include tree.h.
+ (init_ttree): Use make_int_cst.
+ (tree_code_size): Removed code for INTEGER_CST case.
+ (tree_size): Add INTEGER_CST case.
+ (make_node_stat): Update comment.
+ (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
+ (build_int_cst_type): Use wide-int interfaces.
+ (double_int_to_tree): Likewise.
+ (double_int_fits_to_tree_p): Delete.
+ (force_fit_type_double): Delete.
+ (force_fit_type): New.
+ (int_cst_hash_hash): Use wide-int interfaces.
+ (int_cst_hash_eq): Likewise.
+ (build_int_cst_wide): Delete.
+ (wide_int_to_tree): New.
+ (cache_integer_cst): Use wide-int interfaces.
+ (build_low_bits_mask): Likewise.
+ (cst_and_fits_in_hwi): Likewise.
+ (real_value_from_int_cst): Likewise.
+ (make_int_cst_stat): New.
+ (integer_zerop): Use wide_int interfaces.
+ (integer_onep): Likewise.
+ (integer_all_onesp): Likewise.
+ (integer_pow2p): Likewise.
+ (integer_nonzerop): Likewise.
+ (tree_log2): Likewise.
+ (tree_floor_log2): Likewise.
+ (tree_ctz): Likewise.
+ (int_size_in_bytes): Likewise.
+ (mem_ref_offset): Return an offset_int rather than a double_int.
+ (build_type_attribute_qual_variant): Use wide_int interfaces.
+ (type_hash_eq): Likewise
+ (tree_int_cst_equal): Likewise.
+ (tree_int_cst_lt): Delete.
+ (tree_int_cst_compare): Likewise.
+ (tree_fits_shwi_p): Use wide_int interfaces.
+ (tree_fits_uhwi_p): Likewise.
+ (tree_int_cst_sign_bit): Likewise.
+ (tree_int_cst_sgn): Likewise.
+ (tree_int_cst_min_precision): Take a signop rather than a bool.
+ (simple_cst_equal): Use wide_int interfaces.
+ (compare_tree_int): Likewise.
+ (iterative_hash_expr): Likewise.
+ (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
+ INT_CST_LT.
+ (get_type_static_bounds): Use wide_int interfaces.
+ (tree_int_cst_elt_check_failed): New.
+ (build_common_tree_nodes): Reordered to set prec before filling in
+ value.
+ (int_cst_value): Check cst_and_fits_in_hwi.
+ (widest_int_cst_value): Use wide_int interfaces.
+ (upper_bound_in_type): Likewise.
+ (lower_bound_in_type): Likewise.
+ (num_ending_zeros): Likewise.
+ (drop_tree_overflow): Likewise.
+ * tree-call-cdce.c (check_pow): Update call to real_from_integer.
+ (gen_conditions_for_pow_cst_base): Likewise.
+ * tree-cfg.c: Include wide-int.h and wide-int-print.h.
+ (group_case_labels_stmt): Use wide-int interfaces.
+ (verify_gimple_assign_binary): Likewise.
+ (print_loop): Likewise.
+ * tree-chrec.c (tree_fold_binomial): Likewise.
+ * tree-core.h (struct tree_base): Add int_length.
+ (struct tree_int_cst): Change rep of value.
+ * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
+ (dr_may_alias_p): Likewise.
+ (max_stmt_executions_tree): Likewise.
+ * tree.def (INTEGER_CST): Update comment.
+ * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
+ * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
+ * tree-dump.c: Include wide-int.h and wide-int-print.h.
+ (dequeue_and_dump): Use wide-int interfaces.
+ * tree.h: Include wide-int.h.
+ (NULL_TREE): Moved to earlier loc in file.
+ (TREE_INT_CST_ELT_CHECK): New.
+ (tree_int_cst_elt_check_failed): New.
+ (TYPE_SIGN): New.
+ (TREE_INT_CST): Delete.
+ (TREE_INT_CST_LOW): Use wide-int interfaces.
+ (TREE_INT_CST_HIGH): Delete.
+ (TREE_INT_CST_NUNITS): New.
+ (TREE_INT_CST_EXT_NUNITS): Likewise.
+ (TREE_INT_CST_OFFSET_NUNITS): Likewise.
+ (TREE_INT_CST_ELT): Likewise.
+ (INT_CST_LT): Delete.
+ (tree_int_cst_elt_check): New (two forms).
+ (type_code_size): Update comment.
+ (make_int_cst_stat, make_int_cst): New.
+ (tree_to_double_int): Delete.
+ (double_int_fits_to_tree_p): Delete.
+ (force_fit_type_double): Delete.
+ (build_int_cstu): Replace with out-of-line function.
+ (build_int_cst_wide): Delete.
+ (tree_int_cst_lt): Define inline.
+ (tree_int_cst_le): New.
+ (tree_int_cst_compare): Define inline.
+ (tree_int_cst_min_precision): Take a signop rather than a bool.
+ (wi::int_traits <const_tree>): New.
+ (wi::int_traits <tree>): New.
+ (wi::extended_tree): New.
+ (wi::int_traits <wi::extended_tree>): New.
+ (wi::to_widest): New.
+ (wi::to_offset): New.
+ (wi::fits_to_tree_p): New.
+ (wi::min_value): New.
+ (wi::max_value): New.
+ * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
+ (copy_tree_body_r): Likewise.
+ * tree-object-size.c (compute_object_offset): Likewise.
+ (addr_object_size): Likewise.
+ * tree-predcom.c: Include wide-int-print.h.
+ (struct dref_d): Change type of offset to widest_int.
+ (dump_dref): Call wide-int printer.
+ (aff_combination_dr_offset): Use wide-int interfaces.
+ (determine_offset): Take a widest_int pointer rather than a
+ double_int pointer.
+ (split_data_refs_to_components): Use wide-int interfaces.
+ (suitable_component_p): Likewise.
+ (order_drefs): Likewise.
+ (add_ref_to_chain): Likewise.
+ (valid_initializer_p): Likewise.
+ (determine_roots_comp): Likewise.
+ * tree-pretty-print.c: Include wide-int-print.h.
+ (dump_generic_node): Use wide-int interfaces.
+ * tree-sra.c (sra_ipa_modify_expr): Likewise.
+ * tree-ssa-address.c (addr_for_mem_ref): Likewise.
+ (move_fixed_address_to_symbol): Likewise.
+ (move_hint_to_base): Likewise.
+ (move_pointer_to_base): Likewise.
+ (move_variant_to_index): Likewise.
+ (most_expensive_mult_to_index): Likewise.
+ (addr_to_parts): Likewise.
+ (copy_ref_info): Likewise.
+ * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
+ (indirect_refs_may_alias_p): Likewise.
+ (stmt_kills_ref_p_1): Likewise.
+ * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
+ * tree-ssa-ccp.c: Update comment at top of file. Include
+ wide-int-print.h.
+ (struct prop_value_d): Change type of mask to widest_int.
+ (extend_mask): New function.
+ (dump_lattice_value): Use wide-int interfaces.
+ (get_default_value): Likewise.
+ (set_constant_value): Likewise.
+ (set_value_varying): Likewise.
+ (valid_lattice_transition): Likewise.
+ (set_lattice_value): Likewise.
+ (value_to_double_int): Delete.
+ (value_to_wide_int): New.
+ (get_value_from_alignment): Use wide-int interfaces.
+ (get_value_for_expr): Likewise.
+ (do_dbg_cnt): Likewise.
+ (ccp_finalize): Likewise.
+ (ccp_lattice_meet): Likewise.
+ (bit_value_unop_1): Use widest_ints rather than double_ints.
+ (bit_value_binop_1): Likewise.
+ (bit_value_unop): Use wide-int interfaces.
+ (bit_value_binop): Likewise.
+ (bit_value_assume_aligned): Likewise.
+ (evaluate_stmt): Likewise.
+ (ccp_fold_stmt): Likewise.
+ (visit_cond_stmt): Likewise.
+ (ccp_visit_stmt): Likewise.
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
+ (constant_pointer_difference): Likewise.
+ (associate_pointerplus): Likewise.
+ (combine_conversions): Likewise.
+ * tree-ssa-loop.h: Include wide-int.h.
+ (struct tree_niter_desc): Change type of max to widest_int.
+ * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
+ * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
+ (remove_redundant_iv_tests): Likewise.
+ (canonicalize_loop_induction_variables): Likewise.
+ * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
+ (constant_multiple_of): Take a widest_int pointer instead of
+ a double_int pointer.
+ (get_computation_aff): Use wide-int interfaces.
+ (ptr_difference_cost): Likewise.
+ (difference_cost): Likewise.
+ (get_loop_invariant_expr_id): Likewise.
+ (get_computation_cost_at): Likewise.
+ (iv_elimination_compare_lt): Likewise.
+ (may_eliminate_iv): Likewise.
+ * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
+ instead of double_int.
+ (max_loop_iterations): Likewise.
+ (max_stmt_executions): Likewise.
+ (estimated_stmt_executions): Likewise.
+ * tree-ssa-loop-niter.c: Include wide-int-print.h.
+ (split_to_var_and_offset): Use wide-int interfaces.
+ (determine_value_range): Likewise.
+ (bound_difference_of_offsetted_base): Likewise.
+ (bounds_add): Take a widest_int instead of a double_int.
+ (number_of_iterations_ne_max): Use wide-int interfaces.
+ (number_of_iterations_ne): Likewise.
+ (number_of_iterations_lt_to_ne): Likewise.
+ (assert_loop_rolls_lt): Likewise.
+ (number_of_iterations_lt): Likewise.
+ (number_of_iterations_le): Likewise.
+ (number_of_iterations_cond): Likewise.
+ (number_of_iterations_exit): Likewise.
+ (finite_loop_p): Likewise.
+ (derive_constant_upper_bound_assign): Likewise.
+ (derive_constant_upper_bound): Return a widest_int.
+ (derive_constant_upper_bound_ops): Likewise.
+ (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
+ (record_estimate): Take a widest_int rather than a double_int.
+ (record_nonwrapping_iv): Use wide-int interfaces.
+ (double_int_cmp): Delete.
+ (wide_int_cmp): New.
+ (bound_index): Take a widest_int rather than a double_int.
+ (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
+ (maybe_lower_iteration_bound): Likewise.
+ (estimate_numbers_of_iterations_loop): Likewise.
+ (estimated_loop_iterations): Take a widest_int pointer than than
+ a double_int pointer.
+ (estimated_loop_iterations_int): Use wide-int interfaces.
+ (max_loop_iterations): Take a widest_int pointer than than
+ a double_int pointer.
+ (max_loop_iterations_int): Use wide-int interfaces.
+ (max_stmt_executions): Take a widest_int pointer than than
+ a double_int pointer.
+ (estimated_stmt_executions): Likewise.
+ (n_of_executions_at_most): Use wide-int interfaces.
+ (scev_probably_wraps_p): Likewise.
+ * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
+ to real_to_integer.
+ * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
+ interfaces.
+ * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
+ double_ints. Adjust for trailing_wide_ints <3> representation.
+ (set_nonzero_bits): Likewise.
+ (get_range_info): Return wide_ints rather than double_ints.
+ Adjust for trailing_wide_ints <3> representation.
+ (get_nonzero_bits): Likewise.
+ (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
+ representation.
+ * tree-ssanames.h (struct range_info_def): Replace min, max and
+ nonzero_bits with a trailing_wide_ints <3>.
+ (set_range_info): Use wide_int_refs rather than double_ints.
+ (set_nonzero_bits): Likewise.
+ (get_range_info): Return wide_ints rather than double_ints.
+ (get_nonzero_bits): Likewise.
+ * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
+ * tree-ssa-pre.c (phi_translate_1): Likewise.
+ * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
+ (acceptable_pow_call): Likewise.
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
+ interfaces.
+ (vn_reference_fold_indirect): Likewise.
+ (vn_reference_maybe_forwprop_address): Likewise.
+ (valueize_refs_1): Likewise.
+ * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
+ * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
+ tree_int_cst_lt and tree_int_cst_le.
+ * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
+ interfaces.
+ (streamer_alloc_tree): Likewise.
+ * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
+ (streamer_write_tree_header): Likewise.
+ (streamer_write_integer_cst): Likewise.
+ * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
+ (build_constructors): Likewise.
+ (array_value_type): Likewise.
+ * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
+ (vect_check_gather): Likewise.
+ * tree-vect-generic.c (build_replicated_const): Likewise.
+ (expand_vector_divmod): Likewise.
+ * tree-vect-loop.c (vect_transform_loop): Likewise.
+ * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
+ (vect_do_peeling_for_alignment): Likewise.
+ * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
+ * tree-vrp.c: Include wide-int.h.
+ (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
+ (extract_range_from_assert): Use wide-int interfaces.
+ (vrp_int_const_binop): Likewise.
+ (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
+ double_int pointers.
+ (ranges_from_anti_range): Use wide-int interfaces.
+ (quad_int_cmp): Delete.
+ (quad_int_pair_sort): Likewise.
+ (extract_range_from_binary_expr_1): Use wide-int interfaces.
+ (extract_range_from_unary_expr_1): Likewise.
+ (adjust_range_with_scev): Likewise.
+ (masked_increment): Take and return wide_ints rather than double_ints.
+ (register_edge_assert_for_2): Use wide-int interfaces.
+ (check_array_ref): Likewise.
+ (search_for_addr_array): Likewise.
+ (maybe_set_nonzero_bits): Likewise.
+ (union_ranges): Pass an integer of the correct type instead of
+ using integer_one_node.
+ (intersect_ranges): Likewise.
+ (simplify_truth_ops_using_ranges): Likewise.
+ (simplify_bit_ops_using_ranges): Use wide-int interfaces.
+ (range_fits_type_p): Likewise.
+ (simplify_cond_using_ranges): Likewise. Take a signop rather than
+ a bool.
+ (simplify_conversion_using_ranges): Use wide-int interfaces.
+ (simplify_float_conversion_using_ranges): Likewise.
+ (vrp_finalize): Likewise.
+ * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
+ (gimple_stringops_transform): Likewise.
+ * varasm.c (decode_addr_const): Likewise.
+ (const_hash_1): Likewise.
+ (const_rtx_hash_1): Likewise
+ (output_constant): Likewise.
+ (array_size_for_constructor): Likewise.
+ (output_constructor_regular_field): Likewise.
+ (output_constructor_bitfield): Likewise.
+ * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
+ * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
+ GENERATOR_FILEs.
+ * gencheck.c: Define BITS_PER_UNIT.
+ * wide-int.cc: New.
+ * wide-int.h: New.
+ * wide-int-print.cc: New.
+ * wide-int-print.h: New.
+
+2014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
+
+2014-05-06 Richard Biener <rguenther@suse.de>
+
+ * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
+ TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
+ (TODO_verify_all): Adjust.
+ * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
+ TODO_verify_stmts and TODO_verify_rtl_sharing.
+ * bb-reorder.c: Likewise.
+ * cfgexpand.c: Likewise.
+ * cprop.c: Likewise.
+ * cse.c: Likewise.
+ * function.c: Likewise.
+ * fwprop.c: Likewise.
+ * gcse.c: Likewise.
+ * gimple-ssa-isolate-paths.c: Likewise.
+ * gimple-ssa-strength-reduction.c: Likewise.
+ * ipa-split.c: Likewise.
+ * loop-init.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * lower-subreg.c: Likewise.
+ * modulo-sched.c: Likewise.
+ * postreload-gcse.c: Likewise.
+ * predict.c: Likewise.
+ * recog.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * store-motion.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-eh.c: Likewise.
+ * tree-emutls.c: Likewise.
+ * tree-if-conv.c: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-loop-distribution.c: Likewise.
+ * tree-object-size.c: Likewise.
+ * tree-parloops.c: Likewise.
+ * tree-pass.h: Likewise.
+ * tree-sra.c: Likewise.
+ * tree-ssa-ccp.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-loop-ch.c: Likewise.
+ * tree-ssa-loop-ivcanon.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-reassoc.c: Likewise.
+ * tree-ssa-sink.c: Likewise.
+ * tree-ssa-strlen.c: Likewise.
+ * tree-ssa-tail-merge.c: Likewise.
+ * tree-ssa-uncprop.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * tree-vect-generic.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * tsan.c: Likewise.
+ * var-tracking.c: Likewise.
+ * bt-load.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * combine-stack-adj.c: Likewise.
+ * combine.c: Likewise.
+ * compare-elim.c: Likewise.
+ * config/epiphany/resolve-sw-modes.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/sh/sh_treg_combine.cc: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * dce.c: Likewise.
+ * dse.c: Likewise.
+ * final.c: Likewise.
+ * ifcvt.c: Likewise.
+ * mode-switching.c: Likewise.
+ * passes.c: Likewise.
+ * postreload.c: Likewise.
+ * ree.c: Likewise.
+ * reg-stack.c: Likewise.
+ * regcprop.c: Likewise.
+ * regrename.c: Likewise.
+ * web.c: Likewise.
+
+2014-05-06 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/61070
+ * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
+ * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
+
+2014-05-05 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/60965
+ * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
+
+2014-05-05 Radovan Obradovic <robradovic@mips.com>
+ Tom de Vries <tom@codesourcery.com>
+
+ * target.def (call_fusage_contains_non_callee_clobbers): New
+ DEFHOOKPOD.
+ * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
+ Hooks to @menu.
+ (@node Miscellaneous Register Hooks): New node.
+ (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
+ * doc/tm.texi: Regenerate.
+
+2014-05-05 Marek Polacek <polacek@redhat.com>
+
+ PR driver/61065
+ * opts.c (common_handle_option): Call error_at instead of warning_at.
+
+2014-05-05 Richard Biener <rguenther@suse.de>
+
+ * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
+ from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
+ under the TODO_verify_il umbrella.
+
+2014-05-05 Richard Biener <rguenther@suse.de>
+
+ * passes.c (execute_function_todo): Move TODO_verify_flow under
+ the TODO_verify_ul umbrella.
+
+2014-05-05 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/61010
+ * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
+ X & CST away from a CST that is the mask of a mode.
+
+2014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
+ int argument to enum machine_mode.
+ (picochip_class_max_nregs): Ditto.
+ * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
+ (picochip_class_max_nregs): Ditto.
+
+2014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * target.def: Add new target hook.
+ * doc/tm.texi: Regenerate.
+ * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
+ * targhooks.c (default_keep_leaf_when_profiled): New function.
+
+ * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
+ (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
+
+2014-05-05 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/60363
+ * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
+ (copy_phi_args): New parameters. Call get_value_locus_in_path.
+ (update_destination_phis): New parameter.
+ (create_edge_and_update_destination_phis): Ditto.
+ (ssa_fix_duplicate_block_edges): Pass new arguments.
+ (thread_single_edge): Ditto.
+
+2014-05-04 Peter Bergner <bergner@vnet.ibm.com>
+
+ * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
+ (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
+ (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
+ * config/rs6000/rs6000-builtin.def (BU_MISC_1):
+ Use RS6000_BTM_HARD_FLOAT.
+ (BU_MISC_2): Likewise.
+ * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
+ RS6000_BTM_HARD_FLOAT.
+ (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
+ is explicitly used.
+ (rs6000_invalid_builtin): Add hard floating builtin support.
+ (rs6000_expand_builtin): Relax the gcc_assert to allow the new
+ hard float builtins.
+ (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
+
+2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
+ Add missing function* argument.
+
+2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lra-constraints.c (valid_address_p): Move earlier in file.
+ Add a constraint argument to the address_info version.
+ (satisfies_memory_constraint_p): New function.
+ (satisfies_address_constraint_p): Likewise.
+ (process_alt_operands, curr_insn_transform): Use them.
+ (process_address): Pass the constraint to valid_address_p when
+ checking address operands.
+
+2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_isa_rev): New variable.
+ (mips_set_architecture): Set it.
+ * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
+ from mips_isa_rev.
+ (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
+ (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
+ (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
+ (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
+ (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
+ conditions in terms of mips_isa_rev.
+ (mips_isa_rev): Declare.
+
+2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh-mem.cc: Use tabs instead of spaces.
+ (prob_unlikely, prob_likely): Make variables const.
+
+2014-05-03 Denis Chertykov <chertykov@gmail.com>
+
+ * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
+
+2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
+
+2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
+ (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
+ * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
+ functions.
+ (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
+ sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
+ sh_pass_in_reg_p.
+ Replace usage of ROUND_REG with sh_round_reg.
+ Use CEIL instead of ROUND_ADVANCE.
+
+2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/61026
+ * config/sh/sh.c: Include stdlib headers before everything else.
+
+2014-05-02 Jakub Jelinek <jakub@redhat.com>
+
+ * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
+ GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
+ (gimplify_adjust_omp_clauses): Simd region is never
+ directly nested in combined parallel. Instead, for linear
+ with copyin/copyout, if in combined for simd loop, make decl
+ firstprivate/lastprivate on OMP_FOR.
+ * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
+ expand_omp_for_static_chunk): When setting endvar, also set
+ fd->loop.v to the same value.
+
+2014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
+
+ * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
+
+2014-05-02 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
+ expression.
+
+2014-05-02 Marek Polacek <polacek@redhat.com>
+
+ * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
+
+2014-05-02 Kito Cheng <kito@0xlab.org>
+
+ * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
+ to a C expression marco.
+ * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
+ * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
+ * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
+ * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
+ HONOR_REG_ALLOC_ORDER.
+ * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
+
+2014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
+
+2014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * config/arc/arc.c (arc_select_cc_mode): Fix typo.
+
+2014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * tree-if-conv.c (is_cond_scalar_reduction): New function.
+ (convert_scalar_cond_reduction): Likewise.
+ (predicate_scalar_phi): Add recognition and transformation
+ of simple conditioanl reduction to be vectorizable.
+
+2014-05-01 Marek Polacek <polacek@redhat.com>
+
+ PR c/43245
+ * doc/invoke.texi: Document -Wdiscarded-qualifiers.
+
+2014-04-30 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
+ vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
+ vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
+ vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
+ vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
+ vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
+ vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
+ vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
+
+2014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/arc/arc.opt (mlra): Move comment above option name
+ to avoid mis-parsing as language options.
+
+2014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
+ * config/sol2.h: ... here.
+ * config/sol2-10.h: Remove.
+
+ * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
+ (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
+ (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
+ (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
+ (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
+ * config/sol2.h: ... here.
+ (SECTION_NAME_FORMAT): Don't redefine.
+ (STARTFILE_ARCH32_SPEC): Rename to ...
+ (STARTFILE_ARCH_SPEC): ... this.
+ (ASM_OUTPUT_ALIGNED_COMMON): Move ...
+ * config/sparc/sol2.h: ... here.
+ (SECTION_NAME_FORMAT): Don't undef.
+ * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
+ (SUBTARGET_EXTRA_SPECS): Remove.
+ * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
+
+ * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
+ (MD_STARTFILE_PREFIX): Remove.
+ (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
+ (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
+ (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
+ (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
+ (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
+ (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
+ * config/i386/sol2.h: ... here.
+ (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
+ * config/i386/sol2-bi.h: Remove.
+ * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
+ (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
+
+ * config/i386/t-sol2-64: Rename to ...
+ * config/i386/t-sol2: ... this.
+ * config/sparc/t-sol2-64: Rename to ...
+ * config/sparc/t-sol2: ... this.
+
+ * config.gcc (*-*-solaris2*): Split sol2_tm_file into
+ sol2_tm_file_head, sol2_tm_file_tail.
+ Include ${cpu_type}/sol2.h before sol2.h.
+ Remove sol2-10.h.
+ (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
+ i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
+ Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
+ Reflect i386/t-sol2-64 renaming.
+ (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
+ Reflect sparc/t-sol2-64 renaming.
+
2014-04-30 Richard Biener <rguenther@suse.de>
* passes.c (execute_function_todo): Move TODO_verify_stmts
* doc/invoke.texi: Fix typo.
* tree-vrp.c: Fix typos.
- * gimple.c (infer_nonnull_range): Reorder operands of an &&
- condition.
+ * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
2014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2014-04-28 Richard Biener <rguenther@suse.de>
* tree-pass.h (execute_pass_list): Adjust prototype.
- * passes.c (pass_manager::execute_early_local_passes):
- Adjust.
+ * passes.c (pass_manager::execute_early_local_passes): Adjust.
(do_per_function): Change callback signature, push all actual
work to the callbals.
(do_per_function_toporder): Likewise.
2014-04-25 Cary Coutant <ccoutant@google.com>
- PR debug/60929
+ PR debug/60929
* dwarf2out.c (should_move_die_to_comdat): A type definition
- can contain a subprogram definition, but don't move it to a
- comdat unit.
+ can contain a subprogram definition, but don't move it to a
+ comdat unit.
(clone_as_declaration): Copy DW_AT_abstract_origin attribute.
- (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
- from original DIE.
+ (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
+ from original DIE.
(clone_tree_hash): Rename to...
(clone_tree_partial): ...this; change callers. Copy
- DW_TAG_subprogram DIEs as declarations.
+ DW_TAG_subprogram DIEs as declarations.
(copy_decls_walk): Don't copy children of a declaration into a
- type unit.
+ type unit.
2014-04-25 H.J. Lu <hongjiu.lu@intel.com>
2014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- * config/arm/arm.c (arm_cortex_a8_tune): Initialise
- T16-related fields.
+ * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
2014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
clobbers.
2014-04-25 Radovan Obradovic <robradovic@mips.com>
- Tom de Vries <tom@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
* rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
handle.
2014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* doc/extend.texi (PowerPC Built-in Functions): Document new
- powerpc extended divide, bcd, pack/unpack 128-bit, builtin
- functions.
+ powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
(PowerPC AltiVec/VSX Built-in Functions): Likewise.
* config/rs6000/predicates.md (const_0_to_3_operand): New
support for decimal floating point builtin functions.
(rs6000_expand_ternop_builtin): Add checks for the new builtin
functions that take constant arguments.
- (rs6000_invalid_builtin): Add decimal floating point builtin
- support.
+ (rs6000_invalid_builtin): Add decimal floating point builtin support.
(rs6000_init_builtins): Setup long double, _Decimal64, and
_Decimal128 types for new builtin functions.
(builtin_function_type): Set the unsigned flags appropriately for
builtin functions.
(UNSPEC_CDTBCD): Likewise.
(UNSPEC_CBCDTD): Likewise.
- (UNSPEC_DIVE): Add support for new extended divide builtin
- functions.
+ (UNSPEC_DIVE): Add support for new extended divide builtin functions.
(UNSPEC_DIVEO): Likewise.
(UNSPEC_DIVEU): Likewise.
(UNSPEC_DIVEUO): Likewise.
(addg6s): Add new BCD builtin functions.
(cdtbcd): Likewise.
(cbcdtd): Likewise.
- (UNSPEC_DIV_EXTEND): Add support for new extended divide
- instructions.
+ (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
(div_extend): Likewise.
(div<div_extend>_<mode>"): Likewise.
(FP128_64): Add support for new builtin functions to pack/unpack
* config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
2014-04-24 Radovan Obradovic <robradovic@mips.com>
- Tom de Vries <tom@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
* reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
* calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
* emit-rtl.c (try_split): Same.
2014-04-24 Radovan Obradovic <robradovic@mips.com>
- Tom de Vries <tom@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
* common.opt (fuse-caller-save): New option.
2014-04-24 Tejas Belagod <tejas.belagod@arm.com>
- * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of elements
- for big-endian.
+ * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
+ elements for big-endian.
2014-04-24 Richard Biener <rguenther@suse.de>
(is_a_helper <const gimple_statement_catch *>::test): ...this.
(is_a_helper <const gimple_statement_resx>::test): Convert to...
(is_a_helper <const gimple_statement_resx *>::test): ...this.
- (is_a_helper <const gimple_statement_eh_dispatch>::test):
- Convert to...
- (is_a_helper <const gimple_statement_eh_dispatch *>::test):
- ...this.
- (is_a_helper <const gimple_statement_eh_filter>::test): Convert
- to...
+ (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
+ (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
+ (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
(is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
(is_a_helper <const gimple_statement_omp_atomic_load>::test):
Convert to...
Convert to...
(is_a_helper <const gimple_statement_omp_atomic_store *>::test):
...this.
- (is_a_helper <const gimple_statement_omp_return>::test): Convert
- to...
+ (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
(is_a_helper <const gimple_statement_omp_return *>::test): ...this.
(is_a_helper <const gimple_statement_omp_continue>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
(is_a_helper <const gimple_statement_omp_for>::test): Convert to...
(is_a_helper <const gimple_statement_omp_for *>::test): ...this.
- (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert
- to...
+ (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
(is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
(is_a_helper <const gimple_statement_omp_parallel>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
- (is_a_helper <const gimple_statement_omp_target>::test): Convert
- to...
+ (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
(is_a_helper <const gimple_statement_omp_target *>::test): ...this.
(is_a_helper <const gimple_statement_omp_sections>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
- (is_a_helper <const gimple_statement_omp_single>::test): Convert
- to...
+ (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
(is_a_helper <const gimple_statement_omp_single *>::test): ...this.
- (is_a_helper <const gimple_statement_omp_teams>::test): Convert
- to...
+ (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
(is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
- (is_a_helper <const gimple_statement_omp_task>::test): Convert
- to...
+ (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
(is_a_helper <const gimple_statement_omp_task *>::test): ...this.
(is_a_helper <const gimple_statement_phi>::test): Convert to...
(is_a_helper <const gimple_statement_phi *>::test): ...this.
- (is_a_helper <const gimple_statement_transaction>::test): Convert
- to...
+ (is_a_helper <const gimple_statement_transaction>::test): Convert to...
(is_a_helper <const gimple_statement_transaction *>::test): ...this.
- (is_a_helper <const gimple_statement_with_ops>::test): Convert
- to...
+ (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
(is_a_helper <const gimple_statement_with_ops *>::test): ...this.
(is_a_helper <gimple_statement_with_ops>::test): Convert to...
(is_a_helper <gimple_statement_with_ops *>::test): ...this.
- (is_a_helper <const gimple_statement_with_memory_ops>::test):
- Convert to...
+ (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
+ to...
(is_a_helper <const gimple_statement_with_memory_ops *>::test):
...this.
- (is_a_helper <gimple_statement_with_memory_ops>::test): Convert
- to...
+ (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
(is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
(gimple_use_ops): Update for removal of implicit pointer from the
invalidate outputs from statements that do not produce useful
outputs for threading.
-2014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
+2014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
* config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
(stack_protect_set_<mode>, stack_protect_test_<mode>): Add
2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
- (rev16<mode>2_alt): Likewise.
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
- * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
- (aarch_rev16_shleft_mask_imm_p): Likewise.
- (aarch_rev16_p_1): Likewise.
- (aarch_rev16_p): Likewise.
- * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
- (aarch_rev16_shright_mask_imm_p): Likewise.
- (aarch_rev16_shleft_mask_imm_p): Likewise.
+ * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
+ (rev16<mode>2_alt): Likewise.
+ * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
+ * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
+ (aarch_rev16_shleft_mask_imm_p): Likewise.
+ (aarch_rev16_p_1): Likewise.
+ (aarch_rev16_p): Likewise.
+ * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
+ (aarch_rev16_shright_mask_imm_p): Likewise.
+ (aarch_rev16_shleft_mask_imm_p): Likewise.
2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
- * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
- rev cost.
- (cortex_a53_extra_costs): Likewise.
- (cortex_a57_extra_costs): Likewise.
- * config/arm/arm.c (cortexa9_extra_costs): Likewise.
- (cortexa7_extra_costs): Likewise.
- (cortexa8_extra_costs): Likewise.
- (cortexa12_extra_costs): Likewise.
- (cortexa15_extra_costs): Likewise.
- (v7m_extra_costs): Likewise.
- (arm_new_rtx_costs): Handle BSWAP.
+ * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
+ * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
+ rev cost.
+ (cortex_a53_extra_costs): Likewise.
+ (cortex_a57_extra_costs): Likewise.
+ * config/arm/arm.c (cortexa9_extra_costs): Likewise.
+ (cortexa7_extra_costs): Likewise.
+ (cortexa8_extra_costs): Likewise.
+ (cortexa12_extra_costs): Likewise.
+ (cortexa15_extra_costs): Likewise.
+ (v7m_extra_costs): Likewise.
+ (arm_new_rtx_costs): Handle BSWAP.
2013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- * config/arm/arm.c (cortexa8_extra_costs): New table.
- (arm_cortex_a8_tune): New tuning struct.
- * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
+ * config/arm/arm.c (cortexa8_extra_costs): New table.
+ (arm_cortex_a8_tune): New tuning struct.
+ * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
+ * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
2014-04-23 Richard Biener <rguenther@suse.de>
* Makefile.in (OBJS): Remove loop-unswitch.o.
- * loop-unswitch.c: Delete.
* tree-pass.h (make_pass_rtl_unswitch): Remove.
* passes.def (pass_rtl_unswitch): Likewise.
* loop-init.c (gate_rtl_unswitch): Likewise.
(has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
-mhwmult command line option.
(msp430_hwmult_enabled): Delete.
- (msp43o_output_labelref): Add support for -mhwmult command line
- option.
+ (msp43o_output_labelref): Add support for -mhwmult command line option.
* config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
(umulsidi3): Likewise.
* config/msp430/msp430.opt (mmcu): Add Report attribute.
* gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
Pattern extended.
- * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator
- extended.
+ * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
(sqabs): Likewise.
* config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
(vqnegd_s64): Likewise.
2014-04-22 Alex Velenko <Alex.Velenko@arm.com>
- * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro
- added.
- * config/aarch64/aarch64-simd-builtins.def (frintn): Use added
- macro.
- * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment
- corrected.
+ * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
+ * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
+ * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
* config/aarch64/aarch64.md (<frint_pattern>): Likewise.
* config/aarch64/arm_neon.h (vrnd_f64): Added.
(vrnda_f64): Likewise.