szepet (Peter Szecsi)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 16 2016, 2:39 AM (57 w, 1 d)

Recent Activity

Yesterday

szepet removed an edge from rL308558: This feature allows the analyzer to consider loops to completely unroll. New: D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
Thu, Jul 20, 5:15 PM
szepet removed 1 commit(s) for D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option : rL308558: This feature allows the analyzer to consider loops to completely unroll. New.
Thu, Jul 20, 5:15 PM
szepet updated the diff for D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .

Removed REQUIRE ASSERT from test file.

Thu, Jul 20, 5:08 PM
szepet updated the diff for D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .

I suspect that the usage of the CFGStmtMap* caused the undefined behaviour since its lifetime was depending on its LocationContext.
In this version the isUnrolledLoopBlock creates the CFGStmtMap based on the CFG of the function which contains the unrolled loop. So the State stores FunctionDecl* instead of CFGStmtMap*.

Thu, Jul 20, 4:56 PM
szepet updated the diff for D35668: [CFG] Add LoopExit information to CFG.

Adding new block when the loop successor is the ExitBlock.
Test cases updated.

Thu, Jul 20, 2:25 PM
szepet removed reviewers for D35687: [StaticAnalyzer] Skip simulating branches where for-loops take 0 unrolled step: whisperity, baloghadamsoftware.
Thu, Jul 20, 8:29 AM
szepet created D35687: [StaticAnalyzer] Skip simulating branches where for-loops take 0 unrolled step.
Thu, Jul 20, 8:29 AM
szepet added a dependency for D35657: [StaticAnalyzer] LoopUnrolling: Exclude cases where the counter is escaped before the loop: D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
Thu, Jul 20, 8:12 AM
szepet added a dependent revision for D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option : D35657: [StaticAnalyzer] LoopUnrolling: Exclude cases where the counter is escaped before the loop.
Thu, Jul 20, 8:12 AM
szepet added a dependent revision for D35670: [StaticAnalyzer] Handle LoopExit CFGElement in the analyzer: D35684: [StaticAnalyzer] LoopUnrolling: Change the maxVisitOnPath dynamically in order to unroll loops.
Thu, Jul 20, 8:08 AM
szepet added a dependency for D35684: [StaticAnalyzer] LoopUnrolling: Change the maxVisitOnPath dynamically in order to unroll loops: D35670: [StaticAnalyzer] Handle LoopExit CFGElement in the analyzer.
Thu, Jul 20, 8:08 AM
szepet added a dependent revision for D35668: [CFG] Add LoopExit information to CFG: D35670: [StaticAnalyzer] Handle LoopExit CFGElement in the analyzer.
Thu, Jul 20, 8:07 AM
szepet added a dependency for D35670: [StaticAnalyzer] Handle LoopExit CFGElement in the analyzer: D35668: [CFG] Add LoopExit information to CFG.
Thu, Jul 20, 8:07 AM
szepet reopened D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
Thu, Jul 20, 8:02 AM
szepet added a comment to D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
In D34260#814856, @NoQ wrote:

The new tests look great, thanks. I think it's time to land :) You do already have commit access, don't you?

Thu, Jul 20, 8:02 AM
szepet created D35684: [StaticAnalyzer] LoopUnrolling: Change the maxVisitOnPath dynamically in order to unroll loops.
Thu, Jul 20, 7:57 AM
szepet created D35670: [StaticAnalyzer] Handle LoopExit CFGElement in the analyzer.
Thu, Jul 20, 2:57 AM
szepet created D35668: [CFG] Add LoopExit information to CFG.
Thu, Jul 20, 2:34 AM
szepet committed rL308592: Revert "[StaticAnalyzer] Completely unrolling specific loops with known bound….
Revert "[StaticAnalyzer] Completely unrolling specific loops with known bound…
Thu, Jul 20, 12:36 AM

Wed, Jul 19

szepet created D35657: [StaticAnalyzer] LoopUnrolling: Exclude cases where the counter is escaped before the loop.
Wed, Jul 19, 6:03 PM
szepet committed rL308561: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
[StaticAnalyzer] Completely unrolling specific loops with known bound option
Wed, Jul 19, 5:06 PM
szepet committed rL308558: This feature allows the analyzer to consider loops to completely unroll. New.
This feature allows the analyzer to consider loops to completely unroll. New
Wed, Jul 19, 4:50 PM
szepet closed D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option by committing rL308558: This feature allows the analyzer to consider loops to completely unroll. New.
Wed, Jul 19, 4:50 PM
szepet updated the diff for D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .

updated the test files

Wed, Jul 19, 6:14 AM

Thu, Jul 13

