[PATCH] D118886: [IRBuilder][RS4GC] Require FunctionCallee when creating statepoint

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 3 03:45:23 PST 2022


nikic created this revision.
nikic added reviewers: reames, opaque-pointers.
Herald added a subscriber: hiraditya.
nikic requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This makes the statepoint methods in IRBuilder accept a FunctionCallee, which carries both the callee and function type. This is used to add the `elementtype` attribute to the statepoint call.

RS4GC requires an additional tweak to actually preserve that attribute -- previously the attributes on the call were completely overwritten.

Depends on D117890 <https://reviews.llvm.org/D117890>.


https://reviews.llvm.org/D118886

Files:
  llvm/include/llvm/IR/IRBuilder.h
  llvm/lib/IR/IRBuilder.cpp
  llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
  llvm/test/Transforms/RewriteStatepointsForGC/base-inference.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-inttoptr.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-1.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-10.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-11.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-12.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-13.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-2.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-3.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-4.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-5.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-6.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-7.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-8.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-9.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-pointers.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-vector-inseltpoison.ll
  llvm/test/Transforms/RewriteStatepointsForGC/base-vector.ll
  llvm/test/Transforms/RewriteStatepointsForGC/basic.ll
  llvm/test/Transforms/RewriteStatepointsForGC/call-gc-result.ll
  llvm/test/Transforms/RewriteStatepointsForGC/deopt-intrinsic.ll
  llvm/test/Transforms/RewriteStatepointsForGC/deopt-lowering-attrs.ll
  llvm/test/Transforms/RewriteStatepointsForGC/gc-relocate-creation.ll
  llvm/test/Transforms/RewriteStatepointsForGC/intrinsics-bare.ll
  llvm/test/Transforms/RewriteStatepointsForGC/intrinsics.ll
  llvm/test/Transforms/RewriteStatepointsForGC/live-vector-nosplit-inseltpoison.ll
  llvm/test/Transforms/RewriteStatepointsForGC/live-vector-nosplit.ll
  llvm/test/Transforms/RewriteStatepointsForGC/patchable-statepoints.ll
  llvm/test/Transforms/RewriteStatepointsForGC/rematerialize-derived-pointers.ll
  llvm/test/Transforms/RewriteStatepointsForGC/scalar-base-vector-2.ll
  llvm/test/Transforms/RewriteStatepointsForGC/scalar-base-vector.ll
  llvm/test/Transforms/RewriteStatepointsForGC/statepoint-attrs.ll
  llvm/test/Transforms/RewriteStatepointsForGC/statepoint-calling-conventions.ll
  llvm/test/Transforms/RewriteStatepointsForGC/statepoint-format.ll
  llvm/test/Transforms/RewriteStatepointsForGC/unordered-atomic-memcpy.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D118886.405570.patch
Type: text/x-patch
Size: 183810 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220203/7b41753c/attachment-0001.bin>


More information about the llvm-commits mailing list