1. 25 Apr, 2008 1 commit
    • re PR testsuite/35843 (-fdump-rtl-expand does not exist anymore) · e3b5732b
      	PR testsuite/35843
      	* cfgexpand.c (pass_expand): Turn into RTL pass.
      	* passes.c (execute_one_pass): Do pass typechecking after execution.
      	* tree-pass.h (pass_expand): Turn into RTL pass.
      
      	* function.h (struct rtl_data): Move here fields
      	accesses_prior_frames, calls_eh_return, saves_all_registers,
      	has_nonlocal_goto, has_asm_statement, is_thunk,
      	all_throwers_are_sibcalls, limit_stack, profile, uses_const_pool,
      	uses_pic_offset_table, uses_eh_lsda, tail_call_emit,
      	arg_pointer_save_area_init from struct function; turn into bool.
      	(struct function): Move
      	calls_eh_return, saves_all_registers, has_nonlocal_goto,
      	has_asm_statement, is_thunk, all_throwers_are_sibcalls, limit_stack,
      	profile, uses_const_pool, uses_pic_offset_table, uses_eh_lsda,
      	tail_call_emit, arg_pointer_save_area_init
      	into struct rtl_data.  Remove recursive_call_emit and gimplified flags.
      	(current_function_returns_struct, current_function_returns_pcc_struct,
      	current_function_calls_setjmp, current_function_calls_alloca,
      	current_function_accesses_prior_frames,
      	current_function_calls_eh_return, current_function_is_thunk,
      	current_function_stdarg, current_function_profile,
      	current_function_limit_stack, current_function_uses_pic_offset_table,
      	current_function_uses_const_pool, current_function_has_nonlocal_label,
      	current_function_saves_all_registers,
      	current_function_has_nonlocal_goto,
      	current_function_has_asm_statement): Remove accesor macros.
      	* ra-conflict.c (global_conflicts): Update.
      	* tree-tailcall.c (suitable_for_tail_opt_p): Update.
      	(suitable_for_tail_call_opt_p): Update.
      	* builtins.c (expand_builtin_return_addr): Update.
      	(expand_builtin_setjmp_setup): Update.
      	(expand_builtin_nonlocal_goto): Update.
      	* final.c (final_start_function): Update.
      	(profile_function): Update.
      	(leaf_function_p): Update.
      	(only_leaf_regs_used): Update.
      	* df-scan.c (df_get_exit_block_use_set): Update.
      	* dojump.c (clear_pending_stack_adjust): Update.
      	* tree-stdarg.c (gate_optimize_stdarg): Update.
      	* gimple-low.c (lower_function_body): Update.
      	* global.c (compute_regsets): Update.
      	(global_alloc): Update.
      	* dwarf2out.c (dwarf2out_begin_prologue): Update.
      	* expr.c (expand_assignment): Update.
      	* dse.c (dse_step0): Update.
      	(dse_step1): Update.
      	* c-decl.c (store_parm_decls): Update.
      	* local-alloc.c (combine_regs): Update.
      	(find_free_reg): Update.
      	* function.c (assign_parms_augmented_arg_list): Update.
      	(assign_parm_find_data_types): Update.
      	(assign_parms): Update.
      	(allocate_struct_function): Update.
      	(expand_function_start): Update.
      	(expand_function_end): Update.
      	(get_arg_pointer_save_area): Update.
      	(thread_prologue_and_epilogue_insns): Update.
      	(rest_of_match_asm_constraints): Update.
      	* stor-layout.c (variable_size): Update.
      	* gcse.c (gcse_main): Update.
      	(bypass_jumps): Update.
      	* gimplify.c (gimplify_function_tree): Update.
      	* calls.c (emit_call_1): Update.
      	(expand_call): Update.
      	* bt-load.c (compute_defs_uses_and_gen): Update.
      	* except.c (sjlj_assign_call_site_values): Update.
      	(sjlj_emit_function_enter): Update.
      	(can_throw_external): Update.
      	(set_nothrow_function_flags): Update.
      	(expand_builtin_unwind_init): Update.
      	(expand_eh_return): Update.
      	(convert_to_eh_region_ranges): Update.
      	(output_function_exception_table): Update.
      	* emit-rtl.c (gen_tmp_stack_mem): Update.
      	* cfgexpand.c (expand_used_vars): Update.
      	(tree_expand_cfg): Update.
      	* cfgcleanup.c (rest_of_handle_jump): Update.
      	* explow.c (allocate_dynamic_stack_space): Update.
      	* varasm.c (assemble_start_function): Update.
      	(force_const_mem): Update.
      	(mark_constant_pool): Update.
      	* tree-optimize.c (tree_rest_of_compilation): Update.
      	* stack-ptr-mod.c (notice_stack_pointer_modification): Update.
      	* tree-cfg.c (notice_special_calls): Update.
      	(is_ctrl_altering_stmt): Update.
      	(tree_can_make_abnormal_goto): Update.
      	(tree_purge_dead_abnormal_call_edges): Update.
      	* config/alpha/predicates.md: Update.
      	* config/alpha/alpha.c (alpha_sa_mask): Update.
      	(alpha_sa_size): Update.
      	(alpha_does_function_need_gp): Update.
      	(alpha_expand_prologue): Update.
      	(alpha_start_function): Update.
      	(alpha_output_function_end_prologue): Update.
      	(alpha_expand_epilogue): Update.
      	* config/frv/frv.c (frv_stack_info): Update.
      	(frv_expand_epilogue): Update.
      	* config/s390/s390.c (s390_regs_ever_clobbered): Update.
      	(s390_register_info): Update.
      	(s390_frame_info): Update.
      	(s390_init_frame_layout): Update.
      	(s390_can_eliminate): Update.
      	(save_gprs): Update.
      	* config/spu/spu.c (spu_split_immediate): Update.
      	(need_to_save_reg): Update.
      	(spu_expand_prologue): Update.
      	(spu_expand_epilogue): Update.
      	* config/sparc/sparc.md: Update.
      	* config/sparc/sparc.c (eligible_for_return_delay): Update.
      	(sparc_tls_got): Update.
      	(legitimize_pic_address): Update.
      	(sparc_emit_call_insn): Update.
      	(sparc_expand_prologue): Update.
      	(output_return): Update.
      	(print_operand): Update.
      	(sparc_function_ok_for_sibcall): Update.
      	* config/sparc/sparc.h (EXIT_IGNORE_STACK): Update.
      	* config/m32r/m32r.md: Update.
      	* config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Update.
      	(m32r_compute_frame_size): Update.
      	(m32r_expand_prologue): Update.
      	(m32r_expand_epilogue): Update.
      	(m32r_legitimize_pic_address): Update.
      	* config/m32r/m32r.h (FRAME_POINTER_REQUIRED): Update.
      	* config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): Update.
      	* config/i386/i386.c (ix86_frame_pointer_required): Update.
      	(gen_push): Update.
      	(ix86_save_reg): Update.
      	(ix86_compute_frame_layout): Update.
      	(ix86_expand_prologue): Update.
      	(ix86_expand_epilogue): Update.
      	* config/sh/sh.c (output_stack_adjust): Update.
      	(calc_live_regs): Update.
      	(sh5_schedule_saves): Update.
      	(sh_expand_prologue): Update.
      	(sh_expand_epilogue): Update.
      	(sh_setup_incoming_varargs): Update.
      	(sh_allocate_initial_value): Update.
      	(sh_get_pr_initial_val): Update.
      	* config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): Update.
      	* config/sh/sh.md (label:): Update.
      	* config/avr/avr.c (out_movhi_mr_r): Update.
      	* config/crx/crx.h (enum): Update.
      	* config/xtensa/xtensa.h (along): Update.
      	* config/stormy16/stormy16.c Update.
      	(xstormy16_compute_stack_layout): Update.
      	* config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Update.
      	(fr30_expand_prologue): Update.
      	* config/cris/cris.c (cris_conditional_register_usage): Update.
      	(cris_reg_saved_in_regsave_area): Update.
      	(cris_initial_frame_pointer_offset): Update.
      	(cris_simple_epilogue): Update.
      	(cris_expand_prologue): Update.
      	(cris_expand_epilogue): Update.
      	(cris_expand_pic_call_address): Update.
      	(cris_asm_output_symbol_ref): Update.
      	(cris_asm_output_label_ref): Update.
      	* config/cris/cris.md Update.
      	* config/iq2000/iq2000.c (compute_frame_size): Update.
      	(iq2000_expand_epilogue): Update.
      	* config/mt/mt.h (save_direction): Update.
      	* config/mn10300/mn10300.c (mn10300_function_value): Update.
      	* config/ia64/ia64.c (ia64_compute_frame_size): Update.
      	(ia64_secondary_reload_class): Update.
      	* config/m68k/m68k.c (m68k_save_reg): Update.
      	(m68k_expand_prologue): Update.
      	(m68k_expand_epilogue): Update.
      	(legitimize_pic_address): Update.
      	* config/rs6000/rs6000.c (rs6000_got_register): Update.
      	(first_reg_to_save): Update.
      	(first_altivec_reg_to_save): Update.
      	(compute_vrsave_mask): Update.
      	(compute_save_world_info): Update.
      	(rs6000_stack_info): Update.
      	(spe_func_has_64bit_regs_p): Update.
      	(rs6000_ra_ever_killed): Update.
      	(rs6000_emit_eh_reg_restore): Update.
      	(rs6000_emit_allocate_stack): Update.
      	(rs6000_emit_prologue): Update.
      	(rs6000_emit_epilogue): Update.
      	(rs6000_output_function_epilogue): Update.
      	(output_profile_hook): Update.
      	(rs6000_elf_declare_function_name): Update.
      	* config/rs6000/rs6000.h (rs6000_args): Update.
      	* config/rs6000/rs6000.md: Update.
      	* config/mcore/mcore.c (mcore_expand_prolog): Update.
      	* config/arc/arc.c (arc_output_function_epilogue): Update.
      	* config/arc/arc.h (FRAME_POINTER_REQUIRED): Update.
      	* config/darwin.c (machopic_function_base_name): Update.
      	* config/score/score3.c (score3_compute_frame_size): Update.
      	(rpush): Update.
      	(rpop): Update.
      	(score3_epilogue): Update.
      	* config/score/score7.c (score7_compute_frame_size): Update.
      	(score7_prologue): Update.
      	(score7_epilogue): Update.
      	* config/score/score.h (FRAME_POINTER_REQUIRED): Update.
      	* config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Update.
      	* config/arm/arm.c (use_return_insn): Update.
      	(require_pic_register): Update.
      	(arm_load_pic_register): Update.
      	(arm_compute_save_reg0_reg12_mask): Update.
      	(arm_compute_save_reg_mask): Update.
      	(thumb1_compute_save_reg_mask): Update.
      	(output_return_instruction): Update.
      	(arm_output_function_prologue): Update.
      	(arm_output_epilogue): Update.
      	(arm_get_frame_offsets): Update.
      	(arm_expand_prologue): Update.
      	(thumb_pushpop): Update.
      	(thumb_exit): Update.
      	(thumb1_expand_prologue): Update.
      	(thumb1_expand_epilogue): Update.
      	(arm_unwind_emit): Update.
      	(arm_output_fn_unwind): Update.
      	* config/arm/arm.h (FRAME_POINTER_REQUIRED): Update.
      	* config/arm/arm.md: Update.
      	* config/pa/pa.md: Update.
      	* config/pa/pa.c (legitimize_pic_address): Update.
      	(compute_frame_size): Update.
      	(hppa_expand_prologue): Update.
      	(hppa_expand_epilogue): Update.
      	(borx_reg_operand): Update.
      	* config/pa/pa.h (FRAME_POINTER_REQUIRED): Update.
      	(HARD_REGNO_RENAME_OK): Update.
      	* config/mips/mips.c (mips_global_pointer): Update.
      	(mips_save_reg_p): Update.
      	(mips_compute_frame_info): Update.
      	(mips_frame_pointer_required): Update.
      	(mips_expand_prologue): Update.
      	(mips_expand_epilogue): Update.
      	(mips_can_use_return_insn): Update.
      	(mips_reorg_process_insns): Update.
      	* config/v850/v850.c (compute_register_save_size): Update.
      	* config/mmix/mmix.h (FRAME_POINTER_REQUIRED): Update.
      	* config/mmix/mmix.c (along): Update.
      	(mmix_expand_epilogue): Update.
      	* config/bfin/bfin.c (legitimize_pic_address): Update.
      	(must_save_p): Update.
      	(stack_frame_needed_p): Update.
      	(add_to_reg): Update.
      	(bfin_expand_prologue): Update.
      	* stmt.c (expand_asm_operands): Update.
      	* reload1.c (reload): Update.
      	(init_elim_table): Update.
      
      From-SVN: r134682
      Jan Hubicka committed
  2. 23 Apr, 2008 1 commit
    • tree-cfg.c (verify_expr): Check for NON_LVALUE_EXPR as unreachable case. · a134e5f3
              * tree-cfg.c (verify_expr): Check for NON_LVALUE_EXPR as
              unreachable case.
      
              * tree-vrp.c (extract_range_from_unary_expr): Removed unused
              NON_LVALUE_EXPR.
      
              * tree-ssa-threadedge.c (simplify_control_stmt_condition):
              Likewise.
              
              * tree-ssa-structalias.c (get_constraint_for): Likewise.
      
              * tree-inline.c (estimate_num_insns_1): Likewise.
      
              * varasm.c (const_hash_1, compare_constant, copy_constant)
              (compute_reloc_for_constant, output_addressed_constants):
              Likewise.
      
              * emit-rtl.c (component_ref_for_mem_expr)
              (set_mem_attributes_minus_bitpos): Likewise.
      
              * expr.c (highest_pow2_factor, expand_expr_real_1, )
              (is_aligning_offset): Likewise.
      
              * dwarf2out.c (loc_descriptor_from_tree_1, add_bound_info):
              Likewise.
      
              * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Likewise.
      
              * dojump.c (do_jump): Likewise.
      
              * builtins.c (get_pointer_alignment, get_memory_rtx)
              (integer_valued_real_p, fold_builtin_next_arg): Likewise.
      
              * tree-scalar-evolution.c (instantiate_parameters_1): Likewise.
      
      From-SVN: r134591
      Tomas Bily committed
  3. 18 Apr, 2008 1 commit
    • except.c (dw2_size_of_call_site_table, [...]): Use vector API for call_site_record. · cb91fab0
      	* except.c (dw2_size_of_call_site_table,
      	sjlj_size_of_call_site_table): Use vector API for call_site_record.
      
      	* cgraphbuild.c (build_cgraph_edges): Update.
      	* tree-pass.h: Update comment.
      	* final.c (leaf_function_p): Update.
      	(leaf_renumber_regs): Update.
      	(rest_of_clean_state): Update.
      	* omp-low.c (expand_omp_parallel): Update.
      	* ipa-reference.c (analyze_function): Update.
      	* reorg.c (find_end_label): Update.
      	(optimize_skip): Update.
      	(fill_simple_delay_slots): Update.
      	(fill_simple_delay_slots): Update.
      	(make_return_insns): Update.
      	(dbr_schedule): Update.
      	* gimple-low.c (record_vars_into): Update.
      	* cfgbuild.c (make_edges): Update.
      	* function.c (assign_stack_local): Update.
      	(assign_parm_adjust_stack_rtl): Update.
      	(locate_and_pad_parm): Update.
      	(allocate_struct_function): Do not initialize stack_alignment_needed
      	and preferred_stack_boundary here.
      	(stack_protect_prologue): Update.
      	(stack_protect_epilogue): Update.
      	(expand_function_start): Initialize stack_alignment_needed,
      	preferred_stack_boundary and max_jumptable_ents.
      	(expand_function_end): Update.
      	(free_after_compilation): Do not NULLify epilogue_delay_list.
      	* function.h (struct rtl_data): Add stack_protect_guard,
      	stack_alignment_needed,
      	preferred_stack_boundary, epilogue_delay_list.
      	(struct function): Remove value_histograms, stack_alignment_needed,
      	preferred_stack_boundary, epilogue_delay_list, max_jumptable_ents,
      	last_label_uid,
      	unexpanded_var_list, stack_protect_guard.
      	(current_function_epilogue_delay_list): Remove.
      	* ipa-type-escape.c (analyze_function): Update.
      	* gimplify.c (pop_gimplify_context): Update comment.
      	* calls.c (expand_call): Update.
      	(emit_library_call_value_1): Update.
      	* except.c (set_nothrow_function_flags): Update.
      	* cfgexpand.c (get_decl_align_unit): Update.
      	(create_stack_guard): Update.
      	(estimated_stack_frame_size): Update.
      	(expand_used_vars): Update.
      	(tree_expand_cfg): Free histogram earliers, init expansion variables.
      	* explow.c (allocate_dynamic_stack_space): Update.
      	* tree-ssa-live.c (remove_unused_locals): Update.
      	* varasm.c (mark_constant_pool): Update.
      	* tree-inline.c (remap_decls): Update.
      	(initialize_cfun): Update.
      	(declare_return_variable): Update.
      	(inline_forbidden_p): Update.
      	(expand_call_inline): Update.
      	(declare_inline_vars): Update.
      	(tree_function_versioning): Update.
      	* tree-flow.h (value_histograms): New.
      	(VALUE_HISTOGRAMS): New macro.
      	* basic-block.h (control_flow_graph): Add max_jumptable_ents,
      	last_label_uid.
      	* tree-cfg.c (set_bb_for_stmt): Update.
      	(replace_by_duplicate_decl): Update.
      	(move_block_to_fn): Update.
      	(new_label_mapper): Update.
      	(dump_function_to_file): Update.
      	* ipa-struct-reorg.c (build_data_structure): Update.
      	* cfgrtl.c (print_rtl_with_bb): Update.
      	* reload1.c (reload): Update.
      	(reload): Update.
      	* config/i386/i386.c (setup_incoming_varargs_64,
      	ix86_compute_frame_layout): Update.
      	* config/arc/arc.c (arc_output_function_epilogue): Update.
      
      From-SVN: r134425
      Jan Hubicka committed
  4. 15 Apr, 2008 1 commit
    • gengtype.c (write_root): Param_is argument is OK. · 69c32ec8
      	* gengtype.c (write_root): Param_is argument is OK.
      	* expr.c (expand_expr_real_1): Update call of get_exception_*.
      	* function.h: Include varray.h
      	(rtl_eh): New stucture based on except.c one.
      	(call_site_record): New forward declaration and vector type.
      	* calls.c (emit_call_1): Do not call
      	note_current_region_may_contain_throw.
      	* except.c (eh_status): Remove cur_region, try_region since they are
      	unused.
      	Move filter, exc_ptr, ttype_data, ehspec_data, action_record_data and
      	exception_handler_label_map, ehr_stackadj, ehr_handler, ehr_label,
      	sjlj_fc, sjlj_exit_after to rth_eh in function.h. 
      	Remove call_site_data_used, call_site_data_size.
      	Turn call_site_record into vector in function.h.
      	(note_current_region_may_contain_throw): Remove.
      	(get_exception_pointer, get_exception_filter): Do not take struct
      	function argument; update.
      	(add_ehl_entry, find_exception_handler_labels, ehspec_filter_hash,
      	add_ttypes_entry, add_ehspec_entry, assign_filter_values,
      	build_post_landing_pads, dw2_build_landing_pads,
      	sjlj_assign_call_site_values, sjlj_mark_call_sites,
      	sjlj_emit_function_enter, sjlj_emit_function_enter, 
      	sjlj_emit_function_exit, sjlj_emit_dispatch_table,
      	sjlj_build_landing_pads, finish_eh_generation,
      	remove_exception_handler_label, remove_eh_handler,
      	maybe_remove_eh_handler, add_reachable_handler,
      	reachable_handlers, expand_builtin_eh_return,
      	expand_eh_return, add_action_record, collect_one_action_chain,
      	add_call_site, convert_to_eh_region_ranges, sjlj_size_of_call_site_table,
      	sjlj_output_call_site_table, output_function_exception_table,
      	* except.h (note_current_region_may_contain_throw): Remove
      	(get_exception_pointer, get_exception_filter): Do not take struct
      	function argument.
      	* Makefile.in (GTFILES): Put varargs before struct function.
      
      From-SVN: r134328
      Jan Hubicka committed
  5. 07 Apr, 2008 1 commit
    • function.h (rtl): Rename to x_rtl. · 3e029763
      	* function.h (rtl): Rename to x_rtl.
      	(crtl): New define.
      	(return_label, naked_return_label, stack_slot_list, parm_birth_insn,
      	frame_offset, stack_check_probe_note, arg_pointer_save_area,
      	used_temp_slots avail_temp_slots, temp_slot_level,
      	nonlocal_goto_handler_labels): Update accesstors.
      	(rtl): New global variable.
      	(struct function): Move some fileds to rtl_data.
      	(get_arg_pointer_save_area): Update prototype.
      	* builtins.c (expand_builtin_setjmp_receiver): Update call of
      	get_arg_pointer_save_area.
      	* expr.c (init_expr): Update
      	* function.c (get_frame_size): Update
      	(assign_stack_local): Update
      	(expand_function_end): Update.
      	(get_art_pointer_save_area): Update
      	* function.h 
      	* emit-rtl.c (rtl): Declare.
      	(regno_reg_rtx): Declare.
      	(first_insn, last_insn, cur_insn_uid, last_location, first_label_num):
      	Update.
      	(gen_reg_rtx): Update.
      	* varasm.c (n_deferred_constatns): Update accestor.
      	(init_varasm_status): Do not allocate varasm_status.
      	(force_const_mem, get_pool_size, output_constant_pool): Update.
      	* stmt.c (force_label_rtx): Do not use x_ prefixes.
      	(expand_nl_goto_receiver): Update get_arg_pointer_save_area.
      	* m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Update.
      	* sparc/sparc.h (INIT_EXPANDERS): Update.
      	* ia64/ia64.h (INIT_EXPANDERS): Update.
      
      From-SVN: r133994
      Jan Hubicka committed
  6. 03 Apr, 2008 1 commit
  7. 02 Apr, 2008 2 commits
    • re PR tree-optimization/14495 ([tree-ssa] Propagate range info into a switch statement) · b7814a18
      2008-04-02  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/14495
      	PR tree-optimization/34793
      	* tree-vrp.c (struct switch_update): New structure.
      	(to_remove_edges, to_update_switch_stmts): New VECs.
      	(simplify_switch_using_ranges): New function.  Remove not taken
      	case labels and edges.
      	(simplify_stmt_using_ranges): Call it.
      	(identify_jump_threads): Mark edges we have queued for removal
      	so we don't thread them.
      	(execute_vrp): Remove edges queued for removal, update SWITCH_STMT
      	case label vector.
      	* tree-cfg.c (group_case_labels): Deal with missing default label.
      	(tree_verify_flow_info): Allow missing default label.
      	* stmt.c (emit_case_bit_tests): Deal with NULL default_label.
      	(emit_case_nodes): Likewise.
      	(expand_case): Do not rely on the default label to be present.
      	* expr.c (try_casesi): Deal with NULL default_label.
      	(do_tablejump): Likewise.
      
      	* gcc.dg/tree-ssa/vrp41.c: New testcase.
      	* gcc.dg/tree-ssa/vrp42.c: Likewise.
      
      From-SVN: r133835
      Richard Guenther committed
    • expr.c (expand_var): Delete it. · 4846b435
      2008-04-02  Paolo Bonzini  <bonzini@gnu.org>
      
      	* expr.c (expand_var): Delete it.
      	* expr.h (expand_var): Delete prototype.
      	* function.c (expand_function_start): Use expand_decl instead.
      	* cfgexpand.c (expand_one_static_var, expand_one_var): Don't call
      	langhook.
      
      From-SVN: r133830
      Paolo Bonzini committed
  8. 31 Mar, 2008 1 commit
    • builtins.c (expand_builtin_setjmp_receiver): Update call of get_arg_pointer_save_area. · bd60bab2
      	* builtins.c (expand_builtin_setjmp_receiver): Update call of
      	get_arg_pointer_save_area.
      	* expr.c (init_expr): Just clear out rtl.expr.
      	* function.c (free_after_compilation): Clear out whole RTL structure.
      	(get_func_frame_size): Merge into ...
      	(get_frame_size): ... this one.
      	(assign_stack_local_1): Merge into ...
      	(assign_stack_local): ... this one.
      	(expand_function_end): Update call of get_arg_pointer_save_area.
      	(get_art_pointer_save_area): Remove cfun argument.
      	* function.h (emit_status): regno_pointer_align does not need length
      	attribute. Move x_regno_reg_rtx to ...
      	(regno_reg_rtx): ... new global array.
      	(reg_rtx_no, seq_stack, REGNO_POINTER_ALIGN): Update accestors.
      	(pending_stack_adjust, inhibit_defer_pop, saveregs_value,
      	apply_args_value, forced_labels, stack_pointer_delta): Update accestors.
      	(struct varasm_status): Move here from varasm.c
      	(struct rtl_data): New. Move here some fields from struct function.
      	(return_label, naked_return_label, stack_slot_list, parm_birth_insn,
      	frame_offset, stack_check_probe_note, arg_pointer_save_area,
      	used_temp_slots avail_temp_slots, temp_slot_level,
      	nonlocal_goto_handler_labels): Update accesstors.
      	(rtl): New global variable.
      	(struct function): Move some fileds to rtl_data.
      	(get_arg_pointer_save_area): Update prototype.
      	* emit-rtl.c (rtl): Declare.
      	(regno_reg_rtx): Declare.
      	(first_insn, last_insn, cur_insn_uid, last_location, first_label_num): Update.
      	(gen_reg_rtx): Update.
      	(init_virtual_regs): Do not tate emit_status argument.
      	(init_emit): Do not allocate emit.
      	* varasm.c (varasm_statuc): Move to function.h.
      	(n_deferred_constatns): Update accestor.
      	(init_varasm_status): Do not allocate varasm_status.
      	(force_const_mem, get_pool_size, output_constant_pool): Update.
      	* stmt.c (force_label_rtx): Do not use x_ prefixes.
      	(expand_nl_goto_receiver): Update get_arg_pointer_save_area.
      
      From-SVN: r133759
      Jan Hubicka committed
  9. 18 Mar, 2008 2 commits
    • expr.c (store_expr): Assume lang_hooks.reduce_bit_field_operations is true. · ac5dc795
      2008-03-18  Paolo Bonzini  <bonzini@gnu.org>
      
              * expr.c (store_expr): Assume lang_hooks.reduce_bit_field_operations
              is true.
              (expand_expr_real_1) <REDUCE_BIT_FIELD>: Don't look at ignore.
              (expand_expr_real_1): Assume lang_hooks.reduce_bit_field_operations
              is true.  Add "&& !ignore" condition to reduce_bit_field.  Modify
              target after ignore has been set, and move there also the commputation
              of subtarget and original_target.
              * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
              (LANG_HOOKS_INITIALIZER): Remove it.
              * langhooks.h (struct lang_hooks): Remove reduce_bit_field_operations.
      
      ada:
      2008-03-18  Paolo Bonzini  <bonzini@gnu.org>
      
              * misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
      
      cp:
      2008-03-18  Paolo Bonzini  <bonzini@gnu.org>
      
              * cp-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
      
      From-SVN: r133316
      Paolo Bonzini committed
    • tree-pretty-print.c: Include predict.h. · 2e28e797
      	* tree-pretty-print.c: Include predict.h.
      	(dump_generic_node): Dump predictor.
      	* tree.h (PREDICT_EXPR_OUTCOME, PREDICT_EXPR_PREDICTION): Update.
      	* tree-gimple.c (is_gimple_stmt): Add PREDICT_EXPR.
      	* gimple-low.c (lower_stmt): Likewise.
      	* expr.c (expand_expr_real): Likewise.
      	* predict.c (tree_bb_level_predictions): Use PREDICT_EXPRs and remove
      	them.
      	(build_predict_expr, build_predict_expr): New.
      	* predict.h (predictor_name, build_predict_expr): Update.
      	* c-typeck.c (c_finish_bc_stmt): Add prediction.
      	* gimplify.c (gimplify_expr): Add PREDICT_EXPR.
      	* predict.def (PRED_CONTINUE): Update hitrate.
      	* tree.def (PREDICT_EXPR): Define.
      	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark PREDICT_EXPR;
      	do not handle BIND_EXPR.
      	* tree-inline.c (estimate_num_insns_1): PREDICT_EXPR is free.
      	* tree-cfg.c (verify_gimple_stmt): PREDICT_EXPR is valid.
      	* tree-ssa-operands.c (get_expr_operands): PREDICT_EXPR takes no
      	operands.
      
      From-SVN: r133313
      Jan Hubicka committed
  10. 11 Mar, 2008 2 commits
  11. 06 Mar, 2008 1 commit
    • tree.def (BIT_FIELD_REF): Constrain result type and its precision. · fc0f49f3
      2008-03-06  Richard Guenther  <rguenther@suse.de>
      
      	* tree.def (BIT_FIELD_REF): Constrain result type and its precision.
      	* tree-cfg.c (verify_expr): Verify BIT_FIELD_REF constraints on
      	result type and precision.
      	* expr.c (get_inner_reference): Set unsignedp based on the result
      	type of BIT_FIELD_REF.
      	* tree.h (BIT_FIELD_REF_UNSIGNED): Remove.
      	* tree-sra.c (instantiate_element): Do not set BIT_FIELD_REF_UNSIGNED.
      	(try_instantiate_multiple_fields): Likewise.  Use the correct type
      	for BIT_FIELD_REF.
      	(sra_build_assignment): Likewise.
      	(sra_build_elt_assignment): Likewise.
      	(sra_explode_bitfield_assignment): Likewise.
      	* print-tree.c (print_node): Do not check BIT_FIELD_REF_UNSIGNED.
      	* tree-vect-transform.c (vect_create_epilog_for_reduction): Do not
      	set BIT_FIELD_REF_UNSIGNED.
      	(vectorizable_load): Likewise.
      
      From-SVN: r132969
      Richard Guenther committed
  12. 27 Feb, 2008 1 commit
  13. 21 Feb, 2008 1 commit
    • tree.def (PAREN_EXPR): New tree code. · dedd42d5
      2008-02-21  Richard Guenther  <rguenther@suse.de>
      
      	* tree.def (PAREN_EXPR): New tree code.
      	* fold-const.c (fold_unary): Remove PAREN_EXPR around constants
      	and PAREN_EXPR.
      	* tree-pretty-print.c (dump_generic_node): Handle PAREN_EXPR.
      	* expr.c (expand_expr_real_1): Likewise.
      	* tree-inline.c (estimate_num_insns_1): Likewise.
      	* tree-complex.c (expand_complex_move): Likewise.
      	* tree-vectorizer.c (vect_is_simple_use): Treat PAREN_EXPR (x)
      	as plain x.
      
      	* trans-expr.c (gfc_conv_expr_op): Expand INTRINSIC_PARENTHESES
      	as unary PAREN_EXPR for real and complex typed expressions.
      	(gfc_conv_unary_op): Fold the built tree.
      
      	* gfortran.dg/reassoc_1.f90: New testcase.
      	* gfortran.dg/reassoc_2.f90: Likewise.
      	* gfortran.dg/reassoc_3.f90: Likewise.
      
      From-SVN: r132515
      Richard Guenther committed
  14. 04 Feb, 2008 1 commit
  15. 25 Jan, 2008 1 commit
  16. 11 Jan, 2008 1 commit
  17. 03 Dec, 2007 1 commit
    • re PR middle-end/33713 (can't find a register in class 'GENERAL_REGS' while reloading 'asm') · 3de5e93a
              PR33713
              * doc/invoke.texi: Remove -fforce-addr documentation.
              * expr.c (emit_move_insn): Remove use of flag_force_addr.
              (expand_expr_real_1): Same.
              (do_tablejump): Same.
              Call memory_address instead of memory_address_noforce.
              * expr.h (memory_address_noforce): Remove prototype.
              * explow.c (memory_address): Remove support for flag_force_addr.
              (validize_mem): Same.
              (memory_address_noforce): Remove.
              * common.opt: Add dummy documentation for -fforce-addr.
              * combine.c (can_combine_p): Remove -fforce-addr comment.
              * config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove set of
              flag_force_addr.
              * config/m68k/m68k.h (PIC_CASE_VECTOR_ADDRESS): Remove comment
              relating to memory_address_noforce.
              * testsuite/gcc.c-torture/compile/20050802-1.c: Remove.
              * testsuite/gcc.c-torture/compile/20011113-1.c: Remove.
      
      From-SVN: r130591
      Steven Bosscher committed
  18. 29 Oct, 2007 1 commit
    • 2007-09-23 Razya Ladelsky · a509ebb5
                  Zdenek Dvorak
      
              OMP_ATOMIC Changes,
              Reduction support for automatic parallelization.
      
              * expr.c (expand_expr_real_1): Add cases for OMP_ATOMIC_LOAD,
              OMP_ATOMIC_STORE.
              * Makefile.in: Add dependencies to expr.o, tree-parloops.o, omp-low.o
              * tree-pretty-print.c (dump_generic_node): Add OMP_ATOMIC_LOAD
              and OMP_ATOMIC_STORE.
              * tree.h (OMP_DIRECTIVE_P): Add OMP_ATOMIC_LOAD,
              OMP_ATOMIC_STORE.
              * gimple-low.c (lower_stmt): Same.
              * gimplify.c (gimplify_expr): Same.
              (gimplify_omp_atomic_fetch_op, gimplify_omp_atomic_pipeline,
              gimplify_omp_atomic_mutex): Remove.
              (gimplify_omp_atomic): Change it to simply gimplify the
              statement instead of expanding it.
              * omp-low.c: Add includes to optabs.h, cfgloop.h.
              (expand_omp_atomic, expand_omp_atomic_pipeline,
              goa_stabilize_expr, expand_omp_atomic_mutex,
              expand_omp_atomic_fetch_op): New functions to implement
              expansion of OMP_ATOMIC.
              (expand_omp, build_omp_regions_1): Add support for
              OMP_ATOMIC_LOAD/OMP_ATOMIC_STORE.
              * tree-cfg.c (make_edges): add case for OMP_ATOMIC_LOAD,
              OMP_ATOMIC_STORE.
              * tree-gimple.c (is_gimple_stmt): Add OMP_ATOMIC_LOAD,
              OMP_ATOMIC_STORE.
              * tree-parloops.c: add include to tree-vectorizer.h.
              (reduction_info): New structure for reduction.
              (reduction_list): New list to represent list of reductions
              per loop.
              (struct data_arg): New helper structure for reduction.
              (reduction_info_hash, reduction_info_eq, reduction_phi,
              initialize_reductions,
              create_call_for_reduction, create_phi_for_local_result,
              create_call_for_reduction_1, create_loads_for_reductions,
              create_final_loads_for_reduction): New functions.
              (loop_parallel_p): Identify reductions, add reduction_list parameter.
              (separate_decls_in_loop_name): Support reduction variables.
              (separate_decls_in_loop): Add reduction_list and ld_st_data arguments,
              call create_loads_for_reduction for each reduction.
              (canonicalize_loop_ivs): Identify reductions, add reduction_list
              parameter.
              (transform_to_exit_first_loop): Add reduction support, add
              reduction_list parameter.
              (gen_parallel_loop): Add reduction_list parameter. Add call
              separate_decls_in_loop with
              the new argument. Traverse reductions and call
              initialize_reductions, create_call_for_reduction.
              (parallelize_loops): Create and delete the reduction list.
              (add_field_for_name): Change use of data parameter. Add fields for
              reductions.
              * tree-vectorizer.h (vect_analyze_loop_form): Add declaration.
              * tree-vect-analyze.c (vect_analyze_loop_form): export it.
              * tree.def: Add definitions for OMP_ATOMIC_LOAD,
              OMP_ATOMIC_STORE.
              * tree-inline.c (estimate_num_insns_1): add cases for
              OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
              * tree-cfg.c (make_edges): Add OMP_ATOMIC_LOAD,
              OMP_ATOMIC_STORE.
              * tree-ssa-operands.c (get_addr_dereference_operands):
              New function. Subroutine of get_indirect_ref_operands.
              (get_indirect_ref_operands): Call get_addr_dereference_operands.
              (get_expr_operands): Support OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
      
      From-SVN: r129716
      Razya Ladelsky committed
  19. 02 Oct, 2007 1 commit
  20. 28 Sep, 2007 1 commit
  21. 27 Sep, 2007 1 commit
    • builtins.c (expand_builtin, [...]): Use new %K format string specifier for diagnostics. · c94ed7a1
      	* builtins.c (expand_builtin, expand_builtin_object_size,
      	expand_builtin_memory_chk, maybe_emit_chk_warning,
      	maybe_emit_sprintf_chk_warning): Use new %K format string specifier
      	for diagnostics.
      	* expr.c (expand_expr_real_1): Likewise.
      	* langhooks-def.h (struct diagnostic_info): Add forward decl.
      	(lhd_print_error_function): Add third argument.
      	* langhooks.h (struct diagnostic_info): Add forward decl.
      	(struct lang_hooks): Add third argument to print_error_function.
      	* diagnostic.h (diagnostic_info): Add abstract_origin field.
      	(diagnostic_last_function_changed, diagnostic_set_last_function): Add
      	second argument.
      	(diagnostic_report_current_function): Likewise.
      	* toplev.c (announce_function): Pass NULL as second argument to
      	diagnostic_set_last_function.
      	* diagnostic.c (diagnostic_report_current_function): Add second
      	argument, pass it as third argument to lang_hooks.print_error_function.
      	(default_diagnostic_starter): Pass DIAGNOSTIC as second argument
      	to diagnostic_report_current_function.
      	(diagnostic_report_diagnostic): Initialize diagnostic->abstract_origin
      	and message.abstract_origin.
      	(verbatim): Initialize abstract_origin.
      	* pretty-print.h (text_info): Add abstract_origin field.
      	* pretty-print.c (pp_base_format): Handle %K.
      	* langhooks.c (lhd_print_error_function): Add third argument.  If
      	diagnostic->abstract_origin, print virtual backtrace.
      	* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
      	gcc_cdiag_char_table, gcc_cxxdiag_char_table): Support %K.
      	(init_dynamic_diag_info): Likewise.
      cp/
      	* error.c (cxx_print_error_function): Add third argument, pass
      	it over to lhd_print_error_function.
      	(cp_print_error_function): If diagnostic->abstract_origin, print
      	virtual backtrace.
      	* cp-tree.h (struct diagnostic_info): New forward decl.
      	(cxx_print_error_function): Add third argument.
      java/
      	* lang.c (java_print_error_function): Add third argument.
      testsuite/
      	* lib/prune.exp: Prune also "^In function .*$" lines and
      	"^    inlined from .*$" lines.
      
      From-SVN: r128830
      Jakub Jelinek committed
  22. 23 Sep, 2007 2 commits
    • expr.c (expand_expr_real_1): Use get_callee_fndecl instead of checking… · d2af6a68
      expr.c (expand_expr_real_1): Use get_callee_fndecl instead of checking CALL_EXPR_FN directly to test for...
      
      	* expr.c (expand_expr_real_1) <case CALL_EXPR>: Use get_callee_fndecl
      	instead of checking CALL_EXPR_FN directly to test for builtins.
      	If error or warning attributes are present, print
      	error resp. warning.
      	* c-common.c (handle_error_attribute): New function.
      	(c_common_attribute_table): Add error and warning
      	attributes.
      	* doc/extend.texi: Document error and warning attributes.
      
      	* gcc.dg/va-arg-pack-len-1.c: Use error and warning
      	attributes.
      	* gcc.dg/va-arg-pack-len-2.c: New test.
      	* g++.dg/ext/va-arg-pack-len-1.C: Use error and warning
      	attributes.
      	* g++.dg/ext/va-arg-pack-len-2.C: New test.
      
      From-SVN: r128687
      Jakub Jelinek committed
    • re PR middle-end/28755 (duplicate members of arrays) · 32eed045
      	PR middle-end/28755
      	* expr.c (expand_constructor): New function.
      	(expand_expr_real_1) <case CONSTRUCTOR>: Call it.
      	(expand_expr_real_1) <case ARRAY_REF>: Call it if VALUE is
      	CONSTRUCTOR.
      
      	* gcc.dg/pr28755.c: New test.
      
      From-SVN: r128685
      Jakub Jelinek committed
  23. 17 Sep, 2007 1 commit
  24. 07 Sep, 2007 1 commit
    • stdfix.h: New file. · 0f996086
      	* ginclude/stdfix.h: New file.
      	* Makefile.in (USER_H): Add $(srcdir)/ginclude/stdfix.h.
      	(convert.o): Add dependence on fixed-value.h.
      	* c-convert.c (convert): Support FIXED_POINT_TYPE.
      	* c-cppbuiltin.c (builtin_define_fixed_point_constants): New function
      	to define fixed-point constants.
      	(c_cpp_builtins): Define fixed-point constants.
      	* convert.c (fixed-value.h): New include.
      	(convert_to_real): Update comment to include fixed-point.
      	Support FIXED_POINT_TYPE.
      	(convert_to_integer): Update comment to include fixed-point.
      	Support FIXED_POINT_TYPE.
      	(convert_to_complex): Support FIXED_POINT_TYPE.
      	(convert_to_fixed): New function.
      	* convert.h (convert_to_fixed): Declare.
      	* genopinit.c: Add comment about $Q for only fixed-point modes.
      	(optabs): Add fract_optab, fractuns_optab, satfract_optab,
      	satfractuns_optab, add_optab, ssadd_optab, usadd_optab, sub_optab,
      	sssub_optab, ussub_optab, smul_optab, ssmul_optab, usmul_optab,
      	ssmadd_widen_optab, usmadd_widen_optab, ssdiv_optab, udiv_optab,
      	usdiv_optab, ssashl_optab, usashl_optab, neg_optab, ssneg_optab,
      	usneg_optab for fixed-point modes.
      	(gen_insn): Add force_fixed to track the $Q format for all fixed-point
      	modes.
      	* optabs.c (optab_for_tree_code): For *DIV_EXPR, LSHIFT_EXPR,
      	PLUS_EXPR, MINUS_EXPR, MULT_EXPR, NEGATE_EXPR, return signed or
      	unsigned saturation optabs, when type is saturating.
      	(shift_optab_p): Return true for SS_ASHIFT or US_ASHIFT.
      	(expand_fixed_convert): New function.
      	(gen_fixed_libfunc, gen_signed_fixed_libfunc,
      	gen_unsigned_fixed_libfunc, gen_int_fp_fixed_libfunc,
      	gen_int_fp_signed_fixed_libfunc, gen_int_fixed_libfunc,
      	gen_int_signed_fixed_libfunc, gen_int_unsigned_fixed_libfunc,
      	gen_fract_conv_libfunc, gen_fractuns_conv_libfunc,
      	gen_satfract_conv_libfunc, gen_satfractuns_conv_libfunc): New
      	functions.
      	(init_optabs): Initialize ssadd_optab, usadd_optab, sssub_optab,
      	ussub_optab, ssmul_optab, usmul_optab, ssmadd_widen_optab,
      	usmadd_widen_optab, ssmsub_widen_optab, usmsub_widen_optab,
      	ssdiv_optab, usdiv_optab, ssashl_optab, usashl_optab, ssneg_optab,
      	usneg_optab, fract_optab, fractuns_optab, satfract_optab,
      	satfractuns_optab.
      	Initialize fixed-point libraries, including add, ssadd, usadd, sub,
      	sssub, ussub, mul, ssmul, usmul, div, ssdiv, udiv, usdiv, ashl,
      	ssashl, usashl, ashr, lshr, neg, ssneg, usneg, cmp, fract, satfract,
      	fractuns, satfractuns.
      	* optabs.h (enum optab_index): Add OTI_ssadd, OTI_usadd, OTI_sssub,
      	OTI_ussub, OTI_ssmul, OTI_usmul, OTI_ssdiv, OTI_usdiv, OTI_ssneg,
      	OTI_usneg, OTI_ssashl, OTI_usashl, OTI_ssmadd_widen, OTI_usmadd_widen,
      	OTI_ssmsub_widen,  OTI_usmsub_widen.
      	(ssadd_optab, usadd_optab, sssub_optab, ussub_optab, ssmul_optab,
      	usmul_optab, ssdiv_optab, usdiv_optab, ssneg_optab, usneg_optab,
      	ssashl_optab, usashl_optab, ssmadd_widen_optab, usmadd_widen_optab,
      	umsub_widen_optab, usmsub_widen_optab): Define.
      	(enum convert_optab_index): Add COI_fract, COI_fractuns, COI_satfract,
      	COI_satfractuns.
      	(fract_optab, fractuns_optab, satfract_optab, satfractuns_optab):
      	Define.
      	(expand_fixed_convert): Declare.
      	* expr.c (convert_move): Support the move of fixed-point modes.
      	(emit_move_insn_1): Handle fixed-point mode to move via integer.
      	(categorize_ctor_elements_1): Handle FIXED_CST.
      	(count_type_elements): Handle FIXED_POINT_TYPE.
      	(expand_expr_real_1): For VECTOR_CST, check MODE_VECTOR_FRACT,
      	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
      	Support FIXED_CST.
      	For PLUS_EXPR and MINUS_EXPR, support saturating and non-saturating
      	multiply and add/subtract for fixed-point types.
      	For MULT_EXPR, *DIV_EXPR, *SHIFT_EXPR, if the mode if a fixed-point
      	mode, we jump to binop directly.
      	Support FIXED_CONVERT_EXPR.
      	(do_store_flag): Check FIXED_CST to put a constant second.
      	(vector_mode_valid_p): Handle MODE_VECTOR_FRACT,
      	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
      	(const_vector_from_tree): Support FIXED_CST.
      	* doc/extend.texi (Fixed-Point): New node.
      	* doc/md.texi (ssadd, usadd, sssub, ussub, ssmul, usmul, ssdiv, usdiv,
      	ssmadd, usmadd, ssmsub, usmsub, ssashl, usashl, ssneg, usneg, fract,
      	satfract, fractuns, satfractuns): Document them.
      
      From-SVN: r128218
      Chao-ying Fu committed
  25. 05 Sep, 2007 1 commit
    • builtins.def (BUILT_IN_VA_ARG_PACK): New built-in. · 6ef5231b
      	* builtins.def (BUILT_IN_VA_ARG_PACK): New built-in.
      	* tree.h (CALL_EXPR_VA_ARG_PACK): Define.
      	* tree-inline.h (copy_body_data): Add call_expr field.
      	* tree-inline.c (expand_call_inline): Initialize call_expr.
      	(copy_bb): Append anonymous inline fn arguments to arguments
      	when inlining a CALL_EXPR_VA_ARG_PACK call.
      	* builtins.c (expand_builtin): Issue an error if
      	BUILT_IN_VA_ARG_PACK is seen during expand.
      	(fold_call_expr, fold_builtin_call_array): Don't fold
      	CALL_EXPR_VA_ARG_PACK CALL_EXPRs or calls with
      	__builtin_va_arg_pack () call as last argument.
      	* gimplify.c (gimplify_call_expr): If last argument to a vararg
      	function is __builtin_va_arg_pack (), decrease number of call
      	arguments and instead set CALL_EXPR_VA_ARG_PACK on the CALL_EXPR.
      	* expr.c (expand_expr_real_1): Issue an error if
      	CALL_EXPR_VA_ARG_PACK CALL_EXPR is seen during expand.
      	* tree-pretty-print.c (dump_generic_node): Handle printing
      	CALL_EXPR_VA_ARG_PACK bit on CALL_EXPRs.
      	* doc/extend.texi (__builtin_va_arg_pack): Document.
      
      	* gcc.c-torture/execute/va-arg-pack-1.c: New test.
      	* gcc.dg/va-arg-pack-1.c: New test.
      
      From-SVN: r128150
      Jakub Jelinek committed
  26. 04 Sep, 2007 1 commit
    • optabs.c (debug_optab_libfunc): Update; make available to gdb. · 8a33f100
      	* optabs.c (debug_optab_libfunc): Update; make available to gdb.
      	(libfunc_entry): New structure.
      	(libfunc_hash): New hashtable.
      	(hash_libfunc): New function.
      	(eq_libfunc): New function.
      	(convert_optab_libfunc): New function.
      	(optab_libfunc): New function.
      	(expand_binop, sign_expand_binop, expand_twoval_binop_libfunc,
      	expand_unop, prepare_cmp_insn, prepare_float_insn, gen_add2_insn,
      	expand_float, expand_fix, new_optab, new_convert_optab):
      	 Update for new libfunc API.
      	(init_libfunc, init_integral_libfuncs,
      	init_floating_libfuncs, init_interclass_conv_libfuncs
      	init_intraclass_conv_libfuncs): Remove; reorganize all logic to:
      	(gen_libfunc, gen_int_libfunc, gen_fp_libfunc, gen_int_fp_libfunc,
      	gen_intv_fp_libfunc, gen_interclass_conv_libfunc,
      	gen_int_to_fp_conv_libfunc, gen_ufloat_conv_libfunc,
      	gen_int_to_fp_nondecimal_conv_libfunc, gen_fp_to_int_conv_libfunc,
      	gen_intraclass_conv_libfunc, gen_trunc_conv_libfunc,
      	gen_extend_conv_libfunc): New.
      	(init_one_libfunc): Revamp for hashtables.
      	(set_conv_libfunc): Likewise.
      	(init_optabs): Initialize hashtable; use lazy initialization where possible.
      	* optabs.h (optab_handlers): Move out of GGC.
      	(optab, convert_optab): Move out of GGC; add lazy gen info.
      	(code_to_optab, convert_optab_table, optab_table): Move out of GGC.
      	(optab_libfunc, convert_optab_libfunc): New.
      	* builtins.c (expand_builtin_powi): Update for new API.
      	* expr.c (convert_move): Likewise.
      	* expmed.c (expand_divmod): Likewise.
      
      From-SVN: r128083
      Jan Hubicka committed
  27. 27 Aug, 2007 1 commit
    • Separate target-specific initialization from general back-end initialization. · b5deb7b6
      2007-08-27  Sandra Loosemore  <sandra@codesourcery.com>
      	    David Ung  <davidu@mips.com>
                  Nigel Stephens <nigel@mips.com>
      
      	gcc/
      	Separate target-specific initialization from general
      	back-end initialization.
      
      	* toplev.c (init_alignments): New, split out from...
      	(process_options): ...here.
      	(backend_init_target):  New, split out from...
      	(backend_init): ...here.
      	(lang_dependent_init_target):  New, split out from...
      	(lang_dependent_init): ...here.
      	(target_reinit): New.
      	* toplev.h (target_reinit): Declare.
      	* expr.c (init_expr_target): Renamed from init_expr_once, since it
      	now can be called more than once.  Update comments.
      	* expr.h (init_expr_target): Likewise.
      	* alias.c (init_alias_target): Renamed from init_alias_once, since it
      	now can be called more than once.  Explicitly zero
      	static_reg_base_value.
      	* emit-rtl.c (init_emit_regs): New, split out from...
      	(init_emit_once): Here.
      	* regclass.c (initial_fixed_regs, initial_call_used_regs): Make
      	non-const, so that changes from command-line arguments can overwrite
      	values provided by the static initializers.
      	(initial_call_really_used_regs): New, used similarly to the above.
      	(initial_reg_names): Likewise.
      	(last_mode_for_init_move_cost): Promoted function-local static to
      	file-scope static to make it accessible outside init_move_cost.
      	(init_reg_sets): Do not initialize fixed_regs and call_used_regs yet.
      	Do not initialize inv_reg_alloc_order yet, either.  Do initialize
      	reg_names since it is needed for parsing command-line options.
      	(init_move_cost): Use last_mode_for_init_move_cost instead of
      	function-local static.
      	(init_reg_sets_1): Initialize fixed_regs, call_used_regs, and
      	call_really_used_regs now.  Reinitialize reg_names.  Also
      	initialize inv_reg_alloc_order.  Zero reg_class_subunion and
      	reg_class_superunion.  Clear losing_caller_save_reg_set.
      	Preserve global registers if called more than once.  Reset
      	move cost, may_move_in_cost, may_move_out_cost, and
      	last_mode_for_init_move_cost.
      	(init_reg_modes_target): Renamed from init_reg_modes_once, since it
      	can now be invoked more than once.  Update comments.
      	(init_regs): Update comments.
      	(fix_register): Update initial_fixed_regs, initial_call_used_regs,
      	and initial_call_really_used_regs, instead of the non-initial 
              variables.  This allows us to save the command-line register settings
      	after target reinitialization.
      	(init_reg_autoinc): Zero forbidden_inc_dec_classes.
      	* rtl.h (init_emit_regs): Declare.
      	(init_reg_modes_target, init_alias_target): Renamed as described
      	above.
      	* reload1.c (init_reload): Update comments.
      	* optabs.c (init_optabs): Likewise.
      	* cfgloopanal.c (init_set_costs): Explicitly zero target_avail_regs.
      	
      
      
      Co-Authored-By: David Ung <davidu@mips.com>
      Co-Authored-By: Nigel Stephens <nigel@mips.com>
      
      From-SVN: r127832
      Sandra Loosemore committed
  28. 25 Aug, 2007 1 commit
  29. 24 Aug, 2007 3 commits
    • re PR target/11787 (always call memcpy for block move in mips16) · cfa31150
      2007-08-24  Sandra Loosemore  <sandra@codesourcery.com>
                  Nigel Stephens <nigel@mips.com>
      
      	PR target/11787
      
      	gcc/
      
      	* doc/tm.texi (SET_RATIO, SET_BY_PIECES_P): Document new macros.
      	(STORE_BY_PIECES_P): No longer applies to __builtin_memset.
      	* expr.c (SET_BY_PIECES_P): Define.
      	(can_store_by_pieces, store_by_pieces): Add MEMSETP argument; use
      	it to decide whether to use SET_BY_PIECES_P or STORE_BY_PIECES_P.
      	(store_expr):  Pass MEMSETP argument to can_store_by_pieces and
      	store_by_pieces.
      	* expr.h (SET_RATIO): Define.
      	(can_store_by_pieces, store_by_pieces):	Update prototypes.
      	* builtins.c (expand_builtin_memcpy): Pass MEMSETP argument to
      	can_store_by_pieces/store_by_pieces.
      	(expand_builtin_memcpy_args): Likewise.
      	(expand_builtin_strncpy): Likewise.
      	(expand_builtin_memset_args): Likewise.  Also remove special case
      	for optimize_size so that can_store_by_pieces/SET_BY_PIECES_P can
      	decide what to do instead.
      	* value-prof.c (tree_stringops_transform): Pass MEMSETP argument
      	to can_store_by_pieces.
      
      	* config/sh/sh.h (SET_BY_PIECES_P): Clone from STORE_BY_PIECES_P.
      	* config/s390/s390.h (SET_BY_PIECES_P): Likewise.
      
      	* config/mips/mips.opt (mmemcpy): Change from Var to Mask.
      	* config/mips/mips.c (override_options): Make -Os default to -mmemcpy.
      	* config/mips/mips.h (MIPS_CALL_RATIO): Define.
      	(MOVE_RATIO, CLEAR_RATIO, SET_RATIO): Define.
      	(STORE_BY_PIECES_P): Define.
      
      Co-Authored-By: Nigel Stephens <nigel@mips.com>
      
      From-SVN: r127790
      Sandra Loosemore committed
    • expr.c (store_expr): Optimize initialization of an array with STRING_CST. · 14a43348
      	* expr.c (store_expr): Optimize initialization of an array
      	with STRING_CST.
      	* expr.h (builtin_strncpy_read_str): New prototype.
      	* builtins.c (builtin_strncpy_read_str): Remove prototype.
      	No longer static.
      
      	* gcc.dg/array-init-1.c: New test.
      
      From-SVN: r127769
      Jakub Jelinek committed
    • expr.c (get_inner_reference): Do computation of bitoffset from offset in a way… · 9c219b9b
      expr.c (get_inner_reference): Do computation of bitoffset from offset in a way we can detect overflow reliably.
      
      2007-08-23  Richard Guenther  <rguenther@suse.de>
      
      	* expr.c (get_inner_reference): Do computation of bitoffset
      	from offset in a way we can detect overflow reliably.
      
      From-SVN: r127762
      Richard Guenther committed
  30. 14 Aug, 2007 1 commit
    • alias.c (component_uses_parent_alias_set): Constify. · 22ea9ec0
      	* alias.c (component_uses_parent_alias_set): Constify.
      	* alias.h (component_uses_parent_alias_set): Likewise.
      	* cfgrtl.c (print_rtl_with_bb): Likewise.
      	* double-int.c (tree_to_double_int, double_int_fits_to_tree_p,
      	mpz_get_double_int): Likewise.
      	* double-int.h (double_int_fits_to_tree_p, tree_to_double_int,
      	mpz_get_double_int): Likewise.
      	* expr.c (is_aligning_offset, undefined_operand_subword_p,
      	mostly_zeros_p, all_zeros_p, safe_from_p, is_aligning_offset):
      	Likewise.
      	* expr.h (safe_from_p): Likewise.
      	* gimple-low.c (try_catch_may_fallthru, block_may_fallthru):
      	Likewise.
      	* gimplify.c (should_carry_locus_p, zero_sized_field_decl,
      	zero_sized_type, goa_lhs_expr_p): Likewise.
      	* omp-low.c (is_variable_sized, use_pointer_for_field): Likewise.
      	* rtl.h (print_rtl_with_bb): Likewise.
      	* sched-vis.c (print_exp, print_value, print_pattern): Likewise.
      	* tree-cfg.c (const_first_stmt, const_last_stmt): New.
      	* tree-flow-inline.h (bb_stmt_list): Constify.
      	(cbsi_start, cbsi_last, cbsi_end_p, cbsi_next, cbsi_prev,
      	cbsi_stmt): New.
      	* tree-flow.h (const_block_stmt_iterator, cbsi_start, cbsi_last,
      	const_first_stmt, const_last_stmt): New.
      	(block_may_fallthru, empty_block_p): Constify.
      	* tree-iterator.c (EXPR_FIRST_BODY, EXPR_LAST_BODY,
      	EXPR_ONLY_BODY): New.
      	(expr_first, expr_last, expr_only): Use macro for body.
      	(const_expr_first, const_expr_last, const_expr_only): New.
      	* tree-iterator.h (const_tree_stmt_iterator, ctsi_start,
      	ctsi_last, ctsi_end_p, ctsi_one_before_end_p, ctsi_next,
      	ctsi_prev, ctsi_stmt): New.
      	* tree-scalar-evolution.c (get_loop_exit_condition): Constify.
      	* tree-scalar-evolution.h (get_loop_exit_condition): Likewise.
      	* tree-ssa-loop-niter.c (loop_only_exit_p,
      	derive_constant_upper_bound): Likewise.
      	* tree-ssa-phiopt.c (empty_block_p): Likewise.
      	* tree-ssa-threadupdate.c (redirection_block_p): Likewise.
      	* tree-vectorizer.c (slpeel_can_duplicate_loop_p): Likewise.
      	* tree-vectorizer.h (slpeel_can_duplicate_loop_p): Likewise.
      	* tree-vrp.c (vrp_bitmap_equal_p): Likewise.
      	* tree.c (get_type_static_bounds): Likewise.
      	* tree.h (const_expr_first, const_expr_last, const_expr_only): New.
      	(get_type_static_bounds): Constify.
      
      From-SVN: r127483
      Kaveh R. Ghazi committed
  31. 11 Aug, 2007 1 commit
    • alias.h (alias_set_type): Define new type. · 4862826d
      ./:	* alias.h (alias_set_type): Define new type.
      	(ALIAS_SET_MEMORY_BARRIER): Use it.
      	* rtl.h: Include alias.h.
      	(struct mem_attrs): Use alias_set_type.
      	* tree.h: Include alias.h
      	(struct tree_type): Use alias_set_type.
      	(struct tree_struct_field_tag): Likewise.
      	(struct tree_decl_common): Likewise.
      	* alias.c (struct alias_set_entry): Use alias_set_type.
      	(get_alias_set_entry, alias_set_subset_of): Likewise.
      	(alias_sets_conflict_p): Likewise.
      	(alias_sets_must_conflict_p): Likewise.
      	(objects_must_conflict_p): Likewise.
      	(get_alias_set, new_alias_set): Likewise.
      	(record_alias_subset, record_component_aliases): Likewise.
      	(varargs_set, frame_set): Change to alias_set_type.
      	(get_varargs_alias_set): Use alias_set_type.
      	(get_frame_alias_set): Likewise.
      	* builtins.c (setjmp_alias_set): Change to alias_set_type.
      	* dse.c (struct store_info): Use alias_set_type.
      	(struct read_info, struct clear_alias_mode_holder): Likewise.
      	(clear_alias_set_lookup, canon_address): Likewise.
      	(record_store, check_mem_read_rtx): Likewise.
      	(dse_record_singleton_alias_set): Likewise.
      	(dse_invalidate_singleton_alias_set): Likewise.
      	* emit-rtl.c (get_mem_attrs): Likewise.
      	(set_mem_attributes_minus_bitpos): Likewise.
      	(set_mem_alias_set): Likewise.
      	* expr.c (store_constructor_field, store_field): Likewise.
      	* gimplify.c (struct gimplify_init_ctor_preeval_data): Likewise.
      	* langhooks.c (lhd_get_alias_set): Likewise.
      	* langhooks-def.h (lhd_get_alias_set): Likewise.
      	* reload1.c (alter_reg): Likewise.
      	* tree-flow.h (struct fieldoff): Likewise.
      	* tree-ssa-alias.c (struct alias_map_d): Likewise.
      	(may_alias_p, get_smt_for, create_sft): Likewise.
      	* tree-ssa-alias-warnings.c (nonstandard_alias_types_p): Likewise.
      	* tree-ssa-structalias.c (set_uids_in_ptset): Likewise.
      	(merge_smts_into): Likewise.
      	* varasm.c (const_alias_set): Likewise.
      	* c-common.c (strict_aliasing_warning): Likewise.
      	(c_common_get_alias_set): Likewise.
      	* dse.h (dse_record_singleton_alias_set): Update declaration.
      	(dse_invalidate_singleton_alias_set): Likewise.
      	* emit-rtl.h (set_mem_alias_set): Likewise.
      	* c-common.h (c_common_get_alias_set): Likewise.
      	* print-rtl.c (print_rtx): Cast MEM_ALIAS_SET when printing it.
      	* print-tree.c (print_node): Likewise.
      	* config/alpha/alpha.c (alpha_sr_alias_set): Change to
      	alias_set_type.
      	(alpha_setup_incoming_varargs): Use alias_set_type.
      	* config/i386/i386.c (setup_incoming_varargs_64): Use
      	alias_set_type.
      	(setup_incoming_varargs_ms_64): Likewise.
      	(ix86_GOT_alias_set): Likewise.
      	* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
      	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
      	(set): Change to alias_set_type.
      	(get_TOC_alias_set): Use alias_set_type.
      	* config/rs6000/rs6000-protos.h (get_TOC_alias_set): Update
      	declaration.
      	* config/sh/sh.c (sh_builtin_saveregs): Use alias_set_type.
      	* config/sparc/sparc.c (sparc_sr_alias_set): Change to
      	alias_set_type.
      	(struct_value_alias_set): Likewise.
      	* Makefile.in (GTFILES): Add $(srcdir)/alias.h.
      ada/:
      	* misc.c (gnat_get_alias_set): Change return type to
      	alias_set_type.
      cp/:
      	* cp-objcp-common.c (cxx_get_alias_set): Change return type to
      	alias_set_type.
      	* cp/cp-tree.h (cxx_get_alias_set): Update declaration.
      fortran:/
      	* f95-lang.c (gfc_get_alias_set): Change return type to
      	alias_set_type.
      
      From-SVN: r127362
      Ian Lance Taylor committed
  32. 09 Aug, 2007 1 commit
    • optabs.c (expand_widen_pattern_expr): Use optabs accestors. · 166cdb08
      	* optabs.c (expand_widen_pattern_expr): Use optabs accestors.
      	(expand_ternary_op): Likewise.
      	(expand_vec_shift_expr): Likewise.
      	(expand_binop_directly): Likewise.
      	(expand_binop): Likewise.
      	(sign_expand_binop): Likewise.
      	(expand_twoval_unop): Likewise.
      	(expand_twoval_binop): Likewise.
      	(expand_twoval_binop_libfunc): Likewise.
      	(widen_clz): Likewise.
      	(widen_bswap): Likewise.
      	(expand_parity): Likewise.
      	(expand_unop): Likewise.
      	(expand_abs_nojump): Likewise.
      	(expand_copysign): Likewise.
      	(emit_no_conflict_block): Likewise.
      	(emit_libcall_block): Likewise.
      	(can_compare_p): Likewise.
      	(prepare_cmp_insn): Likewise.
      	(emit_cmp_and_jump_insn_1): Likewise.
      	(prepare_float_lib_cmp): Likewise.
      	(emit_conditional_add): Likewise.
      	(gen_add2_insn): Likewise.
      	(have_add2_insn): Likewise.
      	(gen_sub2_insn): Likewise.
      	(have_sub2_insn): Likewise.
      	(can_extend_p): Likewise.
      	(can_fix_p): Likewise.
      	(can_float_p): Likewise.
      	(expand_float): Likewise.
      	(expand_fix): Likewise.
      	(expand_sfix_optab): Likewise.
      	(new_optab): Likewise.
      	(new_convert_optab): Likewise.
      	(init_libfuncs): Likewise.
      	(init_interclass_conv_libfuncs): Likewise.
      	(init_intraclass_conv_libfuncs): Likewise.
      	(set_conv_libfunc): Likewise.
      	(init_optabs): Likewise.
      	(debug_optab_libfuncs): Likewise.
      	(gen_cond_trap): Likewise.
      	* optabs.h (optab_handler, convert_optab_hanlder): New.
      	* genopinit.c: Update optabs generation table.
      	* reload.c (find_reloads_address_1): Use optabs accestors.
      	* builtins.c (expand_builtin_mathfn): Likewise.
      	(expand_builtin_mathfn_2): Likewise.
      	(expand_builtin_mathfn_3): Likewise.
      	(expand_builtin_interclass_mathfn): Likewise.
      	(expand_builtin_sincos): Likewise.
      	(expand_builtin_cexpi): Likewise.
      	(expand_builtin_powi): Likewise.
      	(expand_builtin_strlen): Likewise.
      	* dojump.c (do_jump): Likewise.
      	* expr.c (convert_move): Likewise.
      	(move_by_pieces): Likewise.
      	(move_by_pieces_ninsns): Likewise.
      	(can_store_by_pieces): Likewise.
      	(store_by_pieces_1): Likewise.
      	(emit_move_via_integer): Likewise.
      	(emit_move_complex): Likewise.
      	(emit_move_ccmode): Likewise.
      	(emit_move_insn_1): Likewise.
      	(emit_single_push_insn): Likewise.
      	(store_constructor): Likewise.
      	(expand_expr_real_1): Likewise.
      	(do_store_flag): Likewise.
      	* ada/misc.c (gnat_compute_largest_alignment): Likewise.
      	(enumerate_modes): Likewise.
      	* tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
      	(supportable_widening_operation): Likewise.
      	(supportable_narrowing_operation): Likewise.
      	* expmed.c (store_bit_field_1): Likewise.
      	(extract_bit_field_1): Likewise.
      	(expand_mult_highpart_optab): Likewise.
      	(expand_smod_pow2): Likewise.
      	(expand_divmod): Likewise.
      	(emit_store_flag): Likewise.
      	* tree-vect-patterns.c
      	(vect_pattern_recog_1): Likewise.
      	* tree-ssa-loop-prefetch.c
      	(nontemporal_store_p): Likewise.
      	* tree-vect-transform.c (vect_model_reduction_cost): Likewise.
      	(vect_create_epilog_for_reduction): Likewise.
      	(vectorizable_reduction): Likewise.
      	(vectorizable_operation): Likewise.
      	(vect_strided_store_supported): Likewise.
      	(vectorizable_store): Likewise.
      	(vect_strided_load_supported): Likewise.
      	(vectorizable_load): Likewise.
      	* combine.c (simplify_comparison): Likewise.
      	* tree-vect-generic.c
      	(type_for_widest_vector_mode): Likewise.
      	(expand_vector_operations_1): Likewise.
      	* config/spu/spu.c (spu_expand_mov): Likewise.
      	(spu_emit_vector_compare): Likewise.
      	* config/rs6000/rs6000.c
      	(rs6000_emit_vector_compare): Likewise.
      	* stmt.c (add_case_node): Likewise.
      	* reload1.c (gen_reload):
      
      From-SVN: r127317
      Jan Hubicka committed
  33. 29 Jul, 2007 1 commit
    • attribs.c (hash_attr, [...]): Constify. · fa233e34
      	* attribs.c (hash_attr, eq_attr, init_attributes): Constify.
      	* builtins.c (validate_arg, builtin_mathfn_code,
      	validate_arglist): Likewise.
      	* calls.c (call_expr_flags): Likewise.
      	* combine.c (reg_nonzero_bits_for_combine,
      	reg_num_sign_bit_copies_for_combine, get_last_value,
      	reg_truncated_to_mode): Likewise.
      	* emit-rtl.c (subreg_lowpart_p): Likewise.
      	* expr.c (highest_pow2_factor_for_target,
      	categorize_ctor_elements_1, categorize_ctor_elements,
      	count_type_elements, contains_packed_reference,
      	highest_pow2_factor, highest_pow2_factor_for_target): Likewise.
      	* fold-const.c (may_negate_without_overflow_p, int_const_binop,
      	fold_convertible_p, operand_equal_p, tree_swap_operands_p,
      	native_encode_int, native_encode_real, native_encode_complex,
      	native_encode_vector, native_encode_expr, native_interpret_int,
      	native_interpret_real, native_interpret_complex,
      	native_interpret_vector, native_interpret_expr): Likewise.
      	* function.c (use_register_for_decl): Likewise.
      	* gimplify.c (get_name): Likewise.
      	* langhooks-def.h (lhd_return_null_const_tree): New.
      	(LANG_HOOKS_GET_CALLEE_FNDECL): Use it.
      	* langhooks.c (lhd_return_null_const_tree): New.
      	* langhooks.h (lang_get_callee_fndecl): Constify.
      	* output.h (constructor_static_from_elts_p): Likewise.
      	* rtl-factoring.c (gen_symbol_ref_rtx_for_label): Likewise.
      	* rtl.h (nonzero_bits, num_sign_bit_copies, truncated_to_mode,
      	subreg_lowpart_p, noop_move_p, struct rtl_hooks): Likewise.
      	* rtlanal.c (cached_nonzero_bits, nonzero_bits1,
      	cached_num_sign_bit_copies, num_sign_bit_copies1, noop_move_p,
      	nonzero_bits, num_sign_bit_copies, truncated_to_mode): Likewise.
      	* rtlhooks-def.h (reg_nonzero_bits_general,
      	reg_num_sign_bit_copies_general, reg_truncated_to_mode_general):
      	Likewise. 
      	* rtlhooks.c (reg_num_sign_bit_copies_general,
      	reg_nonzero_bits_general, reg_truncated_to_mode_general):
      	Likewise. 
      	* stmt.c (warn_if_unused_value, is_body_block): Likewise.
      	* stor-layout.c (mode_for_size_tree): Likewise.
      	* tree-ssa-loop-im.c (memref_eq): Likewise.
      	* tree-ssa-loop-ivopts.c (tree_int_cst_sign_bit): Likewise.
      	* tree.c (contains_placeholder_p, type_list_equal,
      	simple_cst_equal, get_callee_fndecl, operand_equal_for_phi_arg_p):
      	Likewise. 
      	* tree.h (tree_int_cst_sign_bit, may_negate_without_overflow_p,
      	mode_for_size_tree, categorize_ctor_elements, count_type_elements,
      	contains_placeholder_p, contains_packed_reference,
      	get_callee_fndecl, operand_equal_for_phi_arg_p,
      	warn_if_unused_value, is_body_block, native_encode_expr,
      	native_interpret_expr, fold_convertible_p, operand_equal_p,
      	int_const_binop, tree_swap_operands_p, builtin_mathfn_code,
      	validate_arglist, simple_cst_equal, type_list_equal,
      	use_register_for_decl, call_expr_flags, get_name,
      	highest_pow2_factor): Likewise.
      	(const_call_expr_arg_iterator_d,
      	init_const_call_expr_arg_iterator, next_const_call_expr_arg,
      	first_const_call_expr_arg, more_const_call_expr_args_p,
      	FOR_EACH_CONST_CALL_EXPR_ARG): New.
      	* varasm.c (constructor_static_from_elts_p): Constify.
      	
      cp:
      	* parser.c (eof_token): Un-constify.
      	(cp_lexer_new_main, cp_lexer_new_from_tokens, VEC_alloc,
      	cp_lexer_consume_token, cp_lexer_purge_token): Remove spurious
      	casts.
      
      java:
      	* lang.c (java_get_callee_fndecl): Constify.
      
      objc:
      	* objc-act.c (objc_get_callee_fndecl): Constify.
      	* objc-act.h (objc_get_callee_fndecl): Likewise.
      
      From-SVN: r127036
      Kaveh R. Ghazi committed
  34. 26 Jul, 2007 1 commit