Age | Commit message (Collapse) | Author | Files | Lines |
|
License and to point readers at the COPYING3 file and the FSF's license web page.
From-SVN: r126948
|
|
constant.
* extended.texi (__builtin_expect): We no longer require second argument
to be constant.
* gengtype.c (adjust_field_rtx_def): Drop NOTE_INSN_EXPECTED_VALUE.
* builtins.c (expand_builtin_expect): Simplify.
(expand_builtin_expect_jump): Kill.
* final.c (final_scan_insn): Do not skip the removed notes.
* insn-notes.def (LOOP_BEG, LOOP_END, REPEATED_LINE_NUMBER,
EXPECTED_VALUE): Remove.
* dojump.c (do_jump): Do not care about __builtin_expect.
* predict.c (expected_value_to_br_prob): Kill.
* function.c (expand_function_end): Do not expand
NOTE_INSN_REPEATED_LINE_NUMBER.
* print-rtl.c (print_rtx): Do not pretty print the removed notes.
* expect.c (sjlj_emit_function_enter): Emit directly branch probability.
* cfgexpand.c (add_reg_br_prob_note): Export.
* cfgcleanup.c (rest_of_handle_jump2): Do not call
expected_value_to_br_prob.
* cfglayout.c (duplicate_insn_chain): Do not deal with removed notes.
* rtl.h (add_reg_br_prob_note): Declare.
From-SVN: r118696
|
|
* pointer-set.c (pointer_set_destroy): Correct whitespace.
* cfgloopanal.c (dump_graph): Likewise.
* dojump.c (discard_pending_stack_adjust): Likewise.
* fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES):
Likewise.
* alloc-pool.c (dump_alloc_pool_statistics): Likewise.
* function.c (finalize_block_changes): Likewise.
* gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise.
* tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise.
* rtl.c (dump_rtx_statistics): Likewise.
* tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars):
Likewise.
* varray.c (dump_varray_statistics): Likewise.
* dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
decode_decimal64, encode_decimal128, decode_decimal128,
decimal_real_to_decimal): Likewise.
From-SVN: r115258
|
|
* builtins.c (dummy_object): Use build_int_cst instead of convert.
* tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
instead of convert.
* dojump.c (do_jump): Likewise.
* expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
* gimplify.c (gimple_boolify, gimplify_init_constructor,
gimplify_boolean_expr): Likewise.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
* varasm.c (array_size_for_constructor): Likewise.
* tree-object-size.c (compute_object_offset): Likewise.
From-SVN: r112633
|
|
* dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU
and GEU.
From-SVN: r110992
|
|
PR middle-end/26279
PR middle-end/26280
PR middle-end/26283
* dojump.c (do_compare_rtx_and_jump): Handle multi-word LE.
From-SVN: r110983
|
|
* optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx
directly, instead let do_compare_rtx_and_jump handle this for us.
* expr.c (expand_expr_real_1): Likewise.
* dojump.c (do_jump_by_parts_greater_rtx): Make static. Move
before do_jump_by_parts_greater.
(do_jump_by_parts_greater): Move after do_jump_by_parts_greater_rtx.
* expr.h (do_jump_by_parts_greater_rtx): Delete prototype.
From-SVN: r110954
|
|
switches)
PR middle-end/25724
* dojump.c (do_jump): Call do_compare_rtx_and_jump.
(do_jump_parts_zero_rtx): New function renamed from
do_jump_parts_equality_rtx. Made static. Add a mode argument.
(do_jump_parts_equality_rtx): New function split out from
do_jump_parts_equality. Old implementation renamed as above.
Call do_jump_parts_zero_rtx if either operand is zero.
(do_jump_parts_equality): Call do_jump_parts_equality_rtx to
do all of the heavy lifting.
(do_compare_rtx_and_jump): Handle multi-word comparisons by
calling either do_jump_by_parts_greater_rtx or
do_jump_by_parts_equality_rtx.
* expr.h (do_jump_by_parts_equality_rtx): Remove prototype.
* expmed.c (do_cmp_and_jump): Now multi-word optimization has
moved to do_compare_rtx_and_jump, call it directly.
* stmt.c (do_jump_if_equal): Remove static prototype. Add a
mode argument. Call do_compare_rtx_and_jump.
(emit_case_nodes): Update calls to do_jump_if_equal.
From-SVN: r110906
|
|
2006-01-30 Marcin Dalecki <martin@dalecki.de>
* expr.h (expand_normal): new inline function.
* builtins.c: use it, use EXPAND_NORMAL explicitely.
* dojump.c: use it.
* dwarf2out.c: use it.
* expr.c: use it.
* calls.c: use it.
* expmed.c: use it.
* except.c: use it.
* config/sparc/sparc.c: use it.
* config/i386/i386.c: use it.
* config/rs6000/rs6000.c: use it.
* config/arm/arm.c: use it.
* config/mips/mips.c: use it.
* stmt.c: use it, use EXPAND_NORMAL explicitely.
From-SVN: r110428
|
|
2005-10-21 Paolo Bonzini <bonzini@gnu.org>
* dojump.c (do_jump): Handle side-effecting TRUTH_AND_EXPR and
TRUTH_OR_EXPR.
From-SVN: r105723
|
|
2005-10-18 Paolo Bonzini <bonzini@gnu.org>
PR #19672
* dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR here.
From-SVN: r105606
|
|
OKed by Richard Henderson.
From-SVN: r101666
|
|
From-SVN: r101317
|
|
* dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through
to NE_EXPR case.
From-SVN: r99443
|
|
* dojump.c: Fix comment typos. emit-rtl.c, expmed.c, expr.c,
stmt.c, stor-layout.c: Use fold_buildN instead of
fold (buildN (...)).
From-SVN: r98848
|
|
* c-common.c, c-opts.c, combine.c, cse.c, dojump.c,
gimplify.c, tree-dfa.c, tree-ssa-loop-ivopts.c,
tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-sink.c,
tree-vect-analyze.c, tree.def, tree.h: Fix comment formatting.
From-SVN: r96104
|
|
DECL_FUNCTION_CODE.
* calls.c (expand_call): Check DECL_BUILT_IN_CLASS before
accessing DECL_FUNCTION_CODE.
* dojump.c (do_jump): Likewise.
* gimplify.c (gimplify_call_expr): Likewise.
* predict.c (expr_expected_value): Likewise.
(strip_builtin_expect): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
* tree-ssa-loop-im.c (stmt_cost): Likewise
* fold-const.c (fold): Test for BUILT_IN_NORMAL.
(tree_expr_nonnegative_p): Likewise.
From-SVN: r93864
|
|
gcc:
2005-01-04 Paolo Bonzini <bonzini@gnu.org>
Devang Patel <dpatel@apple.com>
PR tree-optimization/18308
* tree-if-conv.c (add_to_dst_predicate_list): Gimplify
the operands before creating a new expression.
* dojump.c (do_jump): Make drop_through_label available
for all cases. Add expansion of COND_EXPR.
gcc/testsuite:
2005-01-04 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/vect/pr18308.c: New testcase.
Co-Authored-By: Devang Patel <dpatel@apple.com>
From-SVN: r92895
|
|
PR middle-end/17746
* expr.c (get_inner_reference): Add 'keep_aligning' parameter.
Break on aligning VIEW_CONVERT_EXPR nodes on STRICT_ALIGNMENT
platforms only if keep_aligning is true.
(expand_assignment): Adjust call to get_inner_reference.
(expand_expr_addr_expr_1): Likewise.
(expand_expr_real_1): Likewise.
* dojump.c (do_jump): Likewise.
* dwarf2out.c (loc_descriptor_from_tree_1): Likewise.
* fold-const.c (optimize_bit_field_compare): Likewise.
(decode_field_reference): Likewise.
(split_address_to_core_and_offset): Likewise.
* tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
* expr.h (get_inner_reference): Adjust prototype.
ada/
* trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
* utils2.c (build_unary_op): Likewise.
From-SVN: r92549
|
|
equality operators, when casts are involved)
PR middle-end/17564
* dojump.c (do_compare_and_jump): Only canonicalize function pointers
in a comparison if both sides are function pointers.
Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
From-SVN: r92061
|
|
PR target/18002
PR middle-end/18424
* dojump.c (do_jump): When attempting to reverse the effects of
fold_single_bit_test, we need to STRIP_NOPS and narrowing type
conversions, and handle BIT_XOR_EXPR that's used to invert the
sense of the single bit test.
From-SVN: r92024
|
|
gcc/
* c-opts.c (c_common_post_options): Don't clear
flag_inline_functions.
* dojump.c (clear_pending_stack_adjust): Remove check on
flag_inline_functions, it's always true.
* config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter
that can never trigger.
* config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at
flag_inline_trees, now that flag_inline_functions is never
cleared.
* config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set
flag_inline_functions at optimization levels greater than
or equal to 3. This is already done by default.
ada/
* misc.c (gnat_post_options): Don't clear
flag_inline_functions.
cp/
* decl.c (cxx_init_decl_processing): Don't clear
flag_inline_functions.
fortran/
* options.c (gfc_post_options): Don't clear flag_inline_functions.
java/
* class.c (make_class_data): Don't check flag_inline_functions.
* lang.c (flag_really_inline): Remove unused flag.
(java_handle_option): Don't set it here. Remove special handling
of flag_inline_functions for Java.
(java_init): Don't set flag_inline_trees here. Already done...
(java_post_options): ...here. Don't clear flag_inline_functions.
From-SVN: r91190
|
|
-ffast-math)
PR middle-end/18520
* dojump.c (compare_from_rtx): Clarify mode argument in function
description. Correct order of mode/cmp_mode arguments in call to
simplify_relational_operation. Check "tem" for COMPARISON_P.
* gcc.dg/pr18520-1.c: New test case.
From-SVN: r90997
|
|
PR middle-end/17813
* dojump.c (discard_pending_stack_adjust): New function.
(clear_pending_stack_adjust): Call it.
* expr.h (discard_pending_stack_adjust): Declare it.
* explow.c (emit_stack_save): Emit pending stack adjustments
before saving the stack pointer.
(emit_stack_restore): Discard pending stack adjustments before
restoring the stack pointer.
Co-Authored-By: Roger Sayle <roger@eyesopen.com>
From-SVN: r89251
|
|
* dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
gcc_assert and gcc_unreachable.
* ddg.c (create_ddg_dependence, add_deps_for_def,
add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
* df.c (df_ref_unlink, df_ref_record, df_uses_record,
df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
df_bb_reg_live_end_p, df_bb_regs_lives_compare,
df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
dataflow_set_copy, hybrid_search, diagnostic.c,
diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
* dojump.c (do_jump): Likewise.
* dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
compute_dom_fast_query, calculate_dominance_info,
free_dominance_info, get_immediate_dominator,
set_immediate_dominator, get_dominated_by,
redirect_immediate_dominators, nearest_common_dominator,
dominated_by_p, verify_dominators, recount_dominator,
iterate_fix_dominators, add_to_dominance_info,
delete_from_dominance_info): Likewise.
* dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
flush_queued_reg_saves, dwarf2out_frame_debug_expr,
dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
output_call_frame_info, output_loc_operands, build_cfa_loc,
decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
splice_child_die, attr_checksum, same_dw_val_p,
break_out_includes, build_abbrev_table, size_of_die, mark_dies,
unmark_dies, value_format, output_loc_list, output_die,
output_pubnames, output_aranges, base_type_die, is_base_type,
modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
field_byte_offset, add_data_member_location_attribute,
add_const_value_attribute, rtl_for_decl_location,
add_location_or_const_value_attribute, add_byte_size_attribute,
add_bit_offset_attribute, add_bit_size_attribute,
add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
decl_start_label, gen_formal_parameter_die,
gen_type_die_for_member, gen_subprogram_die, gen_label_die,
gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
force_decl_die, force_type_die, gen_decl_die,
dwarf2out_imported_module_or_decl, prune_unused_types_prune,
dwarf2out_finish): Likewise.
From-SVN: r87176
|
|
TRUTH_ORIF_EXPR...
* dojump.c (do_jump <unordered_bcc>): Do not recursively call
self with a TRUTH_ORIF_EXPR; generate the appropriate jump
sequence inline. Move drop_through_label code into this
block, being the only place it is used. Adjust comments.
From-SVN: r86192
|
|
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Regenerate.
* configure: Regenerate.
* Makefile.def (bootstrap-stage): Rename extra_*_flags to
stage_*_flags.
* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
for bootstrapped modules if toplevel bootstrap is going.
(GCC bootstrap): Generate per-stage targets for all bootstrapped
modules. Adjust for changes in Makefile.def. Enable several
rules even in non-bootstrap mode, just to avoid peppering the
template with unnecessary "@if/@endif gcc-bootstrap" pairs.
(stage-[+prev+]-bubble): Remove.
* Makefile.def (Dependencies): Depend on all-build-bison,
all-build-flex, all-build-byacc, all-build-texinfo, rather
than the host variations.
* Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout
with BUILD_SUBDIR.
(BISON): Update for recent Bisons.
(YACC): Fix typo.
(cross): Depend on all-build.
(all): Do not depend on all-build.
(prebootstrap): Remove.
(dep-kind): Accept separate prefixes for MODULE and ON variables.
(Prebootstrap dependencies): Add them to the per-stage targets
and to all-prebootstrap.
* configure.in (build_configdirs): Always enable build_tools.
(BUILD_DIR_PREFIX): Remove.
* Makefile.def (gcc): Add target variable.
(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
in the recursive `make', instead of hardwiring `all'.
(Autogenerated TARGET-* variables): New.
gcc/ChangeLog:
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
No need to check if in a cross configuration.
* configure: Regenerate.
* calls.c (precompute_register_parameters):
Inline preserve_subexpressions_p ().
* expmed.c (expand_mult_const, emit_store_flag): Likewise.
* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
Likewise.
* expr.c (get_subtarget): Likewise.
* rtl.h (preserve_subexpressions_p): Remove.
* stmt.c (preserve_subexpressions_p): Remove.
* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
Abort on gimplified cases.
From-SVN: r86111
|
|
2004-07-28 Eric Christopher <echristo@redhat.com>
* c-common.c (c_common_unsafe_for_reeval): Delete.
* c-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete use.
* c-pretty-print.c (pp_c_expression): Delete UNSAVE_EXPR case.
* calls.c (fix_unsafe_tree): Delete.
(expand_call): Delete code which used above.
* dojump.c (do_jump): Delete UNSAVE_EXPR case.
* expr.c (expand_expr_real_1): Ditto.
* fold-const.c (non_lvalue): Ditto.
* langhooks-def.h (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
(lhd_unsafe_for_reeval): Ditto.
* langhooks.c (lhd_unsafe_for_reeval): Ditto.
* langhooks.h (unsafe_for_reeval): Ditto.
(unsave_expr_now): Adjust comment.
* tree-inline.c (copy_body_r): Delete UNSAVE_EXPR bits.
(estimate_num_insns_1): Ditto.
* tree-pretty-print.c (dump_generic_node): Ditto.
* tree.c (expr_align): Ditto.
(unsave_expr): Delete.
(unsafe_for_reeval): Ditto.
* tree.h (unsafe_for_reeval, unsave_expr): Ditto.
* tree.def (UNSAVE_EXPR): Delete.
* objc/objc-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
2004-07-28 Eric Christopher <echristo@redhat.com>
* cp-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
2004-07-28 Eric Christopher <echristo@redhat.com>
* lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
(java_unsafe_for_reeval): Ditto.
From-SVN: r85276
|
|
* convert.c (convert_to_real, convert_to_integer,
convert_to_complex): Replace calls to build with calls to buildN.
* coverage.c (tree_coverage_counter_ref): Likewise.
* dojump.c (do_jump): Likewise.
* dwarf2out.c (loc_descriptor_from_tree): Likewise.
* emit-rtl.c (component_ref_for_mem_expr,
set_mem_attributes_minus_bitpos): Likewise.
* explow.c (update_nonlocal_goto_save_area): Likewise.
* expmed.c (expand_shift, make_tree, const_mult_add_overflow_p,
expand_mult_add): Likewise.
* expr.c (emit_block_move_via_libcall, clear_storage_via_libcall,
store_constructor, get_inner_reference, expand_expr_real_1,
try_casesi, try_tablejump): Likewise.
* function.c (expand_function_start): Likewise.
* stmt.c (emit_case_bit_tests, expand_end_case_type,
node_has_low_bound, node_has_high_bound, emit_case_nodes): Likewise.
* stor-layout.c (place_union_field, layout_type): Likewise.
* tree.c (substitute_in_expr, tree_fold_gcd): Likewise.
* varasm.c (copy_constant): Likewise.
From-SVN: r85160
|
|
2004-07-14 Paolo Bonzini <bonzini@gnu.org>
* expr.c (enqueue_insn, finish_expr_for_function,
protect_from_queue, queued_subexp_p, mark_queue,
emit_insns_enqueued_after_mark, emit_queue,
expand_increment): Remove.
(store_constructor): Expand increment as an assignment.
(expand_expr_real_1 <case PREINCREMENT_EXPR,
case PREDECREMENT_EXPR, case POSTINCREMENT_EXPR,
case POSTDECREMENT_EXPR>): Abort.
* expr.h (QUEUED_VAR, QUEUED_INSN, QUEUED_COPY,
QUEUED_BODY, QUEUED_NEXT, finish_expr_for_function,
protect_from_queue, emit_queue, queued_subexp_p): Remove.
* function.h (pending_chain, x_pending_chain): Remove.
* rtl.def (QUEUED): Remove.
* emit-rtl.c (copy_insn_1, copy_most_rtx,
set_used_flags, verify_rtx_sharing): Remove references to QUEUED.
* genattrtab.c (attr_copy_rtx, clear_struct_flag,
encode_units_mask): Likewise.
* local-alloc.c (equiv_init_varies_p): Likewise.
* rtl.c (copy_rtx): Likewise.
* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
* simplify-rtx.c (simplify_gen_subreg): Likewise.
* config/mn10300/mn10300.c (legitimate_pic_operand_p): Likewise.
* builtins.c (expand_builtin, expand_builtin_apply,
expand_builtin_mathfn, expand_builtin_mathfn_2,
expand_builtin_mathfn_3, expand_builtin_setjmp_setup):
Remove calls to emit_queue and protect_from_queue.
* calls.c (expand_call, precompute_arguments,
precompute_register_parameters, rtx_for_function_call,
store_one_arg): Likewise.
* dojump.c (do_compare_and_jump, do_jump): Likewise.
* explow.c (memory_address): Likewise.
* expmed.c (clear_by_pieces_1, clear_storage,
clear_storage_via_libcall, emit_group_load,
emit_group_store, emit_store_flag,
expand_expr_real_1, store_by_pieces,
store_constructor, store_expr, try_casesi,
try_tablejump): Likewise.
* function.c (expand_pending_sizes): Likewise.
* optabs.c (emit_cmp_and_jump_insns,
emit_conditional_add, emit_conditional_move,
expand_fix, expand_float, prepare_cmp_insn): Likewise.
* stmt.c (emit_case_bit_tests,
expand_asm_expr, expand_computed_goto,
expand_decl_init, expand_end_case_type,
expand_end_stmt_expr, expand_expr_stmt_value,
expand_return, expand_start_case,
optimize_tail_recursion): Likewise.
* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
* config/s390/s390.c (s390_expand_cmpmem): Likewise.
From-SVN: r84675
|
|
* except.c (expand_eh_region_start, expand_eh_region_end,
expand_eh_handler, expand_eh_region_end_cleanup,
expand_start_all_catch, expand_start_catch, expand_end_catch,
expand_end_all_catch, expand_eh_region_end_allowed,
expand_eh_region_end_must_not_throw, expand_eh_region_end_throw,
expand_eh_region_end_fixup): Remove.
* stmt.c (struct nesting): Remove stack_level, innermost_stack_block,
cleanups, outer_cleanups, label_chain, exception_region.
(struct goto_fixup): Remove stack_level, cleanup_list_list.
(struct label_chain): Remove.
(struct stmt_status): Remove x_stack_block_stack.
(stack_block_stack, expand_goto_internal, expand_fixup, expand_fixups,
fixup_gotos, save_stack_pointer, expand_decl_cleanup,
expand_decl_cleanup_eh, expand_cleanups, start_cleanup_deferral,
end_cleanup_deferral, last_cleanup_this_contour,
containing_blocks_have_cleanups_or_stack_level,
any_pending_cleanups): Remove.
(expand_null_return_1): Take no arguments.
(expand_label, expand_naked_return, expand_return,
expand_start_bindings_and_block, expand_end_bindings, expand_decl,
expand_anon_union_decl, expand_start_case, pushcase, pushcase_range,
expand_end_case_type): Don't use any of them.
* calls.c (expand_call): Likewise.
* dojump.c (do_jump): Likewise.
* function.c (expand_function_end): Likewise.
* expr.c (store_expr, expand_expr_real_1): Likewise.
(safe_from_p): Don't handle WITH_CLEANUP_EXPR, CLEANUP_POINT_EXPR.
(expand_expr_real_1): Don't handle WITH_CLEANUP_EXPR,
CLEANUP_POINT_EXPR, TARGET_EXPR, TRY_CATCH_EXPR, CATCH_EXPR,
EH_FILTER_EXPR, TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR.
* fold-const.c (fold_checksum_tree): Use first_rtl_op.
* gengtype.c (adjust_field_tree_exp): Remove rtl op handling.
* gimplify.c (gimplify_cleanup_point_expr): Renumber operands
for WITH_CLEANUP_EXPR.
(gimple_push_cleanup): Likewise.
* integrate.c (copy_decl_for_inlining): Don't DECL_TOO_LATE.
* print-tree.c (print_node): Likewise.
* tree-pretty-print.c (dump_generic_node): Remove GOTO_SUBROUTINE_EXPR.
* tree.c (first_rtl_op): Always just TREE_CODE_LENGTH.
(has_cleanups): Remove GOTO_SUBROUTINE_EXPR.
* tree.def (WITH_CLEANUP_EXPR): Remove op1 and op2.
(GOTO_SUBROUTINE_EXPR): Remove.
* tree.h (WITH_CLEANUP_EXPR_RTL): Remove.
(DECL_TOO_LATE): Remove.
* except.h, tree.h: Update decls.
ada/
* trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
commentary.
cp/
* cp-tree.h (expand_eh_spec_block): Remove.
java/
* expr.c (case_identity, get_primitive_array_vtable,
java_expand_expr, emit_init_test_initialization): Remove.
* java-tree.h (java_expand_expr): Remove.
* lang.c (LANG_HOOKS_EXPAND_EXPR): Remove.
From-SVN: r84275
|
|
2004-07-06 Daniel Berlin <dberlin@dberlin.org>
* dojump.c (do_jump): REFERENCE_EXPR is dead.
* expr.c (expand_expr_real_1): Ditto.
* tree-inline.c (estimate_num_insns_1): Ditto.
* tree-pretty-print.c (dump_generic_node): Ditto.
(op_symbol): Ditto.
* tree.def: Ditto.
From-SVN: r84165
|
|
2004-07-01 Jerry Quinn <jlquinn@optonline.net>
* alias.c (get_alias_set, canon_rtx, get_addr,
nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1):
Use MEM_P.
* builtins.c (expand_builtin_prefetch, expand_builtin_profile_func,
expand_builtin): Likewise.
* calls.c (expand_call, emit_library_call_value_1, store_one_arg):
Likewise.
* combine.c (can_combine_p, combinable_i3pat, try_combine,
find_split_point, combine_simplify_rtx, simplify_set, make_extraction,
rtx_equal_for_field_assignment_p, gen_lowpart_for_combine,
record_dead_and_set_regs_1, get_last_value_validate,
mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise.
* cse.c (check_dependence, canon_hash, equiv_constant,
gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers,
cse_around_loop, cse_check_loop_start, cse_set_around_loop,
count_reg_usage): Likewise.
* cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup,
cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set,
cselib_record_sets): Likewise.
* dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol,
dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise.
* ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise.
* df.c (df_uses_record): Likewise.
* dojump (do_jump): Likewise.
* dwarf2out.c (stack_adjust_offset, mem_loc_descriptor,
loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info,
decl_start_label): Likewise.
* emit-rtl.c (gen_complex_constant_part, gen_highpart,
operand_subword, change_address_1, make_safe_from): Likewise.
* explow.c (break_out_memory_refs, copy_all_regs, validize_mem,
stabilize, force_not_mem): Likewise.
* expmed.c (store_bit_field, store_split_bit_field, extract_bit_field,
expand_mult_const, expand_divmod, emit_store_flag): Likewise.
* expr.c (convert_move, convert_modes, emit_block_move,
emit_group_load, emit_group_store, clear_storage, emit_move_insn,
emit_move_insn_1, expand_assignment, store_expr,
store_constructor_field, store_constructor, store_field,
force_operand, safe_from_p, expand_expr_real_1, expand_increment):
Likewise.
* final.c (cleanup_subreg_operands, alter_subreg,
get_mem_expr_from_op): Likewise.
* flow.c (notice_stack_pointer_modification_1,
init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs):
Likewise.
* function.c (mark_temp_addr_taken, preserve_temp_slots,
preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1,
optimize_bit_field, flush_addressof, purge_addressof_1,
instantiate_decl, instantiate_virtual_regs_1, assign_parms,
setjmp_protect, setjmp_protect_args, fix_lexical_addr,
keep_stack_depressed): Likewise.
* ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok,
noce_process_if_block, find_memory): Likewise.
* integrate.c (subst_constants, allocate_initial_values): Likewise.
* local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p,
update_equiv_regs): Likewise.
* loop.c (scan_loop, prescan_loop, note_addr_stored, check_store,
maybe_eliminate_biv_1, find_mem_in_note_1): Likewise.
* optabs.c (expand_abs, emit_unop_insn): Likewise.
* passes.c (rest_of_handle_final): Likewise.
* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
move2add_note_store): Likewise.
* ra-build.c (detect_remat_webs): Likewise.
* ra-debug.c (dump_static_insn_cost): Likewise.
* ra-rewrite.c (slots_overlap_p, insert_stores): Likewise.
* recog.c (validate_change, apply_change_group, cancel_changes,
validate_replace_rtx_1, general_operand, register_operand,
nonmemory_operand, push_operand, pop_operand, memory_operand,
indirect_operand, asm_operand_ok, offsettable_memref_p,
offsettable_nonstrict_memref_p, constrain_operands,
store_data_bypass_p): Likewise.
* reg-stack.c (subst_stack_regs_pat): Likewise.
* regclass.c (record_operand_costs, scan_one_insn, record_reg_classes,
copy_cost, reg_scan_mark_refs): Likewise.
* regmove.c (optimize_reg_copy_3, stack_memref_p,
combine_stack_adjustments_for_block): Likewise.
* regrename.c (copyprop_hardreg_forward_1): Likewise.
* reload.c (can_reload_into, push_reload, decompose, immune_p,
find_reloads, find_reloads_address, find_reloads_address_1,
reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p,
find_equiv_reg): Likewise.
* reload1.c (reload, eliminate_regs, eliminate_regs_in_insn,
reload_as_needed, choose_reload_regs, emit_input_reload_insns,
do_input_reload, emit_reload_insns, gen_reload, delete_output_reload,
delete_address_reloads): Likewise.
* resource.c (mark_referenced_resources): Likewise.
* rtlanal.c (get_jump_table_offset, count_occurrences,
reg_referenced_p, reg_set_p, set_of_1, set_noop_p,
reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1,
num_sign_bit_copies1): Likewise.
* rtlhooks.c (gen_lowpart_general): Likewise.
* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
* sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol,
sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms,
sdbout_global_decl): Likewise.
* simplify-rtx.c (simplify_subreg): Likewise.
* stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl,
expand_anon_union_decl, expand_end_case_type): Likewise.
* unroll.c (calculate_giv_inc): Likewise.
* var-tracking.c (stack_adjust_offset_pre_post,
bb_stack_adjust_offset, track_expr_p, count_uses, add_uses,
add_stores, compute_bb_dataflow, vt_get_decl_and_offset,
vt_add_function_parameters): Likewise.
* varasm.c (make_var_volatile, notice_global_symbol,
assemble_external, decode_addr_const, mark_weak,
default_encode_section_info): Likewise.
From-SVN: r83980
|
|
2004-06-15 Jerry Quinn <jlquinn@optonline.net>
* alias.c (record_set, record_base_value, canon_rtx, get_addr,
nonlocal_mentioned_p_1, init_alias_analysis): Use REG_P.
* bt-load.c (find_btr_reference, insn_sets_btr_p, note_btr_set):
Likewise.
* builtins.c (expand_builtin_setjmp, expand_builtin_apply,
expand_builtin_mathfn, expand_builtin_strlen, expand_builtin_memcmp,
expand_builtin_strcmp, expand_builtin_strncmp,
expand_builtin_frame_address): Likewise.
* caller-save.c (mark_set_regs, add_stored_regs, mark_referenced_regs,
insert_one_insn): Likewise.
* calls.c (prepare_call_address, precompute_register_parameters,
precompute_arguments, expand_call, emit_library_call_value_1): Likewise.
* cfganal.c (flow_active_insn_p): Likewise.
* combine.c (set_nonzero_bits_and_sign_copies, can_combine_p,
combinable_i3pat, try_combine, find_split_point, COMBINE_RTX_EQUAL_P,
subst, combine_simplify_rtx, simplify_if_then_else, simplify_set,
make_extraction, recog_for_combine, gen_lowpart_for_combine,
simplify_comparison, record_dead_and_set_regs_1,
record_dead_and_set_regs, record_promoted_value,
check_promoted_subreg, get_last_value_validate, get_last_value,
reg_dead_at_p_1, reg_bitfield_target_p, distribute_notes,
unmentioned_reg_p_1): Likewise.
* conflict.c (mark_reg): Likewise.
* cse.c (HASH, COST, COST_IN, approx_reg_cost_1, notreg_cost,
mention_regs, insert_regs, lookup, lookup_for_remove, insert,
merge_equiv_classes, flush_hash_table, invalidate,
remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
invalidate_for_call, use_related_value, canon_hash, exp_equiv_p,
cse_rtx_varies_p, canon_reg, find_best_addr, fold_rtx, equiv_constant,
record_jump_cond, cse_insn, addr_affects_sp_p,
invalidate_from_clobbers, cse_process_notes, cse_around_loop,
cse_set_around_loop, count_reg_usage, set_live_p, cse_change_cc_mode,
cse_cc_succs, cse_condition_code_reg): Likewise.
* cselib.c (cselib_reg_set_mode, rtx_equal_for_cselib_p,
cselib_lookup, cselib_invalidate_regno, cselib_invalidate_rtx,
cselib_record_set, cselib_record_sets): Likewise.
* dbxout.c (dbxout_symbol_location, dbxout_parms, dbxout_reg_parms,
dbxout_block): Likewise.
* df.c (df_ref_record, df_def_record_1, df_uses_record): Likewise.
* dojump.c (do_jump): Likewise.
* dwarf2out.c (dwarf2out_frame_debug_expr, is_pseudo_reg,
is_based_loc, rtl_for_decl_location): Likewise.
* emit-rtl.c (set_reg_attrs_for_parm, set_decl_rtl,
set_decl_incoming_rtl, mark_user_reg): Likewise.
* explow.c (copy_all_regs, copy_all_regs, memory_address, force_reg,
copy_to_suggested_reg, allocate_dynamic_stack_space,
probe_stack_range, hard_function_value): Likewise.
* expmed.c (store_bit_field, store_fixed_bit_field,
store_split_bit_field, extract_bit_field, extract_fixed_bit_field,
extract_split_bit_field, expand_divmod, emit_store_flag_force):
Likewise.
* expr.c (convert_move, convert_modes,
block_move_libcall_safe_for_call_parm, emit_group_load, use_reg,
use_group_regs, emit_move_insn, emit_move_insn_1,
compress_float_constant, push_block, emit_single_push_insn,
emit_push_insn, get_subtarget, expand_assignment, store_expr,
store_constructor, store_field, force_operand, safe_from_p,
expand_expr_real_1, expand_increment, do_store_flag, do_tablejump):
Likewise.
* final.c (profile_function, final_scan_insn, alter_subreg,
get_mem_expr_from_op, output_asm_operand_names, output_operand,
only_leaf_regs_used, leaf_renumber_regs_insn): Likewise.
* flow.c (verify_wide_reg_1, mark_regs_live_at_end,
find_regno_partial, propagate_one_insn, init_propagate_block_info,
insn_dead_p, libcall_dead_p, mark_set_1, not_reg_cond,
attempt_auto_inc, find_auto_inc, mark_used_regs,
count_or_remove_death_notes_bb): Likewise.
* function.c (find_temp_slot_from_address, update_temp_slot_address,
preserve_temp_slots, put_var_into_stack, fixup_var_refs_insn,
fixup_var_refs_1, fixup_stack_1, optimize_bit_field, flush_addressof,
put_addressof_into_stack, purge_addressof_1, insns_for_mem_walk,
purge_single_hard_subreg_set, instantiate_decl,
instantiate_virtual_regs_1, aggregate_value_p, assign_parms,
promoted_input_arg, setjmp_vars_warning, setjmp_args_warning,
setjmp_protect, setjmp_protect_args, fix_lexical_addr,
expand_function_start, diddle_return_value, clobber_return_register,
expand_function_end, keep_stack_depressed, handle_epilogue_set,
update_epilogue_consts): Likewise.
* genemit.c (gen_exp, gen_insn): Likewise.
* genrecog.c (make_insn_sequence): Likewise.
* global.c (global_conflicts, expand_preferences, mark_reg_store,
mark_reg_conflicts, set_preference, reg_becomes_live,
build_insn_chain, mark_reg_change): Likewise.
* haifa_sched.c (CONST_BASED_ADDRESS_P, find_set_reg_weight):
Likewise.
* ifcvt.c (noce_try_abs, noce_get_condition, noce_process_if_block):
Likewise.
* integrate.c (copy_rtx_and_substitute, try_constants,
subst_constants, mark_stores, allocate_initial_values): Likewise.
* jump.c (reversed_comparison_code_parts, delete_prior_computation,
delete_computation, rtx_renumbered_equal_p, true_regnum,
reg_or_subregno): Likewise.
* lcm.c (reg_dies, reg_becomes_live): Likewise.
* local-alloc.c (validate_equiv_mem_from_store, validate_equiv_mem,
update_equiv_regs, no_equiv, block_alloc, combine_regs, reg_is_set,
wipe_dead_reg, no_conflict_p): Likewise.
* loop-iv.c (simple_reg_p, simple_set_p, kill_sets,
iv_get_reaching_def, iv_analyze_biv, altered_reg_used, mark_altered,
simple_rhs_p, simplify_using_assignment, implies_p): Likewise.
* loop.c (scan_loop, combine_movables, rtx_equal_for_loop_p,
move_movables, note_set_pseudo_multiple_uses, consec_sets_invariant_p,
find_single_use_in_loop, count_one_set, loop_bivs_init_find,
loop_givs_rescan, check_insn_for_bivs, check_insn_for_givs,
valid_initial_value_p, simplify_giv_expr, consec_sets_giv,
loop_regs_update, check_dbra_loop, maybe_eliminate_biv,
maybe_eliminate_biv_1, record_initial, update_reg_last_use,
canonicalize_condition, loop_regs_scan, load_mems, try_copy_prop,
try_swap_copy_prop): Likewise.
* optabs.c (expand_binop, expand_vector_binop, expand_vector_unop,
expand_abs, emit_no_conflict_block, emit_libcall_block, expand_float):
Likewise.
* postreload.c (reload_cse_simplify, reload_cse_simplify_set,
reload_cse_simplify_operands, reload_combine,
reload_combine_note_store, reload_combine_note_use,
reload_cse_move2add, move2add_note_store): Likewise.
* print-rtl.c (print_rtx): Likewise.
* ra-build.c (copy_insn_p, remember_move, init_one_web_common,
contains_pseudo, handle_asm_insn): Likewise.
* ra-debug.c (ra_print_rtx_object, dump_constraints,
dump_static_insn_cost): Likewise.
* ra-rewrite.c (slots_overlap_p, emit_colors,
remove_suspicious_death_notes): Likewise.
* recog.c (validate_replace_rtx_1, find_single_use_1, find_single_use,
register_operand, scratch_operand, nonmemory_operand,
constrain_operands): Likewise.
* reg-stack (check_asm_stack_operands, remove_regno_note,
emit_swap_insn, swap_rtx_condition, subst_stack_regs_pat,
subst_asm_stack_regs): Likewise.
* regclass.c (scan_one_insn, record_reg_classes, copy_cost,
record_address_regs, reg_scan_mark_refs): Likewise.
* regmove.c (discover_flags_reg, replacement_quality,
copy_src_to_dest, reg_is_remote_constant_p, regmove_optimize,
fixup_match_1): Likewise.
* regrename.c (note_sets, clear_dead_regs, build_def_use, kill_value,
kill_set_value, copyprop_hardreg_forward_1): Likewise.
* reload.c (MATCHES, push_secondary_reload, find_reusable_reload,
reload_inner_reg_of_subreg, can_reload_into, push_reload,
combine_reloads, find_dummy_reload, hard_reg_set_here_p,
operands_match_p, decompose, find_reloads, find_reloads_toplev,
find_reloads_address, subst_indexed_address, find_reloads_address_1,
find_reloads_subreg_address, find_replacement,
refers_to_regno_for_reload_p, reg_overlap_mentioned_for_reload_p,
refers_to_mem_for_reload_p, find_equiv_reg, regno_clobbered_p): Likewise.
* reload1.c (replace_pseudos_in, reload, calculate_needs_all_insns,
find_reg, delete_dead_insn, alter_reg, eliminate_regs,
elimination_effects, eliminate_regs_in_insn, scan_paradoxical_subregs,
forget_old_reloads_1, reload_reg_free_for_value_p, choose_reload_regs,
emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
do_output_reload, emit_reload_insns, gen_reload,
delete_address_reloads_1, inc_for_reload): Likewise.
* reorg.c (update_reg_dead_notes, fix_reg_dead_note,
update_reg_unused_notes, fill_slots_from_thread): Likewise.
* resource.c (update_live_status, mark_referenced_resources,
mark_set_resources, mark_target_live_regs): Likewise.
* rtlanal.c (nonzero_address_p, get_jump_table_offset,
global_reg_mentioned_p_1, reg_mentioned_p, reg_referenced_p,
reg_set_p, set_noop_p, find_last_value, refers_to_regno_p,
note_stores, dead_or_set_p, dead_or_set_regno_p, find_regno_note,
find_reg_fusage, find_regno_fusage, replace_regs, regno_use_in,
parms_set, find_first_parameter_load, keep_with_call_p,
hoist_test_store, hoist_update_store, address_cost, nonzero_bits1,
num_sign_bit_copies1): Likewise.
* rtlhooks.c (gen_lowpart_general): Likewise.
* sched-deps.c (deps_may_trap_p, sched_analyze_1, sched_analyze_insn,
sched_analyze): Likewise.
* sched-rgn.c (check_live_1, update_live_1, sets_likely_spilled_1):
Likewise.
* sdbout.c (sdbout_symbol, sdbout_parms, sdbout_reg_parms): Likewise.
* simplify-rtx.c (simplify_replace_rtx, simplify_unary_operation,
simplify_binary_operation, simplify_const_relational_operation,
simplify_subreg): Likewise.
* stmt.c (decl_conflicts_with_clobbers_p, expand_asm_operands,
expand_end_stmt_expr, expand_return, expand_decl,
expand_anon_union_decl): Likewise.
* unroll.c (precondition_loop_p, calculate_giv_inc, copy_loop_body,
find_splittable_regs, find_splittable_givs, find_common_reg_term,
loop_iterations): Likewise.
* var-tracking.c (variable_union, variable_part_different_p,
variable_different_p, count_uses, add_uses, add_stores,
compute_bb_dataflow, set_variable_part, delete_variable_part,
emit_notes_in_bb, vt_get_decl_and_offset, vt_add_function_parameters):
Likewise.
* varasm.c (assemble_variable): Likewise.
From-SVN: r83195
|
|
From-SVN: r82753
|
|
gcc.c-torture/execute/ieee/fp-cmp-[458].c)
2004-06-04 Paolo Bonzini <bonzini@gnu.org>
PR target/15822
* dojump.c (do_jump): Fix uninitialized variable tcode1.
From-SVN: r82626
|
|
gcc/ChangeLog:
2004-05-27 Paolo Bonzini <bonzini@gnu.org>
Roger Sayle <roger@eyesopen.com>
PR rtl-optimization/15649
Add LTGT_EXPR and improve pretty-printing of unordered
comparisons.
* c-common.c (c_common_truthvalue_conversion):
Handle LTGT_EXPR.
* c-typeck.c (build_binary_op): Likewise.
* dojump.c (do_jump): Likewise.
* expr.c (expand_expr_real_1, do_store_flag): Likewise.
* predict.c (tree_predict_by_opcode): Likewise.
* real.c (real_compare): Likewise.
* tree-cfg.c (verify_expr): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
Handle ORDERED_EXPR, UNORDERED_EXPR.
(op_symbol): Print unordered comparisons differently
than ordered ones.
* tree.def (LTGT_EXPR): New '<' tree code.
* doc/c-tree.texi (Expressions): Document floating-point
comparison nodes.
Fold comparisons between floating point values.
* fold-const.c (enum comparison_code): New, from
#define'd constants. Define compcodes for unordered
comparisons and for invalid transformations.
(invert_tree_comparison): Add "honor_nans" parameter.
(fold_truthop): Revamp to work on floating-point types too.
(comparison_to_compcode): Support unordered comparisons.
Use new enum comparison_code.
(compcode_to_comparison): Likewise.
(combine_compcodes): New function.
(invert_truthvalue): Let invert_tree_comparison decide
whether it is valid to fold the comparison. Fold ORDERED
and UNORDERED even if flag_unsafe_math_optimizations is off,
and the remaining even if flag_unsafe_math_optimizations
is off but we are under -fno-trapping-math.
(fold_relational_const): Integer modes do not honor NaNs.
gcc/testsuite/ChangeLog:
2004-05-27 Paolo Bonzini <bonzini@gnu.org>
* gcc.c-torture/compare-fp-1.c, gcc.c-torture/compare-fp-2.c,
gcc.c-torture/compare-fp-3.c, gcc.c-torture/compare-fp-4.c,
gcc.c-torture/compare-fp-3.x, gcc.c-torture/compare-fp-4.x,
gcc.c-torture/pr15649-1.c: New.
Co-Authored-By: Roger Sayle <roger@eyesopen.com>
From-SVN: r82365
|
|
simplify_relational_operation.
2004-04-29 Paolo Bonzini <bonzini@gnu.org>
* combine.c (combine_simplify_rtx): Adjust call to use
simplify_relational_operation. Do not use SELECT_CC_MODE
when a comparison already has a MODE_CC mode.
(simplify_set): simplify_relational_operation may now
return another relational expression.
* cse.c (fold_rtx): simplify_relational_operation now
takes of computing the comparison mode.
* dojump.c (compare_from_rtx): Use simplify_relational_operation,
remove dead code.
(do_compare_rtx_and_jump): Likewise.
* integrate.c (subst_constants): simplify_relational_operation
may now return another relational expression.
* simplify-rtx.c (simplify_gen_relational): Move most code to
the new simplify_relational_operation and
simplify_relational_operation_1 functions.
(simplify_relational_operation): Rewritten.
(simplify_relational_operation_1): New function.
(simplify_ternary_operation): simplify_relational_operation
may now return another relational expression.
(simplify_rtx): Remove unnecessary temp variable.
From-SVN: r81282
|
|
* builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:
Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
* c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise.
* calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise.
* expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise.
* optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise.
* tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise.
* config/mips/mips.c, config/rs6000/rs6000.c: Likewise.
* config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise.
* stor-layout.c (layout_type, case COMPLEX_TYPE): Test for
REAL_TYPE, not INTEGER_TYPE.
(layout_type, case VECTOR_TYPE): Simplify code.
* tree.c (build_vector_type_for_mode): Remove dup unsigned setting.
* tree.h: Update comments.
(STRIP_NOPS): Use TYPE_UNSIGNED.
(TYPE_UNSIGNED): New macro.
(TYPE_TRAP_SIGNED): Remove now redundant check.
(SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED.
* cp/call.c (joust): Use TYPE_UNSIGNED, not TREE_UNSIGNED.
* cp/class.c (check_bitfield_decl): Likewise.
* cp/cvt.c (type_promotes_to): Likewise.
* cp/decl.c (finish_enum): Likewise.
* cp/mangle.c (write_builtin_type): Likewise.
* cp/semantics.c (finish_switch_cond, finish_unary_op_expr): Likewise.
* cp/typeck.c (type_after_usual_arithmetic_conversions): Likewise.
(build_binary_op): Likewise.
* f/com.c (ffecom_arrayref_): Use TYPE_UNSIGNED, not TREE_UNSIGNED.
(ffecom_expr_): Likewise.
* java/jcf-write.c (generate_bytecode_insns): Use TYPE_UNSIGNED.
* treelang/treetree.c (tree_lang_signed_or_unsigned_type):
Use TYPE_UNSIGNED, not TREE_UNSIGNED.
* ada/decl.c (gnat_to_gnu_entity, make_type_from_size):
Use TYPE_UNSIGNED, not TREE_UNSIGNED.
* ada/trans.c (tree_transform, convert_with_check): Likewise.
* ada/utils.c (gnat_signed_or_unsigned_type): Likewise.
(build_vms_descriptor, unchecked_convert): Likewise.
* ada/utils2.c (nonbinary_modular_operation): Likewise.
From-SVN: r80287
|
|
* alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
* emit-rtl.c (component_ref_for_mem_expr): Likewise.
(set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
* explow.c (expr_size): Likewise.
* expr.h (placeholder_list, find_placeholder): Deleted.
* expr.c (store_constructor): Likewise.
(get_inner_reference): Likewise. Also don't call find_placeholder.
(placeholder_list, find_placeholder): Deleted.
(is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
(expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
(highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
* dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
* dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
Likewise.
* fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
(extract_muldiv, case WITH_RECORD_EXPR): Likewise.
* tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
(contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
Clean up by using first_rtl_op.
(substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
(substitute_placeholder_in_expr): New function.
* tree.def (WITH_RECORD_EXPR): Deleted.
* tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
(substitute_placeholder_in_expr): New.
* ada/decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
* ada/trans.c (tree_transform, emit_index_check): Likewise.
* ada/utils.c (build_template): Likewise.
(max_size, convert): Remove handling of WITH_RECORD_EXPR.
(maybe_unconstrained_array, unchecked_convert): Likewise.
* ada/utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
(build_unary_op): Likewise.
(compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
(fill_vms_descriptor): Likewise.
(build_call_alloc_dealloc): Likewise.
ALIGN is unsigned.
* ada/gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
From-SVN: r79789
|
|
2004-03-21 Andrew Pinski <pinskia@gcc.gnu.org>
* dojump.c (prefer_and_bit_test): Fix which part of
the and_test is replaced.
From-SVN: r79784
|
|
* Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
(GTFILES): Add $(srcdir)/dojump.h.
(gt-dojump.h): New dependency.
* dojump.c (and_reg, and_test, shift_test): New static variables.
(prefer_and_bit_test): New function.
(do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
From-SVN: r79732
|
|
lang_hooks.foo ().
* alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) ()
with lang_hooks.foo ().
* builtins.c (expand_builtin_va_arg): Likewise.
* c-common.c (fname_as_string, c_common_truthvalue_conversion,
c_common_type_for_mode, c_common_nodes_and_builtins,
handle_mode_attribute, handle_vector_size_attribute): Likewise.
* c-convert.c (convert): Likewise.
* c-format.c (check_format_types): Likewise.
* c-objc-common.c (c_tree_printer): Likewise.
* c-typeck.c (build_unary_op, build_conditional_expr,
build_binary_op): Likewise.
* calls.c (try_to_integrate, expand_call,
emit_library_call_value_1): Likewise.
* cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p):
Likewise.
* cgraphunit.c (record_call_1, cgraph_analyze_function,
cgraph_expand_function): Likewise.
* convert.c (convert_to_pointer, convert_to_integer): Likewise.
* coverage.c (build_fn_info_type, build_ctr_info_type,
build_gcov_info, create_coverage): Likewise.
* dbxout.c (dbxout_init): Likewise.
* diagnostic.c (diagnostic_report_current_function): Likewise.
* dojump.c (do_jump): Likewise.
* dwarf2out.c (dwarf2_name): Likewise.
* except.c (init_eh): Likewise.
* explow.c (expr_size, int_expr_size): Likewise.
* expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add):
Likewise.
* expr.c (store_expr, store_constructor, safe_from_p,
expand_expr_real, do_store_flag, try_casesi): Likewise.
* function.c (push_function_context_to, pop_function_context_from,
free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type,
put_var_into_stack, allocate_struct_function, current_function_name):
Likewise.
* integrate.c (copy_decl_for_inlining, expand_inline_function):
Likewise.
* langhooks.c (lhd_clear_binding_stack, write_global_declarations,
lhd_print_error_function): Likewise.
* opts.c (handle_option, decode_options): Likewise.
* passes.c (open_dump_file): Likewise.
* print-tree.c (print_node): Likewise.
* stmt.c (expand_fixup, fixup_gotos, expand_asm_operands,
expand_decl_cleanup, emit_case_nodes): Likewise.
* stor-layout.c (variable_size): Likewise.
* toplev.c (announce_function, wrapup_global_declarations,
check_global_declarations, compile_file, default_tree_printer,
process_options, lang_dependent_init, finalize): Likewise.
* tree-dump.c (dequeue_and_dump): Likewise.
* tree-inline.c (remap_decl, remap_block, copy_body_r,
initialize_inlined_parameters, declare_return_variable,
inlinable_function_p, expand_call_inline, optimize_inline_calls,
walk_tree, copy_tree_r): Likewise.
* tree-optimize.c (tree_rest_of_compilation): Likewise.
* tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp,
unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl,
variably_modified_type_p, dump_tree_statistics): Likewise.
* varasm.c (assemble_variable, compare_constant, copy_constant,
force_const_mem, compute_reloc_for_constant, output_constant,
output_addressed_constants, initializer_constant_valid_p): Likewise.
From-SVN: r79481
|
|
from simplify_relational_operation.
* simplify-rtx.c (simplify_const_relational_operation): New function
renamed from simplify_relational_operation.
(simplify_relational_operation): Change prototype to accept an
additional mode argument. Call simplify_const_relational_operation.
(simplify_gen_relational): Update simplify_relational_operation call.
(simplify_ternary_operation): Update simplify_relational_operation
subroutine call to use simplify_const_relational_operation instead.
* rtl.h (simplify_const_relational_operation): Prototype here.
(simplify_relational_operation): Add addtional mode argument.
* combine.c (combine_simplify_rtx): Update calls to
simplify_relational_operation.
(simplify_set): Likewise.
(gen_binary): Likewise.
* cse.c (fold_rtx): Likewise.
* dojump.c (compare_from_rtx): Likewise.
(do_compare_rtx_and_jump): Likewise.
* integrate.c (subst_constants): Likewise.
* unroll.c (simplify_cmp_and_jump_insns): Likewise.
From-SVN: r79187
|
|
* expr.c (check_max_integer_computation_mode): Remove.
* dojump.c (do_jump): Don't use MAX_INTEGER_COMPUTATION_MODE.
* fold-const.c (fold): Likewise.
* system.h (MAX_INTEGER_COMPUTATION_MODE): Poison.
* doc/tm.texi (MAX_INTEGER_COMPUTATION_MODE): Remove.
From-SVN: r74868
|
|
* flow.c (EXIT_IGNORE_STACK): Move to ...
* defaults.h (EXIT_IGNORE_STACK): ... here.
* dojump.c (clear_pending_stack_adjust): Don't use #ifdef
EXIT_IGNORE_STACK.
* function.c (expand_function_end): Likewise.
* global.c (global_alloc): Likewise.
* ra.c (init_ra): Likewise.
* reload1.c (init_elim_table): Likewise.
* reorg.c (fill_simple_delay_slots): Likewise.
* resource.c (init_resource_info): Likewise.
* doc/tm.texi (EXIT_IGNORE_STACK): Document that the default
is 0.
From-SVN: r74654
|
|
* dojump.c (do_jump): If the expression being compared against
zero, is the subreg of a promoted variable, perform the comparison
in the promoted mode.
* simplify-rtx.c (simplify_unary_operation): Optimize sign and
zero-extensions of subregs of promoted variables where the
extension is identical to that used to promote the variable.
From-SVN: r74332
|
|
* builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
(expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
fold_trunc_transparent_mathfn, fold_builtin): Likewise.
* dojump.c (do_jump): Likewise.
* fold-const.c (operand_equal_p, fold): Likewise.
(tree_expr_nonnegative_p): Likewise.
From-SVN: r70611
|
|
* alias.c: Fix comment formatting.
* c-common.c: Likewise.
* c-decl.c: Likewise.
* c-opts.c: Likewise.
* combine.c: Likewise.
* cpplib.c: Likewise.
* diagnostic.c: Likewise.
* dojump.c: Likewise.
* final.c: Likewise.
* fold-const.c: Likewise.
* gcc.c: Likewise.
* gcse.c: Likewise.
* ggc-page.c: Likewise.
* jump.c: Likewise.
* loop.c: Likewise.
* mips-tfile.c: Likewise.
* recog.c: Likewise.
* regclass.c: Likewise.
* regmove.c: Likewise.
* tree.c: Likewise.
* tree.h: Likewise.
From-SVN: r69689
|
|
* cse.c: Convert prototypes to ISO C90.
* cselib.c: Likewise.
* cselib.h: Likewise.
* dbxout.c: Likewise.
* debug.c: Likewise.
* df.c: Likewise.
* df.h: Likewise.
* dojump.c: Likewise.
* doloop.c: Likewise.
* dominance.c: Likewise.
* dwarf2asm.c: Likewise.
* dwarf2out.c: Likewise.
* dwarf2out.h: Likewise.
* dwarfout.c: Likewise.
From-SVN: r68673
|