LLVM 22.0.0git
IPDBFrameData.h
Go to the documentation of this file.
1//===- IPDBFrameData.h - base interface for frame data ----------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_DEBUGINFO_PDB_IPDBFRAMEDATA_H
10#define LLVM_DEBUGINFO_PDB_IPDBFRAMEDATA_H
11
13#include <cstdint>
14#include <string>
15
16namespace llvm {
17namespace pdb {
18
19/// IPDBFrameData defines an interface used to represent a frame data of some
20/// code block.
22public:
23 virtual ~IPDBFrameData();
24
25 virtual uint32_t getAddressOffset() const = 0;
26 virtual uint32_t getAddressSection() const = 0;
27 virtual uint32_t getLengthBlock() const = 0;
28 virtual std::string getProgram() const = 0;
30 virtual uint64_t getVirtualAddress() const = 0;
31};
32
33} // namespace pdb
34} // namespace llvm
35
36#endif
#define LLVM_ABI
Definition Compiler.h:213
IPDBFrameData defines an interface used to represent a frame data of some code block.
virtual std::string getProgram() const =0
virtual uint32_t getAddressSection() const =0
virtual uint32_t getLengthBlock() const =0
virtual uint64_t getVirtualAddress() const =0
virtual uint32_t getRelativeVirtualAddress() const =0
virtual uint32_t getAddressOffset() const =0
This is an optimization pass for GlobalISel generic memory operations.