blob: 8385597b698a2e9d8383657e700854a2a05b4764 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
// slang-ir-lower-generics.h
#pragma once
#include "slang-ir.h"
namespace Slang
{
struct IRModule;
class DiagnosticSink;
class TargetProgram;
/// Lower generic and interface-based code to ordinary types and functions using
/// dynamic dispatch mechanisms.
void lowerGenerics(TargetProgram* targetReq, IRModule* module, DiagnosticSink* sink);
// Clean up any generic-related IR insts that are no longer needed. Called when
// it has been determined that no more dynamic dispatch code will be generated.
void cleanupGenerics(TargetProgram* targetReq, IRModule* module, DiagnosticSink* sink);
} // namespace Slang
|