[PATCH] D75799: [JumpThreading] Don't create PHI nodes with "is.constant" values

Bill Wendling via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 9 13:30:50 PDT 2020


void added a comment.

In D75799#1913130 <https://reviews.llvm.org/D75799#1913130>, @joerg wrote:

> I'm confused by that example. If jumpthreading makes it possible to answer true, it is no differerent from inlining and other use cases. The reverse is the problematic case, turning constant cases into non-constant cases?


No, inlining is fine, because it'll create a PHI node with the two values only if they can be combined into one. The value here shouldn't be considered constant. In a nutshell, jump threading is taking a PHI node and splitting it apart if one of the incoming values is a constant. This is supposedly fine in the general case, but doesn't work with the sematics of `llvm.is.constant`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75799/new/

https://reviews.llvm.org/D75799





More information about the llvm-commits mailing list