LLVM: lib/Transforms/Scalar/StraightLineStrengthReduce.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "slsr"
Functions
DEBUG_COUNTER (StraightLineStrengthReduceCounter, "slsr-counter", "Controls whether rewriteCandidate is executed.")
INITIALIZE_PASS_BEGIN (StraightLineStrengthReduceLegacyPass, "slsr", "Straight line strength reduction", false, false) INITIALIZE_PASS_END(StraightLineStrengthReduceLegacyPass
static void unifyBitWidth (APInt &A, APInt &B)
static bool isGEPFoldable (GetElementPtrInst *GEP, const TargetTransformInfo *TTI)
static bool isAddFoldable (const SCEV *Base, ConstantInt *Index, Value *Stride, TargetTransformInfo *TTI)
static bool matchesAdd (Value *A, Value *&B, ConstantInt *&C)
static bool matchesOr (Value *A, Value *&B, ConstantInt *&C)
Variables
static const unsigned UnknownAddressSpace
static cl::opt< bool > EnablePoisonReuseGuard ("enable-poison-reuse-guard", cl::init(true), cl::desc("Enable poison-reuse guard"))
slsr
Straight line strength reduction
Straight line strength false

DEBUG_TYPE

#define DEBUG_TYPE "slsr"

DEBUG_COUNTER()

DEBUG_COUNTER ( StraightLineStrengthReduceCounter ,
"slsr-counter" ,
"Controls whether rewriteCandidate is executed." )

INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( StraightLineStrengthReduceLegacyPass ,
"slsr" ,
"Straight line strength reduction" ,
false ,
false )

isAddFoldable()

isGEPFoldable()

matchesAdd()

matchesOr()

unifyBitWidth()

EnablePoisonReuseGuard

cl::opt< bool > EnablePoisonReuseGuard("enable-poison-reuse-guard", cl::init(true), cl::desc("Enable poison-reuse guard")) ( "enable-poison-reuse-guard" , cl::init(true) , cl::desc("Enable poison-reuse guard") ) static

false

Straight line strength false

reduction

Straight line strength reduction

slsr

UnknownAddressSpace