LLVM 19.0.0git
CBufferDataLayout.h
Go to the documentation of this file.
1//===- Target/DirectX/CBufferDataLayout.h - Cbuffer layout helper ---------===//
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// Utils to help cbuffer layout.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_TARGET_DIRECTX_CBUFFERDATALAYOUT_H
14#define LLVM_TARGET_DIRECTX_CBUFFERDATALAYOUT_H
15
17
18#include <memory>
19#include <stdint.h>
20
21namespace llvm {
22class DataLayout;
23class Type;
24
25namespace dxil {
26
27class LegacyCBufferLayout;
28
30 const DataLayout &DL;
31 const bool IsLegacyLayout;
32 std::unique_ptr<LegacyCBufferLayout> LegacyDL;
33
34public:
35 CBufferDataLayout(const DataLayout &DL, const bool IsLegacy);
38};
39
40} // namespace dxil
41} // namespace llvm
42
43#endif
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
RelocType Type
Definition: COFFYAML.cpp:391
A parsed version of the target data layout string in and methods for querying it.
Definition: DataLayout.h:110
The instances of the Type class are immutable: once they are created, they are never changed.
Definition: Type.h:45
llvm::TypeSize getTypeAllocSizeInBytes(Type *Ty)
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18