[all-commits] [llvm/llvm-project] a919d3: [IROutliner] Ensure that incoming blocks of PHINod...

Andrew Litteken via All-commits all-commits at lists.llvm.org
Thu Apr 14 10:14:11 PDT 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a919d3d8881ebb11ca7c815080b0c199df7579e0
  Author: Andrew Litteken <andrew.litteken at gmail.com>
  Date:   2022-04-14 (Thu, 14 Apr 2022)

  Changed paths:
    M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    A llvm/test/Transforms/IROutliner/phi-node-exit-path-order.ll

  Log Message:
  [IROutliner] Ensure that incoming blocks of PHINodes are included in the unique numbering gneration for phi nodes for each exit path

Issue: https://github.com/llvm/llvm-project/issues/54431

PHINodes that need to be generated to accommodate a PHINode outside the region due to different output paths need to have their own numbering to determine the number of output schemes required to properly handle all the outlined regions. This numbering was previously only determined by the order and values of the incoming values, as well as the parent block of the PHINode. This adds the incoming blocks to the calculation of a hash value for these PHINodes as well, and the supporting infrastructure to give each block in a region a corresponding canonical numbering.

Reviewer: paquette

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

More information about the All-commits mailing list