This patch limits all getClobberingMemoryAccess() walks to MaxCheckLimit.
Details
Diff Detail
- Repository
- rL LLVM
- Build Status
Buildable 29783 Build 29782: arc lint + arc unit
Event Timeline
Thanks for this!
Would it be straightforward to have a lit test (or similar) that sets memssa-check-limit to something super low and checks that this all does what we want (e.g. walk limit is cumulative across all walks on OptimizePhis, the walker trivially obeys it, ...)
| lib/Analysis/MemorySSA.cpp | ||
|---|---|---|
| 558 | nit: please remove == 0 | |
| 909 | Was this intended to be unsigned &UpwardWalkLimit? Looks like we're passing it by ref everywhere else | |
| 926 | Would it be better to make UpwardWalkLimit a member? This entire class is a container of query-specific state anyway. | |
Address comments.
I updated two existing tests to take a limit of 0. Let me know if this makes sense.
nit: please remove == 0