aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-11-23 16:09:03 -0800
committerRichard Henderson <rth@gcc.gnu.org>2004-11-23 16:09:03 -0800
commitbeb72684810c1ae42dfc2051de1967ec972162c7 (patch)
treef29afe08ac5b976db829029ba56f881700677e6e /gcc/rtl.h
parent4e55a16271ec5ef8a17b2f95cbf9341fc3f392f4 (diff)
downloadgcc-beb72684810c1ae42dfc2051de1967ec972162c7.zip
gcc-beb72684810c1ae42dfc2051de1967ec972162c7.tar.gz
gcc-beb72684810c1ae42dfc2051de1967ec972162c7.tar.bz2
rtl.h (validate_subreg): Declare.
* rtl.h (validate_subreg): Declare. * emit-rtl.c (validate_subreg): New. (gen_rtx_SUBREG): Use it. * simplify-rtx.c (simplify_subreg): Likewise. (simplify_gen_subreg): Likewise. Remove duplicate asserts. * expr.c (emit_move_insn_1): Tidy complex move code. Use memory fallback whenever gen_realpart/gen_imagpart would not be able to create SUBREGs. From-SVN: r91126
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 978c92d..edb2913 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1964,6 +1964,8 @@ extern rtx delete_insn_and_edges (rtx);
extern void delete_insn_chain_and_edges (rtx, rtx);
extern rtx gen_lowpart_SUBREG (enum machine_mode, rtx);
extern rtx gen_const_mem (enum machine_mode, rtx);
+extern bool validate_subreg (enum machine_mode, enum machine_mode,
+ rtx, unsigned int);
/* In combine.c */
extern int combine_instructions (rtx, unsigned int);