HomePhabricator

This feature allows the analyzer to consider loops to completely unroll. New

Description

This feature allows the analyzer to consider loops to completely unroll. New
requirements/rules (for unrolling) can be added easily via ASTMatchers.

The current implementation is hidden behind a flag.

Right now the blocks which belong to an unrolled loop are marked by the
LoopVisitor which adds them to the ProgramState. Then whenever we encounter a
CFGBlock in the processCFGBlockEntrance which is marked then we skip its
investigating. That means, it won't be considered to be visited more than the
maximal bound for visiting since it won't be checked.

Differential Revision: https://reviews.llvm.org/D34260

Details

Committed
szepetJul 19 2017, 4:50 PM
Differential Revision
D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option
Branches
Unknown
Tags
Unknown