Coverage Report

Created: 2017-10-03 07:32

/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
Line
Count
Source
1
//===-- ARMAsmBackendDarwin.h   ARM Asm Backend Darwin ----------*- 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
#ifndef LLVM_LIB_TARGET_ARM_ARMASMBACKENDDARWIN_H
11
#define LLVM_LIB_TARGET_ARM_ARMASMBACKENDDARWIN_H
12
13
#include "ARMAsmBackend.h"
14
#include "llvm/BinaryFormat/MachO.h"
15
16
namespace llvm {
17
class ARMAsmBackendDarwin : public ARMAsmBackend {
18
  const MCRegisterInfo &MRI;
19
public:
20
  const MachO::CPUSubTypeARM Subtype;
21
  ARMAsmBackendDarwin(const Target &T, const Triple &TT,
22
                      const MCRegisterInfo &MRI, MachO::CPUSubTypeARM st)
23
3.30k
      : ARMAsmBackend(T, TT, /* IsLittleEndian */ true), MRI(MRI), Subtype(st) {
24
3.30k
  }
25
26
2.56k
  MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const override {
27
2.56k
    return createARMMachObjectWriter(OS, /*Is64Bit=*/false, MachO::CPU_TYPE_ARM,
28
2.56k
                                     Subtype);
29
2.56k
  }
30
31
  uint32_t generateCompactUnwindEncoding(
32
      ArrayRef<MCCFIInstruction> Instrs) const override;
33
};
34
} // end namespace llvm
35
36
#endif