[all-commits] [llvm/llvm-project] 19b549: Port Swift's merge function pass to llvm: merging ...

Manman Ren via All-commits all-commits at lists.llvm.org
Fri Nov 3 11:14:13 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 19b5495b653a00da7a250f48b4f739fcf2bbe82f
      https://github.com/llvm/llvm-project/commit/19b5495b653a00da7a250f48b4f739fcf2bbe82f
  Author: Manman Ren <manman.ren at gmail.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    A llvm/include/llvm/Transforms/IPO/MergeFunctionsIgnoringConst.h
    M llvm/include/llvm/Transforms/Utils/FunctionComparator.h
    A llvm/include/llvm/Transforms/Utils/FunctionComparatorIgnoringConst.h
    A llvm/include/llvm/Transforms/Utils/MergeFunctionsIgnoringConst.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/IPO/CMakeLists.txt
    A llvm/lib/Transforms/IPO/MergeFunctionsIgnoringConst.cpp
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    A llvm/lib/Transforms/Utils/FunctionComparatorIgnoringConst.cpp
    A llvm/test/Transforms/MergeFuncIgnoringConst/merge_func.ll
    A llvm/test/Transforms/MergeFuncIgnoringConst/merge_with_exception.ll

  Log Message:
  -----------
  Port Swift's merge function pass to llvm: merging functions that differ in constants (#68235)

See RFC for details:
https://discourse.llvm.org/t/rfc-for-moving-swift-s-merge-function-pass-to-llvm/73778

We will need to refactor extension to FunctionComparator/FunctionHash to
StructuralHash. This patch adds a new pass which is ported from Swift,
and will need to discuss on how to migrate Swift’s pass over after we
land this in llvm.

Create this PR to get some early review on the patch.

---------

Co-authored-by: Manman Ren <mren at meta.com>




More information about the All-commits mailing list