diff options
author | Richard Henderson <rth@gcc.gnu.org> | 1998-12-29 03:36:22 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1998-12-29 03:36:22 -0800 |
commit | 185ebd6c71d791ea2f333a23382589620e9bf848 (patch) | |
tree | 8baca97ed11c13d1b3be83dcd58d2863c4017a2a /gcc/rtl.def | |
parent | eb8da8684cfdf019f0b0edfd834a479ac366f1d4 (diff) | |
download | gcc-185ebd6c71d791ea2f333a23382589620e9bf848.zip gcc-185ebd6c71d791ea2f333a23382589620e9bf848.tar.gz gcc-185ebd6c71d791ea2f333a23382589620e9bf848.tar.bz2 |
Richard Kenner <kenner@vlsi1.ultra.nyu.edu>:
* rtl.def (CONSTANT_P_RTX): Clarify commentary.
* expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
consider constant CONSTRUCTOR constant and to defer some cases
to cse.
* cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
* regclass.c (reg_scan_mark_refs, case CONST): Likewise.
Richard Henderson <rth@cygnus.com>
* expr.c (init_expr_once): Kill can_handle_constant_p recognition.
* cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
From-SVN: r24439
Diffstat (limited to 'gcc/rtl.def')
-rw-r--r-- | gcc/rtl.def | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/rtl.def b/gcc/rtl.def index 5273fdf..8f47d40 100644 --- a/gcc/rtl.def +++ b/gcc/rtl.def @@ -850,9 +850,10 @@ DEF_RTL_EXPR(RANGE_VAR, "range_var", "eti", 'x') 0 is the live bitmap. Operand 1 is the original block number. */ 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. */ +/* A unary `__builtin_constant_p' expression. This RTL code may only be used + as an operand of a CONST. This pattern is only emitted during RTL + generation and then only if optimize > 0. It is converted by the first + CSE pass into the appropriate CONST_INT. */ DEF_RTL_EXPR(CONSTANT_P_RTX, "constant_p_rtx", "e", 'x') /* |