|
LLVM 22.0.0git
|
This file implements the targeting of the InstructionSelector class for PowerPC. More...
#include "PPC.h"#include "PPCInstrInfo.h"#include "PPCMachineFunctionInfo.h"#include "PPCRegisterBankInfo.h"#include "PPCSubtarget.h"#include "PPCTargetMachine.h"#include "llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h"#include "llvm/CodeGen/GlobalISel/GenericMachineInstrs.h"#include "llvm/CodeGen/GlobalISel/InstructionSelector.h"#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"#include "llvm/CodeGen/MachineConstantPool.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/IR/IntrinsicsPowerPC.h"#include "llvm/Support/Debug.h"#include "PPCGenGlobalISel.inc"Go to the source code of this file.
Namespaces | |
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
| #define | DEBUG_TYPE "ppc-gisel" |
| #define | GET_GLOBALISEL_PREDICATE_BITSET |
| #define | GET_GLOBALISEL_PREDICATES_DECL |
| #define | GET_GLOBALISEL_TEMPORARIES_DECL |
| #define | GET_GLOBALISEL_IMPL |
| #define | GET_GLOBALISEL_PREDICATES_INIT |
| #define | GET_GLOBALISEL_TEMPORARIES_INIT |
Functions | |
| static bool | selectCopy (MachineInstr &I, const TargetInstrInfo &TII, MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI, const RegisterBankInfo &RBI) |
| static unsigned | selectLoadStoreOp (unsigned GenericOpc, unsigned RegBankID, unsigned OpSize) |
| static uint32_t | findContiguousZerosAtLeast (uint64_t Imm, unsigned Num) |
| InstructionSelector * | llvm::createPPCInstructionSelector (const PPCTargetMachine &TM, const PPCSubtarget &Subtarget, const PPCRegisterBankInfo &RBI) |
This file implements the targeting of the InstructionSelector class for PowerPC.
Definition in file PPCInstructionSelector.cpp.
| #define DEBUG_TYPE "ppc-gisel" |
Definition at line 28 of file PPCInstructionSelector.cpp.
| #define GET_GLOBALISEL_IMPL |
Definition at line 85 of file PPCInstructionSelector.cpp.
| #define GET_GLOBALISEL_PREDICATE_BITSET |
Definition at line 34 of file PPCInstructionSelector.cpp.
| #define GET_GLOBALISEL_PREDICATES_DECL |
Definition at line 74 of file PPCInstructionSelector.cpp.
| #define GET_GLOBALISEL_PREDICATES_INIT |
| #define GET_GLOBALISEL_TEMPORARIES_DECL |
Definition at line 78 of file PPCInstructionSelector.cpp.
| #define GET_GLOBALISEL_TEMPORARIES_INIT |
Definition at line 277 of file PPCInstructionSelector.cpp.
References llvm::countl_zero(), llvm::countr_zero(), llvm::Hi_32(), and llvm::Lo_32().
Referenced by selectI64ImmDirect().
|
static |
Definition at line 130 of file PPCInstructionSelector.cpp.
References llvm::RegisterBankInfo::constrainGenericRegister(), llvm::dbgs(), llvm::RegisterBankInfo::getRegBank(), getRegClass(), I, llvm::Register::isPhysical(), LLVM_DEBUG, MRI, TII, and TRI.
Definition at line 154 of file PPCInstructionSelector.cpp.
References llvm_unreachable.