LLVM 24.0.0git
llvm::GVNOptions Struct Reference

A set of parameters to control various transforms performed by GVN pass. More...

#include "llvm/Transforms/Scalar/GVN.h"

Public Member Functions

 GVNOptions ()=default
GVNOptions & setScalarPRE (bool ScalarPRE)
 Enables or disables PRE of scalars in GVN.
GVNOptions & setLoadPRE (bool LoadPRE)
 Enables or disables PRE of loads in GVN.
GVNOptions & setLoadInLoopPRE (bool LoadInLoopPRE)
GVNOptions & setLoadPRESplitBackedge (bool LoadPRESplitBackedge)
 Enables or disables PRE of loads in GVN.
GVNOptions & setMemDep (bool MemDep)
 Enables or disables use of MemDepAnalysis.
GVNOptions & setMemorySSA (bool MemSSA)
 Enables or disables use of MemorySSA.

Public Attributes

std::optional< bool > AllowScalarPRE
std::optional< bool > AllowLoadPRE
std::optional< bool > AllowLoadInLoopPRE
std::optional< bool > AllowLoadPRESplitBackedge
std::optional< bool > AllowMemDep
std::optional< bool > AllowMemorySSA

Detailed Description

A set of parameters to control various transforms performed by GVN pass.

true - enabling the transformation. false - disabling the transformation. None - relying on a global default. Intended use is to create a default object, modify parameters with additional setters and then pass it to GVN.

Definition at line 73 of file GVN.h.

Constructor & Destructor Documentation

◆ GVNOptions()

llvm::GVNOptions::GVNOptions ( )
default

Member Function Documentation

◆ setLoadInLoopPRE()

GVNOptions & llvm::GVNOptions::setLoadInLoopPRE ( bool LoadInLoopPRE)
inline

Definition at line 95 of file GVN.h.

References AllowLoadInLoopPRE, and GVNOptions().

◆ setLoadPRE()

GVNOptions & llvm::GVNOptions::setLoadPRE ( bool LoadPRE)
inline

Enables or disables PRE of loads in GVN.

Definition at line 90 of file GVN.h.

References AllowLoadPRE, and GVNOptions().

◆ setLoadPRESplitBackedge()

GVNOptions & llvm::GVNOptions::setLoadPRESplitBackedge ( bool LoadPRESplitBackedge)
inline

Enables or disables PRE of loads in GVN.

Definition at line 101 of file GVN.h.

References AllowLoadPRESplitBackedge, and GVNOptions().

◆ setMemDep()

GVNOptions & llvm::GVNOptions::setMemDep ( bool MemDep)
inline

Enables or disables use of MemDepAnalysis.

Definition at line 107 of file GVN.h.

References AllowMemDep, and GVNOptions().

◆ setMemorySSA()

GVNOptions & llvm::GVNOptions::setMemorySSA ( bool MemSSA)
inline

Enables or disables use of MemorySSA.

Definition at line 113 of file GVN.h.

References AllowMemorySSA, and GVNOptions().

◆ setScalarPRE()

GVNOptions & llvm::GVNOptions::setScalarPRE ( bool ScalarPRE)
inline

Enables or disables PRE of scalars in GVN.

Definition at line 84 of file GVN.h.

References AllowScalarPRE, and GVNOptions().

Member Data Documentation

◆ AllowLoadInLoopPRE

std::optional<bool> llvm::GVNOptions::AllowLoadInLoopPRE

Definition at line 76 of file GVN.h.

Referenced by setLoadInLoopPRE().

◆ AllowLoadPRE

std::optional<bool> llvm::GVNOptions::AllowLoadPRE

Definition at line 75 of file GVN.h.

Referenced by setLoadPRE().

◆ AllowLoadPRESplitBackedge

std::optional<bool> llvm::GVNOptions::AllowLoadPRESplitBackedge

Definition at line 77 of file GVN.h.

Referenced by setLoadPRESplitBackedge().

◆ AllowMemDep

std::optional<bool> llvm::GVNOptions::AllowMemDep

Definition at line 78 of file GVN.h.

Referenced by setMemDep().

◆ AllowMemorySSA

std::optional<bool> llvm::GVNOptions::AllowMemorySSA

Definition at line 79 of file GVN.h.

Referenced by setMemorySSA().

◆ AllowScalarPRE

std::optional<bool> llvm::GVNOptions::AllowScalarPRE

Definition at line 74 of file GVN.h.

Referenced by setScalarPRE().


The documentation for this struct was generated from the following file: