clang 23.0.0git
TargetLoweringInfo.h
Go to the documentation of this file.
1//===---- TargetLoweringInfo.h - Encapsulate target details -----*- 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 partially mimics the TargetCodeGenInfo class from the file
10// clang/lib/CodeGen/TargetInfo.h.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_CLANG_LIB_CIR_DIALECT_TRANSFORMS_TARGETLOWERING_TARGETLOWERINGINFO_H
15#define LLVM_CLANG_LIB_CIR_DIALECT_TRANSFORMS_TARGETLOWERING_TARGETLOWERINGINFO_H
16
18#include <memory>
19#include <string>
20
21namespace cir {
22
24public:
26
27 virtual cir::SyncScopeKind
28 convertSyncScope(cir::SyncScopeKind syncScope) const;
29
30 virtual unsigned
31 getTargetAddrSpaceFromCIRAddrSpace(cir::LangAddressSpace addrSpace) const {
32 return 0;
33 };
34};
35
36// Target-specific factory functions.
37std::unique_ptr<TargetLoweringInfo> createAMDGPUTargetLoweringInfo();
38
39std::unique_ptr<TargetLoweringInfo> createNVPTXTargetLoweringInfo();
40
41} // namespace cir
42
43#endif
virtual unsigned getTargetAddrSpaceFromCIRAddrSpace(cir::LangAddressSpace addrSpace) const
virtual cir::SyncScopeKind convertSyncScope(cir::SyncScopeKind syncScope) const
std::unique_ptr< TargetLoweringInfo > createNVPTXTargetLoweringInfo()
Definition NVPTX.cpp:36
std::unique_ptr< TargetLoweringInfo > createAMDGPUTargetLoweringInfo()
Definition AMDGPU.cpp:43