LLVM 24.0.0git
SLPCompatibilityAnalysis.h File Reference
#include "llvm/ADT/BitmaskEnum.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/IVDescriptors.h"
#include "llvm/IR/Instruction.h"
#include <cstdint>
#include <utility>

Go to the source code of this file.

Classes

class  llvm::slpvectorizer::BinOpSameOpcodeHelper
 Helper class that determines VL can use the same opcode. More...
class  llvm::slpvectorizer::InstructionsState
 Main data required for vectorization of instructions. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::slpvectorizer
 A private "module" namespace for types and utilities used by this pass.

Functions

bool llvm::slpvectorizer::isValidForAlternation (unsigned Opcode)
bool llvm::slpvectorizer::isAbsorbableFMul (ArrayRef< Value * > VL, Value *V)
 Checks if V is a single-use fmul with operands outside VL.
bool llvm::slpvectorizer::isAbsorbableCopyableFMul (const InstructionsState &S, Value *V)
 Checks if V is a copyable single-use fmul, absorbable as fmuladd(a, b, -0.0).