|
| bool | llvm::slpvectorizer::isValidForAlternation (unsigned Opcode) |
| bool | llvm::slpvectorizer::isAbsorbableFMulOrFAdd (ArrayRef< Value * > VL, Value *V) |
| | Checks if V is a single-use fmul/fadd with operands outside VL.
|
| bool | llvm::slpvectorizer::isAbsorbableCopyableFMulOrFAdd (const InstructionsState &S, Value *V) |
| | Checks if V is a copyable single-use fmul/fadd, absorbable as fmuladd(a, b, -0.0) or fmuladd(1.0, a, b).
|
| bool | llvm::slpvectorizer::hasOnlyAbsorbableCopyableFMulOrFAdds (ArrayRef< Value * > VL) |
| | Checks if every copyable in VL is an absorbable fmul/fadd: the binops die instead of being computed and gathered.
|
| static Instruction * | llvm::slpvectorizer::findInstructionWithOpcode (ArrayRef< Value * > VL, unsigned Opcode) |
| | Find an instruction with a specific opcode in VL.
|
| static bool | llvm::slpvectorizer::areCompatibleCmpOps (Value *BaseOp0, Value *BaseOp1, Value *Op0, Value *Op1, const TargetLibraryInfo &TLI) |
| | Checks if the provided operands of 2 cmp instructions are compatible, i.e.
|
| static bool | llvm::slpvectorizer::isCmpSameOrSwapped (const CmpInst *BaseCI, const CmpInst *CI, const TargetLibraryInfo &TLI) |
| InstructionsState | llvm::slpvectorizer::getSameOpcode (ArrayRef< Value * > VL, const TargetLibraryInfo &TLI) |
| std::pair< Instruction *, SmallVector< Value * > > | llvm::slpvectorizer::convertTo (Instruction *I, const InstructionsState &S) |
| bool | llvm::slpvectorizer::isAlternateInstruction (Instruction *I, Instruction *MainOp, Instruction *AltOp, const TargetLibraryInfo &TLI) |
| | Checks if the specified instruction I is an alternate operation for the given MainOp and AltOp instructions.
|
| SmallVector< SmallVector< Value * > > | llvm::slpvectorizer::scanAltAssociativeOperands (const InstructionsState &S, const TargetLibraryInfo &TLI, ArrayRef< Value * > VL, ArrayRef< Value * > Op0, ArrayRef< Value * > Op1, SmallVectorImpl< Value * > &ReassocScalars, SmallBitVector &SubLanes) |
| | Peel the per-lane associative chains of an alternate node into operand columns.
|