1 //===- DXILIntrinsicExpansion.h - Prepare LLVM Module for DXIL encoding----===//
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
7 //===----------------------------------------------------------------------===//
8 #ifndef LLVM_TARGET_DIRECTX_DXILINTRINSICEXPANSION_H
9 #define LLVM_TARGET_DIRECTX_DXILINTRINSICEXPANSION_H
11 #include "DXILResource.h"
12 #include "llvm/IR/PassManager.h"
13 #include "llvm/Pass.h"
17 /// A pass that transforms DXIL Intrinsics that don't have DXIL opCodes
18 class DXILIntrinsicExpansion
: public PassInfoMixin
<DXILIntrinsicExpansion
> {
20 PreservedAnalyses
run(Module
&M
, ModuleAnalysisManager
&);
23 class DXILIntrinsicExpansionLegacy
: public ModulePass
{
26 bool runOnModule(Module
&M
) override
;
27 DXILIntrinsicExpansionLegacy() : ModulePass(ID
) {}
29 static char ID
; // Pass identification.
33 #endif // LLVM_TARGET_DIRECTX_DXILINTRINSICEXPANSION_H