aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2008-10-06 15:34:26 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2008-10-06 15:34:26 +0000
commit3517d3a0870e7081d4ded0fa4cc590c602713a8c (patch)
tree6208c8b2d1a94f1fa3c249de54b5c7b56339df26 /gcc/doc
parente84319a3ffa34ad21ba267ec06d2dfc6fa180bc7 (diff)
downloadgcc-3517d3a0870e7081d4ded0fa4cc590c602713a8c.zip
gcc-3517d3a0870e7081d4ded0fa4cc590c602713a8c.tar.gz
gcc-3517d3a0870e7081d4ded0fa4cc590c602713a8c.tar.bz2
re PR middle-end/37535 (gcc/libgcc2.c:404: internal compiler error: Floating point exception)
2008-10-06 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/37535 * ira-lives.c (mark_reg_live, mark_reg_dead): New functions. (mark_ref_live, mark_ref_dead): Use them. (def_conflicts_with_inputs_p): Remove. (mark_early_clobbers): New function. (process_bb_node_lives): Call preprocess_constraints and mark_early_clobbers. * doc/rtx.texi (clobber): Change how RA deals with clobbers. From-SVN: r140906
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/rtl.texi8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi
index 148e19d..a12de21 100644
--- a/gcc/doc/rtl.texi
+++ b/gcc/doc/rtl.texi
@@ -2930,9 +2930,11 @@ constituent instructions might not.
When a @code{clobber} expression for a register appears inside a
@code{parallel} with other side effects, the register allocator
guarantees that the register is unoccupied both before and after that
-insn. However, the reload phase may allocate a register used for one of
-the inputs unless the @samp{&} constraint is specified for the selected
-alternative (@pxref{Modifiers}). You can clobber either a specific hard
+insn if it is a hard register clobber or the @samp{&} constraint
+is specified for at least one alternative (@pxref{Modifiers}) of the
+clobber. However, the reload phase may allocate a register used for
+one of the inputs unless the @samp{&} constraint is specified for the
+selected alternative. You can clobber either a specific hard
register, a pseudo register, or a @code{scratch} expression; in the
latter two cases, GCC will allocate a hard register that is available
there for use as a temporary.