[PATCH] D20453: Remove optnone/opt-bisect check from StackColoring
Andy Kaylor via llvm-commits
llvm-commits at lists.llvm.org
Thu May 26 15:27:19 PDT 2016
andrew.w.kaylor added a comment.
In http://reviews.llvm.org/D20453#441338, @probinson wrote:
> Hmmm. In the optnone case, presumably we're not running that pass that inserts the lifetime markers; if there are no markers, and this pass runs, naively it looks like this would be a no-op pass. So, from the optnone perspective, this change would not be a problem.
> But if you're bisecting, there might be markers, and if the bisection point is between the insertion and this pass, then later on codegen will fail. This change means, if the bisection point is between the insertion and this pass, then this pass runs anyway.
> In effect this becomes an always-run pass, and whether it does anything depends on whether the marker-insertion pass runs. Makes the bisection less ideal, but I guess we can live with that.
The lifetime start call can be inserted by AtomicExpand, which isn't skipped by optnone or opt-bisect, or by SROA, which is run very early, or by the function inliner, which can't be skipped for the AlwaysInline pass.
More information about the llvm-commits