Implement IR intrinsics for stack tagging. Generated code is very
unoptimized for now.
Two special intrinsics, llvm.aarch64.irg.sp and llvm.aarch64.tagp are
used to implement a tagged stack frame pointer in a virtual register.
Differential D64172
Basic codegen for MTE stack tagging. eugenis on Jul 3 2019, 4:42 PM. Authored by
Details Implement IR intrinsics for stack tagging. Generated code is very Two special intrinsics, llvm.aarch64.irg.sp and llvm.aarch64.tagp are
Diff Detail
Event TimelineComment Actions I think this could do with some more tests covering different stack layouts. In particular, we should check that we do the correct thing for functions which use frame or base pointers, and when large stack frames cause the immediates in STG and ADDG instructions go out of range.
Comment Actions What about the tests for large stack frames?
Comment Actions Made aarch64.irg.sp IntrInaccessibleMemOnly cause it has side effects. Comment Actions PTAL. I've added tests for various frame layouts. Stg offset overflow is covered by existing tests (settag.ll).
|