SuccessChanges

Summary

  1. [OPENMP50]Codegen for iterator construct. (details)
  2. [OpenMP] "UnFix" layering problem with FrontendOpenMP (details)
  3. [ScriptInterpreterPython] Remove buggy code to save/restore stdin. (details)
  4. [OPENMP][DOCS]Update status of oimplemented constructs, NFC. (details)
  5. [mlir][Diagnostic] Don't store Operation arguments as a DiagnosticArgument (details)
  6. Revert "[SampleFDO] Add flag for partial profile." show-prof-info.test breaks on some platforms. (details)
  7. CodeGen: Use Register in more places (details)
Commit be99c6158841d0c01eaa8ba16cd7b9e5ade40c6b by a.bataev
[OPENMP50]Codegen for iterator construct.

Implemented codegen for the iterator expression in the depend clauses.
Iterator construct is emitted the following way:
iterator(cnt1, cnt2, ...), in : <dep>

<TotalNumDeps> = <cnt1_size> * <cnt2_size> * ...;
kmp_depend_t deps[<TotalNumDeps>];
deps_counter = 0;
for (cnt1) {
  for (cnt2) {
    ...
    deps[deps_counter].base_addr = &<dep>;
    deps[deps_counter].size = sizeof(<dep>);
    deps[deps_counter].flags = in;
    deps_counter += 1;
    ...
  }
}

For depobj construct the codegen is very similar, but the memory is
allocated dynamically and added extra first item reserved for internal use.
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/include/clang/AST/ExprOpenMP.h
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_exit_data_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_update_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/task_codegen.c
The file was modifiedclang/test/OpenMP/depobj_ast_print.cpp
The file was modifiedclang/test/OpenMP/depobj_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_simd_depend_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/OpenMP/target_enter_data_depend_codegen.cpp
Commit f9d558c871337699d2815dbf116bae94025f5d90 by johannes
[OpenMP] "UnFix" layering problem with FrontendOpenMP

This reverts commit 97aa593a8387586095b7eac12974ba2fdd08f4c3 as it
causes problems (PR45453) https://reviews.llvm.org/D77574#1966321.

This additionally adds an explicit reference to FrontendOpenMP to
clang-tidy where ASTMatchers is used.

This is hopefully just a temporary solution. The dependence on
`FrontendOpenMP` from `ASTMatchers` should be handled by CMake
implicitly, not us explicitly.

Reviewed By: aheejin

Differential Revision: https://reviews.llvm.org/D77666
The file was modifiedclang-tools-extra/clang-tidy/modernize/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/abseil/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/unittests/CMakeLists.txt
The file was modifiedclang-tools-extra/unittests/clang-change-namespace/CMakeLists.txt
The file was modifiedclang-tools-extra/unittests/clang-query/CMakeLists.txt
The file was modifiedclang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/misc/CMakeLists.txt
The file was modifiedclang-tools-extra/unittests/clang-doc/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/linuxkernel/CMakeLists.txt
The file was modifiedclang-tools-extra/tool-template/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/boost/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/android/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/portability/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/zircon/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/cert/CMakeLists.txt
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/openmp/CMakeLists.txt
The file was modifiedclang-tools-extra/unittests/clang-tidy/CMakeLists.txt
The file was modifiedclang/lib/StaticAnalyzer/Core/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/darwin/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-doc/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/fuchsia/CMakeLists.txt
The file was modifiedclang-tools-extra/unittests/clang-include-fixer/find-all-symbols/CMakeLists.txt
The file was modifiedclang/unittests/Sema/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/mpi/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/objc/CMakeLists.txt
The file was modifiedclang/unittests/AST/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-change-namespace/tool/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-query/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-include-fixer/find-all-symbols/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-reorder-fields/CMakeLists.txt
The file was modifiedclang/unittests/Analysis/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/llvmlibc/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/readability/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-change-namespace/CMakeLists.txt
The file was modifiedclang/lib/Tooling/CMakeLists.txt
The file was modifiedclang/unittests/StaticAnalyzer/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/utils/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/llvm/CMakeLists.txt
The file was modifiedclang/unittests/ASTMatchers/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/performance/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
The file was modifiedclang/unittests/Rename/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-move/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/google/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
The file was modifiedclang/lib/ASTMatchers/CMakeLists.txt
The file was modifiedclang-tools-extra/unittests/clang-move/CMakeLists.txt
The file was modifiedclang/lib/Tooling/Transformer/CMakeLists.txt
The file was modifiedclang/unittests/Tooling/CMakeLists.txt
Commit 30a292c25df327eb35b341b919c4e9b5e80323be by ditaliano
[ScriptInterpreterPython] Remove buggy code to save/restore stdin.

Discussed on lldb-dev with Pavel Labath. This doesn't work for
background processes [causes Python to be stuck forever], and it's
unclear whether it's needed. There's no test, also. If this turns
out to be useful, it can be recommitted with a functional implementation
and a test.
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Commit e0ae907ab5a15fe6d814f4794ab6f4c541149482 by a.bataev
[OPENMP][DOCS]Update status of oimplemented constructs, NFC.
The file was modifiedclang/docs/OpenMPSupport.rst
Commit c0a33aaa804847e74e1514ce881d43435e94c172 by riddleriver
[mlir][Diagnostic] Don't store Operation arguments as a DiagnosticArgument

Summary: Diagnostics may be cached in the parallel diagnostic handler to preserve proper ordering. Storing the Operation as a DiagnosticArgument is problematic as the operation may be erased or changed before it finally gets printed.

Differential Revision: https://reviews.llvm.org/D77675
The file was modifiedmlir/lib/IR/Diagnostics.cpp
The file was modifiedmlir/include/mlir/IR/Diagnostics.h
Commit c5da949ae8ce241ff171b2a027e730f4fd34232e by wmi
Revert "[SampleFDO] Add flag for partial profile." show-prof-info.test breaks on some platforms.

This reverts commit e3ba652a1440794eff0b43ce747f1b0488585d22.
The file was addedllvm/test/tools/llvm-profdata/show-prof-size.test
The file was modifiedllvm/include/llvm/IR/ProfileSummary.h
The file was removedllvm/test/tools/llvm-profdata/show-prof-info.test
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/include/llvm/ProfileData/SampleProfWriter.h
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
Commit aa26dd985848364df01d3f8f0f3eaccfd5ee80dc by arsenm2
CodeGen: Use Register in more places
The file was modifiedllvm/lib/CodeGen/TargetRegisterInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.h
The file was modifiedllvm/include/llvm/CodeGen/MachineRegisterInfo.h
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.h
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetRegisterInfo.h
The file was modifiedllvm/include/llvm/CodeGen/MachineOperand.h
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
The file was modifiedllvm/lib/CodeGen/MachineRegisterInfo.cpp