LLVM  4.0.0
Macros | Functions | Variables
SILoadStoreOptimizer.cpp File Reference
#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"
Include dependency graph for SILoadStoreOptimizer.cpp:

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
 

Macro Definition Documentation

#define DEBUG_TYPE   "si-load-store-opt"

Definition at line 54 of file SILoadStoreOptimizer.cpp.

Function Documentation

static void addDefsToList ( const MachineInstr MI,
SmallVectorImpl< const MachineOperand * > &  Defs 
)
static
static bool addToListsIfDependent ( MachineInstr MI,
SmallVectorImpl< const MachineOperand * > &  Defs,
SmallVectorImpl< MachineInstr * > &  Insts 
)
static
static bool canMoveInstsAcrossMemOp ( MachineInstr MemOp,
ArrayRef< MachineInstr * >  InstsToMove,
const SIInstrInfo TII,
AliasAnalysis AA 
)
static
INITIALIZE_PASS_BEGIN ( SILoadStoreOptimizer  ,
DEBUG_TYPE  ,
"SI Load / Store Optimizer ,
false  ,
false   
)
static bool memAccessesCanBeReordered ( MachineBasicBlock::iterator  A,
MachineBasicBlock::iterator  B,
const SIInstrInfo TII,
llvm::AliasAnalysis AA 
)
static
static void moveInstsAfter ( MachineBasicBlock::iterator  I,
ArrayRef< MachineInstr * >  InstsToMove 
)
static

Definition at line 127 of file SILoadStoreOptimizer.cpp.

References I, llvm::MachineBasicBlock::insert(), MBB, and MI.

Variable Documentation

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.