This revision was automatically updated to reflect the committed changes.
Closed by commit rL251621: [Analyzer] Widening loops which do not exit
(authored by seaneveson).
Changed prior to commit:
http://reviews.llvm.org/D12358?vs=38717&id=38718#toc
Repository:
rL LLVM
http://reviews.llvm.or
seaneveson updated this revision to Diff 38717.
seaneveson added a comment.
Updated to latest revision
http://reviews.llvm.org/D12358
Files:
include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h
lib/StaticAnalyzer/Core/AnalyzerO
dcoughlin accepted this revision.
dcoughlin added a comment.
LGTM. Please commit. Thanks for tackling this, Sean!
http://reviews.llvm.org/D12358
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/c
seaneveson marked 5 inline comments as done.
Comment at: test/Analysis/loop-widening.c:160
@@ +159,3 @@
+void variable_bound_exiting_loops_widened(int x) {
+ int i = 0;
+ int t = 1;
The inner loop will now be widened in the first example test, which
'coincident
seaneveson updated this revision to Diff 38519.
seaneveson added a comment.
Removed checking for already exited loops
Addressed Comments
http://reviews.llvm.org/D12358
Files:
include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h
seaneveson marked an inline comment as done.
seaneveson added a comment.
Hi Devin,
Sorry it also took me so long to get back to you.
Comment at: include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:266
@@ +265,3 @@
+ /// \sa shouldWidenLoops
+ bool WidenLoops;
+
--
dcoughlin added a comment.
Hi Sean,
Sorry it took me so long to get back to you.
Comment at: include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:266
@@ +265,3 @@
+ /// \sa shouldWidenLoops
+ bool WidenLoops;
+
Is this field used?
Comment at:
seaneveson marked 3 inline comments as done.
seaneveson added a comment.
In http://reviews.llvm.org/D12358#266391, @dcoughlin wrote:
> I think this is an acceptable loss of precision because, in general, it is
> unlikely that a concrete-bounded loop will be executed *exactly*
> maxBlockVisitOnP
seaneveson updated this revision to Diff 37462.
seaneveson added a comment.
Set CausedByPointerEscape to true
Check if the loop has already been exited before widening
Changed tests to use void clang_analyze_eval(int)
Added variable bound loop tests
Added nested loop tests
http://reviews.llvm.or
dcoughlin added a comment.
> There is a loss of precision for loops that need to be executed exactly
> maxBlockVisitOnPath times, as the loop body is executed with the widened
> state instead of the last iteration.
I think this is an acceptable loss of precision because, in general, it is
unl
10 matches
Mail list logo