LLVM 20.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/InitializePasses.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 54 of file AArch64PostLegalizerLowering.cpp.
#define GET_GICOMBINER_CLASS_MEMBERS |
Definition at line 1262 of file AArch64PostLegalizerLowering.cpp.
#define GET_GICOMBINER_CONSTRUCTOR_INITS |
#define GET_GICOMBINER_DEPS |
Definition at line 50 of file AArch64PostLegalizerLowering.cpp.
#define GET_GICOMBINER_IMPL |
Definition at line 1267 of file AArch64PostLegalizerLowering.cpp.
#define GET_GICOMBINER_TYPES |
Definition at line 62 of file AArch64PostLegalizerLowering.cpp.
INITIALIZE_PASS_BEGIN | ( | AArch64PostLegalizerLowering | , |
DEBUG_TYPE | , | ||
"Lower AArch64 MachineInstrs after legalization" | , | ||
false | , | ||
false | |||
) |
DEBUG_TYPE |
Definition at line 1347 of file AArch64PostLegalizerLowering.cpp.
Lower AArch64 MachineInstrs after false |
Definition at line 1348 of file AArch64PostLegalizerLowering.cpp.
Lower AArch64 MachineInstrs after legalization |
Definition at line 1348 of file AArch64PostLegalizerLowering.cpp.