[all-commits] [llvm/llvm-project] 475ddc: Reland "[FuncSpec] Replace LoopInfo with BlockFreq...

Alexandros Lamprineas via All-commits all-commits at lists.llvm.org
Thu Jun 8 09:45:51 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 475ddca56e071c851ad54d23fb59ecc3846c3bba
      https://github.com/llvm/llvm-project/commit/475ddca56e071c851ad54d23fb59ecc3846c3bba
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2023-06-08 (Thu, 08 Jun 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
    M llvm/include/llvm/Transforms/Utils/SCCPSolver.h
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-lto-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization-always-inline.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-integers.ll
    R llvm/test/Transforms/FunctionSpecialization/function-specialization-loop.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization3.ll
    M llvm/test/Transforms/SCCP/ipsccp-preserve-pdt.ll

  Log Message:
  -----------
  Reland "[FuncSpec] Replace LoopInfo with BlockFrequencyInfo"

Using AvgLoopIters on any loop is too imprecise making the cost model
favor users inside loop nests regardless of the actual tripcount.

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


  Commit: 4d13896d8a2e15f8b17984acf35d6aa899b3c707
      https://github.com/llvm/llvm-project/commit/4d13896d8a2e15f8b17984acf35d6aa899b3c707
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2023-06-08 (Thu, 08 Jun 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    M llvm/unittests/Transforms/IPO/CMakeLists.txt
    A llvm/unittests/Transforms/IPO/FunctionSpecializationTest.cpp

  Log Message:
  -----------
  Reland "[FuncSpec] Improve the accuracy of the cost model"

Instead of blindly traversing the use-def chain of constant arguments,
compute known constants along the way. Stop as soon as a user cannot
be replaced by a constant. Keep it light-weight by handling some basic
instruction types.

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


Compare: https://github.com/llvm/llvm-project/compare/bf87fcb799aa...4d13896d8a2e


More information about the All-commits mailing list