[all-commits] [llvm/llvm-project] e60dc9: [Hexagon] Disable restore stubs when ShadowCallSta...
Brian Cain via All-commits
all-commits at lists.llvm.org
Tue Jul 7 18:57:26 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e60dc90e3134975afb1a951f792b71d4b648877f
https://github.com/llvm/llvm-project/commit/e60dc90e3134975afb1a951f792b71d4b648877f
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-07-08 (Wed, 08 Jul 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/test/CodeGen/Hexagon/shadow-call-stack.ll
Log Message:
-----------
[Hexagon] Disable restore stubs when ShadowCallStack is active (#206302)
The returning restore stubs (e.g.
__restore_r16_through_r17_and_deallocframe) perform deallocframe+jumpr
r31 internally, returning via the on-stack return address. This is
incompatible with ShadowCallStack, which must restore r31 from the
shadow stack before returning.
Fix by having useRestoreFunction() return false when the ShadowCallStack
attribute is present, forcing inline callee-saved restores so the SCS
epilogue is properly emitted.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list