2021-04-25 14:48:54 -04:00
|
|
|
#pragma once
|
|
|
|
|
2021-09-11 20:52:35 -04:00
|
|
|
#include <string>
|
2021-04-25 14:48:54 -04:00
|
|
|
#include <unordered_map>
|
|
|
|
#include <vector>
|
2021-09-11 20:52:35 -04:00
|
|
|
|
2021-04-25 14:48:54 -04:00
|
|
|
#include "common/util/Range.h"
|
2021-09-11 20:52:35 -04:00
|
|
|
#include "decompiler/Disasm/Instruction.h"
|
2021-04-25 14:48:54 -04:00
|
|
|
#include "decompiler/util/StackSpillMap.h"
|
|
|
|
|
|
|
|
namespace decompiler {
|
|
|
|
|
|
|
|
/*!
|
|
|
|
* Given the instructions for a function, build a StackSpillMap containing all memory used to
|
|
|
|
* spill register variables. The range should be the non-prologue/non-epilogue instruction range.
|
|
|
|
*/
|
|
|
|
StackSpillMap build_spill_map(const std::vector<Instruction>& instructions, Range<int> range);
|
|
|
|
|
|
|
|
} // namespace decompiler
|