OSDN Git Service

* config/i386/i386.md
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 1c7cba1..828666f 100644 (file)
@@ -1,3 +1,559 @@
+2008-05-05  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md
+       (*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Use only
+       one insn template instead of template series.
+       (*xordi_1_rex64): Ditto.
+       (*xordi_2_rex64): Ditto.
+
+2008-05-05  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/36119
+       * tree-vect-transform.c (vectorizable_assignment): Set NCOPIES to 1
+       in case of SLP.
+
+2008-06-04  Jan Hubicka  <jh@suse.cz>
+
+       tree-optimization/36100
+       * tree-pass.h (pass_O0_always_inline): Declare.
+       * ipa-inline.c (inline_transform): Remove dead code.
+       (cgraph_gate_O0_always_inline, cgraph_O0_always_inline,
+       pass_O0_always_inline): New.
+       * passes.c (init_optimization_passes): Add pass_O0_always_inline.
+
+2008-05-04  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/i386.c (x86_output_mi_thunk): Use movq alternative
+       mnemonic in this_param move for TARGET_64BIT.
+
+2008-05-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*strmovsi_1): Simplify asm alternatives.
+       (*strmovsi_rex_1): Ditto.
+       (*strsetsi_1): Ditto.
+       (*strsetsi_rex_1): Ditto.
+
+       (add<mode>cc): Macroize expander from addqicc, addhicc, addsicc and
+       adddicc expanders using SWI mode iterator.
+
+2008-05-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/36121
+       * config/i386/i386.c (ix86_expand_special_args_builtin): Remove three
+       argument handling.
+
+2008-05-04  David S. Miller  <davem@davemloft.net>
+
+       * config.gcc (sparc*-*-*): Always set need_64bit_hwint to yes.
+       (sparc*-*-linux*): Use linux.h in tm_file.
+       (sparc-*-linux*): If 'enabled_targets' is 'all', build a bi-arch
+       compiler defaulting to 32-bit.
+       (sparc*-*-*): Remove explicit target settings of need_64bit_hwint,
+       no longer needed.
+       * config/sparc/linux.h: Remove definitions now obtained
+       properly from linux.h
+       * config/sparc/linux64.h: Likewise.
+       (ASM_CPU_DEFAULT_SPEC): Change this to ASM_CPU64_DEFAULT_SPEC, we
+       don't want this setting for 32-bit builds in a biarch compiler.
+       * doc/install.texi: Add sparc-linux to list of targets
+       supporting --enable-targets=all.
+
+2008-05-03  Andrew Pinski  <pinskia@gmail.com>
+
+       * Makefile.in (tree-ssa-phiprop.o): Fix dependencies.
+
+2008-05-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_builtin_type): Move V4SI_FTYPE_V4SF
+       after V4SI_FTYPE_V8HI.
+       (ix86_init_mmx_sse_builtins): Move case V4HI_FTYPE_V4HI after
+       case V4SI_FTYPE_V2DF.
+
+2008-05-03  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * doc/invoke.texi (max-flow-memory-locations): Removed.
+       * params.def (PARAM_MAX_FLOW_MEMORY_LOCATIONS): Removed.
+       
+2008-05-03  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34973
+       * opts.c (set_Wstrict_aliasing): Handle the turn-off case.
+
+2008-05-02  David S. Miller  <davem@davemloft.net>
+
+       * config.gcc (need_64bit_hwint): Document libcpp dependency.
+
+2008-05-02  Simon Baldwin <simonb@google.com>
+
+       PR bootstrap/36108
+       * c-common.h (warn_array_subscript_range): Removed.
+       * c-common.c (warn_array_subscript_range): Ditto.
+       * tree-vrp.c (check_array_ref): Revert to ignoring arrays with size 2.
+       * c-typeck.c (build_array_ref): Remove warn_array_subscript_range.
+
+2008-05-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_special_builtin_type): New.
+       (bdesc_special_args): Likewise.
+       (ix86_expand_special_args_builtin): Likewise.
+       (ix86_init_mmx_sse_builtins): Updated.
+       (ix86_expand_builtin): Updated.
+       (ix86_expand_store_builtin): Removed.
+       (ix86_expand_unop_builtin): Likewise.
+
+       * config/i386/mm3dnow.h (__v2sf): Moved to ...
+       * config/i386/mmintrin.h (__v2sf): Here.
+
+       * config/i386/xmmintrin.h (_mm_loadh_pi): Replace __v2si with
+       const __v2sf.
+       (_mm_loadl_pi): Likewise.
+       (_mm_storeh_pi): Replace __v2si with __v2sf.
+       (_mm_storel_pi): Likewise.
+
+       * doc/extend.texi: Correct __builtin_ia32_loadhps,
+       __builtin_ia32_loadlps, __builtin_ia32_storehps,
+       __builtin_ia32_storelps, __builtin_ia32_loadhpd and
+       __builtin_ia32_loadlpd.
+
+2008-05-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_builtin_type): Add FLOAT_FTYPE_FLOAT,
+       V4SF_FTYPE_V4SF_VEC_MERGE and V2DF_FTYPE_V2DF_VEC_MERGE.
+       (bdesc_args): Updated.  Add scalar SSE builtins with vec_merge.
+       (ix86_init_mmx_sse_builtins): Updated.
+       (ix86_expand_args_builtin): Likewise.
+       (ix86_expand_builtin): Likewise.
+       (ix86_expand_unop1_builtin): Renamed to ...
+       (ix86_expand_unop_vec_merge_builtin): This.
+
+2008-05-01  Jan Hubicka  <jh@suse.cz>
+
+       PR bootstrap/36100
+       * ipa-inline.c (inline_generate_summary): Make static.
+       (inline_transform): Do not call inlining at -O0; make static.
+       * passes.c (execute_todo): Add sanity check.
+       (execute_one_ipa_transform_pass): Execute proper flags.
+
+2008-05-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.h (TYPE_NONALIASED_COMPONENT): Expand comment.
+       (DECL_NONADDRESSABLE_P): Likewise.
+       * alias.c (record_component_aliases): Fix comment.
+
+2008-05-01  Simon Baldwin <simonb@google.com>
+
+       * c-common.h (warn_array_subscript_range): New function.
+       * c-common.c (warn_array_subscript_range): Ditto.
+       * tree-vrp.c (check_array_ref): Corrected code to agree with
+       comment, ignoring only arrays of size 0 or size 1.
+       * c-typeck.c (build_array_ref): Call warn_array_subscript_range.
+
+2008-05-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_builtin_type): Replace
+       DI_FTYPE_DI_DI_INT with V1DI2DI_FTYPE_V1DI_V1DI_INT.
+       (bdesc_args): Updated.
+       (ix86_init_mmx_sse_builtins): Likewise.
+       (ix86_expand_args_builtin): Likewise.
+
+       * config/i386/tmmintrin.h (_mm_alignr_pi8): Replace long long
+       with __v1di.
+
+       * doc/extend.texi: Correct __builtin_ia32_palignr.
+
+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.
+       * tree-ssa-threadedge.c
+       (record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
+       __builtin_object_size.
+
+2008-04-30  Seongbae Park  <seongbae.park@gmail.com>
+
+       * gcc.c (wrapper_string): New variable.
+       (insert_wrapper): New function.
+       (execute): New option -wrapper.
+       * doc/invoke.texi (Overall Options): New driver option -wrapper.
+
+2008-04-30  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/rs6000/crtresgpr.asm, config/rs6000/crtresxgpr.asm,
+       config/rs6000/crtsavgpr.asm, config/rs6000/crtresfpr.asm,
+       config/rs6000/crtresxfpr.asm, config/rs6000/crtsavfpr.asm: Break out
+       from...
+       * config/rs6000/crtsavres.asm: ...here.  Remove unneeded file.
+       * config/rs6000/e500crtres32gpr.asm, config/rs6000/e500crtres64gpr.asm,
+       config/rs6000/e500crtres64gprctr.asm,
+       config/rs6000/e500crtrest32gpr.asm, config/rs6000/e500crtrest64gpr.asm,
+       config/rs6000/e500crtresx32gpr.asm, config/rs6000/e500crtresx64gpr.asm,
+       config/rs6000/e500crtsav32gpr.asm, config/rs6000/e500crtsav64gpr.asm,
+       config/rs6000/e500crtsav64gprctr.asm,
+       config/rs6000/e500crtsavg32gpr.asm, config/rs6000/e500crtsavg64gpr.asm,
+       config/rs6000/e500crtsavg64gprctr.asm: New files.
+       * config/rs6000/t-ppccomm: Add build rules for new files.
+       (LIB2FUNCS_STATIC_EXTRA): Add new files.
+       * config/rs6000/t-netbsd: Add build rules for new files.
+       (LIB2FUNCS_STATIC_EXTRA): New variable.
+       * config/rs6000/sysv4.h (ENDFILE_SPEC): Don't include crtsavres.o
+       (CRTSAVRES_DEFAULT_SPEC): Likewise.
+       * config/rs6000/netbsd.h (ENDFILE_SPEC): Likewise.
+
+2008-04-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_builtin_type): Add
+       FLOAT128_FTYPE_FLOAT128_FLOAT128, V16QI_FTYPE_V16QI_V16QI,
+       V16QI_FTYPE_V8HI_V8HI, V8QI_FTYPE_V8QI_V8QI,
+       V8QI_FTYPE_V4HI_V4HI, V8HI_FTYPE_V8HI_V8HI,
+       V8HI_FTYPE_V16QI_V16QI, V8HI_FTYPE_V4SI_V4SI,
+       V4SI_FTYPE_V4SI_V4SI, V4SI_FTYPE_V8HI_V8HI,
+       V4SI_FTYPE_V4SF_V4SF, V4SI_FTYPE_V2DF_V2DF,
+       V4HI_FTYPE_V4HI_V4HI, V4HI_FTYPE_V8QI_V8QI,
+       V4HI_FTYPE_V2SI_V2SI, V4SF_FTYPE_V4SF_V4SF,
+       V4SF_FTYPE_V4SF_V4SF_SWAP, V4SF_FTYPE_V4SF_V2SI,
+       V4SF_FTYPE_V4SF_V2DF, V4SF_FTYPE_V4SF_DI,
+       V4SF_FTYPE_V4SF_SI, V2DI_FTYPE_V2DI_V2DI,
+       V2DI_FTYPE_V16QI_V16QI, V2DI_FTYPE_V4SI_V4SI,
+       V2DI_FTYPE_V2DF_V2DF, V2SI_FTYPE_V2SI_V2SI,
+       V2SI_FTYPE_V4HI_V4HI, V2SI_FTYPE_V2SF_V2SF,
+       V2DF_FTYPE_V2DF_V2DF, V2DF_FTYPE_V2DF_V2DF_SWAP,
+       V2DF_FTYPE_V2DF_V4SF, V2DF_FTYPE_V2DF_DI,
+       V2DF_FTYPE_V2DF_SI, V2SF_FTYPE_V2SF_V2SF,
+       V1DI_FTYPE_V1DI_V1DI, V1DI_FTYPE_V8QI_V8QI and
+       V1DI_FTYPE_V2SI_V2SI.
+       (bdesc_2arg): Moved to ...
+       (bdesc_args): Here.
+       (ix86_init_mmx_sse_builtins): Updated.
+       (ix86_expand_args_builtin): Updated.  Take a pointer
+       to const struct builtin_description.  Handle comparison
+       builtin functions.
+       (ix86_expand_sse_compare): Take a new argument for swapping operands.
+       (ix86_expand_builtin): Updated.
+
+       * config/i386/sse.md (ssse3_pmaddubswv8hi3): Renamed to ...
+       (ssse3_pmaddubsw128): This.
+       (ssse3_pmaddubswv4hi3): Renamed to ...
+       (ssse3_pmaddubsw): This.
+
+       * doc/extend.texi (__builtin_ia32_packsswb128): Correct prototype.
+       (__builtin_ia32_packssdw128): Likewise.
+       (__builtin_ia32_packuswb128): Likewise.
+       (__builtin_ia32_pmaddubsw): Likewise.
+       (__builtin_ia32_pmaddubsw128): Likewise.
+
+2008-04-30  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/14847
+       * tree-ssa-ifcombine.c (get_name_for_bit_test): New helper function.
+       (recognize_bits_test): Use it.
+       (recognize_single_bit_test): Likewise.
+
+2008-04-30  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg
+       instead of setting number of formal parameters to zero.
+       (ipcp_init_stage): Do not set the number of actual parameters to zero 
+       either.
+       (ipcp_propagate_stage): Explicitly skipping all calls to nodes
+       which are called with variable number of arguments.
+       (ipcp_insert_stage): Explicitely skipping all nodes which are
+       called with variable number of arguments.
+       (ipcp_callsite_param_print): Skipps callsites to nodes with varaible 
+       number of parameters.
+
+       * ipa-prop.h (struct ipa_node_params): Added flag
+       called_with_var_arguments
+       (ipa_set_param_count): Added.  Changed sole setter to use it.
+       (ipa_get_param_count): Added.  All readers of param_count
+       converted to use it instead.
+       (ipa_set_called_with_variable_arg): Added.
+       (ipa_is_called_with_var_arguments): Added.
+       (ipa_get_ith_param): Added.  All readers of param_decls converted
+       to use it instead.
+       (ipa_set_cs_argument_count): Added, sole writer to argument_count 
+       changed to use it. 
+       (ipa_get_cs_argument_count): Added, all readers of argument_count
+       changed to cal it.
+       (ipa_get_ith_jump_func): Added. Accessors of jump values changed 
+       to use it.
+       
+       * ipa-prop.h (struct ipcp_formal): Renamed to ipcp_lattice
+       (struct ipcp_lattice): Renamed cval_type to type
+       (struct ipa_node_params): ipcp_cval renamed to ipcp_lattices
+
+       * ipa-cp.c (ipcp_cval_get_cvalue): Changed return value to tree
+       (ipcp_cval_set_cvalue): Changed type of parameter value to tree
+       (ipcp_insert_stage): Changed the type of variable cvalue to tree
+       (ipcp_replace_map_create): Changed the type of parameter cvalue to tree
+       (build_const_val): Changed the type of parameter cvalue to tree
+       (ipcp_propagate_const): Changed the type of parameter cvalue to tree
+       (ipcp_method_cval_set_cvalue_type): Renamed parameter cval_type1 to type
+       
+       * ipa-prop.h (struct ipcp_formal): Replaced cvalue with tree called 
+       constant 
+
+       * ipa-prop.c (ipa_methodlist_init): Renamed to ipa_init_func_list
+       (ipa_methodlist_not_empty): Removed, the sole user now checks directly
+       (ipa_add_method): Renamed to ipa_push_func_to_list
+       (ipa_remove_method): Renamed to ipa_pop_func_from_list
+       (ipa_callsite_param_count): Removed.
+       (ipa_callsite_param_count_set): Removed.
+       (ipa_callsite_param): Removed.
+       (ipa_callsite_callee): Removed.
+       (ipa_callsite_compute_param): Renamed to ipa_compute_jump_functions
+       (ipa_callsite_compute_count): Renamed to ipa_count_arguments
+       (ipa_method_formal_count): Removed.
+       (ipa_method_formal_count_set): Removed.
+       (ipa_method_get_tree): Removed.
+       (ipa_method_tree_map_create): Removed.
+       (ipa_method_compute_tree_map): Renamed to ipa_create_param_decls_array
+       (ipa_create_param_decls_array): Creates the array itself
+       (ipa_create_param_decls_array): Temporary variable info instead of 
+       a few dereferences.
+       (ipa_method_formal_compute_count): Renamed to ipa_count_formal_params
+       (ipa_method_compute_modify): Renamed to ipa_detect_param_modifications
+       (get_type): Removed.
+       (ipa_jf_get_info_type): Removed.
+       (ipa_node_create): Renamed to ipa_create_node_params
+       (ipa_free): Renamed to ipa_free_all_node_params
+       (ipa_nodes_create): Renamed to ipa_create_all_node_params
+       (ipa_edges_create): Renamed to ipa_create_all_edge_args
+       (ipa_edges_free): Renamed to ipa_free_all_edge_args
+       (ipa_nodes_free): Integrated into ipa_free_all_node_params and removed
+       (ipa_free_all_node_params): Deallocation to jump_functions moved to 
+       ipa_free_all_edge_args
+       (ipa_method_tree_print): Renamed to ipa_print_all_tree_maps
+       (ipa_method_modify_print): Renamed to ipa_print_all_params_modified
+       (ipa_create_methodlist_node): Removed.
+       (ipa_methodlist_method): Removed.
+       (ipa_methodlist_method_set): Removed.
+       (ipa_methodlist_next_method): Removed.
+       (ipa_methodlist_next_method_set): Removed.
+       (ipa_method_is_modified): Removed.
+       (ipa_method_modify_create): Removed.
+       (ipa_method_modify_init): Temporary variable info instead of a few 
+       dereferences.
+       (ipa_detect_param_modifications): Temporary variable info instead of 
+       a few dereferences.
+       (ipa_compute_jump_functions): Temporary variable info instead of 
+       a few dereferences.
+       (ipa_method_modify_set): Removed.
+       (ipa_method_tree_map): Renamed to ipa_get_param_decl_index
+       (ipa_get_param_decl_index): Now accepts struct ipa_node_params rather 
+       than craph_node as the first parameter.
+       (ipa_method_modify_stmt): Renamed to ipa_check_stmt_modifications
+       (ipa_method_modify_init): Removed.
+       (ipa_compute_jump_functions): Added a temp variable instead of 
+       repeatadly dereferencing the cgraph_edge.aux pointer
+       (ipa_callsite_param_set_type): Removed.
+       (ipa_compute_jump_functions): i renamed to index and moved to 
+       an inner block
+       (ipa_callsite_param_set_info_type_formal): Removed.
+       (ipa_callsite_param_set_info_type): Removed.
+       (ipa_callsite_param_map_create): Removed.
+       (ipa_callsite_tree): Removed.
+       (ipa_callsite_caller): Removed.
+       (ipa_pop_func_from_list): return_method removed to return_func
+
+       * ipa-prop.h (enum cvalue_type): Renamed to ipa_lattice_type,
+       prefixed all values with IPA_. Changed all users.
+       (enum jump_func_type): Rnamed UNKNOWN_IPATYPE to IPA_UNKNOWN, 
+       CONST_IPATYPE to IPA_CONST, CONST_IPATYPE_REF to IPA_CONST_REF 
+       and FORMAL_IPATYPE IPA_PASS_THROUGH. 
+       (union parameter_info): Renamed to jump_func_value.
+       (union jump_func_value): Renamed value to constant
+       (struct ipa_jump_func): Renamed info_type to value
+       (struct ipa_node): Renamed to ipa_node_params
+       (struct ipa_node_params): Renamed ipa_arg_num to param_count
+       (struct ipa_node_params): Renamed ipa_param_tree to param_decls
+       (struct ipa_node_params): Renamed ipa_mod to modified_flags
+       (struct ipa_edge): Renamed to ipa_edge_args
+       (struct ipa_edge_args): Renamed ipa_param_num to argument_count
+       (struct ipa_edge_args): Renamed ipa_param_map to jump_functions
+       (struct ipa_methodlist): Renamed to ipa_func_list
+       (struct ipa_func_list): method_p renamed to node, next_method
+       renamed to next
+       (ipa_methodlist_p): Removed, switched all users to struct pointer
+       (IS_VALID_TREE_MAP_INDEX): Renamed to IS_VALID_JUMP_FUNC_INDEX
+
+2008-04-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP): Define.
+       (rs6000_emit_epilogue): Use backchain to restore only when we
+       have a large frame.  Make use of frame pointer to restore if we
+       have one.  Handle ALWAYS_RESTORE_ALTIVEC_BEFORE_POP.
+
+2008-04-29  Paolo Bonzini  <bonzini@gnu.org>
+
+       * config/avr/avr.md (*sbrx_branch, *sbix_branch, *sbix_branch_tmp):
+       Add mode to zero_extract.
+       (sign bit tests peepholes): (Ditto.).
+
+2008-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_builtins): Replace Prescott New
+       Instructions in comments with SSE3.
+       (ix86_builtin_type): This.  Add FLOAT128_FTYPE_FLOAT128,
+       INT64_FTYPE_V4SF, INT64_FTYPE_V2DF, INT_FTYPE_V16QI,
+       INT_FTYPE_V8QI, INT_FTYPE_V4SF, INT_FTYPE_V2DF,
+       V16QI_FTYPE_V16QI, V8HI_FTYPE_V8HI, V8HI_FTYPE_V16QI,
+       V8QI_FTYPE_V8QI, V4SI_FTYPE_V4SI, V4SI_FTYPE_V16QI,
+       V4SI_FTYPE_V4SF, V4SI_FTYPE_V8HI, V4SI_FTYPE_V2DF,
+       V4HI_FTYPE_V4HI, V4SF_FTYPE_V4SF, V4SF_FTYPE_V4SI,
+       V4SF_FTYPE_V2DF, V2DI_FTYPE_V2DI, V2DI_FTYPE_V16QI,
+       V2DI_FTYPE_V8HI, V2DI_FTYPE_V4SI, V2DF_FTYPE_V2DF,
+       V2DF_FTYPE_V4SI, V2DF_FTYPE_V4SF, V2DF_FTYPE_V2SI,
+       V2SI_FTYPE_V2SI, V2SI_FTYPE_V4SF, V2SI_FTYPE_V2SF,
+       V2SI_FTYPE_V2DF, V2SF_FTYPE_V2SF and V2SF_FTYPE_V2SI.
+       (bdesc_sse_args): Renamed to ...
+       (bdesc_args): This.  Add IX86_BUILTIN_PF2ID, IX86_BUILTIN_PFRCP,
+       IX86_BUILTIN_PFRSQRT, IX86_BUILTIN_PI2FD, IX86_BUILTIN_PF2IW,
+       IX86_BUILTIN_PSWAPDSI, IX86_BUILTIN_PSWAPDSF and
+       IX86_BUILTIN_FABSQ.
+       (bdesc_1arg): Moved to ...
+       (bdesc_args): Here.
+       (ix86_init_mmx_sse_builtins): Updated.  Replace Prescott New
+       Instructions in comments with SSE3.
+       (ix86_expand_sse_operands_builtin): Renamed to ...
+       (ix86_expand_args_builtin): This.  Updated.
+       (ix86_expand_unop1_builtin): Update comments.
+       (ix86_expand_builtin): Updated.
+
+2008-04-29  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/36078
+       * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
+       Update virtual SSA form after cleaning up the CFG.
+
+2008-04-29  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/15255
+       * fold-const.c (fold_binary): Fold (A + A) * C to A * 2*C.
+
+2008-04-29  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-alias.c (finalize_ref_all_pointers): Remove.
+       (compute_may_aliases): Do not call finalize_ref_all_pointers.
+       (compute_flow_insensitive_aliasing): Do not treat
+       PTR_IS_REF_ALL pointers special.
+       (get_smt_for): Likewise.
+       (may_alias_p): Re-structure.
+       (is_escape_site): A ref-all pointer conversion is not an escape site.
+       * tree-ssa-structalias.c (find_what_p_points_to): Do not treat
+       PTR_IS_REF_ALL pointers special.
+       * tree-ssa-structalias.h (struct alias_info): Remove
+       ref_all_symbol_mem_tag field.
+       (PTR_IS_REF_ALL): Remove.
+
+2008-04-29  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/36077
+       * fold-const.c (extract_muldiv_1): In combining division constants
+       make sure to never overflow.
+
 2008-04-29  Nick Clifton  <nickc@redhat.com>
 
        * doc/tm.texi (RETURN_ADDR_RTX): Fix typo.
        
 2008-04-25  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * config/i386/sse.md (mov<mode>): Replace SSEMODEI with
-       SSEMODE.
+       * config/i386/sse.md (mov<mode>): Replace SSEMODEI with SSEMODE.
        (*mov<mode>_internal): Likewise.  Support V4SF and V2DF.
        (mov<mode>): Removed.
        (*movv4sf_internal): Likewise.