LLVM 23.0.0git
AArch64SIMDInstrOpt.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "aarch64-simd-instr-opt"
#define AARCH64_VECTOR_BY_ELEMENT_OPT_NAME    "AArch64 SIMD instructions optimization pass"
#define RuleST2(OpcOrg, OpcR0, OpcR1, OpcR2, RC)
#define RuleST4(OpcOrg, OpcR0, OpcR1, OpcR2, OpcR3, OpcR4, OpcR5, OpcR6, OpcR7, OpcR8, OpcR9, RC)

Functions

 STATISTIC (NumModifiedInstr, "Number of SIMD instructions modified")
 INITIALIZE_PASS (AArch64SIMDInstrOptLegacy, "aarch64-simd-instr-opt", AARCH64_VECTOR_BY_ELEMENT_OPT_NAME, false, false) bool AArch64SIMDInstrOptImpl
 Based only on latency of instructions, determine if it is cost efficient to replace the instruction InstDesc by the instructions stored in the array InstDescRepl.

Macro Definition Documentation

◆ AARCH64_VECTOR_BY_ELEMENT_OPT_NAME

#define AARCH64_VECTOR_BY_ELEMENT_OPT_NAME    "AArch64 SIMD instructions optimization pass"

Definition at line 64 of file AArch64SIMDInstrOpt.cpp.

Referenced by INITIALIZE_PASS().

◆ DEBUG_TYPE

#define DEBUG_TYPE   "aarch64-simd-instr-opt"

Definition at line 59 of file AArch64SIMDInstrOpt.cpp.

◆ RuleST2

#define RuleST2 ( OpcOrg,
OpcR0,
OpcR1,
OpcR2,
RC )
Value:
{OpcOrg, {OpcR0, OpcR1, OpcR2}, 3, &RC}

Definition at line 108 of file AArch64SIMDInstrOpt.cpp.

◆ RuleST4

#define RuleST4 ( OpcOrg,
OpcR0,
OpcR1,
OpcR2,
OpcR3,
OpcR4,
OpcR5,
OpcR6,
OpcR7,
OpcR8,
OpcR9,
RC )
Value:
{OpcOrg, \
{OpcR0, OpcR1, OpcR2, OpcR3, OpcR4, OpcR5, OpcR6, OpcR7, OpcR8, OpcR9}, \
10, \
&RC}

Definition at line 110 of file AArch64SIMDInstrOpt.cpp.

Function Documentation

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( AArch64SIMDInstrOptLegacy ,
"aarch64-simd-instr-opt" ,
AARCH64_VECTOR_BY_ELEMENT_OPT_NAME ,
false ,
false  )

Based only on latency of instructions, determine if it is cost efficient to replace the instruction InstDesc by the instructions stored in the array InstDescRepl.

Return true if replacement is expected to be faster.

Definition at line 233 of file AArch64SIMDInstrOpt.cpp.

References AARCH64_VECTOR_BY_ELEMENT_OPT_NAME, const, llvm::MCSchedClassDesc::isValid(), and llvm::MCSchedClassDesc::isVariant().

◆ STATISTIC()

STATISTIC ( NumModifiedInstr ,
"Number of SIMD instructions modified"  )