Files
revng-revng/lib/RestructureCFG/CMakeLists.txt
Andrea Gussoni 5698284bea MTGoTo: introduce the MaterializeTrivialGoto pass
The MaterializeTrivialGoto pass, tries to remove superfluous `goto` from
the `ScopeGraph`, by verifying that the resulting `ScopeGraph` does not
become cyclic or undecided.
In that case, it rolls back the changes.
2025-04-30 16:10:54 +02:00

39 lines
1.1 KiB
CMake

#
# This file is distributed under the MIT License. See LICENSE.md for details.
#
# We need an additional library because we link this also for unit tests
revng_add_library_internal(revngScopeGraphUtils ScopeGraphUtils.cpp)
target_link_libraries(revngScopeGraphUtils revngSupport ${LLVM_LIBRARIES})
revng_add_analyses_library_internal(
revngRestructureCFG
ASTNode.cpp
ASTNodeUtils.cpp
ASTTree.cpp
BasicBlockNode.cpp
BeautifyGHAST.cpp
DAGifyPass.cpp
EnforceSingleExitPass.cpp
ExprNode.cpp
FallThroughScopeAnalysis.cpp
GenericRegionInfo.cpp
GenericRegionPass.cpp
InlineDispatcherSwitch.cpp
InlineDivergentScopesPass.cpp
MaterializeTrivialGotoPass.cpp
MetaRegion.cpp
PromoteCallNoReturn.cpp
RegionCFGTree.cpp
RemoveDeadCode.cpp
RestructureCFG.cpp
ScopeGraphAlgorithms.cpp
SelectScopePass.cpp
SimplifyCompareNode.cpp
SimplifyDualSwitch.cpp
SimplifyHybridNot.cpp
SimplifyImplicitStatement.cpp)
target_link_libraries(revngRestructureCFG revngScopeGraphUtils revngSupport
revngModel revngPipeline ${LLVM_LIBRARIES})