LCOV - code coverage report
Current view: top level - lib/Target/AVR - AVRTargetMachine.h (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 2 4 50.0 %
Date: 2018-10-20 13:21:21 Functions: 1 2 50.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //===-- AVRTargetMachine.h - Define TargetMachine for AVR -------*- 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 AVR specific subclass of TargetMachine.
      11             : //
      12             : //===----------------------------------------------------------------------===//
      13             : 
      14             : #ifndef LLVM_AVR_TARGET_MACHINE_H
      15             : #define LLVM_AVR_TARGET_MACHINE_H
      16             : 
      17             : #include "llvm/IR/DataLayout.h"
      18             : #include "llvm/Target/TargetMachine.h"
      19             : 
      20             : #include "AVRFrameLowering.h"
      21             : #include "AVRISelLowering.h"
      22             : #include "AVRInstrInfo.h"
      23             : #include "AVRSelectionDAGInfo.h"
      24             : #include "AVRSubtarget.h"
      25             : 
      26             : namespace llvm {
      27             : 
      28             : /// A generic AVR implementation.
      29             : class AVRTargetMachine : public LLVMTargetMachine {
      30             : public:
      31             :   AVRTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
      32             :                    StringRef FS, const TargetOptions &Options,
      33             :                    Optional<Reloc::Model> RM,
      34             :                    Optional<CodeModel::Model> CM,
      35             :                    CodeGenOpt::Level OL, bool JIT);
      36             : 
      37             :   const AVRSubtarget *getSubtargetImpl() const;
      38             :   const AVRSubtarget *getSubtargetImpl(const Function &) const override;
      39             : 
      40        1301 :   TargetLoweringObjectFile *getObjFileLowering() const override {
      41        1301 :     return this->TLOF.get();
      42             :   }
      43             : 
      44             :   TargetPassConfig *createPassConfig(PassManagerBase &PM) override;
      45             : 
      46           0 :   bool isMachineVerifierClean() const override {
      47           0 :     return false;
      48             :   }
      49             : 
      50             : private:
      51             :   std::unique_ptr<TargetLoweringObjectFile> TLOF;
      52             :   AVRSubtarget SubTarget;
      53             : };
      54             : 
      55             : } // end namespace llvm
      56             : 
      57             : #endif // LLVM_AVR_TARGET_MACHINE_H

Generated by: LCOV version 1.13