[all-commits] [llvm/llvm-project] db0340: Minimal unwinding information (DWARF CFI) checker ...
AmirHossein PashaeeHir via All-commits
all-commits at lists.llvm.org
Tue Jul 8 18:37:17 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: db03408b24459f0ba9f320509c7f8b3ec128e4b4
https://github.com/llvm/llvm-project/commit/db03408b24459f0ba9f320509c7f8b3ec128e4b4
Author: AmirHossein PashaeeHir <42866056+amsen20 at users.noreply.github.com>
Date: 2025-07-08 (Tue, 08 Jul 2025)
Changed paths:
A llvm/include/llvm/DWARFCFIChecker/DWARFCFIAnalysis.h
A llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameAnalyzer.h
A llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameReceiver.h
A llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameStreamer.h
A llvm/include/llvm/DWARFCFIChecker/DWARFCFIState.h
M llvm/lib/CMakeLists.txt
A llvm/lib/DWARFCFIChecker/CMakeLists.txt
A llvm/lib/DWARFCFIChecker/DWARFCFIAnalysis.cpp
A llvm/lib/DWARFCFIChecker/DWARFCFIFunctionFrameAnalyzer.cpp
A llvm/lib/DWARFCFIChecker/DWARFCFIFunctionFrameStreamer.cpp
A llvm/lib/DWARFCFIChecker/DWARFCFIState.cpp
A llvm/lib/DWARFCFIChecker/Registers.h
A llvm/test/DWARFCFIChecker/X86/cfa-corner-cases.s
A llvm/test/DWARFCFIChecker/X86/empty-nested-frames.s
A llvm/test/DWARFCFIChecker/X86/empty-section.s
A llvm/test/DWARFCFIChecker/X86/multiple-sections.s
A llvm/test/DWARFCFIChecker/X86/nested-frames.s
A llvm/test/DWARFCFIChecker/X86/single-func-cfa-mistake.s
A llvm/test/DWARFCFIChecker/X86/single-func-missed-cfi-directive.s
A llvm/test/DWARFCFIChecker/X86/single-func.s
A llvm/test/DWARFCFIChecker/X86/spill-two-reg-reversed.s
A llvm/test/DWARFCFIChecker/X86/spill-two-reg.s
A llvm/test/DWARFCFIChecker/X86/unsupported-directives.s
A llvm/test/DWARFCFIChecker/X86/update-with-no-cfi.s
M llvm/tools/llvm-mc/CMakeLists.txt
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
Minimal unwinding information (DWARF CFI) checker (#145633)
This PR adds a minimal version of `UnwindInfoChecker` described in
[here](https://discourse.llvm.org/t/rfc-dwarf-cfi-validation/86936).
This implementation looks into the modified registers by each
instruction and checks:
- If one of them is the CFA register, and it informs the user if the CFA
data is not modified as well.
- If one of them is used in another register's unwinding rule, it
informs the user if the unwind info is not modified after this
instruction.
This implementation does not support DWARF expressions and treats them
as unknown unwinding rules.
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