diff options
author | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-08-14 11:36:45 +0000 |
---|---|---|
committer | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-08-14 11:36:45 +0000 |
commit | 4f426d851259dd51965830bd6ea4e7bdeb5c7b47 (patch) | |
tree | b41e90fd1c1d11baf0a372b1c1e94004a325de3a /gcc | |
parent | 17e313b073e2af7095139a8ee2950892fc4997b2 (diff) | |
download | gcc-4f426d851259dd51965830bd6ea4e7bdeb5c7b47.tar.gz |
PR rtl-optimization/41064
* reload1.c (reload_as_needed): Don't call extract_insn
for known invalid replacements after calling
validate_replace_rtx_group and verify_changes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150751 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/reload1.c | 11 |
2 files changed, 15 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e48cbcdfdba..0862182fe51 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-08-14 Hans-Peter Nilsson <hp@axis.com> + + PR rtl-optimization/41064 + * reload1.c (reload_as_needed): Don't call extract_insn + for known invalid replacements after calling + validate_replace_rtx_group and verify_changes. + 2009-08-14 Uros Bizjak <ubizjak@gmail.com> PR target/41019 diff --git a/gcc/reload1.c b/gcc/reload1.c index 41b436b8891..7900841a239 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -4312,10 +4312,15 @@ reload_as_needed (int live_known) n = verify_changes (0); /* We must also verify that the constraints - are met after the replacement. */ - extract_insn (p); + are met after the replacement. Make sure + extract_insn is only called for an insn + where the replacements were found to be + valid so far. */ if (n) - n = constrain_operands (1); + { + extract_insn (p); + n = constrain_operands (1); + } /* If the constraints were not met, then undo the replacement, else confirm it. */ |