Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/llvm/lib/Target/DirectX/DXILIntrinsicExpansion.h
35269 views
1
//===- DXILIntrinsicExpansion.h - Prepare LLVM Module for DXIL encoding----===//
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
#ifndef LLVM_TARGET_DIRECTX_DXILINTRINSICEXPANSION_H
9
#define LLVM_TARGET_DIRECTX_DXILINTRINSICEXPANSION_H
10
11
#include "DXILResource.h"
12
#include "llvm/IR/PassManager.h"
13
#include "llvm/Pass.h"
14
15
namespace llvm {
16
17
/// A pass that transforms DXIL Intrinsics that don't have DXIL opCodes
18
class DXILIntrinsicExpansion : public PassInfoMixin<DXILIntrinsicExpansion> {
19
public:
20
PreservedAnalyses run(Module &M, ModuleAnalysisManager &);
21
};
22
23
class DXILIntrinsicExpansionLegacy : public ModulePass {
24
25
public:
26
bool runOnModule(Module &M) override;
27
DXILIntrinsicExpansionLegacy() : ModulePass(ID) {}
28
29
static char ID; // Pass identification.
30
};
31
} // namespace llvm
32
33
#endif // LLVM_TARGET_DIRECTX_DXILINTRINSICEXPANSION_H
34
35