1. [XCOFF][AIX] Read-only data section object file generation (details)
  2. [BPF] Fix a recursion bug in BPF Peephole ZEXT optimization (details)
  3. [OpenMP][Tool] archer tests require tsan (details)
  4. [JumpThreading] Use profile data even with the new pass manager (details)
  5. [OPENMP]Fix behaviour of defaultmap for OpenMP 4.5. (details)
  6. [coroutines] Remove assert on CoroutineParameterMoves in (details)
  7. [SLP][Test] Precommit tests for D70068 and D70587. NFC. (details)
  8. [JumpThreading] NFC: Don't cache F.hasProfileData() (details)
  9. [OPENMP]Simplify processing of context selectors, NFC. (details)
  10. [WebAssembly][SelectionDAG] Remove unused (details)
  11. [SLP] Enhance SLPVectorizer to vectorize vector aggregate (details)
  12. [libTooling] Add stencil combinators for nodes that may be pointers or (details)
  13. Register Objective-C property accessors with their property decls. (details)
  14. Complete complete types early when importing types from Clang module (details)
  15. Reformat code for readability. (details)
Commit af8576ff9d5a66d30ce27176aff808b688c3ec85 by jasonliu
[XCOFF][AIX] Read-only data section object file generation
Summary: This patch is a follow up on read-only assembly patch D70182.
It intends to enable object file generation for the read-only data
section on AIX.
Reviewers: DiggerLin, daltenty
Differential Revision:
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-rodata.ll
Commit 9e6aa81588505461e06c807c567b073224f1e817 by yhs
[BPF] Fix a recursion bug in BPF Peephole ZEXT optimization
Commit a0841dfe8594 ("[BPF] Fix a bug in peephole optimization") fixed a
bug in peephole optimization. Recursion is introduced to handle COPY and
PHI instructions.
Unfortunately, multiple PHI instructions may form a cycle and this will
cause infinite recursion, eventual segfault. For Commit a0841dfe8594, I
indeed tried a few loops to ensure that I won't see the recursion, but I
did not try with complex control flows, which, as demonstrated with the
test case in this patch, may introduce PHI cycles.
This patch fixed the issue by introducing a set to remember visited PHI
instructions. This way, cycles can be properly detected and handled.
Differential Revision:
The file was addedllvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-3.ll
The file was modifiedllvm/lib/Target/BPF/BPFMIPeephole.cpp
Commit 77ad98c80881ba90bf18ec2780169c60e02c159b by protze
[OpenMP][Tool] archer tests require tsan
Testing for tsan capability in the test-compiler in follow-up review
The file was modifiedopenmp/tools/archer/tests/races/critical-unrelated.c
The file was modifiedopenmp/tools/archer/tests/critical/critical.c
The file was modifiedopenmp/tools/archer/tests/races/lock-nested-unrelated.c
The file was modifiedopenmp/tools/archer/tests/reduction/parallel-reduction-nowait.c
The file was modifiedopenmp/tools/archer/tests/races/task-taskwait-nested.c
The file was modifiedopenmp/tools/archer/tests/races/task-dependency.c
The file was modifiedopenmp/tools/archer/tests/races/parallel-simple.c
The file was modifiedopenmp/tools/archer/tests/task/task-taskwait-nested.c
The file was modifiedopenmp/tools/archer/tests/critical/lock.c
The file was modifiedopenmp/tools/archer/tests/critical/lock-nested.c
The file was modifiedopenmp/tools/archer/tests/parallel/parallel-simple.c
The file was modifiedopenmp/tools/archer/tests/task/task-dependency.c
The file was modifiedopenmp/tools/archer/tests/task/task-taskwait.c
The file was modifiedopenmp/tools/archer/tests/races/lock-unrelated.c
The file was modifiedopenmp/tools/archer/tests/CMakeLists.txt
The file was modifiedopenmp/tools/archer/tests/reduction/parallel-reduction.c
The file was modifiedopenmp/tools/archer/tests/task/task-taskgroup-nested.c
The file was modifiedopenmp/tools/archer/tests/races/task-taskgroup-unrelated.c
The file was modifiedopenmp/tools/archer/tests/task/task-taskgroup.c
The file was modifiedopenmp/tools/archer/tests/parallel/parallel-firstprivate.c
The file was modifiedopenmp/tools/archer/tests/parallel/parallel-simple2.c
The file was modifiedopenmp/tools/archer/tests/task/task-barrier.c
The file was modifiedopenmp/tools/archer/tests/barrier/barrier.c
The file was modifiedopenmp/tools/archer/tests/task/task-create.c
The file was modifiedopenmp/tools/archer/tests/worksharing/ordered.c
The file was modifiedopenmp/tools/archer/tests/races/task-two.c
Commit 1a58be2ac58ca078c91c9d1700220d88091b256f by kazu
[JumpThreading] Use profile data even with the new pass manager
Summary: Without this patch, the jump threading pass ignores profiling
data whenever we invoke the pass with the new pass manager.
Specifically, JumpThreadingPass::run calls runImpl with class variable
HasProfileData always set to false.  In turn, runImpl sets
HasProfileData to false again:
  HasProfileData = HasProfileData_;
