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

Post-legalization combines on generic MachineInstrs. More...

Go to the source code of this file.

Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
Macros
#define GET_GICOMBINER_DEPS
#define DEBUG_TYPE "aarch64-postlegalizer-combiner"
#define GET_GICOMBINER_TYPES
#define GET_GICOMBINER_CLASS_MEMBERS
#define GET_GICOMBINER_IMPL
#define GET_GICOMBINER_CONSTRUCTOR_INITS
Variables
static cl::opt< bool > EnableConsecutiveMemOpOpt ("aarch64-postlegalizer-consecutive-memops", cl::init(true), cl::Hidden, cl::desc("Enable consecutive memop optimization " "in AArch64PostLegalizerCombiner"))
DEBUG_TYPE
Combine AArch64 MachineInstrs after legalization
Combine AArch64 MachineInstrs after false

Post-legalization combines on generic MachineInstrs.

The combines here must preserve instruction legality.

Lowering combines (e.g. pseudo matching) should be handled by AArch64PostLegalizerLowering.

Combines which don't rely on instruction legality should go in the AArch64PreLegalizerCombiner.

Definition in file AArch64PostLegalizerCombiner.cpp.

DEBUG_TYPE

#define DEBUG_TYPE "aarch64-postlegalizer-combiner"

GET_GICOMBINER_CLASS_MEMBERS

#define GET_GICOMBINER_CLASS_MEMBERS

GET_GICOMBINER_CONSTRUCTOR_INITS

#define GET_GICOMBINER_CONSTRUCTOR_INITS

GET_GICOMBINER_DEPS

#define GET_GICOMBINER_DEPS

GET_GICOMBINER_IMPL

#define GET_GICOMBINER_IMPL

GET_GICOMBINER_TYPES

#define GET_GICOMBINER_TYPES

INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( AArch64PostLegalizerCombiner ,
DEBUG_TYPE ,
"Combine AArch64 MachineInstrs after legalization" ,
false ,
false )

DEBUG_TYPE

EnableConsecutiveMemOpOpt

cl::opt< bool > EnableConsecutiveMemOpOpt("aarch64-postlegalizer-consecutive-memops", cl::init(true), cl::Hidden, cl::desc("Enable consecutive memop optimization " "in AArch64PostLegalizerCombiner")) ( "aarch64-postlegalizer-consecutive-memops" , cl::init(true) , cl::Hidden , cl::desc("Enable consecutive memop optimization " "in AArch64PostLegalizerCombiner") ) static

false

Combine AArch64 MachineInstrs after false

legalization

Combine AArch64 MachineInstrs after legalization