summaryrefslogtreecommitdiff
path: root/gcc/reload.h
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-27 11:39:47 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-27 11:39:47 +0000
commiteca883d12f3f5835c7ce868b38d847d4e506e823 (patch)
treea4840b670d6361a1ddbbb4b10ca1921ee3bb7e7c /gcc/reload.h
parent63f88450d46e1453137aa58c1808134fe68a8f18 (diff)
downloadgcc-eca883d12f3f5835c7ce868b38d847d4e506e823.tar.gz
gcc/
* reload.h (elimination_target_reg_p): Declare. * reload.c (find_reloads): Don't apply the reg_rtx move optimization if the SET_DEST satisfies elimination_target_reg_p. * reload1.c (elimination_target_reg_p): New function. (gen_reload): In the move/add2 fallback, make sure that op0 does not overlap the destination register. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124215 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload.h')
-rw-r--r--gcc/reload.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/reload.h b/gcc/reload.h
index 6de5e8471bf..38d340fd5cd 100644
--- a/gcc/reload.h
+++ b/gcc/reload.h
@@ -342,6 +342,7 @@ extern void mark_home_live (int);
/* Scan X and replace any eliminable registers (such as fp) with a
replacement (such as sp), plus an offset. */
extern rtx eliminate_regs (rtx, enum machine_mode, rtx);
+extern bool elimination_target_reg_p (rtx);
/* Deallocate the reload register used by reload number R. */
extern void deallocate_reload_reg (int r);