LCOV - code coverage report
Current view: top level - lib/Support - ARMWinEH.cpp (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 0 13 0.0 %
Date: 2017-09-14 15:23:50 Functions: 0 1 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //===-- ARMWinEH.cpp - Windows on ARM EH Support Functions ------*- 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 "llvm/Support/ARMWinEH.h"
      11             : #include "llvm/Support/raw_ostream.h"
      12             : 
      13             : namespace llvm {
      14             : namespace ARM {
      15             : namespace WinEH {
      16           0 : std::pair<uint16_t, uint32_t> SavedRegisterMask(const RuntimeFunction &RF) {
      17           0 :   uint8_t NumRegisters = RF.Reg();
      18           0 :   uint8_t RegistersVFP = RF.R();
      19           0 :   uint8_t LinkRegister = RF.L();
      20           0 :   uint8_t ChainedFrame = RF.C();
      21             : 
      22           0 :   uint16_t GPRMask = (ChainedFrame << 11) | (LinkRegister << 14);
      23           0 :   uint32_t VFPMask = 0;
      24             : 
      25           0 :   if (RegistersVFP)
      26           0 :     VFPMask |= (((1 << ((NumRegisters + 1) % 8)) - 1) << 8);
      27             :   else
      28           0 :     GPRMask |= (((1 << (NumRegisters + 1)) - 1) << 4);
      29             : 
      30           0 :   if (PrologueFolding(RF))
      31           0 :     GPRMask |= (((1 << (NumRegisters + 1)) - 1) << (~RF.StackAdjust() & 0x3));
      32             : 
      33           0 :   return std::make_pair(GPRMask, VFPMask);
      34             : }
      35             : }
      36             : }
      37             : }
      38             : 

Generated by: LCOV version 1.13