Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r98632
|
|
PR rtl-opt/21102
* simplify-rtx.c (simplify_binary_operation): Fix mode check before
performing some integral scalar simplifications.
From-SVN: r98631
|
|
PR target/21099
* config/i386/i386.c (ix86_split_to_parts): Use proper mode when
simplifying CONST_VECTOR.
From-SVN: r98624
|
|
From-SVN: r98622
|
|
From-SVN: r98621
|
|
From-SVN: r98620
|
|
intermediate representation.
* trans-const.c (gfc_conv_mpfr_to_tree): Use hexadecimal string as
intermediate representation.
From-SVN: r98619
|
|
* tree-ssa-dce.c (worklist): Change to VEC(tree,heap).
(mark_stmt_necessary, propagate_necessity,
mark_really_necessary_kill_operand_phis): Update uses of
worklist.
(tree_dce_init): Allocate worklist using VEC_alloc.
(tree_dce_done): Free worklist using VEC_free.
From-SVN: r98618
|
|
tpa_nodes on heap.
* tree-ssa-live.c (build_tree_conflict_graph): Allocate
partition_link and tpa_nodes on heap.
From-SVN: r98617
|
|
* tree-ssa-live.c (live_worklist): Take a stack allocated on
heap as an argument. Update uses of stack.
(calculate_live_on_entry): Allocate stack on heap.
From-SVN: r98616
|
|
* config/darwin.c (machopic_indirection_name): Don't use
quotes needlessly.
(darwin_emit_unwind_label): Use user_label_prefix instead of
"_".
From-SVN: r98615
|
|
From-SVN: r98613
|
|
* config.gcc <cris-*>: Specify .opt files.
* config/cris/cris.opt, config/cris/elf.opt, config/cris/aout.opt,
config/cris/linux.opt: New files.
* config/cris/aout.h (CRIS_SUBTARGET_SWITCHES)
(CRIS_SUBTARGET_LONG_OPTIONS): Don't define.
(TARGET_ELF): Override to 0.
(CRIS_SUBTARGET_HANDLE_OPTION): Override to handle -melinux and
-melinux-stacksize=N.
* config/cris/cris.c: (cris_handle_option): New function.
(TARGET_DEFAULT_TARGET_FLAGS): Override.
(TARGET_HANDLE_OPTION): Override to cris_handle_option.
(cris_override_options): Use MASK_*, not TARGET_MASK_*.
* config/cris/cris.h (TARGET_MASK_SVINTO, TARGET_SVINTO,
(TARGET_MASK_CCINIT, TARGET_CCINIT, TARGET_MASK_PDEBUG)
(TARGET_PDEBUG, TARGET_MASK_SIDE_EFFECT_PREFIXES)
(TARGET_SIDE_EFFECT_PREFIXES, TARGET_MASK_EXPAND_MUL)
(TARGET_EXPAND_MUL, TARGET_MASK_STACK_ALIGN, TARGET_STACK_ALIGN)
(TARGET_MASK_CONST_ALIGN, TARGET_CONST_ALIGN)
(TARGET_MASK_DATA_ALIGN, TARGET_DATA_ALIGN)
(TARGET_MASK_PROLOGUE_EPILOGUE, TARGET_PROLOGUE_EPILOGUE)
(TARGET_MASK_ETRAX4_ADD, TARGET_ETRAX4_ADD)
(TARGET_MASK_ALIGN_BY_32, TARGET_ALIGN_BY_32, TARGET_MASK_ELF)
(TARGET_ELF, TARGET_MASK_LINUX, TARGET_LINUX)
(TARGET_MASK_AVOID_GOTPLT, TARGET_AVOID_GOTPLT)
(TARGET_MASK_MUL_BUG, TARGET_MUL_BUG, TARGET_SWITCHES)
(CRIS_SUBTARGET_SWITCHES, TARGET_OPTIONS)
(CRIS_SUBTARGET_LONG_OPTIONS): Don't define.
(TARGET_LINUX): Define 0.
(TARGET_DEFAULT): Use MASK_*, not TARGET_MASK_*.
(CRIS_SUBTARGET_DEFAULT): Define to 0, not TARGET_MASK_ELF.
(CRIS_SUBTARGET_DEFAULT): New empty default macro.
* config/cris/linux.h (CRIS_SUBTARGET_SWITCHES): Don't define.
(TARGET_LINUX): Override to 1.
(CRIS_SUBTARGET_DEFAULT): Use MASK_*, not TARGET_MASK_*.
From-SVN: r98611
|
|
* haifa-sched.c (schedule_block): Fix thinko in previous
assertification patch.
From-SVN: r98606
|
|
* config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to
$extra_options. Also add pa/pa-hpux1010.opt for hpux10.[1-9]*.
(hppa*64*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt, pa/pa-hpux1010.opt and pa/pa64-hpux.opt to
$extra_options. Also add pa/pa-hpux1111.opt for hpux11.[1-9]*.
(hppa[12]*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt to $extra_options. Also add pa/pa-hpux1111.opt
for hpux11.[1-9]*.
* config/pa/pa.h (architecture_type, rtx_def, pa_arch_string, pa_arch)
(pa_fixed_range_string, pa_cpu_string, pa_unix_string, target_flags)
(MASK_PA_11, MASK_DISABLE_FPREGS, TARGET_DISABLE_FPREGS)
(MASK_NO_SPACE_REGS, TARGET_NO_SPACE_REGS, MASK_JUMP_IN_DELAY)
(TARGET_JUMP_IN_DELAY, MASK_DISABLE_INDEXING, TARGET_DISABLE_INDEXING)
(MASK_PORTABLE_RUNTIME, TARGET_PORTABLE_RUNTIME, MASK_GAS, TARGET_GAS)
(MASK_SOFT_FLOAT, TARGET_SOFT_FLOAT, MASK_LONG_LOAD_STORE)
(TARGET_LONG_LOAD_STORE, MASK_FAST_INDIRECT_CALLS)
(TARGET_FAST_INDIRECT_CALLS, MASK_BIG_SWITCH, TARGET_BIG_SWITCH)
(MASK_PA_20, MASK_SIO, TARGET_SIO, MASK_GNU_LD, TARGET_GNU_LD)
(MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_PA_11, TARGET_PA_20)
(TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS)
(SUBTARGET_OPTIONS): Delete.
(TARGET_PA_10): Redefine in terms of TARGET_PA_11 and TARGET_PA_20.
(TARGET_SCHED_DEFAULT): Define to a PROCESSOR_* enum (PROCESSOR_8000)
instead of a string.
* config/pa/pa.c (pa_arch, pa_arch_string, pa_fixed_range_string)
(pa_cpu_string, pa_unix_string): Delete.
(pa_cpu): Initialize to TARGET_SCHED_DEFAULT.
(flag_pa_unix): Initialize based on TARGET_HPUX_11_11 and
TARGET_HPUX_10_10.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(pa_handle_option): New function.
(override_options): Remove handling of -march=, -mfixed-range=,
-mschedule= and -munix=.
* config/pa/pa-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa-hpux1010.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux10.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux1111.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux11.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa64-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa64-start.h (TARGET_PA_11, TARGET_PA_20): #undef before
redefining.
* config/pa/pa.opt: New file.
* config/pa/pa-hpux.opt: New file.
* config/pa/pa-hpux1010.opt: New file.
* config/pa/pa-hpux1111.opt: New file.
* config/pa/pa64-hpux.opt: New file.
From-SVN: r98605
|
|
mode is VOIDmode not DImode.
* rtl.h (CONST_DOUBLE): Fix comment, a CONST_DOUBLE holds an
integer when it's mode is VOIDmode not DImode.
From-SVN: r98603
|
|
local labels.
* config/rs6000/rs6000.md (sync_add<mode>_internal,
sync_addshort_internal, sync_sub<mode>_internal, sync_andsi_internal,
sync_anddi_internal, sync_boolsi_internal, sync_booldi_internal,
sync_boolc<mode>_internal, sync_boolc<mode>_internal2,
sync_boolcc<mode>_internal, sync_lock_test_and_set<mode>): Use
"bne- $-xxx" rather than local labels.
(sync_lock_release<mode>): Add second operand.
(lwsync): Use .long rather than a more meaningful opcode.
* doc/md.texi (Standard Names): Add description of second
parameter to sync_lock_test_and_set.
From-SVN: r98602
|
|
From-SVN: r98601
|
|
comparison)
PR tree-optimization/21088
* fold-const.c (fold_unary, fold_binary, fold_ternary):
Export.
* tree-vrp.c (compare_values): Use fold_binary to compare
pointers. Use boolean_type_node as the type of a comparison
expression being folded.
* tree.h: Add prototypes for fold_unary, fold_binary,
fold_ternary.
From-SVN: r98600
|
|
2005-04-22 Diego Novillo <dnovillo@redhat.com>
* Makefile.in (tree-into-ssa.o): Add dependency on PARAMS_H.
* lambda-code.c (perfect_nestify): Mark virtual operands in
the moved statement for renaming.
* params.def (PARAM_MIN_VIRTUAL_MAPPINGS): Define.
(PARAM_VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Define.
* params.h (MIN_VIRTUAL_MAPPINGS): Define.
(VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Define.
* tree-flow.h (struct var_ann_d): Update comments.
(rewrite_to_new_ssa_names_bb, rewrite_to_new_ssa_names,
allocate_ssa_names, find_phi_node_for, dump_tree_ssa,
debug_tree_ssa, debug_def_blocks, dump_tree_ssa_stats,
debug_tree_ssa_stats, rewrite_ssa_into_ssa,
dump_repl_tbl, debug_repl_tbl, dump_names_replaced_by,
debug_names_replaced_by): Remove declarations.
(delete_update_ssa, get_current_def, set_current_def): Declare.
(rewrite_into_loop_closed_ssa): Add new argument. Update
all callers.
* tree-into-ssa.c: Include params.h.
(old_virtual_ssa_names): Remove. Update all users.
(need_to_replace_names_p): Remove. Update all users.
(struct update_ssa_stats_d): Declare.
(update_ssa_stats): New local.
(dump_tree_ssa, debug_tree_ssa, debug_def_blocks,
dump_tree_ssa_stats, debug_tree_ssa_stats,
dump_update_ssa, debug_update_ssa,
dump_names_replaced_by, debug_names_replaced_by): Declare.
(get_current_def, set current_def): Make extern.
(is_old_name, is_new_name): Protect against references
past the end of the sets.
(add_new_name_mapping): Assert that OLD and NEW are
different SSA names for the same symbol.
When adding a virtual mapping, update stats for virtual
mapping heuristic.
(insert_phi_nodes_for): If UPDATE_P is true, create the
LHS of the new PHI by duplicating SSA name VAR.
(insert_phi_nodes_1): Remove. Update all users.
(insert_phi_nodes): Remove second argument. Update all
users.
(maybe_replace_use, maybe_replace_def): New.
(rewrite_update_stmt): Call them.
(mark_def_interesting): Remove calls to is_gimple_reg.
(prepare_phi_args_for_update): Remove. Update all users.
(prepare_block_for_update): Only process virtual operands
and GIMPLE registers in normal form.
(prepare_use_sites_for): New.
(prepare_names_to_update): Rename from prepare_def_sites.
Call prepare_use_sites_for.
(dump_update_ssa): Rename from dump_repl_tbl.
Update all users.
Show statistics for virtual mapping heuristic.
(debug_update_ssa): Rename from debug_debug_repl_tbl.
(init_update_ssa): Initialize UPDATE_SSA_STATS.
(delete_update_ssa): Make extern.
(mark_set_for_renaming): If the set is empty, do nothing.
(release_ssa_name_after_update_ssa): Update comment.
(insert_updated_phi_nodes_for): Do not remove existing
PHI nodes for symbols.
(switch_virtuals_to_full_rewrite_p): New.
(switch_virtuals_to_full_rewrite): New.
(update_ssa): Call them.
Clear REWRITE_THIS_STMT and REGISTER_DEFS_IN_THIS_STMT
for every statement before updating.
If all the names in NEW_SSA_NAMES have been marked for
removal, do nothing.
Only start at the top of the CFG if there are symbols in
SYMS_TO_RENAME.
(ssa_rewrite_finalize_block): Remove.
(ssa_register_new_def): Remove.
(ssa_rewrite_stmt): Remove.
(ssa_rewrite_phi_arguments): Remove.
(ssa_rewrite_initialize_block): Remove.
(ssa_mark_def_sites): Remove.
(ssa_mark_def_sites_initialize_block): Remove.
(ssa_mark_phi_uses): Remove.
(rewrite_ssa_into_ssa): Remove.
* tree-phinodes.c (find_phi_node_for): Remove.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
Call update_ssa.
* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops):
Remove calls to verify_dominators and
verify_loop_structure.
(tree_unswitch_single_loop): Call update_ssa.
* tree-ssa.c (verify_ssa): Assert that need_ssa_update_p
returns false.
Call verify_stmts.
(delete_tree_ssa): Assert that need_ssa_update_p returns
false.
* tree-vect-transform.c (vect_transform_loop): Call update_ssa.
* tree-vectorizer.c (allocate_new_names, rename_def_op,
free_new_names): Remove. Update all users.
(rename_use_op): Call get_current_def.
(rename_variables_in_bb): Do not handle any real or
virtual definition.
(slpeel_update_phis_for_duplicate_loop): Call
get_current_def and set_current_def instead of using
SSA_NAME_AUX.
(slpeel_update_phi_nodes_for_guard2): Reformat comments.
(slpeel_can_duplicate_loop_p): Call need_ssa_update_p,
ssa_names_to_replace and delete_update_ssa.
* doc/invoke.texi: Document --param min-virtual-mappings
and --param virtual-mappings-ratio.
2005-04-22 Zdenek Dvorak <dvorakz@suse.cz>
Diego Novillo <dnovillo@redhat.com>
* tree-cfg.c (tree_duplicate_bb): Call create_new_def_for
for newly created PHI nodes.
Call create_new_def_for for every new V_MAY_DEF and
V_MUST_DEF on the copied statement.
(struct ssa_name_map_entry): Remove.
(ssa_name_map_entry_hash): Remove.
(ssa_name_map_entry_eq): Remove.
(allocate_ssa_names): Remove.
(rewrite_to_new_ssa_names_def): Remove.
(rewrite_to_new_ssa_names_use): Remove.
(rewrite_to_new_ssa_names_bb): Remove.
(rewrite_to_new_ssa_names): Remove.
(tree_duplicate_sese_region): Remove variables ver,
definitions, phi, ssa_name_map and bi.
Call need_ssa_update_p instead of any_marked_for_rewrite_p.
Call update_ssa.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
update_ssa instead of rewrite_ssa_into_ssa.
* tree-ssa-loop-manip.c (add_exit_phis_edge): Call
create_new_def_for.
(find_uses_to_rename_use): Add argument 'need_phis'.
(find_uses_to_rename_stmt): Do not scan virtual operands.
(find_uses_to_rename): Only scan PHI nodes for
non-virtual names.
(rewrite_into_loop_closed_ssa): Call update_ssa.
(check_loop_closed_ssa_use): Ignore virtual operands.
(check_loop_closed_ssa_stmt): Likewise.
(verify_loop_closed_ssa): Do nothing if CURRENT_LOOPS is
NULL.
(rename_variables, set_phi_def_stmts): Remove.
(tree_duplicate_loop_to_header_edge): Reformat comment.
Remove variables BB, I and DEFINITIONS.
Call need_ssa_update_p.
Call update_ssa.
(lv_adjust_loop_header_phi): Reformat comment.
* tree-ssanames.c (ssa_names_to_rewrite): Remove.
(marked_for_rewrite_p, any_marked_for_rewrite_p,
mark_for_rewrite, unmark_all_for_rewrite,
marked_ssa_names): Remove. Update all users.
(release_ssa_name): If VAR has been registered for SSA
updating, do nothing.
* tree-vrp.c (new_ssa_names, old_ssa_names): Remove.
(build_assert_expr_for): Call register_new_name_mapping.
(insert_range_assertions): Update call to update_ssa.
* tree.h (mark_for_rewrite, unmark_all_for_rewrite,
marked_for_rewrite_p, any_marked_for_rewrite_p,
marked_ssa_names): Remove.
From-SVN: r98599
|
|
* gcc.dg/uninit-5.c: Remove xfails.
* gcc.dg/tree-ssa/20030711-1.c:Reduce the number of
conditionals and loads.
From-SVN: r98598
|
|
* tree-ssa-dom.c (block_defs_stack): Remove, no longer needed.
(restore_currdefs_to_original_value): Likewise.
(register_definitions_for_stmt): Likewise.
(tree_ssa_dominator_optimize): No longer initialize CURRENT_DEF
for each variable. Do not allocate/free block_defs_stack either.
Do not iterate if we just thread jumps. Only iterate if the
tree_cleanup_cfg does useful work (temporary).
(dom_opt_initialize_block): No longer push a marker on
BLOCK_DEFS_STACK.
(dom_opt_finalize_block): Removal call to restore currdefs.
Relax restrictions for recording edge equivalences.
(record_equivalences_from_phis): No longer need to track
CURRENT_DEF.
(optimize_stmt): Similarly.
(thread_across_edge): Simplify by removing the requirement that
statements in the block we are threading through must be nops.
(initialize_hash_element): Handle GOTO_EXPR.
From-SVN: r98597
|
|
* sched-vis.c (print_value): Use CONST_DOUBLE_LOW and
CONST_DOUBLE_HIGH.
* config/sparc/sparc.c (sparc_rtx_costs): Likewise, and
fix check on CONST_DOUBLE mode. It should be VOIDmode
when it is representing an integer.
From-SVN: r98596
|
|
[[Split portion of a mixed commit.]]
From-SVN: r98594.2
|
|
From-SVN: r98589
|
|
logic; Add a gcc_assert.
* trans-const.c (gfc_conv_mpfr_to_tree): Remove unneeded computation;
simplify logic; Add a gcc_assert.
From-SVN: r98587
|
|
PR libfortran/20074
PR libfortran/20436
PR libfortran/21108
* gfortran.dg/nested_reshape.f90: new test
* gfortran.dg/reshape-alloc.f90: new test
* gfortran.dg/reshape.f90: new test
2005-04-22 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/20074
PR libfortran/20436
PR libfortran/21108
* m4/reshape.m4 (reshape_`'rtype_kind): rs, rex: New
variables, to be used in calculation of return array sizes.
Populate return array descriptor if ret->data is NULL.
Fix condition for early return (it used to test something
undefined if order was used).
Remove duplicate check wether pad is used.
* intrinsics/reshape_generic.c (reshape_generic): Likewise.
Fix a few places where the wrong variables were set.
* generated/reshape_i4.c: Regenerated.
* generated/reshape_i8.c: Regenerated.
From-SVN: r98585
|
|
input_filename is NULL...
* decl.c (make_rtl_for_nonlocal_decl): Don't try get_fileinfo if
input_filename is NULL, as it is for (say) __PRETTY_FUNCTION__.
From-SVN: r98582
|
|
From-SVN: r98581
|
|
From-SVN: r98579
|
|
From-SVN: r98574
|
|
gcc/cp/ChangeLog:
PR c++/21087
* name-lookup.c (push_overloaded_decl): Do not overload with
non-duplicate anticipated built-in.
gcc/testsuite/ChangeLog:
PR c++/21087
* g++.dg/lookup/builtin2.C: New test.
From-SVN: r98570
|
|
* builtins.c (gimplify_va_arg_expr): Reword comments to avoid
'abort'. Use gcc_assert and gcc_unreachable as appropriate.
* c-format.c (get_constant, decode_format_attr, get_flag_spec,
find_char_info_specifier_index,
find_length_info_modifier_index): Likewise.
* c-typeck.c (composite_type, pop_init_level): Likewise.
* combine.c (cant_combine_insn_p, try_combine): Likewise.
* cse.c (cse_insn): Likewise
* dominance.c (calc_dfs_tree): Likewise
dwarf2out.c (loc_descriptor_from_tree_1,
add_abstract_origin_attribute, force_decl_die,
force_type_die): Likewise
emit-rtl.c (operand_subword_force): Likewise
explow.c (hard_function_value): Likewise
expmed.c (store_bit_field, expand_divmod,
emit_store_flag_force): Likewise
expr.c (emit_move_multi_word, store_expr,
expand_expr_real_1): Likewise
final.c (this_is_asm_operands, shorten_branches, final_scan_insn,
output_operand): Likewise
flow.c (recompute_reg_usage): Likewise
* function.c (assign_stack_temp_for_type, assign_temp,
handle_epilogue_set): Likewise
* genextract.c (main): Likewise
* gimplify.c (mostly_copy_tree_r, gimplify_return_expr,
gimplify_modify_expr_rhs, gimplify_expr): Likewise
* haifa-sched.c (ready_lastpos, ready_remove_first, ready_element,
ready_remove, rm_line_notes, rm_other_notes,
schedule_block): Likewise
mips-tfile.c (copy_object, out_of_bounds): Likewise
From-SVN: r98567
|
|
PR target/20813
* config/rs6000/default64.h (TARGET_DEFAULT): Add MASK_PPC_GFXOPT.
* config/rs6000/rs6000.c (processor_target_table): Rename rs64a to
rs64. Add MASK_PPC_GFXOPT to powerpc64 and rs64.
(rs6000_init_libfuncs): Set TFmode optabs to xlq names if
TARGET_XL_COMPAT.
* doc/invoke.texi (PowerPC options): Change rs64a to rs64.
From-SVN: r98562
|
|
* lambda-code.c: Define VEC(int,heap), VEC(lambda_loop,heap).
(gcc_tree_to_linear_expression): Convert to heap allocated
vectors.
(gcc_loop_to_lambda_loop, gcc_loopnest_to_lambda_loopnest,
lbv_to_gcc_expression, lle_to_gcc_expression,
lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
perfect_nestify): Likewise.
lambda.h (gcc_loopnest_to_lambda_loopnest,
lambda_loopnest_to_gcc_loopnest): Likewise.
tree-loop-linear.c (linear_transform_loops): Likewise.
From-SVN: r98561
|
|
HOST_BITS_PER_WIDE_INT >=64.
* config/sparc/predicates.md (arith_double_operand): Use
trunc_int_for_mode if HOST_BITS_PER_WIDE_INT >=64.
* config/sparc/sparc.md (movqi, movhi, movsi, movqi): Use gen_int_mode.
(DImode, DFmode constant splitters): Likewise. Remove code for
TARGET_ARCH64 && HOST_BITS_PER_WIDE_INT < 64.
(logical constant splitters): Use const_int_operand predicate.
(lshrsi3_extend): Remove code for TARGET_ARCH64 &&
HOST_BITS_PER_WIDE_INT < 64.
From-SVN: r98560
|
|
appropriate.
* config/pa/pa.c (legitimize_pic_address): Use gcc_assert and
gcc_unreachable as appropriate.
(force_mode, emit_move_sequence, singlemove_string,
output_move_double, output_fp_move_double, find_addr_reg,
output_block_move, output_block_clear, output_and,
output_64bit_and, output_ior, output_64bit_ior, store_reg_modify,
pa_adjust_cost, pa_issue_rate, print_operand,
output_global_address, output_arg_descriptor, output_cbranch,
output_lbranch, output_bb, output_bvb, output_dbra, output_movb,
output_call): Likewise.
* config/pa/pa.md (call, call_value, sibcall, sibcall_value,
prefetch, prefetch_cc, prefetch_nocc): Likewise.
From-SVN: r98559
|
|
_gcov_one_value_profiler.
* Makefile.in (LIBGCOV): Add _gcov_interval_profiler,
_gcov_pow2_profiler and _gcov_one_value_profiler.
(tree-profile.o): Add GGC_H and gt-tree-profile.h dependency.
(GTFILES): Add $(srcdir)/tree-profile.c.
* gcov-io.h (__gcov_interval_profiler, __gcov_pow2_profiler,
__gcov_one_value_profiler): Declare.
* gimplify.c (force_gimple_operand): Check whether the statements
should be produced in ssa form.
(force_gimple_operand_bsi): New function.
* libgcov.c (__gcov_interval_profiler, __gcov_pow2_profiler,
__gcov_one_value_profiler): New functions.
* rtl-profile.c (rtl_gen_pow2_profiler): Only measure whether
the profiled value is a power of two or not.
* tree-cfg.c (tree_block_ends_with_condjump_p): Handle empty blocks.
* tree-flow.h (in_ssa_p): Declare.
(force_gimple_operand_bsi): Declare.
* tree-into-ssa.c (in_ssa_p): New variable.
(rewrite_into_ssa): Set in_ssa_p.
* tree-outof-ssa.c (rewrite_out_of_ssa): Set in_ssa_p.
* tree-profile.c: Include ggc.h and gt-tree-profile.h.
(gcov_type_node, tree_interval_profiler_fn, tree_pow2_profiler_fn,
tree_one_value_profiler_fn): New variables.
(tree_init_edge_profiler): Initialize the profiler function decls.
(tree_gen_edge_profiler): Use global gcov_type_node.
(prepare_instrumented_value): New function.
(tree_gen_interval_profiler, tree_gen_interval_profiler,
tree_gen_one_value_profiler): Call the library functions instead of
creating instrumentation code.
* tree.c (build_fn_decl): New function.
* tree.h (build_fn_decl): Declare.
* value-prof.c (rtl_divmod_values_to_profile,
rtl_find_values_to_profile, rtl_mod_pow2_value_transform,
tree_mod_pow2_value_transform, tree_find_values_to_profile):
Do not handle may_be_other and precise values of exponents at pow2
profiler.
(tree_mod_subtract_transform): Reflect that value field of
histogram has changed meaning.
(tree_divmod_values_to_profile): Record the values correctly.
(tree_values_to_profile): Update comment.
* value-prof.h (struct histogram_value_t): Remove pow2 data.
From-SVN: r98555
|
|
* varasm.c (do_assemble_alias): Return early if TREE_ASM_WRITTEN
(decl).
testsuite:
* gcc.dg/weak/weak-13.c: New test.
From-SVN: r98551
|
|
* config/i386/i386.md (length_immediate): Use gcc_assert or
gcc_unreachable, as appropriate.
(*movsi_1, *movqi_1, reload_outqi, *movdi_1_rex64, *pushsf,
*pushsf_rex64, *truncxfsf2_mixed, *truncxfsf2_i387,
*truncxfdf2_mixed, *truncxfdf2_i387, *adddi_1_rex64,
*adddi_2_rex64, *adddi_3_rex64, *adddi_4_rex64, *adddi_5_rex64,
*addsi_1, addsi_1_zext, *addsi_2, *addsi_2_zext, *addsi_3,
*addsi_3_zext, *addsi_4, *addsi_5, *addhi_1_lea, *addhi_1,
*addhi_2, *addhi_3, *addhi_4, *addhi_5, *addqi_1_lea, *addqi_1,
*addqi_1_slp, *addqi_2, *addqi_3, *addqi_4, *addqi_5, addqi_ext_1,
*addqi_ext_1_rex64, *anddi_1_rex64, *andsi_1, *andhi_1,
*ashldi3_1_rex64, *ashldi3_cmp_rex64, *ashlsi3_1, *ashlsi3_1_zext,
*ashlsi3_cmp, *ashlsi3_cmp_zext, *ashlhi3_1_lea, *ashlhi3_1,
*ashlhi3_cmp, *ashlqi3_1_lea, *ashlqi3_1, *ashlqi3_cmp,
pro_epilogue_adjust_stack_1, pro_epilogue_adjust_stack_rex64,
pro_epilogue_adjust_stack_rex64_2, prefetch, *prefetch_sse,
*prefetch_sse_rex): Likewise.
* config/i386/predicates.md (x86_64_immediate_operand,
x86_64_zext_immediate_operand, symbolic_operand,
no_seg_address_operand, aligned_operand,
memory_displacement_operand): Likewise.
* config/i386/sse.md (*mov<mode>_internal,
*movv2df_internal): Likewise.
From-SVN: r98549
|
|
* Makefile.in (ipa.o, ipa-inline.o): New files.
* cgraph.h (cgraph_remove_unreachable_nodes, cgraph_postorder,
cgraph_decide_inlining_incrementally, cgraph_clone_inlined_nodes,
cgraph_mark_inline_edge, cgraph_default_inline_p): Declare.
* cgraphunit.c (cgraph_default_inline_p, cgraph_decide_inlining_incrementally,
ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns,
cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
cgraph_mark_inline, cgraph_check_inline_limits,
cgraph_default_inline_p, cgraph_recursive_inlining_p,
update_callee_keys, lookup_recursive_calls,
cgraph_decide_recursive_inlining, cgraph_set_inline_failed,
cgraph_decide_inlining_of_small_functions, cgraph_decide_inlining,
cgraph_decide_inlining_incrementally, cgraph_gate_inlining,
pass_ipa_inline): Move to ipa-inline.c
(cgraph_postorder, cgraph_remove_unreachable_nodes): Move to ipa.c
* ipa.c: New file.
* ipa-inline.c: New file.
From-SVN: r98548
|
|
default on Solaris.
* doc/invoke.texi (SPARC options): Document that -mapp-regs
is turned off by default on Solaris.
From-SVN: r98544
|
|
[[Split portion of a mixed commit.]]
From-SVN: r98534.2
|
|
* ChangeLog: New.
* Make-lang.in: Likewise.
* config-lang.in: Likewise.
* lang-specs.h: Likewise.
* objcp-decl.c: Likewise.
* objcp-decl.h: Likewise.
* objcp-lang.c: Likewise.
From-SVN: r98530
|
|
* c-common.h (objc_build_method_signature): Update prototype.
* stub-objc.c (objc_build_method_signature): Update the stub
implementation to accept and ignore additional parameter.
* c-parser.c (c_parser_objc_method_decl): Reorgnize to pass
the value of ellipsis to objc_build_method_signature instead
of setting TREE_OVERFLOW on the parms TREE_LIST node.
* objc-act.h (METHOD_ADD_ARGS_ELLIPSIS_P): New macro for accessing
this field of an objc method decl.
* objc-act.c (build_method_decl): Take an additional "ellipsis"
argument, and set METHOD_ADD_ARGS_ELLIPSIS_P as appropriate.
(objc_build_method_signature): Accept additional "ellipsis"
argument and pass it to build_method_decl.
(get_arg_type_list, start_method_def, gen_method_decl): Use
the new METHOD_ADD_ARGS_ELLIPSIS_P instead of examining the
TREE_OVERFLOW field of a TREE_LIST node.
From-SVN: r98528
|
|
2005-04-21 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/rs6000-protos.h (rs6000_emit_sync): New.
* config/rs6000/rs6000.c (rs6000_emit_vector_compare): Use
gen_rtx_* not gen_rtx_fmt_*.
(rs6000_emit_vector_select): Likewise.
(rs6000_emit_sync): New.
* config/rs6000/rs6000.md (GPR, INT, INT1): New mode macros.
(larx, stcx, cmp): New mode substitutions.
(UNSPEC_SYNC, UNSPEC_SYNC_OP, UNSPEC_SYNC_SWAP, UNSPEC_LWSYNC,
UNSPEC_ISYNC): New constants.
(rlwinm): Give name.
(memory_barrier, isync, lwsync): New insns.
(sync_compare_and_swap<mode>, sync_lock_test_and_set<mode>): New insn.
(sync_lock_release<mode>): New expander.
(sync_add<mode>, sync_sub<mode>, sync_ior<mode>, sync_and<mode>,
sync_xor<mode>, sync_nand<mode>, sync_old_add<mode>,
sync_old_sub<mode>, sync_old_ior<mode>, sync_old_and<mode>,
sync_old_xor<mode>, sync_old_nand<mode>, sync_new_add<mode>,
sync_new_sub<mode>, sync_new_ior<mode>, sync_new_and<mode>,
sync_new_xor<mode>, sync_new_nand<mode>): New expanders.
(sync_add<mode>_internal, sync_addshort_internal,
sync_sub<mode>_internal, sync_andsi_internal, sync_anddi_internal,
sync_boolsi_internal, sync_booldi_internal, sync_boolc<mode>_internal,
sync_boolc<mode>_internal2, sync_boolcc<mode>_internal): New insns.
* doc/md.texi (Standard Names): sync_compare_and_swap's operand 0
is the memory before, not after, the operation. Clarify
barrier requirements.
Index: testsuite/ChangeLog
2005-04-21 Geoffrey Keating <geoffk@apple.com>
* lib/target-supports.exp (check_effective_target_sync_int_long):
Add powerpc*.
From-SVN: r98527
|
|
From-SVN: r98522
|
|
* lambda.h (lambda_vector_min_nz): Likewise.
* langhooks.h (struct lang_hooks_for_types,
struct lang_hooks): Likewise.
* output.h (assemble_integer, this_is_asm_operands): Likewise.
* tree.h: Likewise.
* vec.h: Likewise.
* tree-flow-inline.h (relink_imm_use): Use gcc_assert.
* optabs.c (prepare_cmp_insn, emit_cmp_and_jump_insns): Reword
comments to avoid 'abort'. Use gcc_assert as necessary.
* opts.c (common_handle_option): Likewise.
* pretty-print.c (pp_base_format_text): Likewise.
* print-rtl.c (print_rtx): Likewise.
* read-rtl.c (read_rtx_filename, read_rtx_1): Likewise.
* regmove.c (try_auto_increment): Likewise.
* reload.c (find_valid_class, find_reloads_toplev,
find_equiv_reg): Likewise.
* reload1.c (reload, forget_old_reloads_1, function_invariant_p,
merge_assigned_reloads): Likewise.
* tree-inline.c (inline_forbidden_p_1,
estimate_num_insns_1): Likewise.
* tree-optimize.c (execute_todo): Likewise.
* tree-outof-ssa.c (eliminate_phi): Likewise.
* tree-ssa-alias.c (add_pointed_to_expr): Likewise.
* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Likewise.
* tree-ssa-operands.c (parse_ssa_operands,
get_indirect_ref_operands, create_ssa_artficial_load_stmt): Likewise.
* tree-ssa-pre.c (find_or_generate_expression): Likewise.
* tree-ssanames.c (release_ssa_name): Likewise.
* tree.c (int_bit_position, int_byte_position, tree_low_cst,
walk_tree): Likewise.
* tree-ssa-operands.c (verify_abort): Fold into ..
(verify_imm_links): ... here.
From-SVN: r98519
|
|
* gcc.dg/vect/vect-85.c: Don't xfail on alpha.
* gcc.dg/vect/vect-86.c: Likewise.
* gcc.dg/vect/vect-87.c: Likewise.
* gcc.dg/vect/vect-88.c: Likewise.
From-SVN: r98518
|
|
previous inversion.
* config/alpha/sync.md (sync_new_nand<I48MODE>): Fix constraints
on non-memory operand for previous inversion.
From-SVN: r98517
|