SuccessChanges

Summary

  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)
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: https://reviews.llvm.org/D70455
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp (diff)
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-rodata.ll (diff)
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: https://reviews.llvm.org/D70586
The file was modifiedllvm/lib/Target/BPF/BPFMIPeephole.cpp (diff)
The file was addedllvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-3.ll
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/parallel-simple.c (diff)
The file was modifiedopenmp/tools/archer/tests/races/task-taskwait-nested.c (diff)
The file was modifiedopenmp/tools/archer/tests/task/task-dependency.c (diff)
The file was modifiedopenmp/tools/archer/tests/parallel/parallel-firstprivate.c (diff)
The file was modifiedopenmp/tools/archer/tests/task/task-create.c (diff)
The file was modifiedopenmp/tools/archer/tests/task/task-taskwait.c (diff)
The file was modifiedopenmp/tools/archer/tests/parallel/parallel-simple.c (diff)
The file was modifiedopenmp/tools/archer/tests/task/task-barrier.c (diff)
The file was modifiedopenmp/tools/archer/tests/worksharing/ordered.c (diff)
The file was modifiedopenmp/tools/archer/tests/barrier/barrier.c (diff)
The file was modifiedopenmp/tools/archer/tests/races/task-taskgroup-unrelated.c (diff)
The file was modifiedopenmp/tools/archer/tests/critical/lock-nested.c (diff)
The file was modifiedopenmp/tools/archer/tests/races/critical-unrelated.c (diff)
The file was modifiedopenmp/tools/archer/tests/reduction/parallel-reduction.c (diff)
The file was modifiedopenmp/tools/archer/tests/races/lock-unrelated.c (diff)
The file was modifiedopenmp/tools/archer/tests/races/task-dependency.c (diff)
The file was modifiedopenmp/tools/archer/tests/CMakeLists.txt (diff)
The file was modifiedopenmp/tools/archer/tests/task/task-taskgroup-nested.c (diff)
The file was modifiedopenmp/tools/archer/tests/critical/critical.c (diff)
The file was modifiedopenmp/tools/archer/tests/races/task-two.c (diff)
The file was modifiedopenmp/tools/archer/tests/task/task-taskwait-nested.c (diff)
The file was modifiedopenmp/tools/archer/tests/critical/lock.c (diff)
The file was modifiedopenmp/tools/archer/tests/races/lock-nested-unrelated.c (diff)
The file was modifiedopenmp/tools/archer/tests/reduction/parallel-reduction-nowait.c (diff)
The file was modifiedopenmp/tools/archer/tests/task/task-taskgroup.c (diff)
The file was modifiedopenmp/tools/archer/tests/parallel/parallel-simple2.c (diff)
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
manager.
This patch fixes the problem by passing F.hasProfileData() to runImpl.
The bug appears to have been introduced at:
  https://reviews.llvm.org/D41461
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
runOnFunction.
Reviewers: wmi, eli.friedman
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70509
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp (diff)
The file was modifiedllvm/test/Transforms/JumpThreading/update-edge-weight.ll (diff)
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
too.
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
The file was modifiedclang/test/OpenMP/target_map_codegen.cpp (diff)
Commit 0b3d1d1348da78c8b12e89f138577b0a8ffd4b2f by modocache
[coroutines] Remove assert on CoroutineParameterMoves in
Sema::buildCoroutineParameterMoves
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: https://reviews.llvm.org/D69022
Patch by junparser (JunMa)!
The file was modifiedclang/test/SemaCXX/coroutines.cpp (diff)
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp (diff)
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
JumpThreadingPass::run.
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70602
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp (diff)
Commit 5459a905c23c03fad68e80b2dff23ca1ca3b7c7c by a.bataev
[OPENMP]Simplify processing of context selectors, NFC.
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)