LLVM: lib/Target/LoongArch/LoongArchTargetTransformInfo.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16#ifndef LLVM_LIB_TARGET_LOONGARCH_LOONGARCHTARGETTRANSFORMINFO_H

17#define LLVM_LIB_TARGET_LOONGARCH_LOONGARCHTARGETTRANSFORMINFO_H

18

23

24namespace llvm {

25

29 friend BaseT;

30

31 enum LoongArchRegisterClass { GPRRC, FPRRC, VRRC };

34

37

38public:

40 : BaseT(TM, F.getDataLayout()), ST(TM->getSubtargetImpl(F)),

41 TLI(ST->getTargetLowering()) {}

42

47 Type *Ty = nullptr) const override;

51

55

57

60};

61

62}

63

64#endif

This file provides a helper that implements much of the TTI interface in terms of the target-independ...

uint64_t IntrinsicInst * II

This pass exposes codegen information to IR-level passes.

BasicTTIImplBase(const TargetMachine *TM, const DataLayout &DL)

A wrapper class for inspecting calls to intrinsic functions.

TTI::PopcntSupportKind getPopcntSupport(unsigned TyWidth) const override

unsigned getCacheLineSize() const override

bool shouldExpandReduction(const IntrinsicInst *II) const override

LoongArchTTIImpl(const LoongArchTargetMachine *TM, const Function &F)

Definition LoongArchTargetTransformInfo.h:39

unsigned getRegisterClassForType(bool Vector, Type *Ty=nullptr) const override

TTI::MemCmpExpansionOptions enableMemCmpExpansion(bool OptSize, bool IsZeroCmp) const override

unsigned getMaxInterleaveFactor(ElementCount VF) const override

const char * getRegisterClassName(unsigned ClassID) const override

unsigned getNumberOfRegisters(unsigned ClassID) const override

unsigned getPrefetchDistance() const override

bool enableWritePrefetching() const override

TypeSize getRegisterBitWidth(TargetTransformInfo::RegisterKind K) const override

virtual const DataLayout & getDataLayout() const

This pass provides access to the codegen interfaces that are needed for IR-level transformations.

PopcntSupportKind

Flags indicating the kind of support for population count.

The instances of the Type class are immutable: once they are created, they are never changed.

This is an optimization pass for GlobalISel generic memory operations.

Returns options for expansion of memcmp. IsZeroCmp is.