[PATCH] D89050: Add support for !noundef metatdata on loads
Juneyoung Lee via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 12 02:40:23 PDT 2020
aqjune added a comment.
I made D89219 <https://reviews.llvm.org/D89219> that updates relevant functions to exploit `llvm.assume`'s `noundef` operand bundle.
BTW, given `v = op; call llvm.assume()["noundef"(v)]`, if we want to move `v` across the assume call, the call should be appropriately moved with `v`. I wonder whether there is a handy way to do this, since things get complicated when the assume has several operand bundles that are not using `v`.
What about leaving `call llvm.assume` whenever the `load !noundef` is moved to somewhere else? I guess this is what LLVM is doing as well.
`!noundef` is a syntactic sugar of `llvm.assume()["noundef"(..)]`, but seems helpful for the brevity and size of the bitcode.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89050/new/
https://reviews.llvm.org/D89050
More information about the llvm-commits
mailing list