|
LLVM 22.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.
Definition at line 148 of file HexagonShuffler.cpp.
References checkHVXPipes(), makeAllBits(), and llvm::SmallVectorTemplateCommon< T, typename >::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, llvm::join(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::utostr().
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().