[all-commits] [llvm/llvm-project] e46d74: [CVP] Allow two transforms in one invocation

Philip Reames via All-commits all-commits at lists.llvm.org
Mon Sep 28 15:12:00 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e46d74b58922a427562552464d798448520e4928
      https://github.com/llvm/llvm-project/commit/e46d74b58922a427562552464d798448520e4928
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2020-09-28 (Mon, 28 Sep 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/deopt.ll

  Log Message:
  -----------
  [CVP] Allow two transforms in one invocation

For a call site which had both constant deopt operands and nonnull arguments, we were missing the opportunity to recognize the later by bailing early.

This is somewhat of a speculative fix.  Months ago, I'd had a private report of performance and compile time regressions from the deopt operand folding.  I never received a test case.  However, the only possibility I see was that after that change CVP missed the nonnull fold, and we end up with a pass ordering/missed simplification issue.  So, since it's a real issue, fix it and hope.




More information about the All-commits mailing list