https://github.com/shader-slang/slang
Raw File
Tip revision: 5902acdabc4445a65741a7a6a3a95f223e301059 authored by Yong He on 23 January 2024, 07:19:40 UTC
[LSP] Fetch configs directly from didConfigurationChanged message. (#3478)
Tip revision: 5902acd
slang-ir-simplify-cfg.h
// slang-ir-simplify-cfg.h
#pragma once

namespace Slang
{
    struct IRModule;
    struct IRGlobalValueWithCode;

    struct CFGSimplificationOptions
    {
        bool removeTrivialSingleIterationLoops = true;
        bool removeSideEffectFreeLoops = true;
        static CFGSimplificationOptions getDefault() { return CFGSimplificationOptions(); }
        static CFGSimplificationOptions getFast() { return CFGSimplificationOptions{ false, false }; }
    };

        /// Simplifies control flow graph by merging basic blocks that
        /// forms a simple linear chain.
        /// Returns true if changed.
    bool simplifyCFG(IRModule* module, CFGSimplificationOptions options);

    bool simplifyCFG(IRGlobalValueWithCode* func, CFGSimplificationOptions options);

}
back to top