LLVM
3.7.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
work
release_test
rc4
llvm.src
lib
CodeGen
AsmPrinter
DwarfException.h
Go to the documentation of this file.
1
//===-- DwarfException.h - Dwarf Exception Framework -----------*- 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 contains support for writing dwarf exception info into asm files.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_LIB_CODEGEN_ASMPRINTER_DWARFEXCEPTION_H
15
#define LLVM_LIB_CODEGEN_ASMPRINTER_DWARFEXCEPTION_H
16
17
#include "
EHStreamer.h
"
18
#include "
llvm/CodeGen/AsmPrinter.h
"
19
20
namespace
llvm {
21
class
MachineFunction;
22
class
ARMTargetStreamer;
23
24
class
LLVM_LIBRARY_VISIBILITY
DwarfCFIExceptionBase
:
public
EHStreamer
{
25
protected
:
26
DwarfCFIExceptionBase
(
AsmPrinter
*
A
);
27
28
/// Per-function flag to indicate if frame CFI info should be emitted.
29
bool
shouldEmitCFI
;
30
31
void
markFunctionEnd()
override
;
32
};
33
34
class
LLVM_LIBRARY_VISIBILITY
DwarfCFIException
:
public
DwarfCFIExceptionBase
{
35
/// Per-function flag to indicate if .cfi_personality should be emitted.
36
bool
shouldEmitPersonality;
37
38
/// Per-function flag to indicate if .cfi_lsda should be emitted.
39
bool
shouldEmitLSDA;
40
41
/// Per-function flag to indicate if frame moves info should be emitted.
42
bool
shouldEmitMoves;
43
44
AsmPrinter::CFIMoveType
moveTypeModule;
45
46
public
:
47
//===--------------------------------------------------------------------===//
48
// Main entry points.
49
//
50
DwarfCFIException
(
AsmPrinter
*
A
);
51
~
DwarfCFIException
()
override
;
52
53
/// Emit all exception information that should come after the content.
54
void
endModule()
override
;
55
56
/// Gather pre-function exception information. Assumes being emitted
57
/// immediately after the function entry point.
58
void
beginFunction(
const
MachineFunction
*MF)
override
;
59
60
/// Gather and emit post-function exception information.
61
void
endFunction(
const
MachineFunction
*)
override
;
62
};
63
64
class
LLVM_LIBRARY_VISIBILITY
ARMException
:
public
DwarfCFIExceptionBase
{
65
void
emitTypeInfos(
unsigned
TTypeEncoding)
override
;
66
ARMTargetStreamer
&getTargetStreamer();
67
68
public
:
69
//===--------------------------------------------------------------------===//
70
// Main entry points.
71
//
72
ARMException
(
AsmPrinter
*
A
);
73
~
ARMException
()
override
;
74
75
/// Emit all exception information that should come after the content.
76
void
endModule()
override
;
77
78
/// Gather pre-function exception information. Assumes being emitted
79
/// immediately after the function entry point.
80
void
beginFunction(
const
MachineFunction
*MF)
override
;
81
82
/// Gather and emit post-function exception information.
83
void
endFunction(
const
MachineFunction
*)
override
;
84
};
85
}
// End of namespace llvm
86
87
#endif
llvm::ARM_PROC::A
Definition:
ARMBaseInfo.h:98
llvm::AsmPrinter::CFIMoveType
CFIMoveType
Definition:
AsmPrinter.h:222
llvm::MachineFunction
Definition:
MachineFunction.h:86
llvm::DwarfCFIExceptionBase::shouldEmitCFI
bool shouldEmitCFI
Per-function flag to indicate if frame CFI info should be emitted.
Definition:
DwarfException.h:29
llvm::EHStreamer
Emits exception handling directives.
Definition:
EHStreamer.h:33
llvm::ARMException
Definition:
DwarfException.h:64
AsmPrinter.h
llvm::DwarfCFIException
Definition:
DwarfException.h:34
llvm::DwarfCFIExceptionBase
Definition:
DwarfException.h:24
llvm::AsmPrinter
This class is intended to be used as a driving class for all asm writers.
Definition:
AsmPrinter.h:66
LLVM_LIBRARY_VISIBILITY
#define LLVM_LIBRARY_VISIBILITY
LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked into a shared library...
Definition:
Compiler.h:110
EHStreamer.h
llvm::ARMTargetStreamer
Definition:
MCStreamer.h:96
Generated on Mon Aug 31 2015 11:00:28 for LLVM by
1.8.6