SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [AIX][test/Index] Set/propagate AIXTHREAD_STK for AIX (details)
  2. [AIX] Implement LR prolog/epilog save/restore (details)
  3. Fix -Wdocumentation typo. NFCI. (details)
  4. Fix -Wdocumentation warning (@returns used in void function). NFCI. (details)
  5. [analyzer][NFC] Refactoring BugReporter.cpp P2.: Clean up the (details)
  6. [lldb] Fix Microsoft guard variable detection (details)
Commit f635e28df8d0737ec4c05aaca7bcbbbc7e47dba3 by hubert.reinterpretcast
[AIX][test/Index] Set/propagate AIXTHREAD_STK for AIX
Summary: Some tests perform deep recursion, which requires a larger
pthread stack size than the relatively low default of 192 KiB for 64-bit
processes on AIX. The `AIXTHREAD_STK` environment variable provides a
non-intrusive way to request a larger pthread stack size for the tests.
The required pthread stack size depends on the build configuration.
A 4 MiB default is generous compared to the 512 KiB of macOS; however,
it is known that some compilers on AIX produce code that uses
comparatively more stack space.
Reviewers: xingxue, daltenty, jasonliu
Reviewed By: daltenty
Subscribers: arphaman, jfb, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D65688
llvm-svn: 368690
The file was addedclang/test/Index/lit.local.cfg
Commit 8f1db0cd08d0194d4b7e5a9a86f96efe710ba087 by hubert.reinterpretcast
[AIX] Implement LR prolog/epilog save/restore
Summary: This patch fixes the offsets of fields in the stack frame
linkage save area for AIX.
Reviewers: sfertile, hubert.reinterpretcast, jasonliu, Xiangling_L,
xingxue, ZarkoCA, daltenty
Reviewed By: hubert.reinterpretcast
Subscribers: wuzish, nemanjai, hiraditya, kbarton, MaskRay, jsji,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64424
Patch by Chris Bowler!
llvm-svn: 368691
The file was addedllvm/test/CodeGen/PowerPC/aix-lr.ll
Commit 202d660af100f7e8560a791ea98cea781b577dfa by llvm-dev
Fix -Wdocumentation typo. NFCI.
llvm-svn: 368692
The file was modifiedclang/include/clang/CrossTU/CrossTranslationUnit.h
Commit bda73ae0bbb0d8a11c5e4b58dd1461748f8f54dd by llvm-dev
Fix -Wdocumentation warning (@returns used in void function). NFCI.
llvm-svn: 368693
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
Commit ed9cc4079452e827c8cd0f6d4f18d1bbc3258f03 by dkszelethus
[analyzer][NFC] Refactoring BugReporter.cpp P2.: Clean up the
construction of bug paths and finding a valid report
This patch refactors the utility functions and classes around the
construction of a bug path.
At a very high level, this consists of 3 steps:
* For all BugReports in the same BugReportEquivClass, collect all their
error nodes in a set. With that set, create a new, trimmed ExplodedGraph
whose leafs are all error nodes.
* Until a valid report is found, construct a bug path, which is yet
another ExplodedGraph, that is linear from a given error node to the
root of the graph.
* Run all visitors on the constructed bug path. If in this process the
report got invalidated, start over from step 2.
Now, to the changes within this patch:
* Do not allow the invalidation of BugReports up to the point where the
trimmed graph is constructed. Checkers shouldn't add bug reports that
are known to be invalid, and should use visitors and argue about the
entirety of the bug path if needed.
* Do not calculate indices. I may be biased, but I personally find code
like this horrible. I'd like to point you to one of the comments in the
original code:
SmallVector<const ExplodedNode *, 32> errorNodes; for (const auto I :
bugReports) {
if (I->isValid()) {
   HasValid = true;
   errorNodes.push_back(I->getErrorNode());
} else {
   // Keep the errorNodes list in sync with the bugReports list.
   errorNodes.push_back(nullptr);
}
}
Not on my watch. Instead, use a far easier to follow trick: store a
pointer to the BugReport in question, not an index to it.
* Add range iterators to ExplodedGraph's successors and predecessors,
and a visitor range to BugReporter.
* Rename TrimmedGraph to BugPathGetter. Because that is what it has
always been: no sane graph type should store an iterator-like state, or
have an interface not exposing a single graph-like functionalities.
* Rename ReportGraph to BugPathInfo, because it is only a linear path
with some other context.
* Instead of having both and out and in parameter (which I think isn't
ever excusable unless we use the out-param for caching), return a record
object with descriptive getter methods.
* Where descriptive names weren't sufficient, compliment the code with
comments.
Differential Revision: https://reviews.llvm.org/D65379
llvm-svn: 368694
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporter.cpp
Commit a23b25031e48d03868095f22a5fd7af20870ccbd by Raphael Isemann
[lldb] Fix Microsoft guard variable detection
Apparently we need to check for a suffix, not a prefix. This broke
probably broke expression evaluation on Windows.
llvm-svn: 368695
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp