[PATCH] D137642: [X86][CodeGen] Fix crash in hotpatch

Sylvain Audi via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 21 11:43:48 PST 2022


saudi updated this revision to Diff 476960.
saudi added a comment.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

Added support for empty MBB: ensures 2-byte nop is inserted, to make the function patchable.
This should also support the requirement for the functions not to jump to the first instruction.

The 2-byte nop instruction insertion is done by creating a `PATCHABLE_OP` instance with a PATCHABLE_OP opcode as wrapped instruction.

Also, I removed the support for 16 bit, which would assert when trying to emit nops (happens with the new test cases)
It could be handled instead if necessary; I removed it because I didn't think hotpatching would be ever used on such a platform.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137642/new/

https://reviews.llvm.org/D137642

Files:
  clang/lib/CodeGen/CodeGenFunction.cpp
  llvm/include/llvm/Support/TargetOpcodes.def
  llvm/lib/CodeGen/PatchableFunction.cpp
  llvm/lib/Target/X86/X86MCInstLower.cpp
  llvm/test/CodeGen/X86/patchable-prologue-debuginfo.ll
  llvm/test/CodeGen/X86/patchable-prologue.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D137642.476960.patch
Type: text/x-patch
Size: 11269 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221121/cdf2ab31/attachment.bin>


More information about the llvm-commits mailing list