LLVM  8.0.0svn
Classes | Namespaces | Macros | Enumerations | 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/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
 Compute iterated dominance frontiers using a linear time algorithm.
 

Macros

#define DEBUG_TYPE   "hexagon-isel"
 

Enumerations

enum  ColorKind
 

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, unsignedfindStrip (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.

Enumeration Type Documentation

◆ ColorKind

enum ColorKind
strong

Definition at line 98 of file HexagonISelDAGToDAGHVX.cpp.

Function Documentation

◆ findStrip()

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

Definition at line 884 of file HexagonISelDAGToDAGHVX.cpp.

References assert(), E, F(), I, and llvm::ArrayRef< T >::size().

◆ getHexagonLowering()

static const HexagonTargetLowering& getHexagonLowering ( SelectionDAG G)
static

◆ getHexagonSubtarget()

static const HexagonSubtarget& getHexagonSubtarget ( SelectionDAG G)
static

Definition at line 800 of file HexagonISelDAGToDAGHVX.cpp.

References llvm::SelectionDAG::getSubtarget().

◆ isIdentity()

static bool isIdentity ( ArrayRef< int >  Mask)
static

Definition at line 904 of file HexagonISelDAGToDAGHVX.cpp.

References E, I, and llvm::ArrayRef< T >::size().

◆ isPermutation()

static bool isPermutation ( ArrayRef< int >  Mask)
static

◆ isUndef()

static bool isUndef ( ArrayRef< int >  Mask)
static

◆ splitMask()

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

Definition at line 866 of file HexagonISelDAGToDAGHVX.cpp.

References assert(), I, and llvm::ArrayRef< T >::size().