diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2012-12-21 21:38:11 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2012-12-21 21:38:11 +0000 |
commit | c84a808e493a4041b64a91eb662042d490f8f84c (patch) | |
tree | aa471bb608b713f86590a8f15f209ec14179168c /gcc | |
parent | 8e3a4869029faad868154af6869caad476ffdcb7 (diff) | |
download | gcc-c84a808e493a4041b64a91eb662042d490f8f84c.zip gcc-c84a808e493a4041b64a91eb662042d490f8f84c.tar.gz gcc-c84a808e493a4041b64a91eb662042d490f8f84c.tar.bz2 |
rtlanal.c (volatile_insn_p): Delete commented out code.
* rtlanal.c (volatile_insn_p): Delete commented out code.
(side_effects_p): Likewise.
(may_trap_p_1) <UNSPEC_VOLATILE>: Return 1 again.
* target.def (unspec_may_trap_p): Adjust comment.
* targhooks.c (default_unspec_may_trap_p): Don't handle UNSPEC_VOLATILE.
* config/ia64/ia64.c (ia64_unspec_may_trap_p): Adjust to above change.
From-SVN: r194681
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 21 | ||||
-rw-r--r-- | gcc/rtlanal.c | 7 | ||||
-rw-r--r-- | gcc/target.def | 2 | ||||
-rw-r--r-- | gcc/targhooks.c | 6 |
5 files changed, 23 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f0bc88..21af147 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2012-12-21 Eric Botcazou <ebotcazou@adacore.com> + + * rtlanal.c (volatile_insn_p): Delete commented out code. + (side_effects_p): Likewise. + (may_trap_p_1) <UNSPEC_VOLATILE>: Return 1 again. + * target.def (unspec_may_trap_p): Adjust comment. + * targhooks.c (default_unspec_may_trap_p): Don't handle UNSPEC_VOLATILE. + * config/ia64/ia64.c (ia64_unspec_may_trap_p): Adjust to above change. + 2012-12-21 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/55775 diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 3b19b98..9be9b42 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -5845,19 +5845,16 @@ ia64_secondary_reload_class (enum reg_class rclass, static int ia64_unspec_may_trap_p (const_rtx x, unsigned flags) { - if (GET_CODE (x) == UNSPEC) + switch (XINT (x, 1)) { - switch (XINT (x, 1)) - { - case UNSPEC_LDA: - case UNSPEC_LDS: - case UNSPEC_LDSA: - case UNSPEC_LDCCLR: - case UNSPEC_CHKACLR: - case UNSPEC_CHKS: - /* These unspecs are just wrappers. */ - return may_trap_p_1 (XVECEXP (x, 0, 0), flags); - } + case UNSPEC_LDA: + case UNSPEC_LDS: + case UNSPEC_LDSA: + case UNSPEC_LDCCLR: + case UNSPEC_CHKACLR: + case UNSPEC_CHKS: + /* These unspecs are just wrappers. */ + return may_trap_p_1 (XVECEXP (x, 0, 0), flags); } return default_unspec_may_trap_p (x, flags); diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 3826481..b14a2a8 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -2107,7 +2107,6 @@ volatile_insn_p (const_rtx x) return 0; case UNSPEC_VOLATILE: - /* case TRAP_IF: This isn't clear yet. */ return 1; case ASM_INPUT: @@ -2240,7 +2239,6 @@ side_effects_p (const_rtx x) case POST_MODIFY: case CALL: case UNSPEC_VOLATILE: - /* case TRAP_IF: This isn't clear yet. */ return 1; case MEM: @@ -2312,9 +2310,9 @@ may_trap_p_1 (const_rtx x, unsigned flags) return 0; case UNSPEC: - case UNSPEC_VOLATILE: return targetm.unspec_may_trap_p (x, flags); + case UNSPEC_VOLATILE: case ASM_INPUT: case TRAP_IF: return 1; @@ -2406,8 +2404,7 @@ may_trap_p_1 (const_rtx x, unsigned flags) default: /* Any floating arithmetic may trap. */ - if (SCALAR_FLOAT_MODE_P (GET_MODE (x)) - && flag_trapping_math) + if (SCALAR_FLOAT_MODE_P (GET_MODE (x)) && flag_trapping_math) return 1; } diff --git a/gcc/target.def b/gcc/target.def index bbda6c2..c5bbfae 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -1816,7 +1816,7 @@ DEFHOOK "", rtx, (rtx hard_reg), NULL) -/* Return nonzero if evaluating UNSPEC[_VOLATILE] X might cause a trap. +/* Return nonzero if evaluating UNSPEC X might cause a trap. FLAGS has the same meaning as in rtlanal.c: may_trap_p_1. */ DEFHOOK (unspec_may_trap_p, diff --git a/gcc/targhooks.c b/gcc/targhooks.c index 241c1cc..954cdb9 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -102,10 +102,8 @@ default_unspec_may_trap_p (const_rtx x, unsigned flags) { int i; - if (GET_CODE (x) == UNSPEC_VOLATILE - /* Any floating arithmetic may trap. */ - || (SCALAR_FLOAT_MODE_P (GET_MODE (x)) - && flag_trapping_math)) + /* Any floating arithmetic may trap. */ + if ((SCALAR_FLOAT_MODE_P (GET_MODE (x)) && flag_trapping_math)) return 1; for (i = 0; i < XVECLEN (x, 0); ++i) |