https://github.com/shader-slang/slang
Raw File
Tip revision: 323fdff4544ac3b640bdc617d7f7d64ab56fbf5a authored by kaizhangNV on 27 June 2024, 23:52:23 UTC
Enable upload asset for old glibc build (#4501)
Tip revision: 323fdff
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