[PATCH] Reduce garbage produced by invert_truthvalue
Roger Sayle
roger@eyesopen.com
Thu Jun 15 18:21:00 GMT 2006
On Wed, 14 Jun 2006, Richard Guenther wrote:
> 2006-06-14 Richard Guenther <rguenther@suse.de>
>
> * fold-const.c (fold_truth_not_expr): Rename from
> invert_truthvalue. Give it fold_* semantics to avoid
> generating garbage.
> (invert_truthvalue): New function. Wrapper around
> fold_truth_not_expr.
> (optimize_minmax_comparison): Avoid creating garbage.
> (fold_unary): Use fold_truth_not_expr for folding
> TRUTH_NOT_EXPR.
> (fold_ternary): Replace uses of invert_truthvalue with
> fold_truth_not_expr where applicable.
> * tree.h (fold_truth_not_expr): Prototype.
This is OK for mainline. invert_truthvalue is popular enough to
show up in GCC's profiles, so reducing its overhead is a good
thing even in stage3.
! FIXME: one would think we would fold the result, but it causes
! problems with the dominator optimizer. */
Did you check whether this prexisting comment is still true? DOM
has probably changed significantly since this comment was written,
and not being able to canonicalize/fold trees may indicate a real
latent bug somewhere.
Thanks,
Roger
--
More information about the Gcc-patches
mailing list