In the end, we don't use profiling data at all with the new pass
This patch fixes the problem by passing F.hasProfileData() to runImpl.
The bug appears to have been introduced at:
which removed local variable HasProfileData in JumpThreadingPass::run
even though there was one more use left in the same function.  As a
result, the remaining use ended referring to the class variable instead.
Note that F.hasProfileData is an extremely lightweight function, so I
don't see the need to cache its result.  Once this patch is approved,
I'm planning to stop caching the result of F.hasProfileData in
Reviewers: wmi, eli.friedman
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision:
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was modifiedllvm/test/Transforms/JumpThreading/update-edge-weight.ll
Commit 6f7c8760a5c01edaa8e9c8e48940e1b8a7aa4128 by a.bataev
[OPENMP]Fix behaviour of defaultmap for OpenMP 4.5.
In OpenMP 4.5 pointers also must be considered as scalar types and
defaultmap(tofrom:scalar) clause must affect mapping of the pointers
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/target_map_codegen.cpp
Commit 0b3d1d1348da78c8b12e89f138577b0a8ffd4b2f by modocache
[coroutines] Remove assert on CoroutineParameterMoves in
Summary: The assertion of CoroutineParameterMoves happens when build
coroutine function with arguments  multiple time while fails to build
promise type.
Fix: use return false instead.
Test Plan: check-clang
Reviewers: modocache, GorNishanov, rjmccall
Reviewed By: modocache
Subscribers: rjmccall, EricWF, cfe-commits
Tags: #clang
Differential Revision:
Patch by junparser (JunMa)!
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
The file was modifiedclang/test/SemaCXX/coroutines.cpp
Commit 6d73265ad84107aa78dd7698fa073f43e426a186 by anton.a.afanasyev
[SLP][Test] Precommit tests for D70068 and D70587. NFC.
The file was addedllvm/test/Transforms/SLPVectorizer/X86/pr42022.ll
Commit a1955566282b98d5182877860b60d04029089788 by kazu
[JumpThreading] NFC: Don't cache F.hasProfileData()
Summary: With this patch, we no longer cache F.hasProfileData().  We
simply call the function again.
I'm doing this because:
- JumpThreadingPass also has a member variable named HasProfileData,
which is very confusing,
- the function is very lightweight, and
- this patch makes JumpThreading::runOnFunction more consistent with
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision:
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
Commit 5459a905c23c03fad68e80b2dff23ca1ca3b7c7c by a.bataev
[OPENMP]Simplify processing of context selectors, NFC.
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 70a3c9f55f8494829d06caae0ab988da518d0e15 by yamauchi
[WebAssembly][SelectionDAG] Remove unused
Summary: This follows from the discussion at D70095.
D70095 moves hasOptSize calls into SelectionDAG::shouldOptForSize to
allow querying size optimization conditions together with profile guided
size optimization.
Since it appears that size optimizations for WebAssembly SelectionDAG
haven't been implemented yet and thus ForCodeSize is unused, and it
would not make a lot of sense to call shouldOptForSize here as the
necessary profile data like PSI/BFI aren't available at this point, it
seems good and less confusing to remove this for now and use
shouldOptForSize when they are implemented in the future.
Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, aheejin,
sunfish, llvm-commits
Tags: #llvm
Differential Revision:
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
Commit 80cd6b6e043f04ff7cb525bc1f09ab1f6400e9db by anton.a.afanasyev
[SLP] Enhance SLPVectorizer to vectorize vector aggregate
Summary: Vector aggregate is homogeneous aggregate of vectors like `{ <2
x float>, <2 x float> }`. This patch allows `findBuildAggregate()` to
consider vector aggregates as well as scalar ones. For instance, `{ <2 x
float>, <2 x float> }` maps to `<4 x float>`.
Fixes vector part of
Reviewers: RKSimon
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision:
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/pr42022.ll
Commit 01e8dd2e7a852794a60e50f356f171f893503598 by yitzhakm
[libTooling] Add stencil combinators for nodes that may be pointers or
Summary: Adds combinators `maybeDeref` and `maybeAddressOf` to provide a
uniform way to handle nodes which may be bound to either a pointer or a
value (most often in the context of member expressions). Such
polymorphism is already supported by
`access`; these combinators extend it to more general uses.
Reviewers: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision:
The file was modifiedclang/include/clang/Tooling/Transformer/Stencil.h
The file was modifiedclang/lib/Tooling/Transformer/Stencil.cpp
The file was modifiedclang/unittests/Tooling/StencilTest.cpp
Commit c0eeea5d74d979139378660513712e8f33278285 by Adrian Prantl
Register Objective-C property accessors with their property decls.
This is a correctness fix for the Clang DWARF parser that primarily
matters for swift-lldb's ability to import Clang types that were
reconstructed from DWARF into Swift.
Differential Revision:
The file was modifiedlldb/tools/lldb-test/lldb-test.cpp
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/clang-ast-from-dwarf-objc-property.m
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/lit.local.cfg
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/clang-ast-from-dwarf-unamed-and-anon-structs.cpp
Commit 539117616d7a4c5690f1b9284faf0d282cd79621 by Adrian Prantl
Complete complete types early when importing types from Clang module
This affects -gmodules only.
Under normal operation pcm_type is a shallow forward declaration that
gets completed later. This is necessary to support cyclic data
structures. If, however, pcm_type is already complete (for example,
because it was loaded for a different target before), the definition
needs to be imported right away, too. Type::ResolveClangType()
effectively ignores the ResolveState inside type_sp and only looks at
IsDefined(), so it never calls
ClangASTImporter::ASTImporterDelegate::ImportDefinitionTo(), which does
extra work for Objective-C classes. This would result in only the
forward declaration to be visible.
An alternative implementation would be to sink this into
Type::ResolveClangType (
though it isn't clear to me how to best do this from a layering
Differential Revision:
The file was addedlldb/packages/Python/lldbsuite/test/lang/objc/modules-app-update/Makefile
The file was addedlldb/packages/Python/lldbsuite/test/lang/objc/modules-app-update/
The file was addedlldb/packages/Python/lldbsuite/test/lang/objc/modules-app-update/module.modulemap
The file was addedlldb/packages/Python/lldbsuite/test/lang/objc/modules-app-update/umbrella.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was addedlldb/packages/Python/lldbsuite/test/lang/objc/modules-app-update/main.m
The file was addedlldb/packages/Python/lldbsuite/test/lang/objc/modules-app-update/foo.m
Commit 8b40bdbd7edc4cbd6c906911be0329b0900e0486 by Adrian Prantl
Reformat code for readability.
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp