SuccessChanges

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

Summary

  1. [analyzer] Fix SARIF column locations (details)
  2. [DebugInfo] Add option to clang to limit debug info that is emitted for (details)
  3. [InstCombine] Fix worklist management when removing guard intrinsic (details)
  4. [clang][test][NFC] Use more widely supported sanitizer for file (details)
Commit 5ee616a710bcb52cf9f1f7951644d098d38e7b6a by jranieri
[analyzer] Fix SARIF column locations
Differential revision: https://reviews.llvm.org/D70689
The file was modifiedclang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c
The file was modifiedclang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif
The file was modifiedclang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif
The file was modifiedclang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
Commit 651128f557229e79598e22102edb7fad3bf288c0 by akhuang
[DebugInfo] Add option to clang to limit debug info that is emitted for
classes.
Summary: This patch adds an option to limit debug info by only emitting
complete class type information when its constructor is emitted. This
applies to classes that have nontrivial user defined constructors.
I implemented the option by adding another level to `DebugInfoKind`, and
a flag `-flimit-debug-info-constructor`.
Total object file size on Windows, compiling with RelWithDebInfo:
before: 4,257,448 kb
after:  2,104,963 kb
And on Linux
before: 9,225,140 kb
after:  4,387,464 kb
According to the Windows clang.pdb files, here is a list of types that
are no longer complete with this option enabled:
https://reviews.llvm.org/P8182
Reviewers: rnk, dblaikie
Subscribers: aprantl, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72427
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was addedclang/test/CodeGenCXX/debug-info-limited-ctor.cpp
Commit 04e586151e7987089d760662126e247012431e90 by nikita.ppv
[InstCombine] Fix worklist management when removing guard intrinsic
When multiple guard intrinsics are merged into one, currently the result
of eraseInstFromFunction() is returned -- however, this should only be
done if the current instruction is being removed. In this case we're
removing a different instruction and should instead report that the
current one has been modified by returning it.
For this test case, this reduces the number of instcombine iterations
from 5 to 2 (the minimum possible).
Differential Revision: https://reviews.llvm.org/D72558
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/call-guard.ll
Commit 986202fad41529af8288aca54f2ff62d4c501d71 by Jan Korous
[clang][test][NFC] Use more widely supported sanitizer for file
dependency tests
The tests aren't concerned at all by the actual sanitizer - only by
blacklist being reported as a dependency. We're unfortunately limited by
platform support for any particular sanitizer but we can at least use
one that is widely supported.
Post-commit review: https://reviews.llvm.org/D72729
The file was addedclang/test/Frontend/Inputs/resource_dir_with_sanitizer_blacklist/share/ubsan_blacklist.txt
The file was modifiedclang/test/Frontend/dependency-gen.c
The file was removedclang/test/Frontend/Inputs/resource_dir_with_cfi_blacklist/share/cfi_blacklist.txt