22 #define DEBUG_TYPE "hexagontti"
38 return vector ? 0 : 32;
50 auto isCastFoldedIntoLoad = [] (
const CastInst *CI) ->
bool {
51 if (!CI->isIntegerCast())
62 unsigned SBW = CI->getSrcTy()->getIntegerBitWidth();
63 unsigned DBW = CI->getDestTy()->getIntegerBitWidth();
64 return DBW == 32 && (SBW < DBW);
67 if (
const CastInst *CI = dyn_cast<const CastInst>(U))
68 if (isCastFoldedIntoLoad(CI))
unsigned getCacheLineSize() const
An instruction for reading from memory.
This is the base class for all instructions that perform data casts.
unsigned getL1CacheLineSize() const
unsigned getPrefetchDistance() const
unsigned getL1PrefetchDistance() const
unsigned getNumberOfRegisters(bool vector) const
void getUnrollingPreferences(Loop *L, TTI::UnrollingPreferences &UP)
Represents a single loop in the control flow graph.
bool hasOneUse() const
Return true if there is exactly one user of this value.
LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)
int getUserCost(const User *U)
TTI::PopcntSupportKind getPopcntSupport(unsigned IntTyWidthInBit) const