LLVM 22.0.0git
|
#include "Hexagon.h"
#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>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "hexagon-load-store-widening" |
Functions | |
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 MachineMemOperand & | getMemTarget (const MachineInstr *MI) |
static void | addDefsUsesToList (const MachineInstr *MI, DenseSet< Register > &RegDefs, DenseSet< Register > &RegUses) |
Variables | |
static 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")) |
hexagon widen | stores |
hexagon widen Hexagon Store | Widening |
hexagon widen Hexagon Store | false |
hexagon widen Hexagon Store false hexagon widen | loads |
#define DEBUG_TYPE "hexagon-load-store-widening" |
Definition at line 69 of file HexagonLoadStoreWidening.cpp.
|
static |
Definition at line 273 of file HexagonLoadStoreWidening.cpp.
References llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert(), and MI.
|
static |
Definition at line 196 of file HexagonLoadStoreWidening.cpp.
References assert(), const, getMemTarget(), and MI.
Referenced by getMemTarget().
hexagon widen Hexagon Store false INITIALIZE_PASS_BEGIN | ( | HexagonLoadWidening | , |
"hexagon-widen-loads" | , | ||
"Hexagon Load Widening" | , | ||
false | , | ||
false | ) |
References INITIALIZE_PASS_BEGIN, and INITIALIZE_PASS_DEPENDENCY.
INITIALIZE_PASS_BEGIN | ( | HexagonStoreWidening | , |
"hexagon-widen-stores" | , | ||
"Hexagon Store Widening" | , | ||
false | , | ||
false | ) |
References INITIALIZE_PASS_DEPENDENCY.
hexagon widen Hexagon Store false hexagon widen Hexagon Load false |
Definition at line 188 of file HexagonLoadStoreWidening.cpp.
hexagon widen Hexagon Store false hexagon widen loads |
Definition at line 193 of file HexagonLoadStoreWidening.cpp.
Referenced by llvm::ScheduleDAGInstrs::reduceHugeMemNodeMaps().
|
static |
hexagon widen stores |
Definition at line 187 of file HexagonLoadStoreWidening.cpp.
Referenced by llvm::ScheduleDAGInstrs::reduceHugeMemNodeMaps().
hexagon widen Hexagon Store false hexagon widen Hexagon Load Widening |
Definition at line 188 of file HexagonLoadStoreWidening.cpp.