Coverage Report

Created: 2017-08-13 14:43

/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/lib/Target/RISCV/RISCVTargetMachine.h
Line
Count
Source (jump to first uncovered line)
1
//===-- RISCVTargetMachine.h - Define TargetMachine for RISCV ---*- 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 declares the RISCV specific subclass of TargetMachine.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_LIB_TARGET_RISCV_RISCVTARGETMACHINE_H
15
#define LLVM_LIB_TARGET_RISCV_RISCVTARGETMACHINE_H
16
17
#include "MCTargetDesc/RISCVMCTargetDesc.h"
18
#include "llvm/CodeGen/SelectionDAGTargetInfo.h"
19
#include "llvm/IR/DataLayout.h"
20
#include "llvm/Target/TargetMachine.h"
21
22
namespace llvm {
23
class RISCVTargetMachine : public LLVMTargetMachine {
24
  std::unique_ptr<TargetLoweringObjectFile> TLOF;
25
26
public:
27
  RISCVTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
28
                     StringRef FS, const TargetOptions &Options,
29
                     Optional<Reloc::Model> RM, Optional<CodeModel::Model> CM,
30
                     CodeGenOpt::Level OL, bool JIT);
31
32
  TargetPassConfig *createPassConfig(PassManagerBase &PM) override;
33
34
0
  TargetLoweringObjectFile *getObjFileLowering() const override {
35
0
    return TLOF.get();
36
0
  }
37
};
38
}
39
40
#endif