[all-commits] [llvm/llvm-project] 5a3ff2: [NewGVN] Add phi-of-ops operands if no real PHI is...

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu Apr 15 00:27:09 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5a3ff24b1282e119bf8a3b82479d9cc2a0c6517a
      https://github.com/llvm/llvm-project/commit/5a3ff24b1282e119bf8a3b82479d9cc2a0c6517a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2021-04-15 (Thu, 15 Apr 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/NewGVN.cpp
    A llvm/test/Transforms/NewGVN/phi-of-ops-simplified-to-existing-value-then-changes-again.ll

  Log Message:
  -----------
  [NewGVN] Add phi-of-ops operands if no real PHI is created.

If the PHI-of-ops simplifies to an existing value, no real PHI is
created, which means the dependencies between the
PHI-of-ops and its operands is not materialized in IR. At the
moment, we fail to create a real PHI node for the PHI-of-ops,
because the PHI-of-ops root instruction is not re-visited if
one of the PHI-of-ops operands changes. We need to add the
operands as additional users in this case.

Even with this patch, there are still some dependencies
missing. I will continue tackling the outstanding
reporeted crashes in this area.

Fixes PR36501, PR42422, PR42557.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D66924




More information about the All-commits mailing list