[all-commits] [llvm/llvm-project] fb9365: [MemoryBuiltins] Add field for alignment argument ...

Bryce Wilson via All-commits all-commits at lists.llvm.org
Mon Jan 10 09:15:39 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fb936595faa44ad9c8d8550b05ea95e7be5f4703
      https://github.com/llvm/llvm-project/commit/fb936595faa44ad9c8d8550b05ea95e7be5f4703
  Author: Bryce Wilson <bryce at brycemw.ca>
  Date:   2022-01-10 (Mon, 10 Jan 2022)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryBuiltins.h
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  [MemoryBuiltins] Add field for alignment argument [NFC]

There are a few places where the alignment argument for AlignedAllocLike functions was previously hardcoded. This patch adds an getAllocAlignment function and a change to the MemoryBuiltin table to allow alignment arguments to be found generically.

This will shortly allow alignment inference on operator new's with align_val params and an extension to Attributor's HeapToStack.  The former will follow shortly - I split Bryce's patch for purpose of having the large change be NFC.  The later will be reviewed separately.

Differential Revision: https://reviews.llvm.org/D116851 (part 1 of 2)


  Commit: 7febd60a90960ff1c74027c05394e134dad655a1
      https://github.com/llvm/llvm-project/commit/7febd60a90960ff1c74027c05394e134dad655a1
  Author: Bryce Wilson <bryce at brycemw.ca>
  Date:   2022-01-10 (Mon, 10 Jan 2022)

  Changed paths:
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/test/Transforms/InstCombine/deref-alloc-fns.ll

  Log Message:
  -----------
  [instcombine] Add align return attributes for operator new(..., align_val)

(Split from original patch to separate non-NFC part and add coverage.  I typoed when adding the new test, so this change includes the typo fix to let libfunc recongize the signature.  Didn't figure it was worth another separate commit.)

Differential Revision: https://reviews.llvm.org/D116851 (part 2 of 2)


Compare: https://github.com/llvm/llvm-project/compare/b271184f07ea...7febd60a9096


More information about the All-commits mailing list