Coverage Report

Created: 2023-05-31 04:38

/Users/buildslave/jenkins/workspace/coverage/llvm-project/clang/include/clang/Sema/RISCVIntrinsicManager.h
Line
Count
Source
1
//===- RISCVIntrinsicManager.h - RISC-V Intrinsic Handler -------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This file defines the RISCVIntrinsicManager, which handles RISC-V vector
10
// intrinsic functions.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_CLANG_SEMA_RISCVINTRINSICMANAGER_H
15
#define LLVM_CLANG_SEMA_RISCVINTRINSICMANAGER_H
16
17
#include <cstdint>
18
19
namespace clang {
20
class LookupResult;
21
class IdentifierInfo;
22
class Preprocessor;
23
24
namespace sema {
25
class RISCVIntrinsicManager {
26
public:
27
  enum class IntrinsicKind : uint8_t { RVV, SIFIVE_VECTOR };
28
29
1
  virtual ~RISCVIntrinsicManager() = default;
30
31
  // Create RISC-V intrinsic and insert into symbol table and return true if
32
  // found, otherwise return false.
33
  virtual bool CreateIntrinsicIfFound(LookupResult &LR, IdentifierInfo *II,
34
                                      Preprocessor &PP) = 0;
35
};
36
} // end namespace sema
37
} // end namespace clang
38
39
#endif