[all-commits] [llvm/llvm-project] 5a3e36: MemoryBuiltins: start using properties of functions

Augie Fackler via All-commits all-commits at lists.llvm.org
Thu Jul 21 12:31:32 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5a3e3675f6be3c49fb1a305202888cce4d916ba6
      https://github.com/llvm/llvm-project/commit/5a3e3675f6be3c49fb1a305202888cce4d916ba6
  Author: Augie Fackler <augie at google.com>
  Date:   2022-07-21 (Thu, 21 Jul 2022)

  Changed paths:
    M llvm/lib/Analysis/MemoryBuiltins.cpp

  Log Message:
  -----------
  MemoryBuiltins: start using properties of functions

Prior to this change, we relied on the hard-coded list for all of the
information performed by MemoryBuiltins. With this change, we're able to
start relying on properites of functions described in attributes, which
opens the door to out-of-tree compilers being able to describe their
allocator functions to LLVM's optimizer logic without having to register
their implementation details with LLVM.

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


  Commit: 62f48cadfd6667e5795b95a5aef7eadbe2ccc598
      https://github.com/llvm/llvm-project/commit/62f48cadfd6667e5795b95a5aef7eadbe2ccc598
  Author: Augie Fackler <augie at google.com>
  Date:   2022-07-21 (Thu, 21 Jul 2022)

  Changed paths:
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    A llvm/test/Transforms/InstCombine/out-of-tree-allocator-optimizes-away.ll

  Log Message:
  -----------
  MemoryBuiltins: accept non-TLI funcs with attribs as allocator funcs

This allows us to accept annotations from out-of-tree languages (the
example test is derived from Rust) so they can enjoy the benefits of
LLVM's optimizations without requiring LLVM to have language-specific
knowledge.

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


  Commit: bd6aa67e02ef37803a4bc255674fafbc7fc5b5ee
      https://github.com/llvm/llvm-project/commit/bd6aa67e02ef37803a4bc255674fafbc7fc5b5ee
  Author: Augie Fackler <augie at google.com>
  Date:   2022-07-21 (Thu, 21 Jul 2022)

  Changed paths:
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp

  Log Message:
  -----------
  BuildLibCalls: move inference of freeing memory later

This probably should have been part of D123089, but the effects of it
don't show up until we start removing functions from the table in
D130107. Oops.

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


Compare: https://github.com/llvm/llvm-project/compare/78c09f0f24b6...bd6aa67e02ef


More information about the All-commits mailing list