https://github.com/shader-slang/slang
Raw File
Tip revision: a6fcb3b0ed2b185723afde750bd4491b5b4113eb authored by Yong He on 21 September 2022, 04:32:32 UTC
Fix regression in check-overload. (#2407)
Tip revision: a6fcb3b
slang-ir-lower-error-handling.h
// slang-ir-lower-error-handling.h
#pragma once

namespace Slang
{

struct IRModule;
class DiagnosticSink;

/// Lower error handling related opcodes and function calls to use standard control flow.
/// A function with an error code type will be translated into a function that returns `Result<T,E>`, which can be
/// further lowered to standard return values and `out` parameters in a separate pass.
/// Call sites (`IRTryCall`) to error-throwing function will be rewritten to conform to the new function signature.
/// `IRThrow` will be replaced with `IRReturn(IRMakeErrorResult(e))`.
/// 
void lowerErrorHandling(IRModule* module, DiagnosticSink* sink);

}
back to top