LLVM: lib/CodeGen/LibcallLoweringInfo.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

14

15using namespace llvm;

16

20 : RTLCI(RTLCI) {

21

22

24 if (RTLCI.isAvailable(Impl)) {

26

27 if (LibcallImpls[LC] == RTLIB::Unsupported)

28 LibcallImpls[LC] = Impl;

29 }

30 }

31

33}

34

35AnalysisKey LibcallLoweringModuleAnalysis::Key;

36

39 ModuleAnalysisManager::Invalidator &) {

40

41

43 return !PAC.preservedWhenStateless();

44}

45

49 return LibcallLoweringMap;

50}

51

53 "Library Function Lowering Analysis", false, true)

56 "Library Function Lowering Analysis", false, true)

57

59

61

66

71

ModuleAnalysisManager MAM

#define INITIALIZE_PASS_DEPENDENCY(depName)

#define INITIALIZE_PASS_END(passName, arg, name, cfg, analysis)

#define INITIALIZE_PASS_BEGIN(passName, arg, name, cfg, analysis)

Represent the analysis usage information of a pass.

AnalysisUsage & addRequired()

void setPreservesAll()

Set by analyses that do not transform their input at all.

void releaseMemory() override

releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memo...

Definition LibcallLoweringInfo.cpp:72

bool doInitialization(Module &M) override

doInitialization - Virtual method overridden by subclasses to do any necessary initialization before ...

Definition LibcallLoweringInfo.cpp:62

LibcallLoweringInfoWrapper()

Definition LibcallLoweringInfo.cpp:60

void getAnalysisUsage(AnalysisUsage &AU) const override

getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...

Definition LibcallLoweringInfo.cpp:67

LLVM_ABI LibcallLoweringInfo(const RTLIB::RuntimeLibcallsInfo &RTLCI, const TargetSubtargetInfo &Subtarget)

Definition LibcallLoweringInfo.cpp:17

Record a mapping from subtarget to LibcallLoweringInfo.

void init(const RTLIB::RuntimeLibcallsInfo *RT)

LLVM_ABI bool invalidate(Module &, const PreservedAnalyses &, ModuleAnalysisManager::Invalidator &)

Definition LibcallLoweringInfo.cpp:37

LLVM_ABI Result run(Module &M, ModuleAnalysisManager &)

Definition LibcallLoweringInfo.cpp:47

A Module instance is used to store all the information related to an LLVM module.

AnalysisType & getAnalysis() const

getAnalysis() - This function is used by subclasses to get to the analysis information ...

A set of analyses that are preserved following a run of a transformation pass.

PreservedAnalysisChecker getChecker() const

Build a checker for this PreservedAnalyses and the specified analysis type.

TargetSubtargetInfo - Generic base class for all target subtargets.

virtual void initLibcallLoweringInfo(LibcallLoweringInfo &Info) const

Configure the LibcallLoweringInfo for this subtarget.

unsigned ID

LLVM IR allows to use arbitrary numbers as calling convention identifiers.

static auto libcall_impls()

This is an optimization pass for GlobalISel generic memory operations.

AnalysisManager< Module > ModuleAnalysisManager

Convenience typedef for the Module analysis manager.

A special type used by analysis passes to provide an address that identifies that particular analysis...

A simple container for information about the supported runtime calls.

static RTLIB::Libcall getLibcallFromImpl(RTLIB::LibcallImpl Impl)

Return the libcall provided by Impl.