[PATCH] D98103: [NPM] Do not run function simplification pipeline unnecessarily

Mircea Trofin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 12 15:06:10 PDT 2021


mtrofin added a comment.

In D98103#2684278 <https://reviews.llvm.org/D98103#2684278>, @fhahn wrote:

> In D98103#2684272 <https://reviews.llvm.org/D98103#2684272>, @mtrofin wrote:
>
>> In D98103#2684255 <https://reviews.llvm.org/D98103#2684255>, @fhahn wrote:
>>
>>> Do you have any data on whether there are any binary differences for a set of programs/benchmarks with this enabled compared to disabled?
>>
>> There are, in the strict sense of binary diff. I did not try it on benchmarks.
>
> Interesting. But then doesn't this indicate that the passes were not run unnecessarily? Just curious why this happens, e.g. are some changes not reported properly?

I believe it's what @asbirlea pointed at: there are some optimization passes that, if re-run on an unchanged function, do find more work/changes; and/or optimization passes that should be re-run after others in the pipeline (maybe these are the same thing)

Maybe my choice of words - i.e. "unnecessarily" is not strictly correct; not sure what would concisely capture it though - maybe "unintentionally"?; in any case, the idea is that we arguably want to get to a place where 1) if the function isn't changed, and the function simplification passes were rerun, they are still unchanged, and 2) this flag is enabled by default.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D98103/new/

https://reviews.llvm.org/D98103



More information about the llvm-commits mailing list