This patch limits all getClobberingMemoryAccess() walks to MaxCheckLimit.
Details
Diff Detail
- Repository
- rL LLVM
- Build Status
Buildable 29378 Build 29377: 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 | ||
---|---|---|
557 | nit: please remove == 0 | |
910 | Was this intended to be unsigned &UpwardWalkLimit? Looks like we're passing it by ref everywhere else | |
923 | 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