[DAE] Don't DAE if we musttail call a "live" (non-DAE-able) function
There are 2 such base cases: indirect calls and calls to functions external to the module; and then any musttail calls to live functions (because of the first 2 reasons or otherwise). The IR validator reports, in these cases, that it "cannot guarantee tail call due to mismatched parameter counts". The fix is two-fold: first, we mark as "live" (i.e. non-DAE-able) functions that make an indirect musttail call. Then, we propagate live-ness to musttail callers of live functions. Declared functions are already marked "live". Differential Revision: https://reviews.llvm.org/D145209
Loading
Please sign in to comment