LLVM  14.0.0git
TargetProcessControlTypes.h
Go to the documentation of this file.
1 //===--- TargetProcessControlTypes.h -- Shared Core/TPC types ---*- 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 // TargetProcessControl types that are used by both the Orc and
10 // OrcTargetProcess libraries.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_TARGETPROCESSCONTROLTYPES_H
15 #define LLVM_EXECUTIONENGINE_ORC_SHARED_TARGETPROCESSCONTROLTYPES_H
16 
17 #include "llvm/ADT/ArrayRef.h"
18 #include "llvm/ADT/StringRef.h"
20 
21 #include <vector>
22 
23 namespace llvm {
24 namespace orc {
25 namespace tpctypes {
26 
27 template <typename T> struct UIntWrite {
28  UIntWrite() = default;
30  : Address(Address), Value(Value) {}
31 
33  T Value = 0;
34 };
35 
36 /// Describes a write to a uint8_t.
38 
39 /// Describes a write to a uint16_t.
41 
42 /// Describes a write to a uint32_t.
44 
45 /// Describes a write to a uint64_t.
47 
48 /// Describes a write to a buffer.
49 /// For use with TargetProcessControl::MemoryAccess objects.
50 struct BufferWrite {
51  BufferWrite() = default;
54 
57 };
58 
59 /// A handle used to represent a loaded dylib in the target process.
61 
62 using LookupResult = std::vector<JITTargetAddress>;
63 
64 } // end namespace tpctypes
65 } // end namespace orc
66 } // end namespace llvm
67 
68 #endif // LLVM_EXECUTIONENGINE_ORC_SHARED_TARGETPROCESSCONTROLTYPES_H
llvm
---------------------— PointerInfo ------------------------------------—
Definition: AllocatorList.h:23
JITSymbol.h
StringRef.h
llvm::orc::tpctypes::UIntWrite::UIntWrite
UIntWrite(JITTargetAddress Address, T Value)
Definition: TargetProcessControlTypes.h:29
T
#define T
Definition: Mips16ISelLowering.cpp:341
llvm::orc::tpctypes::UIntWrite::UIntWrite
UIntWrite()=default
llvm::orc::tpctypes::BufferWrite::Address
JITTargetAddress Address
Definition: TargetProcessControlTypes.h:55
llvm::orc::tpctypes::LookupResult
std::vector< JITTargetAddress > LookupResult
Definition: TargetProcessControlTypes.h:62
llvm::orc::tpctypes::DylibHandle
JITTargetAddress DylibHandle
A handle used to represent a loaded dylib in the target process.
Definition: TargetProcessControlTypes.h:60
llvm::orc::tpctypes::UIntWrite::Address
JITTargetAddress Address
Definition: TargetProcessControlTypes.h:32
llvm::orc::tpctypes::BufferWrite
Describes a write to a buffer.
Definition: TargetProcessControlTypes.h:50
llvm::orc::tpctypes::BufferWrite::Buffer
StringRef Buffer
Definition: TargetProcessControlTypes.h:56
llvm::orc::tpctypes::BufferWrite::BufferWrite
BufferWrite()=default
ArrayRef.h
llvm::orc::tpctypes::UIntWrite
Definition: TargetProcessControlTypes.h:27
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:58
llvm::JITTargetAddress
uint64_t JITTargetAddress
Represents an address in the target process's address space.
Definition: JITSymbol.h:42
llvm::orc::tpctypes::BufferWrite::BufferWrite
BufferWrite(JITTargetAddress Address, StringRef Buffer)
Definition: TargetProcessControlTypes.h:52
llvm::Value
LLVM Value Representation.
Definition: Value.h:75