Currently we can only eliminate call return pairs that either return the result of the call or a dynamic constant. This patch removes that limitation.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Can you add a few testcases for eliminating multiple tail calls?
llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp | ||
---|---|---|
466 | Maybe describe what specific instructions RetPN and RetKnownPN actually refer to? | |
600 | Might as well use UndefValue::get here? | |
829 | You can use dropAllReferences() to clear out the operands of an instruction before you erase it. |
Maybe describe what specific instructions RetPN and RetKnownPN actually refer to?