diff options
author | Jan Hubicka <jh@suse.cz> | 2002-03-28 13:25:21 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2002-03-28 12:25:21 +0000 |
commit | f5eb5fd0d6e8d476d164c57d4c1ca1248e83c8ee (patch) | |
tree | c975b4080bd3d5dadf4179b7b9ad2f7233bac1f2 /gcc/ifcvt.c | |
parent | ac43cbb50723665947ac875f70f0035e09f00680 (diff) | |
download | gcc-f5eb5fd0d6e8d476d164c57d4c1ca1248e83c8ee.zip gcc-f5eb5fd0d6e8d476d164c57d4c1ca1248e83c8ee.tar.gz gcc-f5eb5fd0d6e8d476d164c57d4c1ca1248e83c8ee.tar.bz2 |
rtlanal.c: Include flags.h
* rtlanal.c: Include flags.h
(may_trap_p): Do not mark FP operations if trapping
if !flag_trapping_math
* Makefile.in (rtlanal.o): Add dependency on flag.h
* ifcvt.c (noce_operand_ok): Avoid the lameness.
From-SVN: r51508
Diffstat (limited to 'gcc/ifcvt.c')
-rw-r--r-- | gcc/ifcvt.c | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index 989fa5c..f912654 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -1554,35 +1554,6 @@ noce_operand_ok (op) if (side_effects_p (op)) return FALSE; - /* ??? Unfortuantely may_trap_p can't look at flag_trapping_math, due to - being linked into the genfoo programs. This is probably a mistake. - With finite operands, most fp operations don't trap. */ - if (!flag_trapping_math && FLOAT_MODE_P (GET_MODE (op))) - switch (GET_CODE (op)) - { - case DIV: - case MOD: - case UDIV: - case UMOD: - /* ??? This is kinda lame -- almost every target will have forced - the constant into a register first. But given the expense of - division, this is probably for the best. */ - return (CONSTANT_P (XEXP (op, 1)) - && XEXP (op, 1) != CONST0_RTX (GET_MODE (op)) - && ! may_trap_p (XEXP (op, 0))); - - default: - switch (GET_RTX_CLASS (GET_CODE (op))) - { - case '1': - return ! may_trap_p (XEXP (op, 0)); - case 'c': - case '2': - return ! may_trap_p (XEXP (op, 0)) && ! may_trap_p (XEXP (op, 1)); - } - break; - } - return ! may_trap_p (op); } |