clang: lib/CodeGen/CGPointerAuthInfo.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_CLANG_LIB_CODEGEN_CGPOINTERAUTHINFO_H
14#define LLVM_CLANG_LIB_CODEGEN_CGPOINTERAUTHINFO_H
15
18#include "llvm/IR/Type.h"
19#include "llvm/IR/Value.h"
20
23
25private:
27 unsigned IsIsaPointer : 1;
28 unsigned AuthenticatesNullValues : 1;
29 unsigned Key : 2;
30 llvm::Value *Discriminator;
31
32public:
35 IsIsaPointer(false), AuthenticatesNullValues(false), Key(0),
38 bool IsIsaPointer, bool AuthenticatesNullValues,
39 llvm::Value *Discriminator)
40 : AuthenticationMode(AuthenticationMode), IsIsaPointer(IsIsaPointer),
41 AuthenticatesNullValues(AuthenticatesNullValues), Key(Key),
42 Discriminator(Discriminator) {
43 assert(!Discriminator || Discriminator->getType()->isIntegerTy() ||
44 Discriminator->getType()->isPointerTy());
45 }
46
48
52
59 return Discriminator;
60 }
61
63 return AuthenticationMode;
64 }
65
67
69
74
79
83
86 return LHS.Key != RHS.Key || LHS.Discriminator != RHS.Discriminator ||
87 LHS.AuthenticationMode != RHS.AuthenticationMode;
88 }
89
92 return !(LHS != RHS);
93 }
94};
95
96}
97}
98
99#endif
Defines the clang::LangOptions interface.
C Language Family Type Representation.
bool authenticatesNullValues() const
Definition CGPointerAuthInfo.h:68
unsigned getKey() const
Definition CGPointerAuthInfo.h:53
bool isSigned() const
Definition CGPointerAuthInfo.h:49
bool shouldStrip() const
Definition CGPointerAuthInfo.h:70
friend bool operator==(const CGPointerAuthInfo &LHS, const CGPointerAuthInfo &RHS)
Definition CGPointerAuthInfo.h:90
bool shouldAuth() const
Definition CGPointerAuthInfo.h:80
bool shouldSign() const
Definition CGPointerAuthInfo.h:75
CGPointerAuthInfo()
Definition CGPointerAuthInfo.h:33
bool isIsaPointer() const
Definition CGPointerAuthInfo.h:66
PointerAuthenticationMode getAuthenticationMode() const
Definition CGPointerAuthInfo.h:62
friend bool operator!=(const CGPointerAuthInfo &LHS, const CGPointerAuthInfo &RHS)
Definition CGPointerAuthInfo.h:84
llvm::Value * getDiscriminator() const
Definition CGPointerAuthInfo.h:57
CGPointerAuthInfo(unsigned Key, PointerAuthenticationMode AuthenticationMode, bool IsIsaPointer, bool AuthenticatesNullValues, llvm::Value *Discriminator)
Definition CGPointerAuthInfo.h:37
The JSON file list parser is used to communicate input to InstallAPI.
nullptr
This class represents a compute construct, representing a 'Kind' of ‘parallel’, 'serial',...
PointerAuthenticationMode