Commit 485fa704 by Richard Biener Committed by Richard Biener

match-and-simplify.texi: Adjust :s documentation.

2018-05-14  Richard Biener  <rguenther@suse.de>

	* doc/match-and-simplify.texi: Adjust :s documentation.

From-SVN: r260223
parent c86ed2f1
2018-05-14 Richard Biener <rguenther@suse.de>
* doc/match-and-simplify.texi: Adjust :s documentation.
2018-05-14 Alexander Monakov <amonakov@ispras.ru>
* sort.cc (REORDER_23): Pass the type for the temporaries instead of
......
......@@ -250,7 +250,9 @@ come second in commutative expressions.
The second supported flag is @code{s} which tells the code
generator to fail the pattern if the expression marked with
@code{s} does have more than one use. For example in
@code{s} does have more than one use and the simplification
results in an expression with more than one operator.
For example in
@smallexample
(simplify
......@@ -261,6 +263,14 @@ generator to fail the pattern if the expression marked with
this avoids the association if @code{(pointer_plus @@0 @@1)} is
used outside of the matched expression and thus it would stay
live and not trivially removed by dead code elimination.
Now consider @code{((x + 3) + -3)} with the temporary
holding @code{(x + 3)} used elsewhere. This simplifies down
to @code{x} which is desirable and thus flagging with @code{s}
does not prevent the transform. Now consider @code{((x + 3) + 1)}
which simplifies to @code{(x + 4)}. Despite being flagged with
@code{s} the simplification will be performed. The
simplification of @code{((x + a) + 1)} to @code{(x + (a + 1))} will
not performed in this case though.
More features exist to avoid too much repetition.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment