ΒΆvoid convertConstantExprsToInstructions(
    llvm::Instruction* I,
    std::map<
        Use*,
        std::vector<std::vector<ConstantExpr*>>>&
        CEPaths,
    SmallPtrSetImpl<llvm::Instruction*>* Insts =
        nullptr)

Description

The given instruction \p I contains constant expression CE within the constant expression trees of it`s constant expression operands, and\p CEPaths holds all the reachable paths (to CE) from such constant expression trees of \p I. Convert constant expressions within these paths into corresponding instructions, insert them before \p I, update operands of\p I accordingly, and if required, return all such converted instructions at\p Insts.

Declared at: llvm/include/llvm/IR/ReplaceConstant.h:44

Parameters

llvm::Instruction* I
std::map<Use*, std::vector<std::vector<ConstantExpr*>>>& CEPaths
SmallPtrSetImpl<llvm::Instruction*>* Insts = nullptr