LLVM 22.0.0git
Scalarizer.h File Reference

This pass converts vector operations into scalar operations (or, optionally, operations on smaller vector widths), in order to expose optimization opportunities on the individual scalar operations. More...

#include "llvm/IR/PassManager.h"
#include "llvm/Support/Compiler.h"
#include <optional>

Go to the source code of this file.

Classes

struct  llvm::ScalarizerPassOptions
class  llvm::ScalarizerPass

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Functions

LLVM_ABI FunctionPassllvm::createScalarizerPass (const ScalarizerPassOptions &Options=ScalarizerPassOptions())
 Create a legacy pass manager instance of the Scalarizer pass.

Detailed Description

This pass converts vector operations into scalar operations (or, optionally, operations on smaller vector widths), in order to expose optimization opportunities on the individual scalar operations.

It is mainly intended for targets that do not have vector units, but it may also be useful for revectorizing code to different vector widths.

Definition in file Scalarizer.h.