LLVM 20.0.0git
Namespaces | Macros | Functions | Variables
HexagonLoadStoreWidening.cpp File Reference
#include "HexagonInstrInfo.h"
#include "HexagonRegisterInfo.h"
#include "HexagonSubtarget.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/MemoryLocation.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/MachineMemOperand.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/InitializePasses.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <iterator>
#include <vector>

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   "hexagon-load-store-widening"
 

Functions

FunctionPassllvm::createHexagonStoreWidening ()
 
FunctionPassllvm::createHexagonLoadWidening ()
 
void llvm::initializeHexagonStoreWideningPass (PassRegistry &)
 
void llvm::initializeHexagonLoadWideningPass (PassRegistry &)
 
 INITIALIZE_PASS_BEGIN (HexagonStoreWidening, "hexagon-widen-stores", "Hexagon Store Widening", false, false) INITIALIZE_PASS_END(HexagonStoreWidening
 
hexagon widen Hexagon Store false INITIALIZE_PASS_BEGIN (HexagonLoadWidening, "hexagon-widen-loads", "Hexagon Load Widening", false, false) INITIALIZE_PASS_END(HexagonLoadWidening
 
hexagon widen Hexagon Store false hexagon widen Hexagon Load static false const MachineMemOperandgetMemTarget (const MachineInstr *MI)
 
static void addDefsUsesToList (const MachineInstr *MI, DenseSet< Register > &RegDefs, DenseSet< Register > &RegUses)
 

Variables

static cl::opt< unsignedMaxMBBSizeForLoadStoreWidening ("max-bb-size-for-load-store-widening", cl::Hidden, cl::init(1000), cl::desc("Limit block size to analyze in load/store widening pass"))
 
hexagon widen stores
 
hexagon widen Hexagon Store Widening
 
hexagon widen Hexagon Store false
 
hexagon widen Hexagon Store false hexagon widen loads
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "hexagon-load-store-widening"

Definition at line 69 of file HexagonLoadStoreWidening.cpp.

Function Documentation

◆ addDefsUsesToList()

static void addDefsUsesToList ( const MachineInstr MI,
DenseSet< Register > &  RegDefs,
DenseSet< Register > &  RegUses 
)
static

◆ getMemTarget()

hexagon widen Hexagon Store false hexagon widen Hexagon Load static false const MachineMemOperand & getMemTarget ( const MachineInstr MI)
static

Definition at line 209 of file HexagonLoadStoreWidening.cpp.

References assert(), and MI.

◆ INITIALIZE_PASS_BEGIN() [1/2]

hexagon widen Hexagon Store false INITIALIZE_PASS_BEGIN ( HexagonLoadWidening  ,
"hexagon-widen-loads"  ,
"Hexagon Load Widening"  ,
false  ,
false   
)

◆ INITIALIZE_PASS_BEGIN() [2/2]

INITIALIZE_PASS_BEGIN ( HexagonStoreWidening  ,
"hexagon-widen-stores"  ,
"Hexagon Store Widening"  ,
false  ,
false   
)

Variable Documentation

◆ false

hexagon widen Hexagon Store false hexagon widen Hexagon Load false

Definition at line 201 of file HexagonLoadStoreWidening.cpp.

◆ loads

hexagon widen Hexagon Store false hexagon widen loads

◆ MaxMBBSizeForLoadStoreWidening

cl::opt< unsigned > MaxMBBSizeForLoadStoreWidening("max-bb-size-for-load-store-widening", cl::Hidden, cl::init(1000), cl::desc("Limit block size to analyze in load/store widening pass")) ( "max-bb-size-for-load-store-widening"  ,
cl::Hidden  ,
cl::init(1000)  ,
cl::desc("Limit block size to analyze in load/store widening pass")   
)
static

◆ stores

hexagon widen stores

◆ Widening

hexagon widen Hexagon Store false hexagon widen Hexagon Load Widening

Definition at line 201 of file HexagonLoadStoreWidening.cpp.