[all-commits] [llvm/llvm-project] 910eb9: [FuncSpec][NFC] Refactor internal structures.

Alexandros Lamprineas via All-commits all-commits at lists.llvm.org
Thu Mar 3 05:09:59 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 910eb988eb442fd25a0821022b696dcfb5ea6e27
      https://github.com/llvm/llvm-project/commit/910eb988eb442fd25a0821022b696dcfb5ea6e27
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SCCPSolver.h
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp

  Log Message:
  -----------
  [FuncSpec][NFC] Refactor internal structures.

`ArgInfo` is reduced to only contain a pair of {formal,actual} values.
The specialized function `Fn` and the `Partial` flag are redundant in
this structure. The `Gain` is moved to a new struct `SpecializationInfo`.

The value mappings created by cloneCandidateFunction() are being used
by rewriteCallSites() for matching the formal arguments of recursive
functions.

The list of specializations is passed by reference to calculateGains()
instead of being returned by value.

The `IsPartial` flag is removed from isArgumentInteresting() and
getPossibleConstants() as it's no longer used anywhere in the code.

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




More information about the All-commits mailing list