LLVM 20.0.0git
|
#include "MCTargetDesc/HexagonShuffler.h"
#include "MCTargetDesc/HexagonBaseInfo.h"
#include "MCTargetDesc/HexagonMCInstrInfo.h"
#include "MCTargetDesc/HexagonMCTargetDesc.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/Twine.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <optional>
#include <utility>
Go to the source code of this file.
Classes | |
struct | CVIUnits |
Macros | |
#define | DEBUG_TYPE "hexagon-shuffle" |
Typedefs | |
using | HVXInstsT = SmallVector< struct CVIUnits, 8 > |
Functions | |
static unsigned | makeAllBits (unsigned startBit, unsigned Lanes) |
static bool | checkHVXPipes (const HVXInstsT &hvxInsts, unsigned startIdx, unsigned usedUnits) |
static std::string | SlotMaskToText (unsigned SlotMask) |
Variables | |
static const unsigned | Slot0Mask = 1 << 0 |
static const unsigned | Slot1Mask = 1 << 1 |
static const unsigned | Slot3Mask = 1 << 3 |
static const unsigned | slotSingleLoad = Slot0Mask |
static const unsigned | slotSingleStore = Slot0Mask |
#define DEBUG_TYPE "hexagon-shuffle" |
Definition at line 34 of file HexagonShuffler.cpp.
using HVXInstsT = SmallVector<struct CVIUnits, 8> |
Definition at line 139 of file HexagonShuffler.cpp.
|
static |
Definition at line 148 of file HexagonShuffler.cpp.
References checkHVXPipes(), makeAllBits(), and llvm::SmallVectorBase< Size_T >::size().
Referenced by checkHVXPipes(), and llvm::HexagonShuffler::ValidResourceUsage().
Definition at line 141 of file HexagonShuffler.cpp.
Referenced by checkHVXPipes().
|
static |
Definition at line 442 of file HexagonShuffler.cpp.
References HEXAGON_PACKET_SIZE, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::HexagonShuffler::GetPacketSummary(), and llvm::HexagonShuffler::reportResourceUsage().
Definition at line 189 of file HexagonShuffler.cpp.
Referenced by llvm::HexagonShuffler::restrictStoreLoadOrder().
Definition at line 190 of file HexagonShuffler.cpp.
Referenced by llvm::HexagonShuffler::restrictNoSlot1Store(), llvm::HexagonShuffler::restrictSlot1AOK(), and llvm::HexagonShuffler::restrictStoreLoadOrder().
Definition at line 191 of file HexagonShuffler.cpp.
Referenced by llvm::HexagonShuffler::restrictPreferSlot3().
Definition at line 192 of file HexagonShuffler.cpp.
Referenced by llvm::HexagonShuffler::GetPacketSummary(), and llvm::HexagonShuffler::restrictStoreLoadOrder().
Definition at line 193 of file HexagonShuffler.cpp.
Referenced by llvm::HexagonShuffler::GetPacketSummary(), and llvm::HexagonShuffler::restrictStoreLoadOrder().