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)

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)

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

Declared at: llvm/include/llvm/Analysis/InstructionSimplify.h:120

Parameters

llvm::Instruction* I

llvm::SimplifyQuery getWithoutUndef() const

Declared at: llvm/include/llvm/Analysis/InstructionSimplify.h:125

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