|
LLVM
4.0.0
|
#include "AMDGPU.h"#include "AMDGPUSubtarget.h"#include "SIInstrInfo.h"#include "SIRegisterInfo.h"#include "llvm/CodeGen/LiveIntervalAnalysis.h"#include "llvm/CodeGen/LiveVariables.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/Support/Debug.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetMachine.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "si-load-store-opt" |
Functions | |
| INITIALIZE_PASS_BEGIN (SILoadStoreOptimizer, DEBUG_TYPE,"SI Load / Store Optimizer", false, false) INITIALIZE_PASS_END(SILoadStoreOptimizer | |
| static void | moveInstsAfter (MachineBasicBlock::iterator I, ArrayRef< MachineInstr * > InstsToMove) |
| static void | addDefsToList (const MachineInstr &MI, SmallVectorImpl< const MachineOperand * > &Defs) |
| static bool | memAccessesCanBeReordered (MachineBasicBlock::iterator A, MachineBasicBlock::iterator B, const SIInstrInfo *TII, llvm::AliasAnalysis *AA) |
| static bool | addToListsIfDependent (MachineInstr &MI, SmallVectorImpl< const MachineOperand * > &Defs, SmallVectorImpl< MachineInstr * > &Insts) |
| static bool | canMoveInstsAcrossMemOp (MachineInstr &MemOp, ArrayRef< MachineInstr * > InstsToMove, const SIInstrInfo *TII, AliasAnalysis *AA) |
Variables | |
| DEBUG_TYPE | |
| SI Load Store | Optimizer |
| SI Load Store | false |
| #define DEBUG_TYPE "si-load-store-opt" |
Definition at line 54 of file SILoadStoreOptimizer.cpp.
|
static |
Definition at line 137 of file SILoadStoreOptimizer.cpp.
References llvm::tgtok::Def, llvm::MachineInstr::defs(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by addToListsIfDependent().
|
static |
Definition at line 159 of file SILoadStoreOptimizer.cpp.
References addDefsToList(), llvm::tgtok::Def, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::MachineInstr::readsVirtualRegister().
|
static |
Definition at line 178 of file SILoadStoreOptimizer.cpp.
References assert(), llvm::MachineInstr::mayLoadOrStore(), and memAccessesCanBeReordered().
| INITIALIZE_PASS_BEGIN | ( | SILoadStoreOptimizer | , |
| DEBUG_TYPE | , | ||
| "SI Load / Store Optimizer" | , | ||
| false | , | ||
| false | |||
| ) |
|
static |
Definition at line 144 of file SILoadStoreOptimizer.cpp.
References llvm::SIInstrInfo::areMemAccessesTriviallyDisjoint().
Referenced by canMoveInstsAcrossMemOp().
|
static |
Definition at line 127 of file SILoadStoreOptimizer.cpp.
References I, llvm::MachineBasicBlock::insert(), MBB, and MI.
| DEBUG_TYPE |
Definition at line 116 of file SILoadStoreOptimizer.cpp.
| SI Load Store false |
Definition at line 116 of file SILoadStoreOptimizer.cpp.
| SI Load Store Optimizer |
Definition at line 116 of file SILoadStoreOptimizer.cpp.
1.8.6