LLVM
4.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
llvm.src
include
llvm
Support
CodeGen.h
Go to the documentation of this file.
1
//===-- llvm/Support/CodeGen.h - CodeGen Concepts ---------------*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file define some types which define code generation concepts. For
11
// example, relocation model.
12
//
13
//===----------------------------------------------------------------------===//
14
15
#ifndef LLVM_SUPPORT_CODEGEN_H
16
#define LLVM_SUPPORT_CODEGEN_H
17
18
namespace
llvm {
19
20
// Relocation model types.
21
namespace
Reloc {
22
enum
Model
{
Static
,
PIC_
,
DynamicNoPIC
,
ROPI
,
RWPI
,
ROPI_RWPI
};
23
}
24
25
// Code model types.
26
namespace
CodeModel {
27
// Sync changes with CodeGenCWrappers.h.
28
enum
Model
{
Default
,
JITDefault
,
Small
,
Kernel
,
Medium
,
Large
};
29
}
30
31
namespace
PICLevel {
32
// This is used to map -fpic/-fPIC.
33
enum
Level
{
NotPIC
=0,
SmallPIC
=1,
BigPIC
=2 };
34
}
35
36
namespace
PIELevel {
37
enum
Level
{
Default
=0,
Small
=1,
Large
=2 };
38
}
39
40
// TLS models.
41
namespace
TLSModel {
42
enum
Model
{
43
GeneralDynamic
,
44
LocalDynamic
,
45
InitialExec
,
46
LocalExec
47
};
48
}
49
50
// Code generation optimization level.
51
namespace
CodeGenOpt {
52
enum
Level
{
53
None
,
// -O0
54
Less
,
// -O1
55
Default
,
// -O2, -Os
56
Aggressive
// -O3
57
};
58
}
59
60
}
// end llvm namespace
61
62
#endif
llvm::PICLevel::BigPIC
Definition:
CodeGen.h:33
llvm::CodeModel::Model
Model
Definition:
CodeGen.h:28
llvm::TLSModel::GeneralDynamic
Definition:
CodeGen.h:43
llvm::CodeModel::Small
Definition:
CodeGen.h:28
llvm::Reloc::Model
Model
Definition:
CodeGen.h:22
llvm::TLSModel::Model
Model
Definition:
CodeGen.h:42
llvm::CodeGenOpt::Aggressive
Definition:
CodeGen.h:56
llvm::PICLevel::Level
Level
Definition:
CodeGen.h:33
llvm::PICLevel::SmallPIC
Definition:
CodeGen.h:33
llvm::CodeGenOpt::Default
Definition:
CodeGen.h:55
llvm::Reloc::ROPI_RWPI
Definition:
CodeGen.h:22
llvm::CodeModel::Medium
Definition:
CodeGen.h:28
llvm::PIELevel::Level
Level
Definition:
CodeGen.h:37
llvm::Reloc::Static
Definition:
CodeGen.h:22
llvm::CodeGenOpt::Level
Level
Definition:
CodeGen.h:52
llvm::CodeModel::JITDefault
Definition:
CodeGen.h:28
llvm::TLSModel::LocalDynamic
Definition:
CodeGen.h:44
llvm::Reloc::PIC_
Definition:
CodeGen.h:22
llvm::PIELevel::Default
Definition:
CodeGen.h:37
llvm::CodeModel::Kernel
Definition:
CodeGen.h:28
llvm::CodeGenOpt::None
Definition:
CodeGen.h:53
llvm::Reloc::RWPI
Definition:
CodeGen.h:22
llvm::PICLevel::NotPIC
Definition:
CodeGen.h:33
llvm::PIELevel::Large
Definition:
CodeGen.h:37
llvm::TLSModel::LocalExec
Definition:
CodeGen.h:46
llvm::CodeGenOpt::Less
Definition:
CodeGen.h:54
llvm::PIELevel::Small
Definition:
CodeGen.h:37
llvm::Reloc::DynamicNoPIC
Definition:
CodeGen.h:22
llvm::Reloc::ROPI
Definition:
CodeGen.h:22
llvm::CodeModel::Default
Definition:
CodeGen.h:28
llvm::TLSModel::InitialExec
Definition:
CodeGen.h:45
llvm::CodeModel::Large
Definition:
CodeGen.h:28
Generated on Wed Mar 8 2017 17:07:01 for LLVM by
1.8.6