LLVM: include/llvm-c/Target.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19#ifndef LLVM_C_TARGET_H

20#define LLVM_C_TARGET_H

21

26#include "llvm/Config/llvm-config.h"

27

29

30

31

32

33

34

35

36

38

41

42

43#define LLVM_TARGET(TargetName) \

44 LLVM_C_ABI void LLVMInitialize##TargetName##TargetInfo(void);

45#include "llvm/Config/Targets.def"

46#undef LLVM_TARGET

47

48#define LLVM_TARGET(TargetName) \

49 LLVM_C_ABI void LLVMInitialize##TargetName##Target(void);

50#include "llvm/Config/Targets.def"

51#undef LLVM_TARGET

52

53#define LLVM_TARGET(TargetName) \

54 LLVM_C_ABI void LLVMInitialize##TargetName##TargetMC(void);

55#include "llvm/Config/Targets.def"

56#undef LLVM_TARGET

57

58

59#define LLVM_ASM_PRINTER(TargetName) \

60 LLVM_C_ABI void LLVMInitialize##TargetName##AsmPrinter(void);

61#include "llvm/Config/AsmPrinters.def"

62#undef LLVM_ASM_PRINTER

63

64

65#define LLVM_ASM_PARSER(TargetName) \

66 LLVM_C_ABI void LLVMInitialize##TargetName##AsmParser(void);

67#include "llvm/Config/AsmParsers.def"

68#undef LLVM_ASM_PARSER

69

70

71#define LLVM_DISASSEMBLER(TargetName) \

72 LLVM_C_ABI void LLVMInitialize##TargetName##Disassembler(void);

73#include "llvm/Config/Disassemblers.def"

74#undef LLVM_DISASSEMBLER

75

76

77

78

80#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##TargetInfo();

81#include "llvm/Config/Targets.def"

82#undef LLVM_TARGET

83}

84

85

86

87

89#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##Target();

90#include "llvm/Config/Targets.def"

91#undef LLVM_TARGET

92}

93

94

95

96

98#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##TargetMC();

99#include "llvm/Config/Targets.def"

100#undef LLVM_TARGET

101}

102

103

104

105

107#define LLVM_ASM_PRINTER(TargetName) LLVMInitialize##TargetName##AsmPrinter();

108#include "llvm/Config/AsmPrinters.def"

109#undef LLVM_ASM_PRINTER

110}

111

112

113

114

116#define LLVM_ASM_PARSER(TargetName) LLVMInitialize##TargetName##AsmParser();

117#include "llvm/Config/AsmParsers.def"

118#undef LLVM_ASM_PARSER

119}

120

121

122

123

125#define LLVM_DISASSEMBLER(TargetName) \

126 LLVMInitialize##TargetName##Disassembler();

127#include "llvm/Config/Disassemblers.def"

128#undef LLVM_DISASSEMBLER

129}

130

131

132

133

135

136#ifdef LLVM_NATIVE_TARGET

137 LLVM_NATIVE_TARGETINFO();

138 LLVM_NATIVE_TARGET();

139 LLVM_NATIVE_TARGETMC();

140 return 0;

141#else

142 return 1;

143#endif

144}

145

146

147

148

150#ifdef LLVM_NATIVE_ASMPARSER

151 LLVM_NATIVE_ASMPARSER();

152 return 0;

153#else

154 return 1;

155#endif

156}

157

158

159

160

162#ifdef LLVM_NATIVE_ASMPRINTER

163 LLVM_NATIVE_ASMPRINTER();

164 return 0;

165#else

166 return 1;

167#endif

168}

169

170

171

172

174#ifdef LLVM_NATIVE_DISASSEMBLER

175 LLVM_NATIVE_DISASSEMBLER();

176 return 0;

177#else

178 return 1;

179#endif

180}

181

182

183

184

185

186

187

188

190

191

192

193

194

195

197

198

199

201

202

203

205

206

207

208

211

212

213

214

216

217

218

219

221

222

223

225

226

227

228

230

231

232

235 "Use of the global context is deprecated, use "

236 "LLVMIntPtrTypeInContext instead");

237

238

239

240

243 "Use of the global context is deprecated, use LLVMIntPtrTypeForASInContext "

244 "instead");

245

246

247

250

251

252

253

256 unsigned AS);

257

258

259

262

263

264

267

268

269

272

273

274

277

278

279

282

283

284

287

288

289

292

293

294

297 unsigned long long Offset);

298

299

300

303 unsigned Element);

304

305

306

307

308

310

311#endif

MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL

static GCRegistry::Add< ShadowStackGC > C("shadow-stack", "Very portable GC for uncooperative code generators")

#define LLVM_ATTRIBUTE_C_DEPRECATED(decl, message)

#define LLVM_C_EXTERN_C_BEGIN

#define LLVM_C_EXTERN_C_END

LLVMTypeRef LLVMIntPtrType(LLVMTargetDataRef TD)

LLVMTypeRef LLVMIntPtrTypeForAS(LLVMTargetDataRef TD, unsigned AS)

#define LLVM_C_ABI

LLVM_C_ABI is the export/visibility macro used to mark symbols declared in llvm-c as exported when bu...

struct LLVMOpaqueValue * LLVMValueRef

Represents an individual value in LLVM IR.

struct LLVMOpaquePassManager * LLVMPassManagerRef

struct LLVMOpaqueContext * LLVMContextRef

The top-level container for all LLVM global data.

struct LLVMOpaqueType * LLVMTypeRef

Each value in the LLVM IR has a type, an LLVMTypeRef.

struct LLVMOpaqueModule * LLVMModuleRef

The top-level container for all other LLVM Intermediate Representation (IR) objects.

static LLVMBool LLVMInitializeNativeAsmParser(void)

LLVMInitializeNativeTargetAsmParser - The main program should call this function to initialize the pa...

Definition Target.h:149

LLVM_C_ABI LLVMTargetDataRef LLVMGetModuleDataLayout(LLVMModuleRef M)

Obtain the data layout for a module.

LLVM_C_ABI LLVMTargetDataRef LLVMCreateTargetData(const char *StringRep)

Creates target data from a target layout string.

LLVM_C_ABI unsigned LLVMPreferredAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)

Computes the preferred alignment of a type in bytes for a target.

LLVM_C_ABI unsigned LLVMCallFrameAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)

Computes the call frame alignment of a type in bytes for a target.

LLVM_C_ABI unsigned long long LLVMOffsetOfElement(LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned Element)

Computes the byte offset of the indexed struct element for a target.

LLVM_C_ABI void LLVMDisposeTargetData(LLVMTargetDataRef TD)

Deallocates a TargetData.

LLVM_C_ABI void LLVMAddTargetLibraryInfo(LLVMTargetLibraryInfoRef TLI, LLVMPassManagerRef PM)

Adds target library information to a pass manager.

LLVM_C_ABI enum LLVMByteOrdering LLVMByteOrder(LLVMTargetDataRef TD)

Returns the byte order of a target, either LLVMBigEndian or LLVMLittleEndian.

LLVM_C_ABI unsigned LLVMPreferredAlignmentOfGlobal(LLVMTargetDataRef TD, LLVMValueRef GlobalVar)

Computes the preferred alignment of a global variable in bytes for a target.

LLVM_C_ABI unsigned long long LLVMStoreSizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)

Computes the storage size of a type in bytes for a target.

static void LLVMInitializeAllTargetInfos(void)

LLVMInitializeAllTargetInfos - The main program should call this function if it wants access to all a...

Definition Target.h:79

LLVMByteOrdering

Definition Target.h:37

LLVM_C_ABI unsigned long long LLVMABISizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)

Computes the ABI size of a type in bytes for a target.

LLVM_C_ABI unsigned LLVMPointerSizeForAS(LLVMTargetDataRef TD, unsigned AS)

Returns the pointer size in bytes for a target for a specified address space.

LLVM_C_ABI unsigned LLVMABIAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)

Computes the ABI alignment of a type in bytes for a target.

LLVM_C_ABI unsigned LLVMElementAtOffset(LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned long long Offset)

Computes the structure element that contains the byte offset for a target.

LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeInContext(LLVMContextRef C, LLVMTargetDataRef TD)

Returns the integer type that is the same size as a pointer on a target.

static LLVMBool LLVMInitializeNativeAsmPrinter(void)

LLVMInitializeNativeTargetAsmPrinter - The main program should call this function to initialize the p...

Definition Target.h:161

static LLVMBool LLVMInitializeNativeDisassembler(void)

LLVMInitializeNativeTargetDisassembler - The main program should call this function to initialize the...

Definition Target.h:173

static void LLVMInitializeAllTargetMCs(void)

LLVMInitializeAllTargetMCs - The main program should call this function if it wants access to all ava...

Definition Target.h:97

LLVM_C_ABI char * LLVMCopyStringRepOfTargetData(LLVMTargetDataRef TD)

Converts target data to a target layout string.

LLVM_C_ABI unsigned LLVMPointerSize(LLVMTargetDataRef TD)

Returns the pointer size in bytes for a target.

LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeForASInContext(LLVMContextRef C, LLVMTargetDataRef TD, unsigned AS)

Returns the integer type that is the same size as a pointer on a target.

struct LLVMOpaqueTargetLibraryInfotData * LLVMTargetLibraryInfoRef

Definition Target.h:40

static void LLVMInitializeAllAsmParsers(void)

LLVMInitializeAllAsmParsers - The main program should call this function if it wants all asm parsers ...

Definition Target.h:115

LLVM_C_ABI void LLVMSetModuleDataLayout(LLVMModuleRef M, LLVMTargetDataRef DL)

Set the data layout for a module.

static LLVMBool LLVMInitializeNativeTarget(void)

LLVMInitializeNativeTarget - The main program should call this function to initialize the native targ...

Definition Target.h:134

LLVM_C_ABI unsigned long long LLVMSizeOfTypeInBits(LLVMTargetDataRef TD, LLVMTypeRef Ty)

Computes the size of a type in bits for a target.

static void LLVMInitializeAllTargets(void)

LLVMInitializeAllTargets - The main program should call this function if it wants to link in all avai...

Definition Target.h:88

struct LLVMOpaqueTargetData * LLVMTargetDataRef

Definition Target.h:39

static void LLVMInitializeAllAsmPrinters(void)

LLVMInitializeAllAsmPrinters - The main program should call this function if it wants all asm printer...

Definition Target.h:106

static void LLVMInitializeAllDisassemblers(void)

LLVMInitializeAllDisassemblers - The main program should call this function if it wants all disassemb...

Definition Target.h:124

@ LLVMBigEndian

Definition Target.h:37

@ LLVMLittleEndian

Definition Target.h:37