mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
06733a9f3a
Split the `InlineHelpers` pass into the three phases: - `link-helpers-to-inline` links the missing `revng_inline` helper bodies from the `libtcg-helpers-to-inline-arch` module. - `inline-helpers` inlines, in every function except those tagged `Root` or `Helper`, the calls to `revng_inline` helpers whose critical arguments on the call site are constant. - `delete-helper-bodies` drops from the module the body of every `revng_inline` function, leaving only the declaration. The three passes live in a dedicated `revngInlineHelpers` library (`lib/InlineHelpers/` + `include/revng/InlineHelpers/`), so that libraries which do not depend on `revngFunctionIsolation` can use them without creating cyclic dependencies.
62 lines
1.7 KiB
CMake
62 lines
1.7 KiB
CMake
#
|
|
# This file is distributed under the MIT License. See LICENSE.md for details.
|
|
#
|
|
|
|
#
|
|
# Handle the analysis libraries
|
|
#
|
|
|
|
add_custom_target(analyses)
|
|
|
|
macro(revng_add_analyses_library_internal NAME)
|
|
revng_add_analyses_library("${NAME}" revng ${ARGN})
|
|
add_dependencies(analyses "${NAME}")
|
|
endmacro()
|
|
|
|
macro(revng_add_library_internal NAME TYPE)
|
|
revng_add_library("${NAME}" "${TYPE}" revng ${ARGN})
|
|
endmacro()
|
|
|
|
add_subdirectory(ABI)
|
|
add_subdirectory(Backend)
|
|
add_subdirectory(BasicAnalyses)
|
|
add_subdirectory(HelperInliningAnalyses)
|
|
add_subdirectory(Canonicalize)
|
|
add_subdirectory(Clift)
|
|
add_subdirectory(CliftEmitC)
|
|
add_subdirectory(Clifter)
|
|
add_subdirectory(CliftImportModel)
|
|
add_subdirectory(CliftPipes)
|
|
add_subdirectory(CliftTransforms)
|
|
add_subdirectory(DataLayoutAnalysis)
|
|
add_subdirectory(EarlyFunctionAnalysis)
|
|
add_subdirectory(FunctionCallIdentification)
|
|
add_subdirectory(FunctionIsolation)
|
|
add_subdirectory(GraphLayout)
|
|
add_subdirectory(HeadersGeneration)
|
|
add_subdirectory(HelperArgumentsAnalysis)
|
|
add_subdirectory(ImportFromC)
|
|
add_subdirectory(InitModelTypes)
|
|
add_subdirectory(InlineHelpers)
|
|
add_subdirectory(LocalVariables)
|
|
add_subdirectory(LLMRename)
|
|
add_subdirectory(Lift)
|
|
add_subdirectory(Model)
|
|
add_subdirectory(Pipebox)
|
|
add_subdirectory(Pipeline)
|
|
add_subdirectory(PipelineC)
|
|
add_subdirectory(Pipes)
|
|
add_subdirectory(PromoteStackPointer)
|
|
add_subdirectory(PTML)
|
|
add_subdirectory(Recompile)
|
|
add_subdirectory(RemoveExtractValues)
|
|
add_subdirectory(RemoveLiftingArtifacts)
|
|
add_subdirectory(RestructureCFG)
|
|
add_subdirectory(Storage)
|
|
add_subdirectory(Support)
|
|
add_subdirectory(TypeNames)
|
|
add_subdirectory(TypeShrinking)
|
|
add_subdirectory(UnitTestHelpers)
|
|
add_subdirectory(ValueMaterializer)
|
|
add_subdirectory(Yield)
|