If a call-site has a single predecessor, we can simply use more constrained
arguments if its argument is predicated from the single predecessor.
Details
Details
Diff Detail
Diff Detail
Event Timeline
lib/Transforms/Scalar/CallSiteSplitting.cpp | ||
---|---|---|
375 | return canSplitCallSite(CS) && (tryToSplitOnPredicatedArgument(CS) || tryToSplitOnPHIPredicatedArgument(CS)); |
Comment Actions
Is CallSiteSplitting the right place to do this? Wouldn't it be a better fit for more general constraint propagation, like correlated value propagation/ LazyValueInfo?
Comment Actions
instcombine now propagates nonnull in the cases mentioned here. I'll resign to clear up my pipeline.