#pragma once // // This file is distributed under the MIT License. See LICENSE.md for details. // #include "mlir/Pass/Pass.h" #include "revng/Clift/Clift.h" namespace clift { template using PassPtr = std::unique_ptr>; #define GEN_PASS_DECL #include "revng/CliftTransforms/Passes.h.inc" PassPtr createTrivialReturnEliminationPass(); PassPtr createLabelMergingPass(); PassPtr createLoopDetectionPass(); PassPtr createOptimizeStatementsPass(); PassPtr createOptimizeExpressionsPass(); PassPtr createEmitFieldAccessesPass(); PassPtr createTerminalBranchComplementHoistingPass(); PassPtr createVariableScopeTighteningPass(); PassPtr createVariableInitializerHoistingPass(); PassPtr createCLegalizationPass(); PassPtr createImmediateRadixDeductionPass(); PassPtr createImplicitCastElisionPass(); PassPtr createVerifyCPass(); PassPtr createEmitCPass(); PassPtr createEmitTypeAndGlobalHeaderPass(); PassPtr createEmitHelperHeaderPass(); #define GEN_PASS_REGISTRATION #include "revng/CliftTransforms/Passes.h.inc" } // namespace clift