Coverage Report

Created: 2017-10-03 07:32

/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
Line
Count
Source
1
//===-- SystemZSelectionDAGInfo.h - SystemZ SelectionDAG Info ---*- 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 defines the SystemZ subclass for SelectionDAGTargetInfo.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZSELECTIONDAGINFO_H
15
#define LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZSELECTIONDAGINFO_H
16
17
#include "llvm/CodeGen/SelectionDAGTargetInfo.h"
18
19
namespace llvm {
20
21
class SystemZTargetMachine;
22
23
class SystemZSelectionDAGInfo : public SelectionDAGTargetInfo {
24
public:
25
857
  explicit SystemZSelectionDAGInfo() = default;
26
27
  SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, const SDLoc &DL,
28
                                  SDValue Chain, SDValue Dst, SDValue Src,
29
                                  SDValue Size, unsigned Align, bool IsVolatile,
30
                                  bool AlwaysInline,
31
                                  MachinePointerInfo DstPtrInfo,
32
                                  MachinePointerInfo SrcPtrInfo) const override;
33
34
  SDValue EmitTargetCodeForMemset(SelectionDAG &DAG, const SDLoc &DL,
35
                                  SDValue Chain, SDValue Dst, SDValue Byte,
36
                                  SDValue Size, unsigned Align, bool IsVolatile,
37
                                  MachinePointerInfo DstPtrInfo) const override;
38
39
  std::pair<SDValue, SDValue>
40
  EmitTargetCodeForMemcmp(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
41
                          SDValue Src1, SDValue Src2, SDValue Size,
42
                          MachinePointerInfo Op1PtrInfo,
43
                          MachinePointerInfo Op2PtrInfo) const override;
44
45
  std::pair<SDValue, SDValue>
46
  EmitTargetCodeForMemchr(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
47
                          SDValue Src, SDValue Char, SDValue Length,
48
                          MachinePointerInfo SrcPtrInfo) const override;
49
50
  std::pair<SDValue, SDValue> EmitTargetCodeForStrcpy(
51
      SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dest,
52
      SDValue Src, MachinePointerInfo DestPtrInfo,
53
      MachinePointerInfo SrcPtrInfo, bool isStpcpy) const override;
54
55
  std::pair<SDValue, SDValue>
56
  EmitTargetCodeForStrcmp(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
57
                          SDValue Src1, SDValue Src2,
58
                          MachinePointerInfo Op1PtrInfo,
59
                          MachinePointerInfo Op2PtrInfo) const override;
60
61
  std::pair<SDValue, SDValue>
62
  EmitTargetCodeForStrlen(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
63
                          SDValue Src,
64
                          MachinePointerInfo SrcPtrInfo) const override;
65
66
  std::pair<SDValue, SDValue>
67
  EmitTargetCodeForStrnlen(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
68
                           SDValue Src, SDValue MaxLength,
69
                           MachinePointerInfo SrcPtrInfo) const override;
70
};
71
72
} // end namespace llvm
73
74
#endif