szepet added inline comments to D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
Thu, Jul 13, 11:51 AM
szepet added inline comments to D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
Thu, Jul 13, 11:29 AM
szepet added a comment to D16403: Add scope information to CFG for If/While/For/Do/Compound/CXXRangeFor statements.

Hello Maxim!
Thanks for working on this!

Thu, Jul 13, 8:47 AM · Restricted Project
szepet added inline comments to D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
Thu, Jul 13, 5:36 AM
szepet updated the diff for D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .

Updates based on comments.

Thu, Jul 13, 5:36 AM

Mon, Jul 10

szepet added a comment to D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .

Just to be clear, both of the columns refer to the number of matches of your matchers right? So for loops that would not be unrolled are skipped.

Mon, Jul 10, 6:19 AM
szepet updated the diff for D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .

Updated the patch according to the comments.
Measured the number of matches of the pattern on various projects and it turns out that strict while/do-while patterns - which I'm looking for - are much less common than forStmts.
Detailed statistics:

Project# of ForLoop# of While/DoWhile Loop
Curl41911
Xerces1002
LibPNG600120
FFmpeg30550130
Mon, Jul 10, 4:00 AM

Thu, Jun 29

szepet created D34812: [StaticAnalyzer] LoopUnrolling: Handling conditions with known value variables.
Thu, Jun 29, 7:10 AM
szepet added inline comments to D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
Thu, Jun 29, 7:00 AM
szepet updated the diff for D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .

Bug with nested loops in inlined functions fixed.
Test cases added.

Thu, Jun 29, 7:00 AM

Tue, Jun 27

szepet updated the diff for D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .

Updated the check of the blocks of inline analyzed functions using StackFrameContext.

Tue, Jun 27, 4:50 PM

Thu, Jun 22

szepet updated the diff for D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .

Just ran clang-format on LoopUnrolling.cpp.

Thu, Jun 22, 8:16 AM
szepet added inline comments to D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
Thu, Jun 22, 4:43 AM

Wed, Jun 21

szepet added inline comments to D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
Wed, Jun 21, 6:01 PM
szepet updated the diff for D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .

Answered comments and made changes according to them.

Wed, Jun 21, 6:00 PM

Jun 16 2017

szepet updated the diff for D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .

Small update based on comments.

Jun 16 2017, 2:19 AM

Jun 15 2017

szepet updated subscribers of D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
Jun 15 2017, 4:29 PM
szepet created D34260: [StaticAnalyzer] Completely unrolling specific loops with known bound option .
Jun 15 2017, 4:15 PM

Jun 6 2017

szepet added a comment to D32947: [ASTImporter] FriendDecl importing improvements.

ping

Jun 6 2017, 4:36 AM

May 28 2017

szepet added a comment to D32751: [ASTImporter] Support new kinds of declarations (mostly Using*).

Some nits added, other than these it looks good to me. Thank you!
Just more one question, I can see 3 different cases how the import returns are handled:

  • if(!ToDecl) return nullptr;
  • if(!ToDecl && FromDecl) return nullptr;
  • no handling: ObjectXY::Create(...Import(FromDecl))
May 28 2017, 3:32 PM
szepet added a reviewer for D32947: [ASTImporter] FriendDecl importing improvements: spyffe.
May 28 2017, 2:56 PM

May 16 2017

szepet added inline comments to D32751: [ASTImporter] Support new kinds of declarations (mostly Using*).
May 16 2017, 6:13 AM
szepet committed rL303158: [StaticAnalyzer] Move inline counter increaser to inlineCall function.
[StaticAnalyzer] Move inline counter increaser to inlineCall function
May 16 2017, 5:07 AM
szepet closed D32179: [StaticAnalyzer] Move inline counter increaser to inlineCall function by committing rL303158: [StaticAnalyzer] Move inline counter increaser to inlineCall function.
May 16 2017, 5:07 AM

May 7 2017

szepet added a comment to D32939: Kaleidoscope - toy.cpp use after move fix.

Thanks for the fast review!

May 7 2017, 4:22 AM
szepet committed rL302369: [Kaleidoscope] toy.cpp use after move fix.
[Kaleidoscope] toy.cpp use after move fix
May 7 2017, 4:14 AM
szepet closed D32939: Kaleidoscope - toy.cpp use after move fix by committing rL302369: [Kaleidoscope] toy.cpp use after move fix.
May 7 2017, 4:14 AM

May 6 2017

szepet created D32947: [ASTImporter] FriendDecl importing improvements.
May 6 2017, 1:51 PM
szepet created D32939: Kaleidoscope - toy.cpp use after move fix.
May 6 2017, 7:08 AM

Apr 18 2017

