mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
44 lines
947 B
Plaintext
44 lines
947 B
Plaintext
#pragma once
|
|
|
|
//
|
|
// This file is distributed under the MIT License. See LICENSE.md for details.
|
|
//
|
|
|
|
%GeneratedNotice%
|
|
|
|
#include "llvm/ADT/DenseMap.h"
|
|
#include "llvm/IR/BasicBlock.h"
|
|
#include "llvm/IR/Instruction.h"
|
|
#include "llvm/IR/Value.h"
|
|
|
|
#include "revng/ABI/RegisterState.h"
|
|
#include "revng/BasicAnalyses/GeneratedCodeBasicInfo.h"
|
|
#include "revng/EarlyFunctionAnalysis/Common.h"
|
|
#include "revng/EarlyFunctionAnalysis/EarlyFunctionAnalysis.h"
|
|
#include "revng/MFP/MFP.h"
|
|
#include "revng/Model/Binary.h"
|
|
|
|
namespace ABIAnalyses::%LatticeName% {
|
|
|
|
using namespace ABIAnalyses;
|
|
using Register = model::Register::Values;
|
|
using State = abi::RegisterState::Values;
|
|
|
|
struct CoreLattice {
|
|
|
|
%LatticeElement%
|
|
|
|
static const LatticeElement ExtremalLatticeElement = %ExtremalLatticeElement%;
|
|
|
|
using TransferFunction = ABIAnalyses::TransferKind;
|
|
|
|
static %isLessOrEqual%
|
|
|
|
static %combineValues%
|
|
|
|
static %transfer%
|
|
|
|
};
|
|
|
|
} // namespace ABIAnalyses::%LatticeName%
|