struct SimplifyQuery
Declaration
struct SimplifyQuery { /* full declaration omitted */ };
Declared at: llvm/include/llvm/Analysis/InstructionSimplify.h:93
Member Variables
- public const llvm::DataLayout& DL
- public const llvm::TargetLibraryInfo* TLI = nullptr
- public const llvm::DominatorTree* DT = nullptr
- public llvm::AssumptionCache* AC = nullptr
- public const llvm::Instruction* CxtI = nullptr
- public const llvm::InstrInfoQuery IIQ
- public bool 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.
Method Overview
- public SimplifyQuery(const llvm::DataLayout & DL, const llvm::Instruction * CXTI = nullptr)
- public SimplifyQuery(const llvm::DataLayout & DL, const llvm::TargetLibraryInfo * TLI, const llvm::DominatorTree * DT = nullptr, llvm::AssumptionCache * AC = nullptr, const llvm::Instruction * CXTI = nullptr, bool UseInstrInfo = true, bool CanUseUndef = true)
- public llvm::SimplifyQuery getWithInstruction(llvm::Instruction * I) const
- public llvm::SimplifyQuery getWithoutUndef() const
- public bool isUndefValue(llvm::Value * V) const
Methods
¶SimplifyQuery(
const llvm::DataLayout& DL,
const llvm::Instruction* CXTI = nullptr)
SimplifyQuery(
const llvm::DataLayout& DL,
const llvm::Instruction* CXTI = nullptr)
Declared at: llvm/include/llvm/Analysis/InstructionSimplify.h:110
Parameters
- const llvm::DataLayout& DL
- const llvm::Instruction* CXTI = nullptr
¶SimplifyQuery(
const llvm::DataLayout& DL,
const llvm::TargetLibraryInfo* TLI,
const llvm::DominatorTree* DT = nullptr,
llvm::AssumptionCache* AC = nullptr,
const llvm::Instruction* CXTI = nullptr,
bool UseInstrInfo = true,
bool CanUseUndef = true)
SimplifyQuery(
const llvm::DataLayout& DL,
const llvm::TargetLibraryInfo* TLI,
const llvm::DominatorTree* DT = nullptr,
llvm::AssumptionCache* AC = nullptr,
const llvm::Instruction* CXTI = nullptr,
bool UseInstrInfo = true,
bool CanUseUndef = true)
Declared at: llvm/include/llvm/Analysis/InstructionSimplify.h:113
Parameters
- const llvm::DataLayout& DL
- const llvm::TargetLibraryInfo* TLI
- const llvm::DominatorTree* DT = nullptr
- llvm::AssumptionCache* AC = nullptr
- const llvm::Instruction* CXTI = nullptr
- bool UseInstrInfo = true
- bool CanUseUndef = true
¶llvm::SimplifyQuery getWithInstruction(
llvm::Instruction* I) const
llvm::SimplifyQuery getWithInstruction(
llvm::Instruction* I) const
Declared at: llvm/include/llvm/Analysis/InstructionSimplify.h:120
Parameters
¶llvm::SimplifyQuery getWithoutUndef() const
llvm::SimplifyQuery getWithoutUndef() const
Declared at: llvm/include/llvm/Analysis/InstructionSimplify.h:125
¶bool isUndefValue(llvm::Value* V) const
bool isUndefValue(llvm::Value* V) const
Description
If CanUseUndef is true, returns whether \p V is undef. Otherwise always return false.
Declared at: llvm/include/llvm/Analysis/InstructionSimplify.h:133
Parameters
- llvm::Value* V