[llvm] [Hexagon] Add KCFI support for forward-edge control flow integrity (PR #191746)

Mikael Holmen via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 23 22:27:16 PDT 2026


================
@@ -976,6 +976,115 @@ void HexagonAsmPrinter::LowerPATCHABLE_EVENT_CALL(const MachineInstr &MI,
              Typed ? SledKind::TYPED_EVENT : SledKind::CUSTOM_EVENT, 2);
 }
 
+void HexagonAsmPrinter::LowerKCFI_CHECK(const MachineInstr &MI) {
+  Register AddrReg = MI.getOperand(0).getReg();
+  const int64_t Type = MI.getOperand(1).getImm();
+  MachineBasicBlock::const_instr_iterator NextI = std::next(MI.getIterator());
----------------
mikaelholmen wrote:

@androm3da 
Without asserts:
```
/repo/uabelho/dev-main/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp:982:43: error: unused variable 'NextI' [-Werror,-Wunused-variable]
  982 |   MachineBasicBlock::const_instr_iterator NextI = std::next(MI.getIterator());
      |                                           ^~~~~
1 error generated.
```

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


More information about the llvm-commits mailing list