diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2003-12-20 01:40:41 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2003-12-20 01:40:41 +0000 |
commit | 020036b90ebb42cee83694d332800d98960f9e6b (patch) | |
tree | 92dd66bd04990b86de6351556965618d10ea0d86 /gcc/expr.c | |
parent | 750e3ed363f683db52807d6137eb676212f9df8b (diff) | |
download | gcc-020036b90ebb42cee83694d332800d98960f9e6b.zip gcc-020036b90ebb42cee83694d332800d98960f9e6b.tar.gz gcc-020036b90ebb42cee83694d332800d98960f9e6b.tar.bz2 |
expr.c (check_max_integer_computation_mode): Remove.
* 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
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 97 |
1 files changed, 0 insertions, 97 deletions
@@ -5943,60 +5943,6 @@ var_rtx (tree exp) return 0; } } - -#ifdef MAX_INTEGER_COMPUTATION_MODE - -void -check_max_integer_computation_mode (tree exp) -{ - enum tree_code code; - enum machine_mode mode; - - /* Strip any NOPs that don't change the mode. */ - STRIP_NOPS (exp); - code = TREE_CODE (exp); - - /* We must allow conversions of constants to MAX_INTEGER_COMPUTATION_MODE. */ - if (code == NOP_EXPR - && TREE_CODE (TREE_OPERAND (exp, 0)) == INTEGER_CST) - return; - - /* First check the type of the overall operation. We need only look at - unary, binary and relational operations. */ - if (TREE_CODE_CLASS (code) == '1' - || TREE_CODE_CLASS (code) == '2' - || TREE_CODE_CLASS (code) == '<') - { - mode = TYPE_MODE (TREE_TYPE (exp)); - if (GET_MODE_CLASS (mode) == MODE_INT - && mode > MAX_INTEGER_COMPUTATION_MODE) - internal_error ("unsupported wide integer operation"); - } - - /* Check operand of a unary op. */ - if (TREE_CODE_CLASS (code) == '1') - { - mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); - if (GET_MODE_CLASS (mode) == MODE_INT - && mode > MAX_INTEGER_COMPUTATION_MODE) - internal_error ("unsupported wide integer operation"); - } - - /* Check operands of a binary/comparison op. */ - if (TREE_CODE_CLASS (code) == '2' || TREE_CODE_CLASS (code) == '<') - { - mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); - if (GET_MODE_CLASS (mode) == MODE_INT - && mode > MAX_INTEGER_COMPUTATION_MODE) - internal_error ("unsupported wide integer operation"); - - mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 1))); - if (GET_MODE_CLASS (mode) == MODE_INT - && mode > MAX_INTEGER_COMPUTATION_MODE) - internal_error ("unsupported wide integer operation"); - } -} -#endif /* Return the highest power of two that EXP is known to be a multiple of. This is used in updating alignment of MEMs in array references. */ @@ -6300,49 +6246,6 @@ expand_expr (tree exp, rtx target, enum machine_mode tmode, target = 0; } -#ifdef MAX_INTEGER_COMPUTATION_MODE - /* Only check stuff here if the mode we want is different from the mode - of the expression; if it's the same, check_max_integer_computation_mode - will handle it. Do we really need to check this stuff at all? */ - - if (target - && GET_MODE (target) != mode - && TREE_CODE (exp) != INTEGER_CST - && TREE_CODE (exp) != PARM_DECL - && TREE_CODE (exp) != ARRAY_REF - && TREE_CODE (exp) != ARRAY_RANGE_REF - && TREE_CODE (exp) != COMPONENT_REF - && TREE_CODE (exp) != BIT_FIELD_REF - && TREE_CODE (exp) != INDIRECT_REF - && TREE_CODE (exp) != CALL_EXPR - && TREE_CODE (exp) != VAR_DECL - && TREE_CODE (exp) != RTL_EXPR) - { - enum machine_mode mode = GET_MODE (target); - - if (GET_MODE_CLASS (mode) == MODE_INT - && mode > MAX_INTEGER_COMPUTATION_MODE) - internal_error ("unsupported wide integer operation"); - } - - if (tmode != mode - && TREE_CODE (exp) != INTEGER_CST - && TREE_CODE (exp) != PARM_DECL - && TREE_CODE (exp) != ARRAY_REF - && TREE_CODE (exp) != ARRAY_RANGE_REF - && TREE_CODE (exp) != COMPONENT_REF - && TREE_CODE (exp) != BIT_FIELD_REF - && TREE_CODE (exp) != INDIRECT_REF - && TREE_CODE (exp) != VAR_DECL - && TREE_CODE (exp) != CALL_EXPR - && TREE_CODE (exp) != RTL_EXPR - && GET_MODE_CLASS (tmode) == MODE_INT - && tmode > MAX_INTEGER_COMPUTATION_MODE) - internal_error ("unsupported wide integer operation"); - - check_max_integer_computation_mode (exp); -#endif - /* If will do cse, generate all results into pseudo registers since 1) that allows cse to find more things and 2) otherwise cse could produce an insn the machine |