// // This file is distributed under the MIT License. See LICENSE.md for details. // #include "revng/ABI/Analyses/ConvertFunctionsToCABI.h" #include "revng/ABI/Analyses/ConvertFunctionsToRaw.h" #include "revng/Backend/DecompileToSingleFile.h" #include "revng/Canonicalize/SimplifySwitch.h" #include "revng/Canonicalize/SwitchToStatements.h" #include "revng/CliftPipes/Clifter.h" #include "revng/CliftPipes/EmitC.h" #include "revng/CliftPipes/ImportDataModel.h" #include "revng/CliftPipes/ImportDescriptiveInfo.h" #include "revng/CliftPipes/VerifyAgainstModel.h" #include "revng/DataLayoutAnalysis/DLA.h" #include "revng/EarlyFunctionAnalysis/AttachDebugInfo.h" #include "revng/EarlyFunctionAnalysis/CollectCFG.h" #include "revng/EarlyFunctionAnalysis/DetectABI.h" #include "revng/FunctionIsolation/EnforceABI.h" #include "revng/FunctionIsolation/InvokeIsolatedFunctions.h" #include "revng/FunctionIsolation/IsolateFunctions.h" #include "revng/FunctionIsolation/PromoteCSVs.h" #include "revng/HeadersGeneration/ModelToHeaderPipe.h" #include "revng/HeadersGeneration/ModelTypeDefinitionPipe.h" #include "revng/ImportFromC/ImportFromCAnalysis.h" #include "revng/LLMRename/LLMRenameAnalysis.h" #include "revng/Lift/Lift.h" #include "revng/Lift/LinkSupportPipe.h" #include "revng/Model/Importer/Binary/ImportBinaryAnalysis.h" #include "revng/Model/Importer/ImportPrototypesFromDatabase.h" #include "revng/Pipebox/LLVMPipe.h" #include "revng/Pipebox/MLIRPipe.h" #include "revng/Pipebox/MergeLLVMModules.h" #include "revng/PipeboxCommon/BinariesContainer.h" #include "revng/PipeboxCommon/CliftContainers.h" #include "revng/PipeboxCommon/Helpers/Registrars.h" #include "revng/PipeboxCommon/ModelManipulationAnalyses.h" #include "revng/PipeboxCommon/RawContainer.h" #include "revng/PromoteStackPointer/DetectStackSize.h" #include "revng/PromoteStackPointer/InjectStackSizeProbesAtCallSites.h" #include "revng/PromoteStackPointer/PromoteStackPointer.h" #include "revng/PromoteStackPointer/SegregateStackAccesses.h" #include "revng/Recompile/CompileModulePipe.h" #include "revng/Recompile/LinkForTranslationPipe.h" #include "revng/RemoveLiftingArtifacts/CleanupIR.h" #include "revng/RemoveLiftingArtifacts/MakeSegmentRef.h" #include "revng/RemoveLiftingArtifacts/PromoteInitCSVToUndef.h" #include "revng/RemoveLiftingArtifacts/RemoveLiftingArtifacts.h" #include "revng/Yield/HexDump.h" #include "revng/Yield/Pipes/ProcessAssembly.h" #include "revng/Yield/Pipes/ProcessCallGraph.h" #include "revng/Yield/Pipes/YieldAssembly.h" #include "revng/Yield/Pipes/YieldCallGraph.h" #include "revng/Yield/Pipes/YieldCallGraphSlice.h" using namespace revng::pypeline; // // Containers // static RegisterContainer C1; static RegisterContainer C3; static RegisterContainer C4; static RegisterContainer C5; static RegisterContainer C6; static RegisterContainer C7; static RegisterContainer C8; static RegisterContainer C9; static RegisterContainer C10; static RegisterContainer C11; static RegisterContainer C12; static RegisterContainer C13; static RegisterContainer C14; static RegisterContainer C15; static RegisterContainer C16; static RegisterContainer C17; static RegisterContainer C18; static RegisterContainer C19; static RegisterContainer C20; // // Pipes // using namespace revng::pypeline::pipes; using namespace revng::pypeline::piperuns; namespace piperuns = revng::pypeline::piperuns; static RegisterSingleOutputPipeRun P1; static RegisterPipe P2; static RegisterPipe P3; static RegisterSingleOutputPipeRun P4; static RegisterTypeDefinitionPipeRun P5; static RegisterFunctionPipeRun P6; static RegisterFunctionPipeRun P7; static RegisterFunctionPipeRun P8; static RegisterFunctionPipeRun P9; static RegisterFunctionPipeRun P10; static RegisterSingleOutputPipeRun P11; static RegisterFunctionPipeRun P12; static RegisterFunctionPipeRun P13; static RegisterSingleOutputPipeRun P14; static RegisterSingleOutputPipeRun P15; static RegisterSingleOutputPipeRun P16; static RegisterSingleOutputPipeRun P17; static RegisterFunctionPipeRun P18; static RegisterFunctionPipeRun P19; static RegisterFunctionPipeRun P20; static RegisterFunctionPipeRun P21; static RegisterFunctionPipeRun P22; static RegisterFunctionPipeRun P23; static RegisterFunctionPipeRun P24; static RegisterFunctionPipeRun P25; static RegisterFunctionPipeRun P26; static RegisterFunctionPipeRun P27; static RegisterPipe P28; static RegisterSingleOutputPipeRun P29; static RegisterSingleOutputPipeRun P30; static RegisterFunctionPipeRun P31; static RegisterSingleOutputPipeRun P32; static RegisterSingleOutputPipeRun P33; static RegisterSingleOutputPipeRun P34; static RegisterSingleOutputPipeRun P35; static RegisterSingleOutputPipeRun P36; static RegisterFunctionPipeRun P37; static RegisterFunctionPipeRun P38; static RegisterFunctionPipeRun P39; static RegisterFunctionPipeRun P40; static RegisterFunctionPipeRun P41; // // Analyses // using namespace revng::pypeline::analyses; static RegisterAnalysis A1; static RegisterAnalysis A2; static RegisterAnalysis A3; static RegisterAnalysis A4; static RegisterAnalysis A5; static RegisterAnalysis A6; static RegisterAnalysis A7; static RegisterAnalysis A8; static RegisterAnalysis A9; static RegisterAnalysis A10; static RegisterAnalysis A11; static RegisterAnalysis A12; static RegisterAnalysis A13;