Depends on D124758. That patch introduced serious regression in the run-time in
some special cases. This fixes that.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp | ||
---|---|---|
2547 | I am wondering, that maybe it would be better to check for isPosteriorlyOverconstrained here. Because only State->assume can return such States, and by checking it here, we could spare some instructions. |
Thanks for the quick response!
clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h | ||
---|---|---|
127 | This shouldnt be the way. | |
clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp | ||
2547 | Play with it. | |
clang/test/Analysis/runtime-regression.c | ||
7 | Sadly, I had to manually track this down xD. | |
8 | Maybe the test infra has something to specify a timeout. | |
12 | Pin the tartget triple. |
- Make reAssume friend, pin the target in the test
clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h | ||
---|---|---|
127 | Okay, I've made it a friend. | |
clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp | ||
2547 | Yeah, I will, but I don't know how much time that would take to assess. So, in the meantime let's proceed with this version. | |
clang/test/Analysis/runtime-regression.c | ||
7 | Ok, I removed the sentence. | |
8 | I could not find how to set a timeout in the test file. There is a lit cli option that might be used, however, that would affect all other test cases. https://llvm.org/docs/CommandGuide/lit.html#cmdoption-lit-timeout | |
12 | Ok, done. |
Typo; other than that LGTM
clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h | ||
---|---|---|
117 | ||
clang/test/Analysis/runtime-regression.c | ||
8 | Why you could do is to call RUN {lit} --max-time XX Then do a FileCheck against the output of that. |
clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h | ||
---|---|---|
117 | Fixed, thx. |