LLVM
3.7.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
work
release_test
rc4
llvm.src
lib
Target
ARM
MCTargetDesc
ARMWinCOFFStreamer.cpp
Go to the documentation of this file.
1
//===-- ARMWinCOFFStreamer.cpp - ARM Target WinCOFF Streamer ----*- 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
#include "
ARMMCTargetDesc.h
"
11
#include "
llvm/MC/MCWinCOFFStreamer.h
"
12
13
using namespace
llvm;
14
15
namespace
{
16
class
ARMWinCOFFStreamer :
public
MCWinCOFFStreamer
{
17
public
:
18
ARMWinCOFFStreamer(
MCContext
&
C
,
MCAsmBackend
&AB,
MCCodeEmitter
&CE,
19
raw_pwrite_stream
&OS)
20
:
MCWinCOFFStreamer
(C, AB, CE, OS) {}
21
22
void
EmitAssemblerFlag(
MCAssemblerFlag
Flag
)
override
;
23
void
EmitThumbFunc(
MCSymbol
*
Symbol
)
override
;
24
};
25
26
void
ARMWinCOFFStreamer::EmitAssemblerFlag(
MCAssemblerFlag
Flag
) {
27
switch
(Flag) {
28
default
:
llvm_unreachable
(
"not implemented"
);
29
case
MCAF_SyntaxUnified
:
30
case
MCAF_Code16
:
31
break
;
32
}
33
}
34
35
void
ARMWinCOFFStreamer::EmitThumbFunc(
MCSymbol
*
Symbol
) {
36
getAssembler().setIsThumbFunc(Symbol);
37
}
38
}
39
40
MCStreamer
*
llvm::createARMWinCOFFStreamer
(
MCContext
&Context,
41
MCAsmBackend
&MAB,
42
raw_pwrite_stream
&OS,
43
MCCodeEmitter
*Emitter,
44
bool
RelaxAll
) {
45
return
new
ARMWinCOFFStreamer(Context, MAB, *Emitter, OS);
46
}
47
llvm::ARMBuildAttrs::Symbol
Definition:
ARMBuildAttributes.h:76
llvm::MCSymbol
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Definition:
MCSymbol.h:39
ARMMCTargetDesc.h
llvm::createARMWinCOFFStreamer
MCStreamer * createARMWinCOFFStreamer(MCContext &Context, MCAsmBackend &MAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter, bool RelaxAll)
Definition:
ARMWinCOFFStreamer.cpp:40
llvm_unreachable
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
Definition:
ErrorHandling.h:98
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:48
llvm::MCAF_Code16
.code16 (X86) / .code 16 (ARM)
Definition:
MCDirectives.h:50
llvm::MCID::Flag
Flag
These should be considered private to the implementation of the MCInstrDesc class.
Definition:
MCInstrDesc.h:97
llvm::MCStreamer
Streaming machine code generation interface.
Definition:
MCStreamer.h:157
llvm::MCCodeEmitter
MCCodeEmitter - Generic instruction encoding interface.
Definition:
MCCodeEmitter.h:23
llvm::MCAF_SyntaxUnified
.syntax (ARM/ELF)
Definition:
MCDirectives.h:48
llvm::MCWinCOFFStreamer
Definition:
MCWinCOFFStreamer.h:29
MCWinCOFFStreamer.h
llvm::MCAssemblerFlag
MCAssemblerFlag
Definition:
MCDirectives.h:47
llvm::raw_pwrite_stream
An abstract base class for streams implementations that also support a pwrite operation.
Definition:
raw_ostream.h:321
llvm::PDB_Lang::C
RelaxAll
cl::opt< bool > RelaxAll("mc-relax-all", cl::desc("When used with filetype=obj, ""relax all fixups in the emitted object file"))
llvm::MCAsmBackend
Generic interface to target specific assembler backends.
Definition:
MCAsmBackend.h:34
Generated on Mon Aug 31 2015 10:59:11 for LLVM by
1.8.6