clang
24.0.0git
lib
CIR
Lowering
DirectToLLVM
LowerToLLVMOpenCLMetadata.h
Go to the documentation of this file.
1
//===- LowerToLLVMOpenCLMetadata.h - OpenCL metadata lowering ---*- 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
#ifndef CLANG_CIR_LOWERING_DIRECTTOLLVM_LOWERTOLLVMOPENCLMETADATA_H
10
#define CLANG_CIR_LOWERING_DIRECTTOLLVM_LOWERTOLLVMOPENCLMETADATA_H
11
12
#include "mlir/IR/BuiltinOps.h"
13
#include "mlir/IR/MLIRContext.h"
14
#include "mlir/IR/OperationSupport.h"
15
#include "
clang/CIR/Dialect/IR/CIRAttrs.h
"
16
#include "llvm/ADT/SmallVector.h"
17
18
namespace
cir
{
19
namespace
direct
{
20
21
class
OpenCLFunctionMetadataLowering
{
22
public
:
23
OpenCLFunctionMetadataLowering
(mlir::MLIRContext *ctx);
24
25
bool
lower
(mlir::NamedAttribute attr,
bool
includeFunctionOnlyAttrs);
26
void
appendAttrs
(
llvm::SmallVectorImpl<mlir::NamedAttribute>
&result)
const
;
27
28
private
:
29
void
lower
(cir::OpenCLKernelArgMetadataAttr clArgMetadata);
30
31
mlir::MLIRContext *ctx;
32
llvm::SmallVector<mlir::Attribute>
functionMetadata;
33
};
34
35
}
// namespace direct
36
}
// namespace cir
37
38
#endif
// CLANG_CIR_LOWERING_DIRECTTOLLVM_LOWERTOLLVMOPENCLMETADATA_H
CIRAttrs.h
cir::direct::OpenCLFunctionMetadataLowering::OpenCLFunctionMetadataLowering
OpenCLFunctionMetadataLowering(mlir::MLIRContext *ctx)
Definition
LowerToLLVMOpenCLMetadata.cpp:142
cir::direct::OpenCLFunctionMetadataLowering::appendAttrs
void appendAttrs(llvm::SmallVectorImpl< mlir::NamedAttribute > &result) const
Definition
LowerToLLVMOpenCLMetadata.cpp:159
cir::direct::OpenCLFunctionMetadataLowering::lower
bool lower(mlir::NamedAttribute attr, bool includeFunctionOnlyAttrs)
Definition
LowerToLLVMOpenCLMetadata.cpp:146
llvm::SmallVectorImpl
Definition
Randstruct.h:18
llvm::SmallVector
Definition
LLVM.h:34
cir::direct
Definition
LowerToLLVM.h:32
cir
Definition
ABIArgInfo.h:22
Generated on
for clang by
1.14.0