[llvm] [NFC][llvm-exegesis] Disable CFI-icall for JIT-executed function (#202472) (PR #202682)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 9 08:04:24 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-tools-llvm-exegesis

Author: Vitaly Buka (vitalybuka)

<details>
<summary>Changes</summary>

Reland of #<!-- -->202472 reverted with #<!-- -->202571.

Here we are going to use LLVM_NO_SANITIZE.


---
Full diff: https://github.com/llvm/llvm-project/pull/202682.diff


1 Files Affected:

- (modified) llvm/tools/llvm-exegesis/lib/Assembler.h (+3-1) 


``````````diff
diff --git a/llvm/tools/llvm-exegesis/lib/Assembler.h b/llvm/tools/llvm-exegesis/lib/Assembler.h
index 1c8854c21b9a7..da358d19fb0f7 100644
--- a/llvm/tools/llvm-exegesis/lib/Assembler.h
+++ b/llvm/tools/llvm-exegesis/lib/Assembler.h
@@ -29,6 +29,7 @@
 #include "llvm/MC/MCInst.h"
 #include "llvm/Object/Binary.h"
 #include "llvm/Object/ObjectFile.h"
+#include "llvm/Support/Compiler.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/Target/TargetMachine.h"
 
@@ -114,7 +115,8 @@ class ExecutableFunction {
   StringRef getFunctionBytes() const { return FunctionBytes; }
 
   // Executes the function.
-  void operator()(char *Memory) const {
+  void operator()(char *Memory) const
+      LLVM_NO_SANITIZE("cfi-icall") /* Incompatible with JIT */ {
     ((void (*)(char *))(uintptr_t)FunctionBytes.data())(Memory);
   }
 

``````````

</details>


https://github.com/llvm/llvm-project/pull/202682


More information about the llvm-commits mailing list