+2008-05-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/36095
+ * config/i386/i386.c (bdesc_crc32): Removed.
+ (ix86_expand_crc32): Likewise.
+ (ix86_builtin_type): Replace V2DI2TI_FTYPE_V2DI2TI_INT with
+ V2DI2TI_FTYPE_V2DI_INT, V2DI2TI_FTYPE_V2DI2TI_V2DI2TI_INT with
+ V2DI2TI_FTYPE_V2DI_V2DI_INT. Add UINT64_FTYPE_UINT64_UINT64,
+ UINT_FTYPE_UINT_UINT, UINT_FTYPE_UINT_USHORT and
+ UINT_FTYPE_UINT_UCHAR.
+ (bdesc_args): Updated. Add crc32 builtins.
+ (ix86_init_mmx_sse_builtins): Updated.
+ (ix86_expand_args_builtin): Updated to support subreg.
+
+ * doc/extend.texi: Correct __builtin_ia32_crc32di.
+
+2008-05-01 Jan Hubicka <jh@suse.cz>
+
+ * tree-pass.h (opt_pass): Add IPA_PASS.
+ (varpool_node, cgraph_node): Forward declare.
+ (ipa_opt_pass): Define.
+ (pass_ipa_inline): Turn into ipa_opt_pass.
+ (pass_apply_inline): Remove.
+ * ipa-inline.c (pass_ipa_inline): Turn into ipa_opt_pass.
+ (apply_inline): Turn into ....
+ (inline_transform): ... this one.
+ (inline_generate_summary): New function.
+ (pass_apply_inline): Remove.
+ * function.h (ipa_opt_pass): Forward declare structure; typedef;
+ vector.
+ (struct function): Add ipa_transforms_to_apply.
+ * passes.c (register_one_dump_file): Work on IPA_PASS.
+ (init_optimization_passes): Remove pass_inline_parameters and
+ pass_apply_inline.
+ (pass_init_dump_file, pass_fini_dump_file): Break out from ....
+ (execute_one_pass) ... here; apply transforms when possible.
+ (add_ipa_transform_pass, execute_ipa_summary_asses,
+ execute_one_ipa_transform_pass): New.
+ (execute_ipa_pass_list): Update for IPA_PASS type.
+
+2008-05-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_builtin_type): Add
+ V2DI_FTYPE_V2DI_V16QI, V2DI_FTYPE_V2DI_UINT_UINT and
+ V2DI_FTYPE_V2DI_V2DI_UINT_UINT.
+ (bdesc_args): Add SSE4a builtins.
+ (ix86_init_mmx_sse_builtins): Updated.
+ (ix86_expand_args_builtin): Likewise.
+ (ix86_expand_builtin): Likewise.
+
+2008-05-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_builtin_type): Add
+ V8HI_FTYPE_V8HI_V8HI_COUNT, V8HI_FTYPE_V8HI_SI_COUNT,
+ V4SI_FTYPE_V4SI_V4SI_COUNT, V4SI_FTYPE_V4SI_SI_COUNT,
+ V4HI_FTYPE_V4HI_V4HI_COUNT, V4HI_FTYPE_V4HI_SI_COUNT,
+ V2DI_FTYPE_V2DI_V2DI_COUNT, V2DI_FTYPE_V2DI_SI_COUNT,
+ V2SI_FTYPE_V2SI_V2SI_COUNT, V2SI_FTYPE_V2SI_SI_COUNT,
+ V1DI_FTYPE_V1DI_V1DI_COUNT, V1DI_FTYPE_V1DI_SI_COUNT,
+ V8HI_FTYPE_V8HI_INT, V4SI_FTYPE_V4SI_INT, V4HI_FTYPE_V4HI_INT,
+ V2DI2TI_FTYPE_V2DI2TI_INT, V2DI2TI_FTYPE_V2DI2TI_V2DI2TI_INT
+ and DI_FTYPE_DI_DI_INT.
+ (bdesc_args): Add MMX/SSE shift, shuffle and palignr builtins.
+ (ix86_init_mmx_sse_builtins): Updated.
+ (ix86_expand_args_builtin): Likewise.
+ (ix86_expand_builtin): Likewise.
+ (ix86_expand_binop_imm_builtin): Removed.
+
+ * doc/extend.texi: Correct __builtin_ia32_palignr128.
+
+2008-04-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/32921
+ * tree-ssa-loop-im.c (mem_refs_may_alias_p): Disambiguate with TBAA.
+
+2008-04-30 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * config/arm/arm.c (arm_unwind_emit): Use
+ crtl->all_throwers_are_sibcalls instead of
+ cfun->all_throwers_are_sibcalls.
+ (arm_output_fn_unwind): Likewise.
+ * config/frv/frv.c (frv_stack_info): Use crtl->uses_pic_offset_table
+ instead of cfun->uses_pic_offset_table.
+ (frv_expand_prologue): Likewise.
+ (frv_frame_pointer_required): Likewise.
+ (frv_expand_fdpic_call): Likewise.
+ (frv_emit_movsi): Likewise.
+ * config/iq2000/iq2000.c (iq2000_expand_prologue): Use
+ cfun->returns_pcc_struct instead of
+ current_function_returns_pcc_struct.
+ * config/m32c/m32c.c (need_to_save): Use crtl->calls_eh_return
+ instead of cfun->calls_eh_return.
+ (m32c_pushm_popm): Likewise.
+ * config/xtensa/xtensa.h (cfun->calls_alloca): Remove bogus
+ "extern" declaration.
+
+2008-04-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/21636
+ * tree-ssa-ccp.c (ccp_fold): Handle &p->x with p being a
+ constant address.
+ (evaluate_stmt): Print the likely value.
+ (ccp_visit_stmt): Avoid excessive vertical spacing.
+
2008-04-30 Rafael Espindola <espindola@google.com>
* builtins.c (fold_call_expr): Return realret.