[all-commits] [llvm/llvm-project] c93f93: Revert "Revert "Recommit "Revert "[CVP] processSwi...

junparser via All-commits all-commits at lists.llvm.org
Mon Nov 1 00:33:08 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c93f93b2e3f28997f794265089fb8138dd5b5f13
      https://github.com/llvm/llvm-project/commit/c93f93b2e3f28997f794265089fb8138dd5b5f13
  Author: Jun Ma <JunMa at linux.alibaba.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll

  Log Message:
  -----------
  Revert "Revert "Recommit "Revert "[CVP] processSwitch: Remove default case when switch cover all possible values.""""

This reverts commit 3a998c06a8e93989319238e12b56a731198cc1c2.


  Commit: f8833ba1ed9691753e263d58da1e5c74ce137bef
      https://github.com/llvm/llvm-project/commit/f8833ba1ed9691753e263d58da1e5c74ce137bef
  Author: Jun Ma <JunMa at linux.alibaba.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    A llvm/test/CodeGen/X86/tail-dup-multiple-latch-loop.ll

  Log Message:
  -----------
  [TailDup] Add testcase for interpreter switch loop, NFC.


  Commit: 1f9fa549841a2ec55aa5a131bfaf83f0383c4713
      https://github.com/llvm/llvm-project/commit/1f9fa549841a2ec55aa5a131bfaf83f0383c4713
  Author: Jun Ma <JunMa at linux.alibaba.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M llvm/lib/CodeGen/TailDuplicator.cpp
    M llvm/test/CodeGen/X86/tail-dup-multiple-latch-loop.ll

  Log Message:
  -----------
  [Taildup] Don't tail-duplicate loop header with multiple successors as its latches

when Taildup hit loop with multiple latches like:
  //    1 -> 2 <-> 3                 |
  //          \  <-> 4               |
  //           \   <-> 5             |
  //            \---> rest           |
it may transform this loop into multiple loops by duplicate loop header.
However, this change may has little benefit while makes cfg much complex.
In some uncommon cases, it causes large compile time regression (offered by
@alexfh in D106056).

This patch disable tail-duplicate of such cases.

TestPlan: check-llvm

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


Compare: https://github.com/llvm/llvm-project/compare/b4fb42300e39...1f9fa549841a


More information about the All-commits mailing list