SuccessChanges

Summary

  1. [analyzer] CastValueChecker: Store the dynamic types and casts (details)
  2. [GWP-ASan] Remove c++ standard lib dependency. (details)
  3. [analyzer] CastValueChecker: Rewrite dead header hotfix (details)
  4. gn build: Merge r369605 (details)
  5. [analyzer] CastValueChecker: Try to fix the buildbots (details)
  6. [COFF] Fix section name for constants larger than 64 bits on Windows (details)
  7. The g_format_infos table needs to be updated in concert with the enum (details)
  8. [X86] Making X86OptimizeLEAs pass public. NFC (details)
  9. [analyzer] Don't track the condition of foreach loops (details)
  10. [FormatManager] Add static_assert to keep formats in sync. (details)
  11. [analyzer] CastValueChecker: Model isa(), isa_and_nonnull() (details)
  12. [analyzer] Enable control dependency condition tracking by default (details)
  13. [FormatManage] Fix the format info order (details)
  14. [lldb] Replace std::once_flag with llvm::once_flag. (details)
  15. [OpenMP] Permit map with DSA on combined directive (details)
  16. [lit] Diagnose insufficient args to internal env (details)
  17. [debugserver] Switch back to std::once_flag (details)
Commit 0202c3596c52d453d1e9e5a43d7533b83444df4e by dabis.csaba98
[analyzer] CastValueChecker: Store the dynamic types and casts
Summary: This patch introduces `DynamicCastInfo` similar to
`DynamicTypeInfo` which is stored in `CastSets` which are storing the
dynamic cast informations of objects based on memory regions. It could
be used to store and check the casts and prevent infeasible paths.
Reviewed By: NoQ
Differential Revision: https://reviews.llvm.org/D66325
llvm-svn: 369605
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
The file was removedclang/lib/StaticAnalyzer/Core/DynamicTypeMap.cpp
The file was addedclang/test/Analysis/cast-value-logic.cpp
The file was modifiedclang/test/Analysis/dump_egraph.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/CMakeLists.txt
The file was addedclang/lib/StaticAnalyzer/Core/DynamicType.cpp
The file was addedclang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h
The file was addedclang/test/Analysis/Inputs/llvm.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h
The file was modifiedclang/test/Analysis/expr-inspection.c
The file was addedclang/test/Analysis/cast-value-state-dump.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
The file was addedclang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicCastInfo.h
The file was removedclang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeMap.h
The file was removedclang/test/Analysis/cast-value.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ProgramState.cpp
The file was addedclang/test/Analysis/cast-value-notes.cpp
Commit 3dd22585199195d4656154205ab631b8dd406143 by phosek
[GWP-ASan] Remove c++ standard lib dependency.
Remove c++ standard library dependency for now for @phosek. They have a
complicated build system that breaks with the fuzzer target here.
Also added a todo to remedy later.
Differential Revision: https://reviews.llvm.org/D66568
llvm-svn: 369606
The file was modifiedcompiler-rt/lib/gwp_asan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/gwp_asan/stack_trace_compressor_fuzzer.cpp
Commit e4bf456fcef23b7c9ec9968cdf1df36b591755ec by dabis.csaba98
[analyzer] CastValueChecker: Rewrite dead header hotfix
llvm-svn: 369607
The file was modifiedclang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/CallEvent.cpp
Commit 6e8b79e3080bde71948e0259fed16247d87c071e by nicolasweber
gn build: Merge r369605
llvm-svn: 369608
The file was modifiedllvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Core/BUILD.gn
Commit 22dc44ff896a34a94c7ed6d3bf7b577b98e34fbd by dabis.csaba98
[analyzer] CastValueChecker: Try to fix the buildbots
llvm-svn: 369609
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
Commit 246750c2a91951fc4b77ebe43d568f47843e6399 by maskray
[COFF] Fix section name for constants larger than 64 bits on Windows
APIntToHexString returns wrong value
("0000000000000000ffffffffffffffff") for integer larger than 64 bits,
and thus TargetLoweringObjectFileCOFF::getSectionForConstant returns
same section name for all numbers larger than 64 bits. This patch tries
to fix it.
Differential Revision: https://reviews.llvm.org/D66458 Patch by Senran
Zhang
llvm-svn: 369610
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was addedllvm/test/CodeGen/X86/coff-fp-section-name.ll
Commit ca4409b4dc157bdf7a57f7c8be984492577341f4 by Jason Molenda
The g_format_infos table needs to be updated in concert with the enum
Format entries; else we can crash in a place like
FormatManager::GetFormatAsCString().  We should add  bounds checks to
prevent this more reliably, but for tonight I'm just adding this entry
to keep an address-sanitizer test run working.
llvm-svn: 369611
The file was modifiedlldb/source/DataFormatters/FormatManager.cpp
Commit 7630e24492c55cf07e43c0783997cbf9a1603f45 by pengfei.wang
[X86] Making X86OptimizeLEAs pass public. NFC
Reviewers: wxiao3, LuoYuanke, andrew.w.kaylor, craig.topper,
annita.zhang, liutianle, pengfei, xiangzhangllvm, RKSimon, spatel,
andreadb
Reviewed By: RKSimon
Subscribers: andreadb, hiraditya, llvm-commits
Tags: #llvm
Patch by Gen Pei (gpei)
Differential Revision: https://reviews.llvm.org/D65933
llvm-svn: 369612
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/lib/Target/X86/X86OptimizeLEAs.cpp
The file was modifiedllvm/lib/Target/X86/X86.h
Commit 58eb033a497747331477f8aac36408f24ca0f628 by dkszelethus
[analyzer] Don't track the condition of foreach loops
As discussed on the mailing list, notes originating from the tracking of
foreach loop conditions are always meaningless.
Differential Revision: https://reviews.llvm.org/D66131
llvm-svn: 369613
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
The file was modifiedclang/test/Analysis/track-control-dependency-conditions.cpp
Commit 12002fbd211d3197a2ccba63632937ee1e9212f4 by Jonas Devlieghere
[FormatManager] Add static_assert to keep formats in sync.
This adds a static assert that ensures that there's a format info entry
for every format enum value. This should prevent others from making the
same mistake I made and Jason kindly fixed in r369611. (Thanks!)
llvm-svn: 369614
The file was modifiedlldb/source/DataFormatters/FormatManager.cpp
Commit 4d71600c113243b0f3eb04c2308f0eda60bfccaa by dabis.csaba98
[analyzer] CastValueChecker: Model isa(), isa_and_nonnull()
Summary: -
Reviewed By: NoQ
Differential Revision: https://reviews.llvm.org/D66423
llvm-svn: 369615
The file was modifiedclang/test/Analysis/cast-value-notes.cpp
The file was modifiedclang/test/Analysis/Inputs/llvm.h
The file was modifiedclang/test/Analysis/cast-value-logic.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
Commit 0f9e530c0f4d2449b093f08b7d46bd2ef174578c by dkszelethus
[analyzer] Enable control dependency condition tracking by default
This patch concludes my GSoC'19 project by enabling track-conditions by
default.
Differential Revision: https://reviews.llvm.org/D66381
llvm-svn: 369616
The file was modifiedclang/test/Analysis/return-value-guaranteed.cpp
The file was modifiedclang/test/Analysis/track-control-dependency-conditions.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
The file was modifiedclang/test/Analysis/analyzer-config.c
The file was modifiedclang/test/Analysis/diagnostics/no-store-func-path-notes.m
Commit 2621f7bdb4d3bb377d3e9bfb7f76ae527c8ba72d by Jonas Devlieghere
[FormatManage] Fix the format info order
The format info entries need to match the order of the enum entries.
This should fix the two failing data-formatter tests.
llvm-svn: 369617
The file was modifiedlldb/source/DataFormatters/FormatManager.cpp
Commit 0a8e634b3bb939407c49f11cd724eb656ca9f2cc by davide
[lldb] Replace std::once_flag with llvm::once_flag.
Summary: The former seems like it's not working on some platforms. All
the other uses use `llvm::`, so, let's change for consistency.
Reviewers: jasonmolenda, friss
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D66566
llvm-svn: 369618
The file was modifiedlldb/include/lldb/Target/Process.h
The file was modifiedlldb/tools/debugserver/source/MacOSX/DarwinLog/DarwinLogCollector.cpp
Commit 7d5bc554333e28749554c313a207d8267da69837 by jdenny.ornl
[OpenMP] Permit map with DSA on combined directive
For `map`, the following restriction changed in OpenMP 5.0:
* OpenMP 4.5 [2.15.5.1, Restrictions]: "A list item cannot appear in
both a map clause and a data-sharing attribute clause on the same
construct.
* OpenMP 5.0 [2.19.7.1, Restrictions]: "A list item cannot appear in
both a map clause and a data-sharing attribute clause on the same
construct unless the construct is a combined construct."
This patch removes this restriction in the case of combined constructs
and OpenMP 5.0, and it updates Sema not to capture a scalar by copy in
the target region when `firstprivate` and `map` appear for that scalar
on a combined target construct.
This patch also adds a fixme to a test that now reveals that a
diagnostic about loop iteration variables is dropped in the case of
OpenMP 5.0.  That bug exists regardless of this patch's changes.
Reviewed By: ABataev, jdoerfert, hfinkel, kkwli0
Differential Revision: https://reviews.llvm.org/D65835
llvm-svn: 369619
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_map_messages.cpp
The file was addedclang/test/OpenMP/target_teams_map_codegen.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_private_messages.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_messages.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/include/clang/Sema/ScopeInfo.h
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_messages.cpp
Commit 3c577bb415a59c033c1fb2fe1de6a3bbb0abfe0a by jdenny.ornl
[lit] Diagnose insufficient args to internal env
Without this patch, failing to provide a subcommand to lit's internal
`env` results in either a python `IndexError` or an attempt to execute
the final `env` argument, such as `FOO=1`, as a command.  This patch
diagnoses those cases with a more helpful message.
Reviewed By: stella.stamenova
Differential Revision: https://reviews.llvm.org/D66482
llvm-svn: 369620
The file was addedllvm/utils/lit/tests/Inputs/shtest-env/env-args-none.txt
The file was addedllvm/utils/lit/tests/Inputs/shtest-env/env-args-last-is-u.txt
The file was modifiedllvm/utils/lit/tests/shtest-env.py
The file was addedllvm/utils/lit/tests/Inputs/shtest-env/env-args-last-is-u-arg.txt
The file was addedllvm/utils/lit/tests/Inputs/shtest-env/env-args-last-is-assign.txt
The file was modifiedllvm/utils/lit/lit/TestRunner.py
Commit 83ee8d4463d1bb1d2248f5cc7f5577672d3ddf94 by Jonas Devlieghere
[debugserver] Switch back to std::once_flag
We cannot use llvm::once_flag in debugserver because doesn't link
against llvm.
llvm-svn: 369621
The file was modifiedlldb/tools/debugserver/source/MacOSX/DarwinLog/DarwinLogCollector.cpp