SuccessChanges

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

Summary

  1. Reorder Type fields to make various isa< > check more concise (details)
  2. [openmp] Fixed hang if detached task was serialized. (details)
  3. [mlir] NFC - Fix OperationSupport.cpp::findNamedAttr (details)
  4. [mlir] Add BoolArrayAttr in Tablegen + Builder support (details)
  5. [pstl] A fix for move placement-new (and destroy) allocated objects from raw memory. (details)
  6. [Analyzer][StreamChecker] Changed representation of stream error state - NFC. (details)
Commit ab1fb38d8fe8055ddfb2e5a7ae1b1824b3f3cab7 by sguelton
Reorder Type fields to make various isa< > check more concise

Depending on the order of fields, some isa < > checks can be faster because of
tests that check a range of type, leading to assembly simplification.

To find a relevant ordering, I... brute-forced the permutation among the derived
types and pick the combination that resulted in the smallest libLLVM-11.so.

On my laptop (x86_64), this reduces the size of libLLVM-11.so from 127344064 bytes to 127335336,
that's 8728 bytes shaved without much effort.

Also removed obsolete comments in the process.

Differential Revision: https://reviews.llvm.org/D79996
The file was modifiedllvm/include/llvm/IR/Type.h
Commit 57d8b8d6f0b91b380ca3b270b4439c338ed67f53 by Andrey.Churbanov
[openmp] Fixed hang if detached task was serialized.

The patch fixes https://bugs.llvm.org/show_bug.cgi?id=45904.

Differential Revision: https://reviews.llvm.org/D79944
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was addedopenmp/runtime/test/tasking/omp_detach_taskwait.c
Commit 79f059c4ac8cc63c770069557ed9a1f5b921c2c8 by ntv
[mlir] NFC - Fix OperationSupport.cpp::findNamedAttr

Summary:
When NamedAttrList::get is called against a StringRef and the
entry is not present, the Identifier::operator== crashes.
Interestingly there seems to be no use of the NamedAttrList::get(StringRef) in
the codebase so far. A subsequent commit will introduce such a use.

Differential Revision: https://reviews.llvm.org/D80089
The file was modifiedmlir/lib/IR/OperationSupport.cpp
Commit 03092f2fa7b4d2609858666f8bba293078582fdd by ntv
[mlir] Add BoolArrayAttr in Tablegen + Builder support

Differential Revision: https://reviews.llvm.org/D80090
The file was modifiedmlir/include/mlir/IR/Builders.h
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/lib/IR/Builders.cpp
Commit 5b0502dff5b6f510fbf823059faa042dd1523cef by mikhail.dvorskiy
[pstl] A fix for move placement-new (and destroy) allocated objects from raw memory.

https://reviews.llvm.org/D74123

The fix affects follow algorithms:
remove_if, unique, rotate, inplace_merge, partial_sort_copy, set_union, set_intersection, set_difference, set_symmetric_difference.

For "is_trivial" types there are no problems with "creating objects/clean-up"
For non-trivial types the algo results are also correct, but possible incorrect copying/moving "operator=" calls "by raw memory" within one of mentioned algo or incorrect destructor calls in the end of algo.
The file was modifiedpstl/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.merge/inplace_merge.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp
The file was modifiedpstl/include/pstl/internal/parallel_backend_utils.h
The file was modifiedpstl/test/support/utils.h
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/unique.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/remove.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp
The file was modifiedpstl/include/pstl/internal/algorithm_impl.h
The file was modifiedpstl/include/pstl/internal/memory_impl.h
Commit 22d40cc3a724fa3df259c52009571a21a3a3a632 by 1.int32
[Analyzer][StreamChecker] Changed representation of stream error state - NFC.

Summary:
State of error flags for a stream is handled by having separate flags
that allow combination of multiple error states to be described with one
error state object.
After a failed function the error state is set in the stream state
and must not be determined later based on the last failed function
like before this change. The error state can not always be determined
from the last failed function and it was not the best design.

Reviewers: Szelethus

Reviewed By: Szelethus

Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, gamesh411, Charusso, martong, ASDenysPetrov, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80009
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp