LLVM: include/llvm/Analysis/SimplifyQuery.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_ANALYSIS_SIMPLIFYQUERY_H

10#define LLVM_ANALYSIS_SIMPLIFYQUERY_H

11

15

16namespace llvm {

17

22

23

24

25

30

33 return I->getMetadata(KindID);

34 return nullptr;

35 }

36

39 return Op->hasNoUnsignedWrap();

40 return false;

41 }

42

45 return Op->hasNoSignedWrap();

46 return false;

47 }

48

54

57 return Op->hasNoSignedZeros();

58 return false;

59 }

60};

61

62

70

79

80

81

82

84

85

86

87

89

92

96 const Instruction *CXTI = nullptr, bool UseInstrInfo = true,

100

103 const Instruction *CXTI = nullptr, bool UseInstrInfo = true,

107

110 Copy.CxtI = I;

111 return Copy;

112 }

115 Copy.CanUseUndef = false;

116 return Copy;

117 }

118

119

120

122

125 Copy.DC = nullptr;

126 return Copy;

127 }

128

131 Copy.CC = &CC;

132 return Copy;

133 }

134

137 Copy.CC = nullptr;

138 return Copy;

139 }

140};

141

142}

143

144#endif

This file defines the SmallPtrSet class.

A cache of @llvm.assume calls within a function.

A parsed version of the target data layout string in and methods for querying it.

Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree.

SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements.

Provides information about what library functions are available for the current target.

LLVM Value Representation.

This is an optimization pass for GlobalISel generic memory operations.

bool isa(const From &Val)

isa - Return true if the parameter to the template is an instance of one of the template type argu...

DWARFExpression::Operation Op

decltype(auto) cast(const From &Val)

cast - Return the argument parameter cast to the specified type.

Evaluate query assuming this condition holds.

Definition SimplifyQuery.h:63

CondContext(Value *Cond)

Definition SimplifyQuery.h:68

bool Invert

Definition SimplifyQuery.h:65

SmallPtrSet< Value *, 4 > AffectedValues

Definition SimplifyQuery.h:66

Value * Cond

Definition SimplifyQuery.h:64

InstrInfoQuery provides an interface to query additional information for instructions like metadata o...

Definition SimplifyQuery.h:26

bool isExact(const BinaryOperator *Op) const

Definition SimplifyQuery.h:49

MDNode * getMetadata(const Instruction *I, unsigned KindID) const

Definition SimplifyQuery.h:31

bool hasNoSignedZeros(const InstT *Op) const

Definition SimplifyQuery.h:55

InstrInfoQuery(bool UMD)

Definition SimplifyQuery.h:27

bool hasNoSignedWrap(const InstT *Op) const

Definition SimplifyQuery.h:43

bool UseInstrInfo

Definition SimplifyQuery.h:29

bool hasNoUnsignedWrap(const InstT *Op) const

Definition SimplifyQuery.h:37

const DataLayout & DL

Definition SimplifyQuery.h:72

SimplifyQuery getWithoutCondContext() const

Definition SimplifyQuery.h:135

const Instruction * CxtI

Definition SimplifyQuery.h:76

SimplifyQuery(const DataLayout &DL, const Instruction *CXTI=nullptr)

Definition SimplifyQuery.h:90

bool CanUseUndef

Controls whether simplifications are allowed to constrain the range of possible values for uses of un...

Definition SimplifyQuery.h:88

const DominatorTree * DT

Definition SimplifyQuery.h:74

SimplifyQuery getWithCondContext(const CondContext &CC) const

Definition SimplifyQuery.h:129

SimplifyQuery getWithInstruction(const Instruction *I) const

Definition SimplifyQuery.h:108

SimplifyQuery(const DataLayout &DL, const TargetLibraryInfo *TLI, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CXTI=nullptr, bool UseInstrInfo=true, bool CanUseUndef=true, const DomConditionCache *DC=nullptr)

Definition SimplifyQuery.h:93

LLVM_ABI bool isUndefValue(Value *V) const

If CanUseUndef is true, returns whether V is undef.

AssumptionCache * AC

Definition SimplifyQuery.h:75

const DomConditionCache * DC

Definition SimplifyQuery.h:77

SimplifyQuery(const DataLayout &DL, const DominatorTree *DT, AssumptionCache *AC=nullptr, const Instruction *CXTI=nullptr, bool UseInstrInfo=true, bool CanUseUndef=true)

Definition SimplifyQuery.h:101

const TargetLibraryInfo * TLI

Definition SimplifyQuery.h:73

SimplifyQuery getWithoutUndef() const

Definition SimplifyQuery.h:113

const InstrInfoQuery IIQ

Definition SimplifyQuery.h:83

SimplifyQuery getWithoutDomCondCache() const

Definition SimplifyQuery.h:123

const CondContext * CC

Definition SimplifyQuery.h:78