szepet updated the summary of D32179: [StaticAnalyzer] Move inline counter increaser to inlineCall function.
Apr 18 2017, 10:46 AM
szepet created D32179: [StaticAnalyzer] Move inline counter increaser to inlineCall function.
Apr 18 2017, 10:44 AM

Apr 15 2017

szepet accepted D31538: [analyzer] MisusedMovedObjectChecker: Fix a false positive on state-resetting a base-class sub-object..
Apr 15 2017, 1:22 PM

Mar 31 2017

szepet accepted D31541: [analyzer] MisusedMovedObjectChecker: Add a printState() method..

LGTM, thank you (again)!

Mar 31 2017, 10:54 AM
szepet added inline comments to D31538: [analyzer] MisusedMovedObjectChecker: Fix a false positive on state-resetting a base-class sub-object..
Mar 31 2017, 10:36 AM
szepet added a comment to D31538: [analyzer] MisusedMovedObjectChecker: Fix a false positive on state-resetting a base-class sub-object..

Thank you for working on that, Artem!
The changes look good, just one comment about that suspicious remove.

Mar 31 2017, 10:32 AM

Mar 20 2017

szepet added inline comments to D30876: [ASTImporter] Unnamed structs import.
Mar 20 2017, 6:16 PM
szepet updated the diff for D30876: [ASTImporter] Unnamed structs import.

Nits resolved, dependency added in order to not to conflict the 2 patches.

Mar 20 2017, 6:05 PM
szepet updated the diff for D30877: [ASTImporter] Lookup SearchName instead of Name.

Test case added.

Mar 20 2017, 5:34 PM
szepet added a dependent revision for D30877: [ASTImporter] Lookup SearchName instead of Name: D30876: [ASTImporter] Unnamed structs import.
Mar 20 2017, 5:08 PM
szepet added a dependency for D30876: [ASTImporter] Unnamed structs import: D30877: [ASTImporter] Lookup SearchName instead of Name.
Mar 20 2017, 5:08 PM
szepet updated the diff for D24246: StaticAnalyzer - MisusedMovedObjectChecker.

Nit resolved.

Mar 20 2017, 4:27 PM

Mar 12 2017

szepet created D30877: [ASTImporter] Lookup SearchName instead of Name.
Mar 12 2017, 4:56 PM
szepet created D30876: [ASTImporter] Unnamed structs import.
Mar 12 2017, 4:38 PM

Mar 7 2017

szepet added a comment to D24246: StaticAnalyzer - MisusedMovedObjectChecker.

I guess the solution is to come up with more detailed heuristics to figure out which methods are safe and which aren't - either larger lists of methods, or regex-based analysis over method names. Would you be willing to come up with those in a follow-up patch? We may also have a look eventually, because we believe this checker is useful :)

Mar 7 2017, 7:10 PM
szepet updated the diff for D24246: StaticAnalyzer - MisusedMovedObjectChecker.

Done in this diff:

  • branch rebase
  • check comments in the test file separated to lines (only notes with the same messages are in the same line)
Mar 7 2017, 6:58 PM
szepet updated subscribers of D24246: StaticAnalyzer - MisusedMovedObjectChecker.
Mar 7 2017, 8:32 AM

Feb 13 2017

szepet updated the diff for D24246: StaticAnalyzer - MisusedMovedObjectChecker.

Small infotext added and test cases updated. (More loop test to make sure the checkEndFunction workaround works fine.)

Feb 13 2017, 7:23 AM
szepet updated the diff for D29612: [ASTImporter] ParmVarDecl default argument initialization.

Use one ToExpr and FromExpr in the patch.
Check for unsuccessful import added.

Feb 13 2017, 5:14 AM
szepet removed a reviewer for D29884: [analyzer] Proper caching in CallDescription objects.: szepet.
Feb 13 2017, 1:43 AM
szepet added a reviewer for D29884: [analyzer] Proper caching in CallDescription objects.: szepet.
Feb 13 2017, 1:40 AM

Feb 9 2017

szepet updated the diff for D29612: [ASTImporter] ParmVarDecl default argument initialization.

additional small test case added

Feb 9 2017, 6:38 PM
szepet updated subscribers of D29612: [ASTImporter] ParmVarDecl default argument initialization.
Feb 9 2017, 5:11 AM

Feb 8 2017

szepet updated the diff for D29612: [ASTImporter] ParmVarDecl default argument initialization.

Hello Aleksei,
thank you for the review and the advice!

Feb 8 2017, 8:34 AM

Feb 6 2017

