LLVM: lib/Target/AArch64/AArch64ConditionalCompares.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
STATISTIC (NumConsidered, "Number of ccmps considered")
STATISTIC (NumPhiRejs, "Number of ccmps rejected (PHI)")
STATISTIC (NumPhysRejs, "Number of ccmps rejected (Physregs)")
STATISTIC (NumPhi2Rejs, "Number of ccmps rejected (PHI2)")
STATISTIC (NumHeadBranchRejs, "Number of ccmps rejected (Head branch)")
STATISTIC (NumCmpBranchRejs, "Number of ccmps rejected (CmpBB branch)")
STATISTIC (NumCmpTermRejs, "Number of ccmps rejected (CmpBB is cbz...)")
STATISTIC (NumImmRangeRejs, "Number of ccmps rejected (Imm out of range)")
STATISTIC (NumLiveDstRejs, "Number of ccmps rejected (Cmp dest live)")
STATISTIC (NumMultNZCVUses, "Number of ccmps rejected (NZCV used)")
STATISTIC (NumUnknNZCVDefs, "Number of ccmps rejected (NZCV def unknown)")
STATISTIC (NumSpeculateRejs, "Number of ccmps rejected (Can't speculate)")
STATISTIC (NumConverted, "Number of ccmp instructions created")
STATISTIC (NumCompBranches, "Number of cbz/cbnz branches converted")
static bool parseCond (ArrayRef< MachineOperand > Cond, AArch64CC::CondCode &CC)
INITIALIZE_PASS_BEGIN (AArch64ConditionalCompares, "aarch64-ccmp", "AArch64 CCMP Pass", false, false) INITIALIZE_PASS_END(AArch64ConditionalCompares
Variables
static cl::opt< unsigned > BlockInstrLimit ("aarch64-ccmp-limit", cl::init(30), cl::Hidden, cl::desc("Maximum number of instructions per speculated block."))
static cl::opt< bool > Stress ("aarch64-stress-ccmp", cl::Hidden, cl::desc("Turn all knobs to 11"))
aarch64 ccmp
aarch64 AArch64 CCMP Pass
aarch64 AArch64 CCMP false

DEBUG_TYPE

#define DEBUG_TYPE "aarch64-ccmp"

INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( AArch64ConditionalCompares ,
"aarch64-ccmp" ,
"AArch64 CCMP Pass" ,
false ,
false
)

parseCond()

STATISTIC() [1/14]

STATISTIC ( NumCmpBranchRejs ,
"Number of ccmps rejected (CmpBB branch)"
)

STATISTIC() [2/14]

STATISTIC ( NumCmpTermRejs ,
"Number of ccmps rejected (CmpBB is cbz...)"
)

STATISTIC() [3/14]

STATISTIC ( NumCompBranches ,
"Number of cbz/cbnz branches converted"
)

STATISTIC() [4/14]

STATISTIC ( NumConsidered ,
"Number of ccmps considered"
)

STATISTIC() [5/14]

STATISTIC() [6/14]

STATISTIC ( NumHeadBranchRejs ,
"Number of ccmps rejected (Head branch)"
)

STATISTIC() [7/14]

STATISTIC ( NumImmRangeRejs ,
"Number of ccmps rejected (Imm out of range)"
)

STATISTIC() [8/14]

STATISTIC ( NumLiveDstRejs ,
"Number of ccmps rejected (Cmp dest live)"
)

STATISTIC() [9/14]

STATISTIC ( NumMultNZCVUses ,
"Number of ccmps rejected (NZCV used)"
)

STATISTIC() [10/14]

STATISTIC ( NumPhi2Rejs ,
"Number of ccmps rejected (PHI2)"
)

STATISTIC() [11/14]

STATISTIC ( NumPhiRejs ,
"Number of ccmps rejected (PHI)"
)

STATISTIC() [12/14]

STATISTIC ( NumPhysRejs ,
"Number of ccmps rejected (Physregs)"
)

STATISTIC() [13/14]

STATISTIC ( NumSpeculateRejs ,
"Number of ccmps rejected (Can't speculate)"
)

STATISTIC() [14/14]

STATISTIC ( NumUnknNZCVDefs ,
"Number of ccmps rejected (NZCV def unknown)"
)

BlockInstrLimit

ccmp

false

aarch64 AArch64 CCMP false

Pass

aarch64 AArch64 CCMP Pass

Stress

cl::opt< bool > Stress("aarch64-stress-ccmp", cl::Hidden, cl::desc("Turn all knobs to 11")) ( "aarch64-stress-ccmp" , cl::Hidden , cl::desc("Turn all knobs to 11") ) static