diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp | 8 | ||||
| -rw-r--r-- | llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h | 3 | 
2 files changed, 11 insertions, 0 deletions
| diff --git a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp index 4135d0cec70..aac810e29fe 100644 --- a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp +++ b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp @@ -21,6 +21,10 @@ using namespace llvm;  #define DEBUG_TYPE "hexagontti" +static cl::opt<bool> EmitLookupTables("hexagon-emit-lookup-tables", +  cl::init(true), cl::Hidden, +  cl::desc("Control lookup table emission on Hexagon target")); +  TargetTransformInfo::PopcntSupportKind  HexagonTTIImpl::getPopcntSupport(unsigned IntTyWidthInBit) const {    // Return Fast Hardware support as every input  < 64 bits will be promoted @@ -70,3 +74,7 @@ int HexagonTTIImpl::getUserCost(const User *U,        return TargetTransformInfo::TCC_Free;    return BaseT::getUserCost(U, Operands);  } + +bool HexagonTTIImpl::shouldBuildLookupTables() const { +   return EmitLookupTables; +} diff --git a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h index f08a2731057..ab5a6e07d87 100644 --- a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h +++ b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h @@ -63,6 +63,9 @@ public:    /// @}    int getUserCost(const User *U, ArrayRef<const Value *> Operands); + +  // Hexagon specific decision to generate a lookup table. +  bool shouldBuildLookupTables() const;  };  } // end namespace llvm | 

