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