diff options
author | David E. O'Brien <obrien@FreeBSD.org> | 1999-10-16 06:09:09 +0000 |
---|---|---|
committer | David E. O'Brien <obrien@FreeBSD.org> | 1999-10-16 06:09:09 +0000 |
commit | f2c57ef828fda14567ffdf5489def4e2408ac03d (patch) | |
tree | f7d3a3ab9c32694206552e767626366f016f2062 /contrib/gcc/rtl.def | |
parent | aef9219924a74e512eff866a60b402251de6eceb (diff) | |
download | src-f2c57ef828fda14567ffdf5489def4e2408ac03d.tar.gz src-f2c57ef828fda14567ffdf5489def4e2408ac03d.zip |
Virgin import of the GCC 2.95.1 compilers
Notes
Notes:
svn path=/vendor/gcc/dist/; revision=52284
Diffstat (limited to 'contrib/gcc/rtl.def')
-rw-r--r-- | contrib/gcc/rtl.def | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/contrib/gcc/rtl.def b/contrib/gcc/rtl.def index 1e45157b450d..7b8c84571f01 100644 --- a/contrib/gcc/rtl.def +++ b/contrib/gcc/rtl.def @@ -1,7 +1,7 @@ /* This file contains the definitions and documentation for the Register Transfer Expressions (rtx's) that make up the Register Transfer Language (rtl) used in the Back End of the GNU compiler. - Copyright (C) 1987, 88, 92, 94, 95, 97, 1998 Free Software Foundation, Inc. + Copyright (C) 1987, 88, 92, 94, 95, 97, 98, 1999 Free Software Foundation, Inc. This file is part of GNU CC. @@ -723,6 +723,14 @@ DEF_RTL_EXPR(PRE_INC, "pre_inc", "e", 'x') DEF_RTL_EXPR(POST_DEC, "post_dec", "e", 'x') DEF_RTL_EXPR(POST_INC, "post_inc", "e", 'x') +/* These binary operations are used to represent generic address + side-effects in memory addresses, except for simple incrementation + or decrementation which use the above operations. They are + created automatically by the life_analysis pass in flow.c. + (Note that these operators are currently placeholders.) */ +DEF_RTL_EXPR(PRE_MODIFY, "pre_modify", "ee", 'x') +DEF_RTL_EXPR(POST_MODIFY, "post_modify", "ee", 'x') + /* Comparison operations. The ordered comparisons exist in two flavors, signed and unsigned. */ DEF_RTL_EXPR(NE, "ne", "ee", '<') @@ -845,7 +853,25 @@ DEF_RTL_EXPR(RANGE_LIVE, "range_live", "bi", 'x') /* A unary `__builtin_constant_p' expression. These are only emitted during RTL generation, and then only if optimize > 0. They are eliminated by the first CSE pass. */ -DEF_RTL_EXPR(CONSTANT_P_RTX, "constant_p", "e", 'x') +DEF_RTL_EXPR(CONSTANT_P_RTX, "constant_p_rtx", "e", 'x') + +/* A placeholder for a CALL_INSN which may be turned into a normal call, + a sibling (tail) call or tail recursion. + + Immediately after RTL generation, this placeholder will be replaced + by the insns to perform the call, sibcall or tail recursion. + + This RTX has 4 operands. The first three are lists of instructions to + perform the call as a normal call, sibling call and tail recursion + respectively. The latter two lists may be NULL, the first may never + be NULL. + + The last operand is the tail recursion CODE_LABEL, which may be NULL if no + potential tail recursive calls were found. + + The tail recursion label is needed so that we can clear LABEL_PRESERVE_P + after we select a call method. */ +DEF_RTL_EXPR(CALL_PLACEHOLDER, "call_placeholder", "uuuu", 'x') /* Local variables: |