mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
5698284bea
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.
39 lines
1.1 KiB
CMake
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})
|