[all-commits] [llvm/llvm-project] 7c8b80: [SimplifyCFG][AMDGPU] AMDGPUUnifyDivergentExitNode...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Sat Jan 2 14:50:36 PST 2021


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7c8b8063b66c7b936d41a0c4069c506669e13115
      https://github.com/llvm/llvm-project/commit/7c8b8063b66c7b936d41a0c4069c506669e13115
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-03 (Sun, 03 Jan 2021)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp

  Log Message:
  -----------
  [SimplifyCFG][AMDGPU] AMDGPUUnifyDivergentExitNodes: SimplifyCFG isn't ready to preserve PostDomTree

There is a number of transforms in SimplifyCFG that take DomTree out of
DomTreeUpdater, and do updates manually. Until they are fixed,
user passes are unable to claim that PDT is preserved.

Note that the default for SimplifyCFG is still not to preserve DomTree,
so this is still effectively NFC.


  Commit: 19ab1817b61d3b716f69f78f727de8bd8887f53f
      https://github.com/llvm/llvm-project/commit/19ab1817b61d3b716f69f78f727de8bd8887f53f
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-03 (Sun, 03 Jan 2021)

  Changed paths:
    A llvm/test/Reduce/remove-unused-declarations.ll
    M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp

  Log Message:
  -----------
  [llvm-reduce] Fix removal of unused llvm intrinsics declarations

ee6e25e4391a6d3ac0a3c89615474e512f44cda6 changed
the delta pass to skip intrinsics, which means we may end up being
left with declarations of intrinsics, that aren't otherwise referenced
in the module. This is obviously unwanted, do drop them.


  Commit: 5799fc79c3fdbc81dd421afae38197009ad605c9
      https://github.com/llvm/llvm-project/commit/5799fc79c3fdbc81dd421afae38197009ad605c9
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-03 (Sun, 03 Jan 2021)

  Changed paths:
    R llvm/test/Reduce/Inputs/remove-global-vars.py
    M llvm/test/Reduce/remove-global-vars.ll
    M llvm/tools/llvm-reduce/CMakeLists.txt
    M llvm/tools/llvm-reduce/DeltaManager.h
    A llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.cpp
    A llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.h
    M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.h

  Log Message:
  -----------
  [llvm-reduce] Refactor global variable delta pass

The limitation of the current pass that it skips initializer-less GV's
seems arbitrary, in all the reduced cases i (personally) looked at,
the globals weren't needed, yet they were kept.

So let's do two things:
1. allow reducing initializer-less globals
2. before reducing globals, reduce their initializers, much like we do function bodies


  Commit: eda50309f5930d249fef4747efb9a047d239ba05
      https://github.com/llvm/llvm-project/commit/eda50309f5930d249fef4747efb9a047d239ba05
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-03 (Sun, 03 Jan 2021)

  Changed paths:
    A llvm/test/Transforms/SimplifyCFG/FoldValueComparisonIntoPredecessors-domtree-preservation-edgecase.ll

  Log Message:
  -----------
  [NFC][SimplifyCFG] Add test for switch creation where we fail to maintain DomTree

Reduced from vanilla test-suite


  Commit: 6a3a8d17ebae0669e797ac22a2b2963b89ee12fa
      https://github.com/llvm/llvm-project/commit/6a3a8d17ebae0669e797ac22a2b2963b89ee12fa
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-03 (Sun, 03 Jan 2021)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/FoldValueComparisonIntoPredecessors-domtree-preservation-edgecase.ll

  Log Message:
  -----------
  [SimplifyCFG] FoldValueComparisonIntoPredecessors(): fine-tune/fix DomTree preservation


  Commit: a0013934b6a194f0ecc4d98118920326b12d07a0
      https://github.com/llvm/llvm-project/commit/a0013934b6a194f0ecc4d98118920326b12d07a0
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-03 (Sun, 03 Jan 2021)

  Changed paths:
    A llvm/test/Transforms/SimplifyCFG/FoldValueComparisonIntoPredecessors-domtree-preservation-edgecase-2.ll

  Log Message:
  -----------
  [NFC][SimplifyCFG] Add another test for switch creation where we fail to maintain DomTree


  Commit: 5fa241a6571c79c1cd0c0d9e7f87e5e361e2dab4
      https://github.com/llvm/llvm-project/commit/5fa241a6571c79c1cd0c0d9e7f87e5e361e2dab4
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-03 (Sun, 03 Jan 2021)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/FoldValueComparisonIntoPredecessors-domtree-preservation-edgecase-2.ll

  Log Message:
  -----------
  [SimplifyCFG] FoldValueComparisonIntoPredecessors(): fine-tune/fix DomTree preservation, take 2


Compare: https://github.com/llvm/llvm-project/compare/01f0d162d672...5fa241a6571c


More information about the All-commits mailing list