InstCombine keeps a worklist and assumes that optimizations don't eraseFromParent() the instruction, which SimplifyLibCalls violates. This change adds a new callback to SimplifyLibCalls to let clients specify their own hander for erasing actions.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
include/llvm/Transforms/Utils/SimplifyLibCalls.h | ||
---|---|---|
107 | This will fail at link time if a client has not provided the function? Isn't it better to just require this param (and the existing RAUW)? |
include/llvm/Transforms/Utils/SimplifyLibCalls.h | ||
---|---|---|
107 | Yeah I did think it was a bit odd that the default implementation for the RAUW was removed at some point (it was there when the callback was originally added). I'll add them in. |
This will fail at link time if a client has not provided the function? Isn't it better to just require this param (and the existing RAUW)?