+2008-07-04 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/36684
+ * config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns
+ for PIC.
+
+2008-07-04 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-switch-conversion.c (build_one_array, gen_def_assigns): Use
+ build_gimple_modify_stmt.
+ (build_arrays, gen_inbound_check): Likewise. Force RHS to be
+ gimple operand. Use fold_build* instead of build*.
+
+2008-07-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (lookup_vi_for_tree): Declare.
+ (do_sd_constraint): Handle a dereference of ESCAPED and CALLUSED
+ properly to compute the reachability set if we do field-sensitive PTA.
+ * invoke.texi (max-fields-for-field-sensitive): Document default.
+ * opts.c (decode_options): Set max-fields-for-field-sensitive to
+ 100 for optimize >= 2.
+
+2008-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ggc-zone.c (lookup_page_table_if_allocated,
+ set_page_table_entry, zone_find_object_size, alloc_small_page,
+ alloc_large_page, ggc_free, gt_ggc_m_S, ggc_marked_p, init_ggc,
+ new_ggc_zone, init_ggc_pch, ggc_pch_this_base, ggc_pch_read): Fix
+ -Wc++-compat and/or -Wcast-qual warnings.
+
+2008-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/36634
+ * config/rs6000/rs6000.md (call, call_value): Don't arrange for
+ pic_offset_table_rtx to be marked as used here.
+ (call_nonlocal_sysv, call_value_nonlocal_sysv): Add split for
+ TARGET_SECURE_PLT to "use" pic_offset_table_rtx.
+ (call_nonlocal_sysv_secure, call_value_nonlocal_sysv_secure): New insn.
+ (sibcall_nonlocal_sysv, sibcall_value_nonlocal_sysv): Assert
+ !TARGET_SECURE_PLT.
+
+2008-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * alloc-pool.c (hash_descriptor, eq_descriptor,
+ alloc_pool_descriptor): Fix -Wc++-compat warnings.
+ * bitmap.c (hash_descriptor, eq_descriptor, bitmap_descriptor):
+ Likewise.
+ * ggc-common.c (hash_descriptor, eq_descriptor, hash_ptr, eq_ptr,
+ loc_descriptor, ggc_prune_ptr, ggc_free_overhead,
+ final_cmp_statistic, cmp_statistic, dump_ggc_loc_statistics):
+ Likewise.
+ * varray.c (hash_descriptor, eq_descriptor, varray_descriptor):
+ Likewise.
+
+2008-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-flow.h (loop_only_exit_p): Declare.
+ * tree-ssa-loop-niter.c (loop_only_exit_p): Make public.
+ * tree-ssa-loop-ivopts.c (may_eliminate_iv): Reinstate direct check on
+ the number of iterations if it is constant. Otherwise, if this is the
+ only possible exit of the loop, use the conservative estimate on the
+ number of iterations of the entire loop if available.
+
+2008-07-03 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (libgcc.mvars): Add LIBGCC_SYNC and LIBGCC_SYNC_CFLAGS.
+ * libgcc-std.ver (GCC_4.4.0): New version, inherited from GCC_4.3.0.
+ Add synchronization functions.
+ * config/sync.c: New file.
+ * config/mips/t-libgcc-mips16 (LIBGCC_SYNC): Define.
+ (LIBGCC_SYNC_CFLAGS): Likewise.
+
+2008-07-03 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/36710
+ * config/i386/i386.md (mode): Add TF to "mode" attribute.
+ (*pushtf_sse): New insn pattern.
+ (pushtf splitters): New splitters.
+
+2008-07-03 Michael Meissner <gnu@the-meissners.org>
+
+ PR middle-end/35736
+ * predict.c (build_predict_expr): Use void_type_node for the tree
+ type, instead of NULL_TREE.
+
+2008-07-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (contains_aligned_value_p): Return true
+ for TCmode.
+ (ix86_data_alignment): Align TCmode to 128bits.
+ (ix86_local_alignment): Likewise.
+
+2008-07-03 Andrew Haley <aph@redhat.com>
+
+ PR bootstrap/33304
+ * vec.h (VEC_TA): New.
+ (DEF_VEC_I, DEF_VEC_P, DEF_VEC_ALLOC_I, DEF_VEC_ALLOC_P,
+ DEF_VEC_O, DEF_VEC_ALLOC_O: Use VEC_TA.
+ * c-common.c (C_COMMON_FIXED_TYPES_SAT): New macro.
+ (C_COMMON_FIXED_MODE_TYPES_SAT): New macro.
+ (C_COMMON_FIXED_TYPES): Remove first arg.
+ (C_COMMON_FIXED_MODE_TYPES): Likewise.
+ * tree.c (MAKE_FIXED_TYPE_NODE): Break into two macros,
+ MAKE_FIXED_TYPE_NODE and MAKE_FIXED_TYPE_NODE_WIDTH in order
+ not to use empty macro arguments.
+
+2008-07-02 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/vms_tramp.asm, config/arm/crti.asm,
+ config/arm/crtn.asm, config/bfin/crti.s, config/bfin/crtlibid.s,
+ config/bfin/crtn.s, config/fr30/crti.asm, config/fr30/crtn.asm,
+ config/frv/lib1funcs.asm, config/i386/sol2-c1.asm,
+ config/i386/sol2-ci.asm, config/i386/sol2-cn.asm,
+ config/i386/sol2-gc1.asm, config/ia64/crti.asm,
+ config/ia64/crtn.asm, config/m68hc11/larith.asm,
+ config/m68hc11/m68hc11-crt0.S, config/m68k/crti.s,
+ config/m68k/crtn.s, config/mcore/crti.asm, config/mcore/crtn.asm,
+ config/rs6000/crtresfpr.asm, config/rs6000/crtresgpr.asm,
+ config/rs6000/crtresxfpr.asm, config/rs6000/crtresxgpr.asm,
+ config/rs6000/crtsavfpr.asm, config/rs6000/crtsavgpr.asm,
+ config/rs6000/crtsavres.asm, 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, config/rs6000/eabi-ci.asm,
+ config/rs6000/eabi-cn.asm, config/rs6000/eabi.asm,
+ config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
+ config/rs6000/tramp.asm, config/sparc/sol2-ci.asm,
+ config/sparc/sol2-cn.asm: Remove .file directives.
+
+2008-07-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * resource.c (mark_referenced_resources): Look inside
+ UNSPEC_VOLATILEs and ASM_INPUTs.
+
+2008-07-02 Ian Lance Taylor <iant@google.com>
+
+ * rtlanal.c (add_reg_note): New function.
+ * rtl.h (add_reg_note): Declare.
+ * auto-inc-dec.c (attempt_change): Use add_reg_note.
+ * bb-reorder.c (add_reg_crossing_jump_notes): Likewise.
+ * builtins.c (expand_builtin_longjmp): Likewise.
+ (expand_builtin_nonlocal_goto): Likewise.
+ * calls.c (emit_call_1, expand_call): Likewise.
+ * cfgexpand.c (add_reg_br_prob_note): Likewise.
+ * cfglayout.c (fixup_reorder_chain): Likewise.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
+ (commit_one_edge_insertion): Likewise.
+ * combine.c (move_deaths, distribute_notes): Likewise.
+ * df-problems.c (df_set_note): Likewise.
+ * emit-rtl.c (link_cc0_insns, try_split): Likewise.
+ (set_unique_reg_note): Likewise.
+ (emit_copy_of_insn_after): Likewise.
+ * expr.c (expand_expr_real): Likewise.
+ * gcse.c (add_label_notes): Likewise.
+ * haifa-sched.c (create_check_block_twin): Likewise.
+ * jump.c (mark_jump_label_1): Likewise.
+ * loop-doloop.c (add_test, doloop_modify): Likewise.
+ * loop-unswitch.c (compare_and_jump_seq): Likewise.
+ * lower-subreg.c (move_eh_region_note): Likewise.
+ * optabs.c (emit_libcall_block): Likewise.
+ * predict.c (predict_insn): Likewise.
+ (combine_predictions_for_insn): Likewise.
+ * recog.c (peephole2_optimize): Likewise.
+ * regmove.c (try_auto_increment): Likewise.
+ * reg-stack.c (emit_pop_insn, move_for_stack_reg): Likewise.
+ * reload.c (find_reloads): Likewise.
+ * reload1.c (fixup_eh_region_note): Likewise.
+ (reload_as_needed, add_auto_inc_notes, copy_eh_notes): Likewise.
+ * reorg.c (delete_prior_computation): Likewise.
+ (delete_computation, dbr_schedule): Likewise.
+ * config/pa/pa.c (legitimize_pic_address): Likewise.
+ * config/sh/sh.c (sh_reorg): Likewise.
+
+2008-07-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/36669
+ * config/libgcc-glibc.ver: Add %exclude.
+ * config/m32r/libgcc-glibc.ver: Likwise.
+ * config/s390/libgcc-glibc.ver: Likwise.
+ * config/sh/libgcc-glibc.ver: Likwise.
+ * config/sparc/libgcc-sparc-glibc.ver: Likwise.
+
+ * config/i386/libgcc-glibc.ver: New.
+
+ * config/i386/libgcc-x86_64-glibc.ver: Removed.
+
+2008-07-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Remove i386/t-fprules-softfp64 soft-fp/t-softfp
+ from tmake_file from i[34567]86-*-darwin*, x86_64-*-darwin*,
+ i[34567]86-*-linux*, x86_64-*-linux*. Add
+ i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file for
+ i[34567]86-*-darwin*, x86_64-*-darwin*, i[34567]86-*-linux*,
+ x86_64-*-linux*. Add i386/t-linux to tmake_file for
+ i[34567]86-*-linux*, x86_64-*-linux*.
+
+ * libgcc-std.ver: Add empty GCC_4.4.0.
+
+ * mkmap-symver.awk: Support multiple versions per symbol.
+
+ * config/i386/i386.c (ix86_init_builtins): Always define
+ __builtin_fabsq and __builtin_copysignq with fallbacks.
+ (ix86_expand_builtin): Emit normal call for __builtin_fabsq
+ and __builtin_copysignq if SSE2 isn't available.
+
+ * config/i386/linux.h (LIBGCC2_HAS_TF_MODE): Defined.
+ (LIBGCC2_TF_CEXT): Likwise.
+ (TF_SIZE): Likwise.
+
+ * config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): Defined as 1.
+
+ * config/i386/sfp-machine.h: Moved to libgcc.
+
+ * config/i386/sfp-machine.h: New.
+ * config/i386/t-linux: Likwise.
+
+ * config/i386/t-darwin: Remove softfp_wrap_start and
+ softfp_wrap_end.
+ * config/i386/t-darwin64: Likewise.
+
+ * config/i386/t-fprules-softfp64: Renamed to ...
+ * config/i386/t-fprules-softfp: This.
+
+ * config/i386/t-linux64: Remove SHLIB_MAPFILES, softfp_wrap_start
+ and softfp_wrap_end.
+
+2008-07-02 Jason Merrill <jason@redhat.com>
+
+ * tree.c (ctor_to_list): Use FOR_EACH_CONSTRUCTOR_ELT.
+
+ * tree.c (ctor_to_list): New fn.
+ * tree.h: Declare it.
+ (CONSTRUCTOR_ELT): New macro.
+ (CONSTRUCTOR_NELTS): New macro.
+
+2008-07-02 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (struct variable_info): Reorder
+ to fill padding on 64bit hosts. Make collapsed_to an int.
+ (get_varinfo_fc): Deal with that.
+ (new_var_info): Likewise.
+ (collapse_rest_of_var): Likewise.
+
+2008-07-02 Joshua Sumali <jsumali@redhat.com>
+
+ * doc/install.texi (--enable-java-home): Document.
+ (--enable-aot-compile-rpm): Likewise.
+ (--with-arch-directory): Likewise.
+ (--with-os-directory): Likewise.
+ (--with-origin-name): Likewise.
+ (--with-arch-suffix): Likewise.
+ (--with-jvm-root-dir): Likewise.
+ (--with-jvm-jar-dir): Likewise.
+ (--with-python-dir): Likewise.
+
+2008-07-02 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (can_propagate_from): Exclude loads
+ from decls explicitly. Merge operand checking from tuples.
+
+2008-07-02 Martin Jambor <mjambor@suse.cz>
+
+ * tree-switch-conversion.c: Included timevar.h which I forgot before.
+
+2008-07-02 Martin Jambor <mjambor@suse.cz>
+
+ * tree-switch-conversion.c: Included timevar.h
+ (pass_convert_switch): Added a timevar id (TV_TREE_SWITCH_CONVERSION).
+
+ * timevar.def: Added TV_TREE_SWITCH_CONVERSION.
+
+2008-07-02 Martin Jambor <mjambor@suse.cz>
+
+ * tree-switch-conversion.c: Corrected various comments and
+ whitespace issues
+ (build_constructors): Fixed minor formatting mistakes.
+
+ * invoke.texi (Optimize Options): Corrected the
+ switch-conversion-max-branch-ratio parameter.
+
+2008-07-02 Mark Shinwell <shinwell@codesourcery.com>
+
+ * final.c (asm_insn_count): Return zero for an empty asm body.
+
+2008-07-02 Richard Guenther <rguenther@suse.de>
+
+ * bitmap.h (bitmap_set_bit): Return bool.
+ (bitmap_clear_bit): Likewise.
+ * bitmap.c (bitmap_set_bit): Return if the bit changed. Only
+ write to the bitmap if it would.
+ (bitmap_clear_bit): Likewise.
+ * tree-ssa-structalias.c (add_implicit_graph_edge): Use
+ bitmap_set_bit return value.
+ (add_pred_graph_edge): Likewise.
+ (add_graph_edge): Likewise.
+ (do_sd_constraint): Likewise.
+ (do_ds_constraint): Likewise.
+
+2008-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * config/alpha/alpha.c (alpha_need_linkage, alpha_use_linkage):
+ Fix -Wc++-compat and/or -Wcast-qual warnings.
+ * config/i386/netware.c (gen_stdcall_or_fastcall_decoration,
+ gen_regparm_prefix): Likewise.
+ * vmsdbgout.c (write_modbeg, lookup_filename,
+ vmsdbgout_source_line, vmsdbgout_init): Likewise.
+
+2008-07-02 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/mingw32.h (TARGET_USE_JCR_SECTION): Undef to let
+ defaults.h definition apply.
+
+2008-07-01 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * function.c (assign_parm_remove_parallels): New.
+ (assign_parm_setup_block_p): Do not return true for non-BLKmode
+ PARALLELs.
+ (assign_parm_setup_block): Do not handle them.
+ (assign_parm_setup_reg, assign_parm_setup_stack): Call
+ assign_parm_remove_parallels.
+
+2008-07-01 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * c-typeck.c (convert_for_assignment): Use
+ vector_targets_convertible_p.
+ * c-common.c (vector_targets_convertible_p): New.
+ * c-common.h (vector_targets_convertible_p): New prototype.
+ * config/rs6000/rs6000.c (rs6000_is_opaque_type): Do not check
+ opaque_p_V2SI_type_node.
+
+2008-07-01 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.c (ia64_cannot_force_const_mem): Do not allow
+ RFmode constants.
+
+2008-07-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_build_signbit_mask): Generate TImode and
+ TFmode constants via two element DImode vector for hosts with
+ HOST_BITS_PER_WIDE_INT < 64.
+ (ix86_init_builtins): Define __builtin_fabsq and __builtin_copysignq
+ also for HOST_BITS_PER_WIDE_INT < 64.
+
+2008-07-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/36666
+ * tree-ssa-structalias.c (get_constraint_for_1): Declare.
+ (get_constraint_exp_from_ssa_var): Split into ...
+ (get_constraint_exp_for_temp): ... this ...
+ (get_constraint_for_ssa_var): ... and that.
+ Return constraint expressions for all touched sub-fields
+ if the results address is not taken.
+ (process_constraint): Remove assertion that aggregate
+ assignments do not happen at this place.
+ (get_constraint_for_component_ref): Add address_p argument.
+ Return constraint expressions for all touched sub-fields
+ if the results address is not taken.
+ (do_deref): Use get_constraint_exp_for_temp.
+ (get_constraint_for_1): Rename from ...
+ (get_constraint_for): ... this. Add the old function as wrapper.
+ (do_structure_copy): Use get_constraint_for_1.
+
+2008-07-01 Martin Jambor <mjambor@suse.cz>
+
+ * Makefile.in (tree-switch-conversion.o): Add.
+ (OBJS-common): Add tree-swtch-conversion.o.
+ * passes.c (init_optimization_passes): Add pass_convert_switch.
+ * tree-pass.h: (pass_convert_switch): Add.
+ * tree-switch-conversion.c: New file.
+ * gcc.dg/tree-ssa/cswtch.c: New testcase.
+ * common.opt (ftree-cswtch): New option.
+ * params.h (PARAM_SWITCH_CONVERSION_BRANCH_RATIO): New parameter.
+ * params.def (PARAM_SWITCH_CONVERSION_BRANCH_RATIO): New parameter.
+ * opts.c (decode_options): Set flag_tree_switch_conversion when
+ optimization level is >= 2.
+ * doc/invoke.texi (Optimize Options): Added description of
+ -ftree-swtch-conversion and switch-conversion-max-branch-ratio.
+
+2008-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * config/darwin-driver.c (darwin_default_min_version): Fix
+ -Wc++-compat warnings.
+
+2008-06-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movti_rex64): Add "!" to "r" constraint
+ of operand 0.
+
+2008-06-30 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * ifcvt.c (cond_move_process_if_block): Free vectors on false return.
+
+2008-06-30 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ PR rtl-optimization/34744
+ * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): New macros.
+ (df_scan_free_internal): Free data structures not
+ allocated in storage pools.
+ (df_mw_hardreg_chain_delete_eq_uses): Use df_scan_free_mws_vec.
+ (df_refs_add_to_chains): Use df_scan_free_ref_vec and
+ df_scan_free_mws_vec.
+ * dse.c (dse_step6): Free offset_map_p and offset_map_n
+ unconditionally.
+
+2008-06-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (contains_aligned_value_p): Return true
+ for __float128.
+ (ix86_function_arg_boundary): Return its natural boundary
+ for __float128.
+ (return_in_memory_32): Don't check TDmode.
+ (ix86_split_to_parts): Support splitting into 4 parts and
+ support TFmode for 32bit target.
+ (ix86_split_long_move): Support splitting into 4 parts.
+ (bdesc_args): Enable IX86_BUILTIN_FABSQ and IX86_BUILTIN_COPYSIGNQ
+ for SSE2.
+ (ix86_init_mmx_sse_builtins): Move __float80 and __float128 to ...
+ (ix86_init_builtins): Here.
+ (ix86_scalar_mode_supported_p): Always return true for TFmode.
+ (ix86_c_mode_for_suffix): Always return TFmode and XFmode for
+ 'q' and 'w', respectively.
+
+ * config/i386/i386.md (movtf): Check TARGET_SSE2 instead of
+ TARGET_64BIT.
+ (movtf_internal): Likewise.
+ (<code>tf2): Likewise.
+ (*absnegtf2_sse): Likewise.
+ (copysign<mode>3): Likewise.
+ (copysign<mode>3_const): Likewise.
+ (copysign<mode>3_var): Likewise.
+ (define_split UNSPEC_COPYSIGN): Likewise.
+ * config/i386/sse.md (*nandtf3): Likewise.
+ (<code>tf3): Likewise.
+ (*<code>tf3): Likewise.
+
+2008-06-30 Joey Ye <joey.ye@intel.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * global.c (compute_regsets): Set frame_pointer_needed here.
+ * reload1.c (init_elim_table): Don't set frame_pointer_needed here.
+
+2008-06-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * doc/install.texi (specific): Expand Windows build notes.
+
+2008-06-30 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/36648
+ * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Divide
+ number of prolog iterations by step. Fix the comment.
+
+2008-06-30 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/36671
+ * tree-ssa-structalias.c (handle_lhs_call): Add flags argument,
+ handle calls from ECF_MALLOC functions.
+ (handle_pure_call): ECF_MALLOC functions do not return
+ call-used memory.
+ (find_func_aliases): Handle all calls, adjust calls to handle_lhs_call.
+
+2008-06-29 Andreas Schwab <schwab@suse.de>
+
+ * config/m68k/m68k.c (print_operand): Always print a float
+ constant in hex.
+ * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND)
+ (ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND):
+ Remove macros.
+
+ * config/rs6000/x-linux64: Remove never used file.
+
+2008-06-29 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.h (compute_points_to_sets): Adjust
+ prototype.
+ (struct alias_info): Move ...
+ * tree-ssa-alias.c: ... here.
+ (update_alias_info): Declare.
+ (compute_may_aliases): Call it.
+ (update_alias_info): New function.
+ * tree-ssa-structalias.c (update_alias_info): Move ...
+ * tree-ssa-alias.c (update_alias_info_1): ... here.
+ * tree-ssa-structalias.c (process_constraint_1): Remove
+ unused from_call argument. Rename to ...
+ (process_constraint): ... this. Delete old wrapper.
+ (make_constraint_to): Adjust callers.
+ (handle_const_call): Likewise.
+ (handle_pure_call): Likewise.
+ (init_base_vars): Likewise.
+ (handle_lhs_call): Likewise. Remove unnecessary constraint.
+ (find_func_aliases): We don't need structure copies for
+ complex types.
+ (make_constraint_from_anything): Remove.
+ (create_variable_info_for): For globals make constraints
+ from escaped, not from anything.
+ (compute_points_to_sets): Do not call update_alias_info.
+ (ipa_pta_execute): Use make_constraint_from.
+
+2008-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (CXX_COMPAT_WARN, cxx_compat_warn): Delete.
+ (bitmap.o-warn, dominance.o-warn): New.
+ * configure.ac (cxx_compat_warn): Delete.
+ (loose_warn): Add -Wcast-qual and -Wc++-compat.
+ * system.h: Remove #pragma diagnostic for -Wcast-qual and
+ -Wc++-compat.
+ * configure: Regenerate.
+
+ * optabs.c (libfunc_decl_hash, libfunc_decl_eq): Fix -Wcast-qual
+ warnings.
+
+2008-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * alloc-pool.c (create_alloc_pool): Fix -Wc++-compat warnings.
+ * df-scan.c (df_notes_rescan): Likewise.
+ * ggc-page.c (set_page_table_entry): Likewise.
+ * intl.c (gcc_gettext_width): Likewise.
+ * varasm.c (get_unnamed_section, get_noswitch_section,
+ get_section): Likewise.
+
+2008-06-28 Andrew Jenner <andrew@codesourcery.com>
+
+ * regrename.c (build_def_use): Don't copy RTX.
+
+2008-06-28 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (Variable Attributes): Use @ref instead of @xref.
+ (Type Attributes): Fix nesting of @table and @subsection. Adjust
+ punctuation. Use @ref instead of @xref.
+ (Function Names): Remove stray @display/@end display.
+ (C++ Attributes): Use @ref instead of @xref.
+ (Deprecated Features): Fix punctuation around @xref.
+ (Backwards Compatibility): Likewise.
+ * doc/rtl.texi (Incdec): Remove stray @table/@end table.
+
+2008-06-28 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/predicates.md (easy_fp_constant): Reject TFmode
+ constants for E500 double.
+
+2008-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * doc/rtl.texi (const_vector): Document const_fixed as legitimate
+ element type of const_vector.
+
+2008-06-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (addti3, adddi3, addsi3, addhi3, addqi3):
+ Remove FLAGS_REG clobber from expander pattern.
+ (subti3, subdi3, subsi3, subhi3, subqi3): Ditto.
+ (anddi3, andsi3, andhi3, andqi3): Ditto.
+ (iordi3, iorsi3, iorhi3, iorqi3): Ditto.
+ (xordi3, xorsi3, xorhi3, xorqi3): Ditto.
+ (negti2, negdi2, negsi2, neghi2, negqi2): Ditto.
+ (ashlsi3, ashlhi3, ashlqi3): Ditto.
+ (ashrsi3, ashrhi3, ashrqi3): Ditto.
+ (lshrsi3, lshrhi3, lshrqi3): Ditto.
+ (rotldi3, rotlsi3, rotlhi3, rotlqi3): Ditto.
+ (rotrdi3, rotrsi3, rotrhi3, rotrqi3): Ditto.
+
+2008-06-28 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (callused_id, var_callused,
+ callused_tree): Add.
+ (handle_pure_call): New function.
+ (find_func_aliases): Call it.
+ (find_what_p_points_to): Handle the call-used set.
+ (clobber_what_escaped): Likewise.
+ (compute_call_used_vars): New function.
+ (init_base_vars): Init the call-used variable.
+ (do_sd_constraint): Do not propagate the solution from CALLUSED
+ but use CALLUSED as a placeholder.
+ (solve_graph): Likewise.
+ * tree-flow-inline.h (gimple_call_used_vars): New function.
+ * tree-flow.h (struct gimple_df): Add call_used_vars bitmap.
+ (compute_call_used_vars): Declare.
+ * tree-ssa-alias.c (set_initial_properties): Call
+ compute_call_used_vars.
+ (reset_alias_info): Clear call-used variables.
+ (add_call_clobber_ops): Assert we are not called for const/pure
+ functions. Remove handling of them.
+ (add_call_read_ops): Handle pure functions by adding the
+ call-used set of variables as VUSEs.
+ * tree-ssa.c (init_tree_ssa): Allocate call-used bitmap.
+ (delete_tree_ssa): Free it.
+ * tree-dfa.c (remove_referenced_var): Clear the var from the
+ call-used bitmap.
+
+2008-06-28 Kai Tietz <kai.tietz@onevision.com>
+
+ * tree.c (build_varargs_function_type_list): New.
+ (build_function_type_list_1): New.
+ (build_function_type_list): Use build_function_type_list_1.
+ * tree.h (build_varargs_function_type_list): New.
+
+2008-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ PR target/34856
+ * config/spu/spu.c (spu_builtin_splats): Do not generate
+ invalid CONST_VECTOR expressions.
+ (spu_expand_vector_init): Likewise.
+
+2008-06-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * optabs.c (libfunc_decls): New variable.
+ (libfunc_decl_hash, libfunc_decl_eq): New functions.
+ (init_one_libfunc): Reuse decls and SYMBOL_REFs when asked
+ for the same function twice.
+
+2008-06-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ashlti3, ashrti3, lshrti3): Expand using
+ ix86_expand_binary_operator directly.
+ (*ashlti3_1): Rename from ashlti3_1. Use nonmemory_operand predicate
+ for operand 2.
+ (*ashrti3_1): Ditto.
+ (*lshrti3_1): Ditto.
+ (*ashlti3_2, *ashrti3_2, *lshrti3_2): Remove insn patterns.
+ (ashlti, ashrti and lshrti splitters): Handle nonmemory operand 2
+ using only one splitter. Conditionaly execute splitter before or
+ after peephole2 pass.
+ (ashlti, ashrti and lshrti peephole2): Define peephole2 patterns.
+ (x86_shld): Rename from x86_shld_1. Compress operand 2 constraints.
+ Use only one alternative in asm template.
+ (x86_64_shld): Compress operand 2 constraints. Use only one alternative
+ in asm template.
+ (*ashldi3_cmp_rex64): Use const_1_to_63_operand operand predicate and
+ "J" operand constraint for operand 2.
+ (*ashldi3_cconly_rex64): Ditto.
+ (*ashrdi3_cmp_rex64): Ditto.
+ (*ashrdi3_cconly_rex64): Ditto.
+ (*lshrdi3_cmp_rex64): Ditto.
+ (*lshrdi3_cconly_rex64): Ditto.
+ * config/i386/predicates.md (const_1_to_63_operand): New predicate.
+ * config/i386/i386.md (print_operand) ['s']: Print ", " using fputs.
+ (split_ashr, split_ashl, split_lshr): Use gen_x86_shrd instead of
+ gen_x86_shrd_1.
+
2008-06-27 Jakub Jelinek <jakub@redhat.com>
- * gimplify.c (omp_is_private): Don't return true if decl
- is not already private on #pragma omp for or #pragma omp parallel for.
+ * gimplify.c (omp_is_private): Don't return true if decl is not
+ already private on #pragma omp for or #pragma omp parallel for.
PR debug/36617
* tree-cfg.c (struct move_stmt_d): Replace block field with
* config/mips/mips-protos.h (mips_split_const_insns): Declare.
* config/mips/mips.c (mips_split_const_insns): New function.
* config/mips/mips.md (move_type): New attribute.
- (mode): Move attribute definition earlier in file. Add "TI"
- and "TF".
+ (mode): Move attribute definition earlier in file. Add "TI" and "TF".
(dword_mode): New attribute.
(type): Avoid long line. Map "move_type"s to "type"s,
choosing "multi" for doubleword moves if appropriate.
* config/arc/arc.c (arc_init): Likewise.
* config/arm/arm.c (neon_builtin_compare,
locate_neon_builtin_icode): Likewise.
- * config/arm/pe.c (arm_mark_dllexport, arm_pe_unique_section):
- Likewise.
+ * config/arm/pe.c (arm_mark_dllexport, arm_pe_unique_section): Likewise.
* config/bfin/bfin.c (bfin_init_machine_status,
bfin_optimize_loop): Likewise.
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Likewise.
* config/cris/cris.c (cris_init_expanders): Likewise.
* config/darwin-c.c (frameworks_in_use, add_framework): Likewise.
* config/darwin.c (machopic_indirection_eq,
- machopic_indirection_name, machopic_output_indirection):
- Likewise.
+ machopic_indirection_name, machopic_output_indirection): Likewise.
* config/frv/frv.c (frv_init_machine_status, frv_compare_insns,
frv_io_check_address, frv_io_handle_set, frv_io_handle_use_1,
frv_optimize_membar): Likewise.
* config/m68hc11/m68hc11.c (m68hc11_encode_label): Likewise.
* config/m68k/m68k.c (m68k_handle_option,
m68k_sched_md_init_global): Likewise.
- * config/mcore/mcore.c (mcore_mark_dllexport,
- mcore_mark_dllimport, mcore_unique_section): Likewise.
+ * config/mcore/mcore.c (mcore_mark_dllexport, mcore_mark_dllimport,
+ mcore_unique_section): Likewise.
* config/mips/mips.c (mips_block_move_straight,
- mips16_rewrite_pool_refs, mips_sim_wait_regs_2,
- mips_sim_record_set): Likewise.
+ mips16_rewrite_pool_refs, mips_sim_wait_regs_2, mips_sim_record_set):
+ Likewise.
* config/mmix/mmix.c (mmix_init_machine_status,
mmix_encode_section_info): Likewise.
- * config/pa/pa.c (pa_init_machine_status, hppa_encode_label):
- Likewise.
+ * config/pa/pa.c (pa_init_machine_status, hppa_encode_label): Likewise.
* config/rs6000/rs6000.c (rs6000_init_machine_status,
print_operand_address, output_toc, redefine_groups,
rs6000_elf_encode_section_info, machopic_output_stub): Likewise.
have_similar_memory_accesses_1, ref_base_address_1): Likewise.
* tree-ssa-phiopt.c (name_to_bb_hash): Likewise.
-2008-06-25 Uros Bizjak <ubizjak@gmail.com>
+2008-06-25 Uros Bizjak <ubizjak@gmail.com>
PR target/36627
* config/i386/i386.md : Change constraints of HImode and QImode
* config/vax/vaxv.h: Remove.
* config/windiss.h: Remove.
-2008-06-06 Uros Bizjak <ubizjak@gmail.com>
+2008-06-06 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/36438
* cse.c (fold_rtx) [ASHIFT, LSHIFTRT, ASHIFTRT]: Break out early