Page MenuHomePhabricator

[NewPassManager] Add tuning option: ForgetAllSCEVInLoopUnroll [NFC].
ClosedPublic

Authored by asbirlea on May 6 2019, 2:46 PM.

Diff Detail

Repository
rL LLVM

Event Timeline

asbirlea created this revision.May 6 2019, 2:46 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 6 2019, 2:46 PM
asbirlea updated this revision to Diff 198346.May 6 2019, 2:57 PM

Update comment to include flag.

This seems... *really* unlikely to be an important tuning flag for library clients. It seems likely added to allow some limited experimentation. Maybe we can just not add it to the new PM?

It is currently turned on by default for Halide, which is still using the old pass manager. It makes a big difference for them in compile times, so switching them to the new pass manager will cause regressions without this flag (see https://github.com/halide/Halide/blob/master/src/CodeGen_LLVM.cpp#L1218).

Alternatively, we could enable it by default, since it benefits clang as well (see timings in D60144).

I don't have a preference either way.

chandlerc accepted this revision.May 17 2019, 3:02 PM

Ok, I'm fine with this going in temporarily while we try to flip this flag acros sthe board (or figure out a heuristic that lets us get the best of both worlds). So, LGTM, but yeah, let's try to remove this too.

This revision is now accepted and ready to land.May 17 2019, 3:02 PM
This revision was automatically updated to reflect the committed changes.