LLVM  7.0.0svn
Namespaces | Macros | Functions | Variables
HexagonStoreWidening.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/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>
Include dependency graph for HexagonStoreWidening.cpp:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Macros

#define DEBUG_TYPE   "hexagon-widen-stores"
 

Functions

FunctionPassllvm::createHexagonStoreWidening ()
 
void llvm::initializeHexagonStoreWideningPass (PassRegistry &)
 
 INITIALIZE_PASS_BEGIN (HexagonStoreWidening, "hexagon-widen-stores", "Hexason Store Widening", false, false) INITIALIZE_PASS_END(HexagonStoreWidening
 
hexagon widen Hexagon Store static false unsigned getBaseAddressRegister (const MachineInstr *MI)
 
static int64_t getStoreOffset (const MachineInstr *MI)
 
static const MachineMemOperandgetStoreTarget (const MachineInstr *MI)
 

Variables

hexagon widen stores
 
hexagon widen Hexagon Store Widening
 
hexagon widen Hexagon Store false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "hexagon-widen-stores"

Definition at line 24 of file HexagonStoreWidening.cpp.

Function Documentation

◆ getBaseAddressRegister()

hexagon widen Hexagon Store static false unsigned getBaseAddressRegister ( const MachineInstr MI)
static

◆ getStoreOffset()

static int64_t getStoreOffset ( const MachineInstr MI)
static

◆ getStoreTarget()

static const MachineMemOperand& getStoreTarget ( const MachineInstr MI)
static

Definition at line 146 of file HexagonStoreWidening.cpp.

References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstr::addMemOperand(), llvm::MachineInstrBuilder::addReg(), assert(), B, llvm::MachineBasicBlock::back(), llvm::ISD::BR, llvm::BuildMI(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::dbgs(), DEBUG, E, llvm::WebAssembly::End, G, llvm::MachineMemOperand::getAAInfo(), llvm::MachineMemOperand::getAlignment(), getBaseAddressRegister(), llvm::MachineMemOperand::getFlags(), llvm::MachineFunction::getFunction(), llvm::MachineOperand::getImm(), llvm::getKillRegState(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineMemOperand::getPointerInfo(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), llvm::MachineMemOperand::getSize(), getStoreOffset(), llvm::MachineOperand::getSubReg(), llvm::MachineFunction::getSubtarget(), llvm::MachineMemOperand::getValue(), llvm::MachineInstr::hasOrderedMemoryRef(), llvm::MachineInstr::hasUnmodeledSideEffects(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::MachineInstr::isCall(), llvm::MachineOperand::isImm(), llvm::MachineOperand::isKill(), llvm::isPowerOf2_32(), llvm::MachineOperand::isReg(), llvm::RegState::Kill, llvm::CodeGenOpt::Less, llvm::BitmaskEnumDetail::Mask(), llvm::MachineInstr::mayLoad(), llvm::MachineInstr::mayStore(), llvm::MachineInstr::memoperands(), llvm::MachineInstr::memoperands_begin(), llvm::MachineInstr::memoperands_empty(), MI, MRI, Other, SI, llvm::sort(), llvm::ARM_MB::ST, and TII.

◆ INITIALIZE_PASS_BEGIN()

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

Variable Documentation

◆ false

hexagon widen Hexagon Store false

Definition at line 118 of file HexagonStoreWidening.cpp.

◆ stores

hexagon widen stores

Definition at line 118 of file HexagonStoreWidening.cpp.

Referenced by llvm::HexagonShuffler::check(), and matchPair().

◆ Widening

hexagon widen Hexagon Store Widening

Definition at line 118 of file HexagonStoreWidening.cpp.