LLVM  13.0.0git
Classes | Namespaces | Macros | Functions
HexagonISelDAGToDAGHVX.cpp File Reference
#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/IR/IntrinsicsHexagon.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include <deque>
#include <map>
#include <set>
#include <utility>
#include <vector>
Include dependency graph for HexagonISelDAGToDAGHVX.cpp:

Go to the source code of this file.

Classes

struct  llvm::HvxSelector
 

Namespaces

 llvm
 

Macros

#define DEBUG_TYPE   "hexagon-isel"
 

Functions

static const HexagonTargetLoweringgetHexagonLowering (SelectionDAG &G)
 
static const HexagonSubtargetgetHexagonSubtarget (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)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "hexagon-isel"

Definition at line 27 of file HexagonISelDAGToDAGHVX.cpp.

Function Documentation

◆ findStrip()

static std::pair<int,unsigned> findStrip ( ArrayRef< int A,
int  Inc,
unsigned  MaxLen 
)
static

Definition at line 891 of file HexagonISelDAGToDAGHVX.cpp.

References assert(), E, F, and I.

◆ getHexagonLowering()

static const HexagonTargetLowering& getHexagonLowering ( SelectionDAG G)
static

Definition at line 803 of file HexagonISelDAGToDAGHVX.cpp.

References G.

◆ getHexagonSubtarget()

static const HexagonSubtarget& getHexagonSubtarget ( SelectionDAG G)
static

Definition at line 806 of file HexagonISelDAGToDAGHVX.cpp.

References G.

◆ isIdentity()

static bool isIdentity ( ArrayRef< int Mask)
static

Definition at line 911 of file HexagonISelDAGToDAGHVX.cpp.

References E, I, M, and llvm::BitmaskEnumDetail::Mask().

◆ isPermutation()

static bool isPermutation ( ArrayRef< int Mask)
static

Definition at line 920 of file HexagonISelDAGToDAGHVX.cpp.

References assert(), llvm::BitmaskEnumDetail::Mask(), and N.

◆ isUndef()

static bool isUndef ( ArrayRef< int Mask)
static

◆ splitMask()

static void splitMask ( ArrayRef< int Mask,
MutableArrayRef< int MaskL,
MutableArrayRef< int MaskR 
)
static