diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2005-04-21 18:05:34 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2005-04-21 18:05:34 +0000 |
commit | 0e61db61a0d66106ef00396aa04871d94021ddef (patch) | |
tree | a6170c4a24e29bff50c537b8652482d6d413b2a3 /gcc/optabs.c | |
parent | 7fc785d836a38912e6c48045fa7380f6e9e1c5c1 (diff) | |
download | gcc-0e61db61a0d66106ef00396aa04871d94021ddef.tar.gz |
lambda.h (lambda_vector_min_nz): Likewise.
* 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
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index c180da17a9c..d67c6ce8917 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -3307,7 +3307,8 @@ can_compare_p (enum rtx_code code, enum machine_mode mode, comparison or emitting a library call to perform the comparison if no insn is available to handle it. The values which are passed in through pointers can be modified; the caller - should perform the comparison on the modified values. */ + should perform the comparison on the modified values. Constant + comparisons must have already been folded. */ static void prepare_cmp_insn (rtx *px, rtx *py, enum rtx_code *pcomparison, rtx size, @@ -3321,11 +3322,6 @@ prepare_cmp_insn (rtx *px, rtx *py, enum rtx_code *pcomparison, rtx size, class = GET_MODE_CLASS (mode); - /* They could both be VOIDmode if both args are immediate constants, - but we should fold that at an earlier stage. - With no special code here, this will call abort, - reminding the programmer to implement such folding. */ - if (mode != BLKmode && flag_force_mem) { /* Load duplicate non-volatile operands once. */ @@ -3352,9 +3348,9 @@ prepare_cmp_insn (rtx *px, rtx *py, enum rtx_code *pcomparison, rtx size, y = force_reg (mode, y); #ifdef HAVE_cc0 - /* Abort if we have a non-canonical comparison. The RTL documentation - states that canonical comparisons are required only for targets which - have cc0. */ + /* Make sure if we have a canonical comparison. The RTL + documentation states that canonical comparisons are required only + for targets which have cc0. */ gcc_assert (!CONSTANT_P (x) || CONSTANT_P (y)); #endif @@ -3601,9 +3597,8 @@ emit_cmp_and_jump_insns (rtx x, rtx y, enum rtx_code comparison, rtx size, } #ifdef HAVE_cc0 - /* If OP0 is still a constant, then both X and Y must be constants. Force - X into a register to avoid aborting in emit_cmp_insn due to non-canonical - RTL. */ + /* If OP0 is still a constant, then both X and Y must be constants. + Force X into a register to create canonical RTL. */ if (CONSTANT_P (op0)) op0 = force_reg (mode, op0); #endif |