[PATCH] D131261: Update llvm.experimental.patchpoint to use opaque pointer for target.

Edd Barrett via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 5 08:06:43 PDT 2022


vext01 created this revision.
vext01 added reviewers: zero9178, t.p.northover.
Herald added subscribers: pengfei, kbarton, nemanjai.
Herald added a project: All.
vext01 requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

I wanted to check that patchpoints still work with opaque pointers, since there is (was) an `i8*` function pointer in the signature. They do work!

This change updates the stackmaps/patchpoints documentation so that it doesn't mention old-style pointers. Note that some of the varargs type qualifiers erroneously had a trailing `*`. e.g. `call void (i64, i32, ...)* @...` shouldn't have a star.

I've also made changes to the tests so that the `target` operand of patchpoint calls is now a `ptr`. I've not touched any other pointers in those tests unless strictly necessary (sometimes I had to change other pointers due to the "you can only use ptr in opaque pointers mode" error. It's not clear to me why sometimes it's ok to mix typed and opaque pointers, and other times not...)


https://reviews.llvm.org/D131261

Files:
  llvm/docs/StackMaps.rst
  llvm/test/Analysis/CallGraph/non-leaf-intrinsics.ll
  llvm/test/Analysis/LazyCallGraph/non-leaf-intrinsics.ll
  llvm/test/CodeGen/AArch64/arm64-anyregcc-crash.ll
  llvm/test/CodeGen/AArch64/arm64-anyregcc.ll
  llvm/test/CodeGen/AArch64/arm64-patchpoint-scratch-regs.ll
  llvm/test/CodeGen/AArch64/arm64-patchpoint-webkit_jscc.ll
  llvm/test/CodeGen/AArch64/arm64-patchpoint.ll
  llvm/test/CodeGen/AArch64/arm64-stackmap.ll
  llvm/test/CodeGen/AArch64/stackmap-liveness.ll
  llvm/test/CodeGen/AArch64/stackmap.ll
  llvm/test/CodeGen/MIR/X86/liveout-register-mask.mir
  llvm/test/CodeGen/PowerPC/ppc64-anyregcc-crash.ll
  llvm/test/CodeGen/PowerPC/ppc64-anyregcc.ll
  llvm/test/CodeGen/PowerPC/ppc64-patchpoint.ll
  llvm/test/CodeGen/PowerPC/ppc64-stackmap.ll
  llvm/test/CodeGen/SystemZ/anyregcc-novec.ll
  llvm/test/CodeGen/SystemZ/anyregcc-vec.ll
  llvm/test/CodeGen/SystemZ/anyregcc.ll
  llvm/test/CodeGen/SystemZ/patchpoint-invoke.ll
  llvm/test/CodeGen/SystemZ/patchpoint.ll
  llvm/test/CodeGen/SystemZ/stackmap.ll
  llvm/test/CodeGen/X86/patchpoint-verifiable.mir
  llvm/test/CodeGen/X86/selectiondag-patchpoint-legalize.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D131261.450292.patch
Type: text/x-patch
Size: 68395 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220805/92813bf2/attachment-0001.bin>


More information about the llvm-commits mailing list