|
LLVM 22.0.0git
|
Post-legalization lowering for instructions. More...
#include "AArch64ExpandImm.h"#include "AArch64GlobalISelUtils.h"#include "AArch64PerfectShuffle.h"#include "AArch64Subtarget.h"#include "GISel/AArch64LegalizerInfo.h"#include "MCTargetDesc/AArch64MCTargetDesc.h"#include "Utils/AArch64BaseInfo.h"#include "llvm/CodeGen/GlobalISel/Combiner.h"#include "llvm/CodeGen/GlobalISel/CombinerHelper.h"#include "llvm/CodeGen/GlobalISel/CombinerInfo.h"#include "llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h"#include "llvm/CodeGen/GlobalISel/GISelChangeObserver.h"#include "llvm/CodeGen/GlobalISel/GenericMachineInstrs.h"#include "llvm/CodeGen/GlobalISel/LegalizerHelper.h"#include "llvm/CodeGen/GlobalISel/MIPatternMatch.h"#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"#include "llvm/CodeGen/GlobalISel/Utils.h"#include "llvm/CodeGen/MachineFrameInfo.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/TargetOpcodes.h"#include "llvm/CodeGen/TargetPassConfig.h"#include "llvm/IR/InstrTypes.h"#include "llvm/Support/ErrorHandling.h"#include <optional>#include "AArch64GenPostLegalizeGILowering.inc"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-lowering" |
| #define | GET_GICOMBINER_TYPES |
| #define | GET_GICOMBINER_CLASS_MEMBERS |
| #define | GET_GICOMBINER_IMPL |
| #define | GET_GICOMBINER_CONSTRUCTOR_INITS |
Functions | |
| INITIALIZE_PASS_BEGIN (AArch64PostLegalizerLowering, DEBUG_TYPE, "Lower AArch64 MachineInstrs after legalization", false, false) INITIALIZE_PASS_END(AArch64PostLegalizerLowering | |
| FunctionPass * | llvm::createAArch64PostLegalizerLowering () |
Variables | |
| DEBUG_TYPE | |
| Lower AArch64 MachineInstrs after | legalization |
| Lower AArch64 MachineInstrs after | false |
Post-legalization lowering for instructions.
This is used to offload pattern matching from the selector.
For example, this combiner will notice that a G_SHUFFLE_VECTOR is actually a G_ZIP, G_UZP, etc.
General optimization combines should be handled by either the AArch64PostLegalizerCombiner or the AArch64PreLegalizerCombiner.
Definition in file AArch64PostLegalizerLowering.cpp.
| #define DEBUG_TYPE "aarch64-postlegalizer-lowering" |
Definition at line 53 of file AArch64PostLegalizerLowering.cpp.
| #define GET_GICOMBINER_CLASS_MEMBERS |
Definition at line 1226 of file AArch64PostLegalizerLowering.cpp.
| #define GET_GICOMBINER_CONSTRUCTOR_INITS |
| #define GET_GICOMBINER_DEPS |
Definition at line 49 of file AArch64PostLegalizerLowering.cpp.
| #define GET_GICOMBINER_IMPL |
Definition at line 1231 of file AArch64PostLegalizerLowering.cpp.
| #define GET_GICOMBINER_TYPES |
Definition at line 61 of file AArch64PostLegalizerLowering.cpp.
| INITIALIZE_PASS_BEGIN | ( | AArch64PostLegalizerLowering | , |
| DEBUG_TYPE | , | ||
| "Lower AArch64 MachineInstrs after legalization" | , | ||
| false | , | ||
| false | ) |
References DEBUG_TYPE, and INITIALIZE_PASS_DEPENDENCY.
| DEBUG_TYPE |
Definition at line 1306 of file AArch64PostLegalizerLowering.cpp.
| Lower AArch64 MachineInstrs after false |
Definition at line 1307 of file AArch64PostLegalizerLowering.cpp.
| Lower AArch64 MachineInstrs after legalization |
Definition at line 1307 of file AArch64PostLegalizerLowering.cpp.