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