LLVM 20.0.0git
Macros | Variables
HexagonTargetTransformInfo.cpp File Reference

This file implements a TargetTransformInfo analysis pass specific to the Hexagon target machine. More...

#include "HexagonTargetTransformInfo.h"
#include "HexagonSubtarget.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/User.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Transforms/Utils/LoopPeel.h"
#include "llvm/Transforms/Utils/UnrollLoop.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "hexagontti"
 

Variables

static cl::opt< boolHexagonAutoHVX ("hexagon-autohvx", cl::init(false), cl::Hidden, cl::desc("Enable loop vectorizer for HVX"))
 
static cl::opt< boolEnableV68FloatAutoHVX ("force-hvx-float", cl::Hidden, cl::desc("Enable auto-vectorization of floatint point types on v68."))
 
static cl::opt< boolEmitLookupTables ("hexagon-emit-lookup-tables", cl::init(true), cl::Hidden, cl::desc("Control lookup table emission on Hexagon target"))
 
static cl::opt< boolHexagonMaskedVMem ("hexagon-masked-vmem", cl::init(true), cl::Hidden, cl::desc("Enable masked loads/stores for HVX"))
 
static const unsigned FloatFactor = 4
 

Detailed Description

This file implements a TargetTransformInfo analysis pass specific to the Hexagon target machine.

It uses the target's detailed information to provide more precise answers to certain TTI queries, while letting the target independent and default TTI implementations handle the rest.

Definition in file HexagonTargetTransformInfo.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "hexagontti"

Definition at line 29 of file HexagonTargetTransformInfo.cpp.

Variable Documentation

◆ EmitLookupTables

cl::opt< bool > EmitLookupTables("hexagon-emit-lookup-tables", cl::init(true), cl::Hidden, cl::desc("Control lookup table emission on Hexagon target")) ( "hexagon-emit-lookup-tables"  ,
cl::init(true ,
cl::Hidden  ,
cl::desc("Control lookup table emission on Hexagon target")   
)
static

◆ EnableV68FloatAutoHVX

cl::opt< bool > EnableV68FloatAutoHVX("force-hvx-float", cl::Hidden, cl::desc("Enable auto-vectorization of floatint point types on v68.")) ( "force-hvx-float"  ,
cl::Hidden  ,
cl::desc("Enable auto-vectorization of floatint point types on v68.")   
)
static

◆ FloatFactor

const unsigned FloatFactor = 4
static

◆ HexagonAutoHVX

cl::opt< bool > HexagonAutoHVX("hexagon-autohvx", cl::init(false), cl::Hidden, cl::desc("Enable loop vectorizer for HVX")) ( "hexagon-autohvx"  ,
cl::init(false)  ,
cl::Hidden  ,
cl::desc("Enable loop vectorizer for HVX")   
)
static

◆ HexagonMaskedVMem

cl::opt< bool > HexagonMaskedVMem("hexagon-masked-vmem", cl::init(true), cl::Hidden, cl::desc("Enable masked loads/stores for HVX")) ( "hexagon-masked-vmem"  ,
cl::init(true ,
cl::Hidden  ,
cl::desc("Enable masked loads/stores for HVX")   
)
static