|
LLVM 22.0.0git
|
#include "AArch64InstrInfo.h"#include "AArch64MachineFunctionInfo.h"#include "AArch64Subtarget.h"#include "llvm/ADT/SmallVector.h"#include "llvm/CodeGen/MachineBasicBlock.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/TargetRegisterInfo.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "aarch64-sme-peephole-opt" |
Functions | |
| static bool | isConditionalStartStop (const MachineInstr *MI) |
| static bool | isMatchingStartStopPair (const MachineInstr *MI1, const MachineInstr *MI2) |
| static bool | ChangesStreamingMode (const MachineInstr *MI) |
| static bool | isSVERegOp (const TargetRegisterInfo &TRI, const MachineRegisterInfo &MRI, const MachineOperand &MO) |
| INITIALIZE_PASS (SMEPeepholeOpt, "aarch64-sme-peephole-opt", "SME Peephole Optimization", false, false) bool SMEPeepholeOpt | |
| #define DEBUG_TYPE "aarch64-sme-peephole-opt" |
Definition at line 24 of file SMEPeepholeOpt.cpp.
|
static |
Definition at line 97 of file SMEPeepholeOpt.cpp.
| INITIALIZE_PASS | ( | SMEPeepholeOpt | , |
| "aarch64-sme-peephole-opt" | , | ||
| "SME Peephole Optimization" | , | ||
| false | , | ||
| false | ) |
Definition at line 290 of file SMEPeepholeOpt.cpp.
References assert(), Changed, for(), if(), llvm::AArch64Subtarget::isStreaming(), llvm::make_early_inc_range(), MBB, MI, and llvm::AArch64FunctionInfo::setHasStreamingModeChanges().
|
static |
Definition at line 53 of file SMEPeepholeOpt.cpp.
References MI.
Referenced by isMatchingStartStopPair().
|
static |
Definition at line 57 of file SMEPeepholeOpt.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getRegMask(), isConditionalStartStop(), llvm::Register::isPhysical(), and llvm::MachineOperand::isReg().
|
static |
Definition at line 105 of file SMEPeepholeOpt.cpp.
References llvm::any_of(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isReg(), MRI, and TRI.