Can be used to implement target‐specific instruction combining.

Synopsis

Declared in <llvm/Analysis/TargetTransformInfo.h>

std::optional<Value*>
simplifyDemandedVectorEltsIntrinsic(
    InstCombiner& IC,
    IntrinsicInst& II,
    APInt DemandedElts,
    APInt& UndefElts,
    APInt& UndefElts2,
    APInt& UndefElts3,
    std::function<void(Instruction*, unsigned int, APInt, APInt&)> SimplifyAndSetOp) const;

Return Value

The simplified value, or std::nullopt if unchanged.

Parameters

Name

Description

IC

InstCombiner invoking this hook.

II

Target‐specific intrinsic to simplify.

DemandedElts

Demanded vector elements of the result.

UndefElts

Elements known undef in the result.

UndefElts2

Elements known undef in a second operand.

UndefElts3

Elements known undef in a third operand.

SimplifyAndSetOp

Callback to simplify and replace an operand.

See Also

instCombineIntrinsic

Created with MrDocs