new macro REVERSE_CONDEXEC_PREDICATES_P

From-SVN: r39947
This commit is contained in:
Aldy Hernandez 2001-02-21 15:59:30 +00:00 committed by Aldy Hernandez
parent 5daf7c0a17
commit 7e6d8ba184
3 changed files with 25 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2001-02-20 Aldy Hernandez <aldyh@redhat.com>
* tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
* flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
(REVERSE_CONDEXEC_PREDICATES_P): Define macro.
2001-02-21 Jason Merrill <jason@redhat.com>
* tree.h (DECL_UNINLINABLE): Move from C++ frontend.

View File

@ -168,6 +168,12 @@ Boston, MA 02111-1307, USA. */
#define EPILOGUE_USES(REGNO) 0
#endif
#ifdef HAVE_conditional_execution
#ifndef REVERSE_CONDEXEC_PREDICATES_P
#define REVERSE_CONDEXEC_PREDICATES_P(x, y) ((x) == reverse_condition (y))
#endif
#endif
/* The obstack on which the flow graph components are allocated. */
struct obstack flow_obstack;
@ -5137,7 +5143,7 @@ ior_reg_cond (old, x, add)
if (GET_RTX_CLASS (GET_CODE (old)) == '<')
{
if (GET_RTX_CLASS (GET_CODE (x)) == '<'
&& GET_CODE (x) == reverse_condition (GET_CODE (old))
&& REVERSE_CONDEXEC_PREDICATES_P (GET_CODE (x), GET_CODE (old))
&& REGNO (XEXP (x, 0)) == REGNO (XEXP (old, 0)))
return const1_rtx;
if (GET_CODE (x) == GET_CODE (old)

View File

@ -4880,6 +4880,17 @@ like:
: reverse_condition_maybe_unordered (CODE))
@end smallexample
@findex REVERSE_CONDEXEC_PREDICATES_P
@item REVERSE_CONDEXEC_PREDICATES_P (@var{code1}, @var{code2})
A C expression that returns true if the conditional execution predicate
@var{code1} is the inverse of @var{code2} and vice versa. Define this to
return 0 if the target has conditional execution predicates that cannot be
reversed safely. If none is specified, this macro expands to:
@smallexample
#define REVERSE_CONDEXEC_PREDICATES_P (x, y) ((x) == reverse_condition (y))
@end smallexample
@end table
@node Costs