LLVM
8.0.1
|
#include "Hexagon.h"
#include "HexagonISelDAGToDAG.h"
#include "HexagonISelLowering.h"
#include "HexagonTargetMachine.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/SelectionDAGISel.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include <deque>
#include <map>
#include <set>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
struct | llvm::HvxSelector |
Namespaces | |
llvm | |
This class represents lattice values for constants. | |
Macros | |
#define | DEBUG_TYPE "hexagon-isel" |
Enumerations | |
enum | ColorKind |
Functions | |
static const HexagonTargetLowering & | getHexagonLowering (SelectionDAG &G) |
static const HexagonSubtarget & | getHexagonSubtarget (SelectionDAG &G) |
static void | splitMask (ArrayRef< int > Mask, MutableArrayRef< int > MaskL, MutableArrayRef< int > MaskR) |
static std::pair< int, unsigned > | findStrip (ArrayRef< int > A, int Inc, unsigned MaxLen) |
static bool | isUndef (ArrayRef< int > Mask) |
static bool | isIdentity (ArrayRef< int > Mask) |
static bool | isPermutation (ArrayRef< int > Mask) |
#define DEBUG_TYPE "hexagon-isel" |
Definition at line 27 of file HexagonISelDAGToDAGHVX.cpp.
|
strong |
Definition at line 98 of file HexagonISelDAGToDAGHVX.cpp.
Definition at line 884 of file HexagonISelDAGToDAGHVX.cpp.
References assert(), E, F(), I, and llvm::ArrayRef< T >::size().
|
static |
Definition at line 797 of file HexagonISelDAGToDAGHVX.cpp.
References llvm::SelectionDAG::getTargetLoweringInfo().
|
static |
Definition at line 800 of file HexagonISelDAGToDAGHVX.cpp.
References llvm::SelectionDAG::getSubtarget().
Definition at line 904 of file HexagonISelDAGToDAGHVX.cpp.
References E, I, and llvm::ArrayRef< T >::size().
Definition at line 913 of file HexagonISelDAGToDAGHVX.cpp.
References assert(), llvm::HexagonISD::AT_PCREL, llvm::HexagonISD::CP, llvm::HvxSelector::DAG, llvm::dbgs(), DEBUG_WITH_TYPE, E, llvm::SDValue::getNode(), llvm::SDNode::getNumOperands(), llvm::SDValue::getOpcode(), llvm::SDNode::getOpcode(), llvm::SDValue::getOperand(), llvm::SDNode::getOperand(), llvm::SDNode::hasOneUse(), I, llvm::SetVector< T, Vector, Set >::insert(), llvm::HvxSelector::ISel, llvm::SDNode::isMachineOpcode(), llvm::ISD::LOAD, N, llvm::SmallVectorTemplateBase< T >::push_back(), llvm::SelectionDAG::RemoveDeadNodes(), Results, llvm::HexagonDAGToDAGISel::Select(), llvm::SetVector< T, Vector, Set >::size(), llvm::ArrayRef< T >::size(), llvm::ISD::TargetConstantPool, llvm::SDNode::use_begin(), llvm::HexagonISD::VSPLATW, llvm::HexagonISD::VZERO, and llvm::RISCVFenceField::W.
Definition at line 897 of file HexagonISelDAGToDAGHVX.cpp.
Referenced by buildVector(), CompactSwizzlableVector(), llvm::finalizeBundle(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), llvm::SelectionDAG::getCALLSEQ_END(), llvm::HexagonInstrInfo::getPredReg(), llvm::SDValue::getScalarValueSizeInBits(), llvm::HexagonInstrInfo::insertBranch(), llvm::SIInstrInfo::insertBranch(), lowerV4X128VectorShuffle(), resolveTargetShuffleInputsAndMask(), llvm::HexagonTargetLowering::shouldExpandAtomicRMWInIR(), llvm::TargetLowering::SimplifyDemandedVectorElts(), llvm::X86TargetLowering::SimplifyDemandedVectorEltsForTargetNode(), and vectorEltWillFoldAway().
|
static |
Definition at line 866 of file HexagonISelDAGToDAGHVX.cpp.
References assert(), I, and llvm::ArrayRef< T >::size().