Coverage Report

Created: 2017-10-03 07:32

/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/lib/Target/SystemZ/SystemZInstrBuilder.h
Line
Count
Source
1
//===-- SystemZInstrBuilder.h - Functions to aid building insts -*- 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 exposes functions that may be used with BuildMI from the
11
// MachineInstrBuilder.h file to handle SystemZ'isms in a clean way.
12
//
13
//===----------------------------------------------------------------------===//
14
15
#ifndef LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZINSTRBUILDER_H
16
#define LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZINSTRBUILDER_H
17
18
#include "llvm/CodeGen/MachineFrameInfo.h"
19
#include "llvm/CodeGen/MachineInstrBuilder.h"
20
#include "llvm/CodeGen/MachineMemOperand.h"
21
#include "llvm/CodeGen/PseudoSourceValue.h"
22
23
namespace llvm {
24
25
/// Add a BDX memory reference for frame object FI to MIB.
26
static inline const MachineInstrBuilder &
27
1.41k
addFrameReference(const MachineInstrBuilder &MIB, int FI) {
28
1.41k
  MachineInstr *MI = MIB;
29
1.41k
  MachineFunction &MF = *MI->getParent()->getParent();
30
1.41k
  MachineFrameInfo &MFFrame = MF.getFrameInfo();
31
1.41k
  const MCInstrDesc &MCID = MI->getDesc();
32
1.41k
  auto Flags = MachineMemOperand::MONone;
33
1.41k
  if (MCID.mayLoad())
34
678
    Flags |= MachineMemOperand::MOLoad;
35
1.41k
  if (MCID.mayStore())
36
737
    Flags |= MachineMemOperand::MOStore;
37
1.41k
  int64_t Offset = 0;
38
1.41k
  MachineMemOperand *MMO = MF.getMachineMemOperand(
39
1.41k
      MachinePointerInfo::getFixedStack(MF, FI, Offset), Flags,
40
1.41k
      MFFrame.getObjectSize(FI), MFFrame.getObjectAlignment(FI));
41
1.41k
  return MIB.addFrameIndex(FI).addImm(Offset).addReg(0).addMemOperand(MMO);
42
1.41k
}
Unexecuted instantiation: SystemZFrameLowering.cpp:llvm::addFrameReference(llvm::MachineInstrBuilder const&, int)
SystemZInstrInfo.cpp:llvm::addFrameReference(llvm::MachineInstrBuilder const&, int)
Line
Count
Source
27
1.41k
addFrameReference(const MachineInstrBuilder &MIB, int FI) {
28
1.41k
  MachineInstr *MI = MIB;
29
1.41k
  MachineFunction &MF = *MI->getParent()->getParent();
30
1.41k
  MachineFrameInfo &MFFrame = MF.getFrameInfo();
31
1.41k
  const MCInstrDesc &MCID = MI->getDesc();
32
1.41k
  auto Flags = MachineMemOperand::MONone;
33
1.41k
  if (MCID.mayLoad())
34
678
    Flags |= MachineMemOperand::MOLoad;
35
1.41k
  if (MCID.mayStore())
36
737
    Flags |= MachineMemOperand::MOStore;
37
1.41k
  int64_t Offset = 0;
38
1.41k
  MachineMemOperand *MMO = MF.getMachineMemOperand(
39
1.41k
      MachinePointerInfo::getFixedStack(MF, FI, Offset), Flags,
40
1.41k
      MFFrame.getObjectSize(FI), MFFrame.getObjectAlignment(FI));
41
1.41k
  return MIB.addFrameIndex(FI).addImm(Offset).addReg(0).addMemOperand(MMO);
42
1.41k
}
43
44
} // end namespace llvm
45
46
#endif