LLVM 22.0.0git
llvm::SimplifyQuery Struct Reference

#include "llvm/Analysis/SimplifyQuery.h"

Public Member Functions

 SimplifyQuery (const DataLayout &DL, const Instruction *CXTI=nullptr)
 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)
 SimplifyQuery (const DataLayout &DL, const DominatorTree *DT, AssumptionCache *AC=nullptr, const Instruction *CXTI=nullptr, bool UseInstrInfo=true, bool CanUseUndef=true)
SimplifyQuery getWithInstruction (const Instruction *I) const
SimplifyQuery getWithoutUndef () const
LLVM_ABI bool isUndefValue (Value *V) const
 If CanUseUndef is true, returns whether V is undef.
SimplifyQuery getWithoutDomCondCache () const
SimplifyQuery getWithCondContext (const CondContext &CC) const
SimplifyQuery getWithoutCondContext () const

Public Attributes

const DataLayoutDL
const TargetLibraryInfoTLI = nullptr
const DominatorTreeDT = nullptr
AssumptionCacheAC = nullptr
const InstructionCxtI = nullptr
const DomConditionCacheDC = nullptr
const CondContextCC = nullptr
const InstrInfoQuery IIQ
bool CanUseUndef = true
 Controls whether simplifications are allowed to constrain the range of possible values for uses of undef.

Detailed Description

Definition at line 71 of file SimplifyQuery.h.

Constructor & Destructor Documentation

◆ SimplifyQuery() [1/3]

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

◆ SimplifyQuery() [2/3]

llvm::SimplifyQuery::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 )
inline

Definition at line 93 of file SimplifyQuery.h.

References AC, CanUseUndef, CxtI, DC, DL, DT, IIQ, and TLI.

◆ SimplifyQuery() [3/3]

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

Definition at line 101 of file SimplifyQuery.h.

References AC, CanUseUndef, CxtI, DL, DT, and IIQ.

Member Function Documentation

◆ getWithCondContext()

SimplifyQuery llvm::SimplifyQuery::getWithCondContext ( const CondContext & CC) const
inline

Definition at line 129 of file SimplifyQuery.h.

References CC, and SimplifyQuery().

◆ getWithInstruction()

◆ getWithoutCondContext()

SimplifyQuery llvm::SimplifyQuery::getWithoutCondContext ( ) const
inline

◆ getWithoutDomCondCache()

SimplifyQuery llvm::SimplifyQuery::getWithoutDomCondCache ( ) const
inline

Definition at line 123 of file SimplifyQuery.h.

References SimplifyQuery().

◆ getWithoutUndef()

SimplifyQuery llvm::SimplifyQuery::getWithoutUndef ( ) const
inline

◆ isUndefValue()

Member Data Documentation

◆ AC

◆ CanUseUndef

bool llvm::SimplifyQuery::CanUseUndef = true

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

If it is false, simplifications are not allowed to assume a particular value for a use of undef for example.

Definition at line 88 of file SimplifyQuery.h.

Referenced by isUndefValue(), SimplifyQuery(), SimplifyQuery(), and simplifyWithOpsReplaced().

◆ CC

const CondContext* llvm::SimplifyQuery::CC = nullptr

◆ CxtI

◆ DC

◆ DL

◆ DT

◆ IIQ

◆ TLI


The documentation for this struct was generated from the following files: