LLVM 19.0.0git
Macros | Functions | Variables
Scalarizer.cpp File Reference
#include "llvm/Transforms/Scalar/Scalarizer.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Analysis/VectorUtils.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InstVisitor.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Value.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Transforms/Utils/Local.h"
#include <cassert>
#include <cstdint>
#include <iterator>
#include <map>
#include <utility>

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "scalarizer"
 

Functions

static bool isTriviallyScalariable (Intrinsic::ID ID)
 

Variables

static cl::opt< boolClScalarizeVariableInsertExtract ("scalarize-variable-insert-extract", cl::init(true), cl::Hidden, cl::desc("Allow the scalarizer pass to scalarize " "insertelement/extractelement with variable index"))
 
static cl::opt< boolClScalarizeLoadStore ("scalarize-load-store", cl::init(false), cl::Hidden, cl::desc("Allow the scalarizer pass to scalarize loads and store"))
 
static cl::opt< unsignedClScalarizeMinBits ("scalarize-min-bits", cl::init(0), cl::Hidden, cl::desc("Instruct the scalarizer pass to attempt to keep values of a " "minimum number of bits"))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "scalarizer"

Definition at line 50 of file Scalarizer.cpp.

Function Documentation

◆ isTriviallyScalariable()

static bool isTriviallyScalariable ( Intrinsic::ID  ID)
static

Definition at line 653 of file Scalarizer.cpp.

References llvm::isTriviallyVectorizable().

Variable Documentation

◆ ClScalarizeLoadStore

cl::opt< bool > ClScalarizeLoadStore("scalarize-load-store", cl::init(false), cl::Hidden, cl::desc("Allow the scalarizer pass to scalarize loads and store")) ( "scalarize-load-store"  ,
cl::init(false)  ,
cl::Hidden  ,
cl::desc("Allow the scalarizer pass to scalarize loads and store")   
)
static

◆ ClScalarizeMinBits

cl::opt< unsigned > ClScalarizeMinBits("scalarize-min-bits", cl::init(0), cl::Hidden, cl::desc("Instruct the scalarizer pass to attempt to keep values of a " "minimum number of bits")) ( "scalarize-min-bits"  ,
cl::init(0)  ,
cl::Hidden  ,
cl::desc("Instruct the scalarizer pass to attempt to keep values of a " "minimum number of bits")   
)
static

◆ ClScalarizeVariableInsertExtract

cl::opt< bool > ClScalarizeVariableInsertExtract("scalarize-variable-insert-extract", cl::init(true), cl::Hidden, cl::desc("Allow the scalarizer pass to scalarize " "insertelement/extractelement with variable index")) ( "scalarize-variable-insert-extract"  ,
cl::init(true ,
cl::Hidden  ,
cl::desc("Allow the scalarizer pass to scalarize " "insertelement/extractelement with variable index")   
)
static