gcc/
* tree.h (build_function_call_expr): Delete.
(build_call_expr_loc_array): New function.
(build_call_expr_loc_vec): New function.
* tree-flow.h (struct omp_region): Change type of ws_args field
to a VEC.
* builtins.c (build_function_call_expr): Delete.
(build_call_expr_loc_array): New function.
(build_call_expr_loc): Call it. Use XALLOCAVEC.
(build_call_expr): Likewise.
(build_call_expr_loc_vec): New function.
* cgraphunit.c (build_cdtor): Call build_call_expr instead of
build_function_call_expr.
* expr.c (emutls_var_address): Likewise.
* varasm.c (emutls_common_1): Likewise.
* omp-low.c (expand_omp_atomic_mutex): Likewise.
(expand_omp_taskreg): Adjust for new type of region->ws_args.
(get_ws_args_for): Return a VEC instead of a tree.
(expand_parallel_call): Call build_call_expr_loc_vec instead of
build_function_call_expr.
* stor-layout.c (self_referential_size): Likewise.
gcc/fortran/
* trans-decl.c (build_entry_thunks): Call build_call_expr_loc_vec
instead of build_function_call_expr.
* trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Likewise.
From-SVN: r162148
PR objc/44488
* lib/objc-torture.exp (objc-set-runtime-options): Base runtime list
on the target. Make sure that we can assemble the emitted asm when
the test type is 'compile'.
From-SVN: r162144
PR testsuite/44701
* recog.c (constrain_operands): Allow side-effects in memory
operands if either < or > constraint is used, rather than if
both < and > is used.
From-SVN: r162142
2010-07-13 Richard Guenther <rguenther@suse.de>
PR middle-end/44911
* tree-pretty-print.c (dump_generic_node): Use TDF_SLIM for
MEM_REF pointer type dumping. Avoid recursing for TYPE_DECLs
without name.
From-SVN: r162137
2010-07-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* expmed.c (MAX_BITS_PER_WORD): Moved to expmed.h.
* expmed.h (MAX_BITS_PER_WORD): Moved from expmed.c
From-SVN: r162133
* config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct
explanation.
Find ucontext_t * on Solaris 11.
(x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern.
Handle new Solaris 11 __sighndlr patterns.
From-SVN: r162129
PR debug/44901
* vec.h (VEC_block_remove): Fix comment.
* tree-ssa-live.c (remove_unused_locals): Don't use
VEC_unordered_remove on local_decls, instead replace a single
vector element in each iteration if at least one element had
to be removed and VEC_truncate at the end.
* omp-low.c (expand_omp_taskreg): Likewise.
From-SVN: r162126
2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37077
* io/read.c: Fix comment.
* io/io.h (is_char4_unit): New macro.
* io/unit.c (get_internal_unit): Call new function open_internal4.
* io/unix.c (mem_alloc_r4): New function. (mem_alloc_w4): New function.
(mem_read4): New function, temporary stub. (mem_write4): New function.
(open_internal4): New function to set stream pointers to use the new
mem functions.
* io/transfer.c (write_block): Use new mem_alloc_w4 to access internal
units of kind=4.
* io/unix.h: Add prototypes for open_internal4, mem_alloc_w4, and
mem_alloc_r4.
* io/write.c (memset4): New helper function. (memcpy4): New helper
function. (write_default_char4): Use new helper functions.
(write_a): Likewise. (write_l): Likewise. (write_boz): Likewise.
(write_decimal): Likewise. (write_x): Likewise.
(write_integer): Likewise.
* io/write_float.def (output_float): Add code blocks to handle internal
unit kind=4 output utilizing gfc_char4_t pointers. (write_infnan): Use
new helper functions. (OUTPUT_FLOAT_FMT_G): Update this macro likewise.
From-SVN: r162123
2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/37077
* trans-io.c (build_dt): Set common.unit to flag chracter(kind=4)
internal unit.
From-SVN: r162122
* tree-vrp.c (simplify_bit_ops_using_ranges): New function.
(simplify_stmt_using_ranges): Use it.
* gcc.dg/tree-ssa/vrp53.c: New test.
From-SVN: r162115
* config/spu/spu.h (struct spu_builtin_description): Remove FNDECL
member. Do not mark as GTY(()).
* config/spu/spu.c (spu_builtins): Remove FNDECL initializer elements.
(spu_builtin_decls): New static variable.
(spu_builtin_decl): Use it instead of spu_builtins[].fndecl.
(spu_init_builtins): Likewise.
(spu_builtin_mul_widen_even): Likewise.
(spu_builtin_mul_widen_odd): Likewise.
(spu_builtin_mask_for_load): Likewise.
(spu_builtin_vec_perm): Likewise.
* config/spu/spu-c.c: Include "target.h".
(spu_resolve_overloaded_builtin): Call targetm.builtin_decl instead
of using spu_builtins[].fndecl.
From-SVN: r162114
gcc/
* config/mips/mips.h (mips16_globals): Declare.
(SWITCHABLE_TARGET): Define.
* config/mips/mips.c: Include target-globals.h.
(mips16_globals): New variable.
(mips_set_mips16_mode): Use save_target_globals and
restore_target_globals instead of target_reinit.
From-SVN: r162111
gcc/
* reginfo.c (init_reg_sets): Don't zero globals here. Update comment
to say that the function can be called more than once.
* target-globals.c (save_target_globals): Call init_reg_sets.
From-SVN: r162110
gcc/
* Makefile.in (bb-reorder.o, target-globals.o): Depend on bb-reorder.h
* bb-reorder.h: New file.
* bb-reorder.c (default_target_bb_reorder): New variable.
(this_target_bb_reorder): New conditional variable.
(uncond_jump_length): Redefine as a macro.
* target-globals.h (this_target_bb_reorder): Declare.
(target_globals): Add a bb_reorder field.
(restore_target_globals): Copy the bb_reorder field to
this_target_bb-reorder.
* target-globals.c: Include bb-reorder.h.
(default_target_globals): Initialize the bb_reorder field.
(save_target_globals): Likewise.
From-SVN: r162109
gcc/
* Makefile.in (gcse.o, target-globals.o): Depend on gcse.h..
* gcse.h: New file.
* gcse.c: Include gcse.h.
(default_target_gcse): New variable.
(this_target_gcse): New conditional variable.
(can_copy): Redefine as a macro.
(can_copy_init_p): New macro.
(can_copy_p): Remove can_copy_init_p.
* target-globals.h (this_target_gcse): Declare.
(target_globals): Add a gcse field.
(restore_target_globals): Copy the gcse field to
this_target_gcse.
* target-globals.c: Include gcse.h.
(default_target_globals): Initialize the gcse field.
(save_target_globals): Likewise.
From-SVN: r162108
gcc/
* ira-int.h (target_ira_int): Add x_ira_prohibited_mode_move_regs
and x_ira_prohibited_mode_move_regs_initialized_p.
(ira_prohibited_mode_move_regs): Redefine as a macro.
* ira.c (ira_prohibited_mode_move_regs): Delete.
(ira_prohibited_mode_move_regs_initialized_p): Redefine as a macro.
From-SVN: r162107
gcc/
* Makefile.in (target-globals.o): Depend on builtins.h.
* builtins.h: New file.
* builtins.c: Include builtins.h.
(default_target_builtins): New variable.
(this_target_builtins): New conditional variable.
(apply_args_mode, apply_result_mode): Redefine as macros.
* target-globals.h (this_target_builtins): Declare.
(target_globals): Add a builtins field.
(restore_target_globals): Copy the builtins field to
this_target_builtins.
* target-globals.c: Include builtins.h.
(default_target_globals): Initialize the builtins field.
(save_target_globals): Likewise.
From-SVN: r162105
gcc/
* Makefile.in (target-globals.o): Depend on $(IRA_INT_H).
* ira-int.h (ira_max_nregs, ira_important_class_nums): Delete.
(target_ira_int): New structure.
(default_target_ira_int): Declare.
(this_target_ira_int): Declare as a variable or define as a macro.
(ira_reg_mode_hard_regset, ira_register_move_cost)
(ira_may_move_in_cost, ira_may_move_out_cost, ira_class_subset_p)
(ira_non_ordered_class_hard_regs, ira_class_hard_reg_index)
(prohibited_class_mode_regs, ira_important_classes_num)
(ira_important_classes, ira_reg_class_intersect)
(ira_reg_classes_intersect_p, ira_reg_class_super_classes)
(ira_reg_class_union): Redefine as macros.
* ira.h (target_ira): New structure.
(default_target_ira): Declare.
(this_target_ira): Declare as a variable or define as a macro.
(ira_available_class_regs, ira_hard_regno_cover_class)
(ira_reg_class_cover_size, ira_reg_class_cover, ira_class_translate)
(ira_reg_class_nregs, ira_memory_move_cost, ira_class_hard_regs)
(ira_class_hard_regs_num): Redefine as macros.
* ira.c (default_target_ira, default_target_ira_int): New variables.
(this_target_ira, this_target_ira_int): New conditional variables.
(ira_reg_mode_hard_regset, ira_memory_move_cost)
(ira_register_move_cost, ira_may_move_in_cost, ira_may_move_out_cost)
(ira_class_subset_p): Delete.
(no_unit_alloc_regs): Redefine as a macro.
(ira_class_hard_regs, ira_non_ordered_class_hard_regs)
(ira_class_hard_regs_num, ira_class_hard_reg_index)
(ira_available_class_regs): Delete.
(alloc_reg_class_subclasses): Redefine as a macro.
(ira_reg_class_cover_size, ira_reg_class_cover)
(ira_important_classes_num, ira_important_classes)
(ira_important_class_nums, ira_class_translate): Delete.
(cover_class_order): Document the variable's lifetime.
(reorder_important_classes): Don't set ira_important_class_nums.
(ira_reg_class_intersect, ira_reg_classes_intersect_p)
(ira_reg_class_super_classes, ira_reg_class_union)
(ira_hard_regno_cover_class, ira_reg_class_nregs, ira_max_nregs):
Delete.
(setup_reg_class_nregs): Don't set ira_max_regs.
(prohibited_class_mode_regs): Delete.
* target-globals.h (this_target_ira, this_target_ira_int): Declare.
(target_globals): Add ira and ira_int fields.
(restore_target_globals): Copy the ira field to this_target_ira
and the ira_int field to this_target_ira_int.
* target-globals.c: Include ira-int.h.
(default_target_globals): Initialize the ira and ira_int fields.
(save_target_globals): Likewise.
From-SVN: r162102
gcc/
* Makefile.in (target-globals.o): Depend on $(CFGLOOP_H).
* cfgloop.h (target_cfgloop): New structure.
(default_target_cfgloop): Declare.
(this_target_cfgloop): Declare as a variable or define as a macro.
(target_avail_regs, target_clobbered_regs, target_res_regs)
(target_reg_cost, target_spill_cost): Redefine as macros.
* cfgloopanal.c (default_target_cfgloop): New variable.
(this_target_cfgloop): New conditional variable.
(target_avail_regs, target_clobbered_regs, target_res_regs)
(target_reg_cost, target_spill_cost): Delete.
* target-globals.h (this_target_cfgloop): Declare.
(target_globals): Add a cfgloop field.
(restore_target_globals): Copy the cfgloop field to
this_target_cfgloop.
* target-globals.c: Include cfgloop.h.
(default_target_globals): Initialize the cfgloop field.
(save_target_globals): Likewise.
From-SVN: r162101
gcc/
* Makefile.in (LIBFUNCS_H): Add $(HASHTAB_H).
(target-globals.o): Depend on $(LIBFUNCS_H).
* libfuncs.h: Include hashtab.h.
(libfunc_entry): Moved from optabs.c.
(target_libfuncs): New structure.
(default_target_libfuncs): Declare.
(this_target_libfuncs): Declare as a variable or define as a macro.
(libfunc_table): Redefine as a macro.
* optabs.c (default_target_libfuncs): New variable.
(this_target_libfuncs): New conditional variable.
(libfunc_table): Delete.
(libfunc_entry): Moved to optabs.h.
(libfunc_hash): Redefine as a macro.
(hash_libfunc, eq_libfunc): Fix comments.
(init_optabs): Use libfunc_hash to detect cases where the function
has already been called. Clear the hash table instead of
recreating it.
* target-globals.h (this_target_libfuncs): Declare.
(target_globals): Add a libfuncs field.
(restore_target_globals): Copy the libfuncs field to
this_target_libfuncs.
* target-globals.c: Include libfuncs.h.
(default_target_globals): Initialize the libfuncs field.
(save_target_globals): Likewise.
From-SVN: r162099
gcc/
* Makefile.in (target-globals.o): Depend on $(EXPR_H) and $(OPTABS_H).
* optabs.h (target_optabs): New structure.
(default_target_optabs): Declare.
(this_target_optabs): Declare as a variable or define as a macro.
(optab_table, convert_optab_table, direct_optab_table): Redefine
as macros.
* optabs.c (default_target_optabs): New variable.
(this_target_optabs): New conditional variable.
(optab_table, convert_optab_table, direct_optab_table): Delete.
* target-globals.h (this_target_optabs): Declare.
(target_globals): Add a optabs field.
(restore_target_globals): Copy the optabs field to
this_target_optabs.
* target-globals.c: Include expr.h and optabs.h.
(default_target_globals): Initialize the optabs field.
(save_target_globals): Likewise.
From-SVN: r162097
gcc/
* Makefile.in (target-globals.o): Depend on reload.h.
* reload.h (target_reload): New structure.
(default_target_reload): Declare.
(this_target_reload): Declare as a variable or define as a macro.
(indirect_symref_ok, double_reg_address_ok): Redefine as macros.
* reload1.c (default_target_reload): New variable
(this_target_reload): New conditional variable.
(indirect_symref_ok, double_reg_address_ok): Delete.
(spill_indirect_levels): Redefine as a macro.
* target-globals.h (this_target_reload): Declare.
(target_globals): Add a reload field.
(restore_target_globals): Copy the reload field to
this_target_reload.
* target-globals.c: Include hard-reg-set.h.
(default_target_globals): Initialize the reload field.
(save_target_globals): Likewise.
From-SVN: r162093