LLVM: include/llvm/IR/AutoUpgrade.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_IR_AUTOUPGRADE_H

14#define LLVM_IR_AUTOUPGRADE_H

15

18#include

19

20namespace llvm {

21 class AttrBuilder;

32

35

36

37

38

39

42 bool CanUpgradeDebugIntrinsicsToRecords = true);

43

44

45

47

48

49

51

52

53

54

55

57

58

59

61

62

63

65

66

67

69

70

71

73

75

76

78

79

80

81

83

84

85

88

89

90

91

93 Type *DestTy);

94

95

96

98

99

100

101

102

103

104

105

106

108

109

111 return Name.starts_with("llvm.vectorizer.");

112 }

113

114

116

117

118

120

121

123

124

127

128}

129

130#endif

MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL

static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")

Base class for all callable instructions (InvokeInst and CallInst) Holds everything related to callin...

This is an important base class in LLVM.

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

A container for an operand bundle being viewed as a set of values rather than a set of uses.

StringRef - Represent a constant reference to a string, i.e.

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

LLVM Value Representation.

@ C

The default llvm calling convention, compatible with C.

This is an optimization pass for GlobalISel generic memory operations.

LLVM_ABI void UpgradeIntrinsicCall(CallBase *CB, Function *NewFn)

This is the complement to the above, replacing a specific call to an intrinsic function with a call t...

LLVM_ABI void UpgradeSectionAttributes(Module &M)

LLVM_ABI void UpgradeInlineAsmString(std::string *AsmStr)

Upgrade comment in call to inline asm that represents an objc retain release marker.

LLVM_ABI bool UpgradeIntrinsicFunction(Function *F, Function *&NewFn, bool CanUpgradeDebugIntrinsicsToRecords=true)

This is a more granular function that simply checks an intrinsic function for upgrading,...

LLVM_ABI MDNode * upgradeInstructionLoopAttachment(MDNode &N)

Upgrade the loop attachment metadata node.

LLVM_ABI void UpgradeAttributes(AttrBuilder &B)

Upgrade attributes that changed format or kind.

LLVM_ABI void UpgradeCallsToIntrinsic(Function *F)

This is an auto-upgrade hook for any old intrinsic function syntaxes which need to have both the func...

LLVM_ABI void UpgradeNVVMAnnotations(Module &M)

Convert legacy nvvm.annotations metadata to appropriate function attributes.

LLVM_ABI bool UpgradeModuleFlags(Module &M)

This checks for module flags which should be upgraded.

void copyModuleAttrToFunctions(Module &M)

Copies module attributes to the functions in the module.

LLVM_ABI void UpgradeOperandBundles(std::vector< OperandBundleDef > &OperandBundles)

Upgrade operand bundles (without knowing about their user instruction).

LLVM_ABI Constant * UpgradeBitCastExpr(unsigned Opc, Constant *C, Type *DestTy)

This is an auto-upgrade for bitcast constant expression between pointers with different address space...

bool mayBeOldLoopAttachmentTag(StringRef Name)

Check whether a string looks like an old loop attachment tag.

Definition AutoUpgrade.h:110

LLVM_ABI std::string UpgradeDataLayoutString(StringRef DL, StringRef Triple)

Upgrade the datalayout string by adding a section for address space pointers.

LLVM_ABI GlobalVariable * UpgradeGlobalVariable(GlobalVariable *GV)

This checks for global variables which should be upgraded.

OperandBundleDefT< Value * > OperandBundleDef

Definition AutoUpgrade.h:34

LLVM_ABI Instruction * UpgradeBitCastInst(unsigned Opc, Value *V, Type *DestTy, Instruction *&Temp)

This is an auto-upgrade for bitcast between pointers with different address spaces: the instruction i...

LLVM_ABI bool UpgradeDebugInfo(Module &M)

Check the debug info version number, if it is out-dated, drop the debug info.

LLVM_ABI void UpgradeFunctionAttributes(Function &F)

Correct any IR that is relying on old function attribute behavior.

LLVM_ABI MDNode * UpgradeTBAANode(MDNode &TBAANode)

If the given TBAA tag uses the scalar TBAA format, create a new node corresponding to the upgrade to ...

LLVM_ABI void UpgradeARCRuntime(Module &M)

Convert calls to ARC runtime functions to intrinsic calls and upgrade the old retain release marker t...