-
Notifications
You must be signed in to change notification settings - Fork 134
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Skip if_/3 inlining if Then_0 is unsafe or invalid
As a part of optimization goal expansion in library(reif) inlines Then_0 argument verbatim into predicate body – this avoids unnecessary call/N invocations and dramatically increases performance, but not all goals are safe to be inlined in such a way. Here we skipping this optimization if !s or invalid goal were detected to prevent undesired side-effects from leaking into outer goals.
- Loading branch information
Showing
3 changed files
with
91 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters