LLVM
8.0.1
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
{
Tiny
,
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
// Specify effect of frame pointer elimination optimization.
61
namespace
FramePointer {
62
enum
FP
{
All
,
NonLeaf
,
None
};
63
}
64
65
}
// end llvm namespace
66
67
#endif
llvm::None
const NoneType None
Definition:
None.h:24
llvm::PICLevel::BigPIC
Definition:
CodeGen.h:33
llvm::CodeModel::Model
Model
Definition:
CodeGen.h:28
llvm::TLSModel::GeneralDynamic
Definition:
CodeGen.h:43
llvm::FramePointer::NonLeaf
Definition:
CodeGen.h:62
llvm
This class represents lattice values for constants.
Definition:
AllocatorList.h:24
llvm::Reloc::Model
Model
Definition:
CodeGen.h:22
llvm::TLSModel::Model
Model
Definition:
CodeGen.h:42
llvm::PICLevel::Level
Level
Definition:
CodeGen.h:33
llvm::PICLevel::SmallPIC
Definition:
CodeGen.h:33
llvm::Reloc::ROPI_RWPI
Definition:
CodeGen.h:22
Aggressive
static cl::opt< bool > Aggressive("aggressive-ext-opt", cl::Hidden, cl::desc("Aggressive extension optimization"))
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::FramePointer::All
Definition:
CodeGen.h:62
llvm::TLSModel::LocalDynamic
Definition:
CodeGen.h:44
llvm::CodeModel::Tiny
Definition:
CodeGen.h:28
llvm::Reloc::PIC_
Definition:
CodeGen.h:22
llvm::PIELevel::Default
Definition:
CodeGen.h:37
llvm::CodeModel::Kernel
Definition:
CodeGen.h:28
llvm::Reloc::RWPI
Definition:
CodeGen.h:22
llvm::PICLevel::NotPIC
Definition:
CodeGen.h:33
llvm::FramePointer::FP
FP
Definition:
CodeGen.h:62
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::TLSModel::InitialExec
Definition:
CodeGen.h:45
Generated on Sun Dec 20 2020 13:53:34 for LLVM by
1.8.13