szepet created D29612: [ASTImporter] ParmVarDecl default argument initialization.
Feb 6 2017, 5:10 PM
szepet added inline comments to D24246: StaticAnalyzer - MisusedMovedObjectChecker.
Feb 6 2017, 6:25 AM
szepet updated the diff for D24246: StaticAnalyzer - MisusedMovedObjectChecker.

CheckPointerEscape callback removed since checkRegionChanges handle all the necessary cases.
Member MoveStmt removed from RegionState.
+Some typo fixes in comments.

Feb 6 2017, 6:25 AM
szepet added inline comments to D24246: StaticAnalyzer - MisusedMovedObjectChecker.
Feb 6 2017, 3:22 AM

Dec 25 2016

szepet updated the diff for D22507: Clang-tidy - Enum misuse check.

The requested changes have been made.
Some more refactor on the Case2 since it is the same as the LHS/RHS case. Moved more common statements out of the branch (Case2-3) for better readabilty. (And less code duplication.)

Dec 25 2016, 4:19 PM · Restricted Project
szepet updated the diff for D24246: StaticAnalyzer - MisusedMovedObjectChecker.

Test cases updated.
Some invalidation moved to checkRegionChanges callback.
Missing feature added: do not report an SubRegion if any of its SuperRegion is already reported

Dec 25 2016, 5:58 AM

Dec 17 2016

szepet updated the diff for D22507: Clang-tidy - Enum misuse check.

Minor changes to improve the readability of the code according to comments.

Dec 17 2016, 11:56 AM · Restricted Project

Dec 13 2016

szepet added a comment to D22507: Clang-tidy - Enum misuse check.

What is your opinion about the new results? I hope the checker can make it into 4.0.

Dec 13 2016, 2:09 AM · Restricted Project
szepet added a comment to D24246: StaticAnalyzer - MisusedMovedObjectChecker.

I wasn't able to find time for this checker the last few weeks, but my schedule became much lighter and I plan to commit the required changes (and a bugfix) next week. Starting from next week I can work on the checker on a daily basis. Hopefully it can make it into 4.0.

Dec 13 2016, 2:09 AM

Oct 6 2016

szepet added inline comments to D24246: StaticAnalyzer - MisusedMovedObjectChecker.
Oct 6 2016, 8:10 AM

Oct 4 2016

szepet abandoned D23853: Assert in performTrivialCopy - Bug report and a possible solution.

At first I was not able to reproduce it. Then I realized it was my foul because I used the analyzer without the core checkers in this case. Sorry for the false positive.

Oct 4 2016, 8:13 AM
szepet updated the diff for D22507: Clang-tidy - Enum misuse check.

Note message checks added to testfiles.

Oct 4 2016, 3:15 AM · Restricted Project

Oct 2 2016

szepet added inline comments to D24246: StaticAnalyzer - MisusedMovedObjectChecker.
Oct 2 2016, 6:12 AM
szepet updated the diff for D24246: StaticAnalyzer - MisusedMovedObjectChecker.
  • Some refactor based on comments.
  • Updated testfiles.
Oct 2 2016, 6:03 AM

Sep 30 2016

szepet added inline comments to D22507: Clang-tidy - Enum misuse check.
Sep 30 2016, 3:56 PM · Restricted Project
szepet updated the diff for D22507: Clang-tidy - Enum misuse check.

Updates based on comments (the testfile note comments will be added in the next commit)

Sep 30 2016, 3:48 PM · Restricted Project

Sep 20 2016

szepet added inline comments to D24137: Misspelled checker description (argument comment).
Sep 20 2016, 7:14 AM · Restricted Project
szepet updated the diff for D24137: Misspelled checker description (argument comment).

rewritten description

Sep 20 2016, 7:14 AM · Restricted Project
szepet updated the diff for D22507: Clang-tidy - Enum misuse check.

In order to decrease false positive rate, the bitmask specific checker part investigate only the enumconstans which was initilized by a literal. (If this is too strong it can be modified)

Sep 20 2016, 6:50 AM · Restricted Project

Sep 6 2016

szepet updated the diff for D24246: StaticAnalyzer - MisusedMovedObjectChecker.

removed empty file which was added by mistake

Sep 6 2016, 5:12 AM
szepet retitled D24246: StaticAnalyzer - MisusedMovedObjectChecker from to StaticAnalyzer - MisusedMovedObjectChecker.
Sep 6 2016, 3:07 AM

Sep 5 2016

szepet updated the diff for D22507: Clang-tidy - Enum misuse check.

cast to dyn-cast change in order to fix a bug, changes based on comments

Sep 5 2016, 6:53 AM · Restricted Project

Sep 1 2016

szepet added inline comments to D22507: Clang-tidy - Enum misuse check.
Sep 1 2016, 8:48 AM · Restricted Project