Report "bridgehead" inlinings as successes, even if further inlinings fail.

This commit is contained in:
Vincent St-Amour 2012-09-13 13:12:57 -04:00
parent 28d4eb4d22
commit bb9f4e4634

View File

@ -220,12 +220,13 @@
;; in `g'.
(apply
append
(for/list ([site (in-list inlining-sites)]
#:when
;; If at least one inlining of `f' in `g', prune.
(not (for/or ([evt (in-list site)])
(success? evt))))
site))))
(for/list ([site (in-list inlining-sites)])
;; If at least one inlining of `f' in `g', ignore the rest.
(or (for/first ([evt (in-list site)] #:when (success? evt))
(list evt))
site)))))
(when (null? pruned-log)
(prune))
(define recommendation
(cond [is-a-loop?