[all-commits] [llvm/llvm-project] c84108: llvm-reduce: Add missing consts

Matt Arsenault via All-commits all-commits at lists.llvm.org
Tue Jan 17 19:34:10 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c841086c15869080669231567358b981157f4aa7
      https://github.com/llvm/llvm-project/commit/c841086c15869080669231567358b981157f4aa7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-01-17 (Tue, 17 Jan 2023)

  Changed paths:
    M llvm/tools/llvm-reduce/TestRunner.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.cpp
    M llvm/tools/llvm-reduce/llvm-reduce.cpp

  Log Message:
  -----------
  llvm-reduce: Add missing consts


  Commit: 5bacac9cb63cfe5108eb369edc891f716d2d54ad
      https://github.com/llvm/llvm-project/commit/5bacac9cb63cfe5108eb369edc891f716d2d54ad
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-01-17 (Tue, 17 Jan 2023)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/Delta.cpp

  Log Message:
  -----------
  llvm-reduce: Use StringRef/ArrayRef


  Commit: 76d3e1a4980ff64a69494087f0a094b90ad54dff
      https://github.com/llvm/llvm-project/commit/76d3e1a4980ff64a69494087f0a094b90ad54dff
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-01-17 (Tue, 17 Jan 2023)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/Delta.cpp

  Log Message:
  -----------
  llvm-reduce: Simplify async usage by avoiding lambda

Use the variadic template form to avoid naming all the
parameters twice.


  Commit: e7cd42f8e4da1beed52f401dcf87d22d36a2c81c
      https://github.com/llvm/llvm-project/commit/e7cd42f8e4da1beed52f401dcf87d22d36a2c81c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-01-17 (Tue, 17 Jan 2023)

  Changed paths:
    A llvm/include/llvm/Transforms/Utils/LowerIFunc.h
    M llvm/include/llvm/Transforms/Utils/ModuleUtils.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    A llvm/lib/Transforms/Utils/LowerIFunc.cpp
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp
    A llvm/test/Transforms/LowerIFunc/ifunc-alias.ll
    A llvm/test/Transforms/LowerIFunc/ifunc-nonsense-resolvers.ll
    A llvm/test/Transforms/LowerIFunc/ifunc-program-addrspace.ll
    A llvm/test/Transforms/LowerIFunc/ifunc-typed.ll
    A llvm/test/Transforms/LowerIFunc/lower-ifunc.ll

  Log Message:
  -----------
  Utils: Add utility pass to lower ifuncs

Create a global constructor which will initialize a global table of
function pointers. For now, this is only used as a reduction technique
for llvm-reduce.

In the future this may be useful to support ifunc on systems where the
program loader doesn't natively support it.


  Commit: bc3e492323f34eb92f49897d22468aef2d831d5a
      https://github.com/llvm/llvm-project/commit/bc3e492323f34eb92f49897d22468aef2d831d5a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-01-17 (Tue, 17 Jan 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/ModuleUtils.h
    A llvm/test/tools/llvm-reduce/ifunc-alias.ll
    A llvm/test/tools/llvm-reduce/ifunc-nonsense-resolvers.ll
    A llvm/test/tools/llvm-reduce/remove-ifunc-constantexpr.ll
    A llvm/test/tools/llvm-reduce/remove-ifunc-program-addrspace.ll
    A llvm/test/tools/llvm-reduce/remove-ifunc.ll
    M llvm/tools/llvm-reduce/DeltaManager.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceAliases.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceAliases.h

  Log Message:
  -----------
  llvm-reduce: Reduce ifuncs

Reduce by calling the resolver function at the use site, and inserting
an indirect call. Try to delete if there are no uses left over.

We should also probably try to do something about constantexpr uses;
perhaps treat them like aliases.


Compare: https://github.com/llvm/llvm-project/compare/c804775cd32c...bc3e492323f3


More information about the All-commits mailing list