#pragma once namespace ir { class Module; void RunMem2Reg(Module& module); bool RunConstFold(Module& module); bool RunConstProp(Module& module); bool RunFunctionInlining(Module& module); bool RunCSE(Module& module); bool RunGVN(Module& module); bool RunLoadStoreElim(Module& module); bool RunDCE(Module& module); bool RunCFGSimplify(Module& module); bool RunLICM(Module& module); bool RunLoopMemoryPromotion(Module& module); bool RunLoopUnswitch(Module& module); bool RunLoopStrengthReduction(Module& module); bool RunLoopUnroll(Module& module); bool RunLoopFission(Module& module); void RunIRPassPipeline(Module& module); } // namespace ir