LLVM 20.0.0git
|
Post-legalization combines on generic MachineInstrs. More...
#include "AArch64TargetMachine.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/CodeGen/GlobalISel/CSEInfo.h"
#include "llvm/CodeGen/GlobalISel/CSEMIRBuilder.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/GISelKnownBits.h"
#include "llvm/CodeGen/GlobalISel/GenericMachineInstrs.h"
#include "llvm/CodeGen/GlobalISel/MIPatternMatch.h"
#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"
#include "llvm/CodeGen/GlobalISel/Utils.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/CodeGen/TargetPassConfig.h"
#include "llvm/Support/Debug.h"
#include "AArch64GenPostLegalizeGICombiner.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-combiner" |
#define | GET_GICOMBINER_TYPES |
#define | GET_GICOMBINER_CLASS_MEMBERS |
#define | GET_GICOMBINER_IMPL |
#define | GET_GICOMBINER_CONSTRUCTOR_INITS |
Functions | |
INITIALIZE_PASS_BEGIN (AArch64PostLegalizerCombiner, DEBUG_TYPE, "Combine AArch64 MachineInstrs after legalization", false, false) INITIALIZE_PASS_END(AArch64PostLegalizerCombiner | |
FunctionPass * | llvm::createAArch64PostLegalizerCombiner (bool IsOptNone) |
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.
#define DEBUG_TYPE "aarch64-postlegalizer-combiner" |
Definition at line 47 of file AArch64PostLegalizerCombiner.cpp.
#define GET_GICOMBINER_CLASS_MEMBERS |
Definition at line 461 of file AArch64PostLegalizerCombiner.cpp.
#define GET_GICOMBINER_CONSTRUCTOR_INITS |
#define GET_GICOMBINER_DEPS |
Definition at line 43 of file AArch64PostLegalizerCombiner.cpp.
#define GET_GICOMBINER_IMPL |
Definition at line 466 of file AArch64PostLegalizerCombiner.cpp.
#define GET_GICOMBINER_TYPES |
Definition at line 54 of file AArch64PostLegalizerCombiner.cpp.
INITIALIZE_PASS_BEGIN | ( | AArch64PostLegalizerCombiner | , |
DEBUG_TYPE | , | ||
"Combine AArch64 MachineInstrs after legalization" | , | ||
false | , | ||
false | |||
) |
DEBUG_TYPE |
Definition at line 774 of file AArch64PostLegalizerCombiner.cpp.
|
static |
Combine AArch64 MachineInstrs after false |
Definition at line 775 of file AArch64PostLegalizerCombiner.cpp.
Combine AArch64 MachineInstrs after legalization |
Definition at line 775 of file AArch64PostLegalizerCombiner.cpp.