|
LLVM 24.0.0git
|
#include "X86.h"#include "X86InstrInfo.h"#include "X86Subtarget.h"#include "llvm/Analysis/AliasAnalysis.h"#include "llvm/CodeGen/MachineBasicBlock.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineOperand.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/RegisterClassInfo.h"#include "llvm/IR/DebugLoc.h"#include "llvm/IR/Function.h"#include "llvm/InitializePasses.h"#include "llvm/MC/MCInstrDesc.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "x86-avoid-sfb" |
Variables | |
| DEBUG_TYPE | |
| Machine code | sinking |
| Machine code | false |
| static const int | MOV128SZ = 16 |
| static const int | MOV64SZ = 8 |
| static const int | MOV32SZ = 4 |
| static const int | MOV16SZ = 2 |
| static const int | MOV8SZ = 1 |
| #define DEBUG_TYPE "x86-avoid-sfb" |
Definition at line 55 of file X86AvoidStoreForwardingBlocks.cpp.
|
static |
Definition at line 332 of file X86AvoidStoreForwardingBlocks.cpp.
References E(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), MBB, MI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::reverse().
|
static |
Definition at line 286 of file X86AvoidStoreForwardingBlocks.cpp.
References assert(), llvm::X86II::getMemoryOperandIdx(), and MI.
Referenced by getBaseOperand(), getDispOperand(), and isRelevantAddressingMode().
|
static |
Definition at line 292 of file X86AvoidStoreForwardingBlocks.cpp.
References llvm::X86::AddrBaseReg, getAddrOffset(), and MI.
Referenced by hasSameBaseOpValue(), isRelevantAddressingMode(), and updateKillStatus().
|
static |
Definition at line 297 of file X86AvoidStoreForwardingBlocks.cpp.
References llvm::X86::AddrDisp, getAddrOffset(), and MI.
Referenced by isRelevantAddressingMode().
Definition at line 228 of file X86AvoidStoreForwardingBlocks.cpp.
References llvm_unreachable.
Definition at line 257 of file X86AvoidStoreForwardingBlocks.cpp.
References llvm_unreachable.
|
static |
Definition at line 593 of file X86AvoidStoreForwardingBlocks.cpp.
References getBaseOperand(), llvm::MachineOperand::getIndex(), llvm::MachineOperand::getReg(), and llvm::MachineOperand::isReg().
| INITIALIZE_PASS_BEGIN | ( | X86AvoidSFBLegacy | , |
| DEBUG_TYPE | , | ||
| "Machine code sinking" | , | ||
| false | , | ||
| false | ) |
References DEBUG_TYPE, and INITIALIZE_PASS_DEPENDENCY.
|
static |
Definition at line 604 of file X86AvoidStoreForwardingBlocks.cpp.
Definition at line 148 of file X86AvoidStoreForwardingBlocks.cpp.
References isXMMLoadOpcode(), and isYMMLoadOpcode().
Definition at line 152 of file X86AvoidStoreForwardingBlocks.cpp.
Definition at line 204 of file X86AvoidStoreForwardingBlocks.cpp.
References isYMMLoadOpcode().
|
static |
Definition at line 305 of file X86AvoidStoreForwardingBlocks.cpp.
References llvm::X86::AddrIndexReg, llvm::X86::AddrScaleAmt, llvm::X86::AddrSegmentReg, llvm::sampleprof::Base, getAddrOffset(), getBaseOperand(), getDispOperand(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isImm(), llvm::MachineOperand::isReg(), and MI.
Definition at line 128 of file X86AvoidStoreForwardingBlocks.cpp.
Referenced by isPotentialBlockedMemCpyLd().
Definition at line 138 of file X86AvoidStoreForwardingBlocks.cpp.
Referenced by isPotentialBlockedMemCpyLd(), and isPotentialBlockingStoreInst().
|
static |
Definition at line 622 of file X86AvoidStoreForwardingBlocks.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::SmallVectorImpl< T >::clear(), llvm::SmallVectorTemplateBase< T, bool >::pop_back(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
|
static |
Definition at line 612 of file X86AvoidStoreForwardingBlocks.cpp.
References Size.
|
static |
Definition at line 478 of file X86AvoidStoreForwardingBlocks.cpp.
References getBaseOperand(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), llvm::ilist_node_with_parent< NodeTy, ParentTy, Options >::getPrevNode(), llvm::MachineOperand::isKill(), llvm::MachineOperand::isReg(), llvm::prev_nodbg(), and llvm::MachineOperand::setIsKill().
| DEBUG_TYPE |
Definition at line 121 of file X86AvoidStoreForwardingBlocks.cpp.
| Machine code false |
Definition at line 122 of file X86AvoidStoreForwardingBlocks.cpp.
|
static |
Definition at line 222 of file X86AvoidStoreForwardingBlocks.cpp.
|
static |
Definition at line 225 of file X86AvoidStoreForwardingBlocks.cpp.
|
static |
Definition at line 224 of file X86AvoidStoreForwardingBlocks.cpp.
|
static |
Definition at line 223 of file X86AvoidStoreForwardingBlocks.cpp.
|
static |
Definition at line 226 of file X86AvoidStoreForwardingBlocks.cpp.
| Machine code sinking |
Definition at line 121 of file X86AvoidStoreForwardingBlocks.cpp.