Introducing the stack analysis
The stack analysis is the foundation to obtain accurate information about the body of a function, which registers are callee-saved, arguments, return values and so on. It is implemented as a pass to run in revamb-dump. This commit also introduces analysis tests specific to what we aim to obtain from the analysis and also some basic unit tests for data structures related to the stack analysis.
Showing
- CMakeLists.txt 2 additions, 1 deletionCMakeLists.txt
- dump.cpp 13 additions, 0 deletionsdump.cpp
- stackanalysis.cpp 2150 additions, 0 deletionsstackanalysis.cpp
- stackanalysis.h 49 additions, 0 deletionsstackanalysis.h
- stackanalysis_impl.h 2169 additions, 0 deletionsstackanalysis_impl.h
- tests/Analysis/AnalysisTests.cmake 23 additions, 7 deletionstests/Analysis/AnalysisTests.cmake
- tests/Analysis/arm/call.S 19 additions, 0 deletionstests/Analysis/arm/call.S
- tests/Analysis/arm/call.stack-analysis.log 8 additions, 0 deletionstests/Analysis/arm/call.stack-analysis.log
- tests/Analysis/arm/fake-function.S 22 additions, 0 deletionstests/Analysis/arm/fake-function.S
- tests/Analysis/arm/fake-function.stack-analysis.log 7 additions, 0 deletionstests/Analysis/arm/fake-function.stack-analysis.log
- tests/Analysis/arm/indirect-call.S 19 additions, 0 deletionstests/Analysis/arm/indirect-call.S
- tests/Analysis/arm/indirect-call.stack-analysis.log 8 additions, 0 deletionstests/Analysis/arm/indirect-call.stack-analysis.log
- tests/Analysis/arm/indirect-tail-call.S 16 additions, 0 deletionstests/Analysis/arm/indirect-tail-call.S
- tests/Analysis/arm/indirect-tail-call.stack-analysis.log 8 additions, 0 deletionstests/Analysis/arm/indirect-tail-call.stack-analysis.log
- tests/Analysis/arm/longjmp.S 18 additions, 0 deletionstests/Analysis/arm/longjmp.S
- tests/Analysis/arm/longjmp.stack-analysis.log 8 additions, 0 deletionstests/Analysis/arm/longjmp.stack-analysis.log
- tests/Analysis/x86_64/call.S 12 additions, 0 deletionstests/Analysis/x86_64/call.S
- tests/Analysis/x86_64/call.stack-analysis.log 8 additions, 0 deletionstests/Analysis/x86_64/call.stack-analysis.log
- tests/Analysis/x86_64/fibonacci.c 14 additions, 0 deletionstests/Analysis/x86_64/fibonacci.c
- tests/Analysis/x86_64/fibonacci.stack-analysis.log 8 additions, 0 deletionstests/Analysis/x86_64/fibonacci.stack-analysis.log
Loading
Please register or sign in to comment