SuccessChanges

Summary

  1. [lldb] Don't wait on downstream jobs (details)
Commit 1062d1df54a65b4125c8ba16fad5278f90c44d92 by Jonas Devlieghere
[lldb] Don't wait on downstream jobs
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake (diff)

Summary

  1. [Matrix] Implement matrix index expressions ([][]). (details)
  2. [PDB] Use inlinee file checksum offsets directly (details)
  3. [libc] Expose APIGenerator. (details)
  4. Add DIAError.h to list of headers excluded from the LLVM_DebugInfo_PDB module (details)
  5. [llvm][NFC] Cache FAM in InlineAdvisor (details)
  6. [lldb/Test] Add test for man page and lldb --help output (details)
  7. For --relativenames, ignore directory 0, which is the comp_dir. (details)
  8. [PDB] Share code to relocate .debug$[SF] sections, NFC (details)
  9. [OpenMP] Replace Clang's OpenMP RTL Definitions with OMPKinds.def (details)
  10. [libc++] NFC: Minor refactoring in std::array (details)
  11. [PowerPC] Add clang option -m[no-]pcrel (details)
  12. [libc++] Add assertions on OOB accesses in std::array when the debug mode is enabled (details)
  13. [analyzer][MallocChecker] Fix the incorrect retrieval of the from argument in realloc() (details)
  14. Clean up clang/test/CodeGenObjC/os_log.m (details)
Commit 8f3f88d2f50d97011bf48ccc507bef033715e566 by flo
[Matrix] Implement matrix index expressions ([][]).

This patch implements matrix index expressions
(matrix[RowIdx][ColumnIdx]).

It does so by introducing a new MatrixSubscriptExpr(Base, RowIdx, ColumnIdx).
MatrixSubscriptExprs are built in 2 steps in ActOnMatrixSubscriptExpr. First,
if the base of a subscript is of matrix type, we create a incomplete
MatrixSubscriptExpr(base, idx, nullptr). Second, if the base is an incomplete
MatrixSubscriptExpr, we create a complete
MatrixSubscriptExpr(base->getBase(), base->getRowIdx(), idx)

Similar to vector elements, it is not possible to take the address of
a MatrixSubscriptExpr.
For CodeGen, a new MatrixElt type is added to LValue, which is very
similar to VectorElt. The only difference is that we may need to cast
the type of the base from an array to a vector type when accessing it.

Reviewers: rjmccall, anemet, Bigcheese, rsmith, martong

Reviewed By: rjmccall

Differential Revision: https://reviews.llvm.org/D76791
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/test/SemaCXX/matrix-type-operators.cpp
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp
The file was modifiedclang/test/CodeGenCXX/matrix-type-operators.cpp
The file was modifiedclang/tools/libclang/CXCursor.cpp
The file was modifiedclang/test/CodeGen/matrix-type-operators.c
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/lib/CodeGen/CGValue.h
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/include/clang/Basic/StmtNodes.td
The file was modifiedclang/lib/AST/TypeLoc.cpp
The file was modifiedclang/include/clang/AST/ComputeDependence.h
The file was modifiedclang/lib/AST/ExprClassification.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/AST/ComputeDependence.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/include/clang/AST/Stmt.h
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/Sema/SemaCast.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was modifiedclang/lib/Serialization/ASTCommon.cpp
The file was modifiedclang/test/Sema/matrix-type-operators.c
The file was modifiedclang/include/clang/Sema/Initialization.h
The file was addedclang/test/CodeGenObjC/matrix-type-operators.m
The file was addedclang/test/SemaObjC/matrix-type-operators.m
The file was modifiedllvm/include/llvm/IR/MatrixBuilder.h
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modifiedclang/include/clang/AST/BuiltinTypes.def
The file was modifiedclang/lib/AST/NSAPI.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/include/clang/Basic/Specifiers.h
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
Commit 8f0a6600306417227da72d93d11b2fa6f0be6b4c by rnk
[PDB] Use inlinee file checksum offsets directly

The inlinees section contains references to the file checksum table. The
file checksum table in the PDB must have the same layout as the file
checksum table in the object file, so all the existing file id
references should stay valid.

Previously, we would do this:
  for all inlined functions:
    - lookup filename from checksum and string table
    - make that filename absolute
    - look up the new file id for that filename up in the new checksum
      table

This lead to pdbMakeAbsolute and remove_dots ending up in the hot path.
We should only need to absolutify the source path once, not once every
time we process an inline function from that source file.

This speeds up linking chrome PGO stage 1 net_unittests.exe from 9.203s
to 8.500s (-7.6%). Looking just at time to process symbol records, it
goes from ~2000ms to ~1300ms, which is consistent with the overall
speedup of about 700ms. This will be less noticeable in debug builds,
which have fewer inlined functions records.
The file was modifiedlld/COFF/PDB.cpp
Commit 1ab092b75859137c48d279a137fe5dce61a925b6 by paulatoth
[libc] Expose APIGenerator.

Summary: This is split off from D79192 and exposes APIGenerator (renames to APIIndexer) for use in generating the integrations tests.

Reviewers: sivachandra

Reviewed By: sivachandra

Subscribers: tschuett, ecnelises, libc-commits

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D80832
The file was modifiedlibc/utils/HdrGen/PublicAPICommand.h
The file was modifiedlibc/utils/HdrGen/PublicAPICommand.cpp
Commit a05f1e5ae4e0d0fc789a4caeff108fe4a50dc652 by dany.grumberg
Add DIAError.h to list of headers excluded from the LLVM_DebugInfo_PDB module

Differential Revision: https://reviews.llvm.org/D80808
The file was modifiedllvm/include/llvm/module.modulemap
Commit 999ea25a9eeab72f95acaa7f753f4f3a7ac450b3 by mtrofin
[llvm][NFC] Cache FAM in InlineAdvisor

Summary:
This simplifies the interface by storing the function analysis manager
with the InlineAdvisor, and, thus, not requiring it be passed each time
we inquire for an advice.

Reviewers: davidxl, asbirlea

Subscribers: eraman, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80405
The file was modifiedllvm/include/llvm/Analysis/InlineAdvisor.h
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
The file was modifiedllvm/lib/Analysis/InlineAdvisor.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Inliner.h
Commit 382f6d37a1f2ec472a1f869be2d33078fe6ea8da by Jonas Devlieghere
[lldb/Test] Add test for man page and lldb --help output
The file was addedlldb/test/Shell/Driver/TestHelp.test
Commit f027cfa37e6757bb2d17ac3bea944df4e06bcff4 by saugustine
For --relativenames, ignore directory 0, which is the comp_dir.

Update for upstream comments. Improve test by writing all the debug
info by hand.

Reviewers: dblaikie, jhenderson

Subscribers: hiraditya, MaskRay, rupprecht, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80168
The file was modifiedllvm/test/tools/llvm-symbolizer/relativenames.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
Commit 45fd3e4688a78d182d11733f8d633966f05d2860 by rnk
[PDB] Share code to relocate .debug$[SF] sections, NFC

Sink relocateDebugChunk near the only call site.
The file was modifiedlld/COFF/PDB.cpp
Commit 1a4fb2edcb908d6c9141036d29b46a347b1b6f18 by jhuber6
[OpenMP] Replace Clang's OpenMP RTL Definitions with OMPKinds.def

Summary: This changes Clang's generation of OpenMP runtime functions to use the types and functions defined in OpenMPKinds and OpenMPConstants. New OpenMP runtime function information should now be added to OMPKinds.def. This patch also changed the definitions of __kmpc_push_num_teams and __kmpc_copyprivate to match those found in the runtime.

Reviewers: jdoerfert

Reviewed By: jdoerfert

Subscribers: jfb, AndreyChurbanov, openmp-commits, fghanim, hiraditya, sstefan1, cfe-commits, llvm-commits

Tags: #openmp, #clang, #llvm

Differential Revision: https://reviews.llvm.org/D80222
The file was modifiedclang/test/OpenMP/teams_distribute_simd_codegen.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/test/OpenMP/barrier_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_thread_limit_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/add_attributes.ll
The file was modifiedclang/test/OpenMP/openmp_win_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_num_teams_codegen.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/test/OpenMP/teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
Commit 66a14d151efb8d142e23f88166e76bfe3730adda by Louis Dionne
[libc++] NFC: Minor refactoring in std::array
The file was modifiedlibcxx/include/array
Commit 7cfded350a7edc87f4a67f84e4261e44954600d0 by lei
[PowerPC] Add clang option -m[no-]pcrel

Summary:
Add user-facing front end option to turn off pc-relative memops.
This will be compatible with gcc.

Reviewers: stefanp, nemanjai, hfinkel, power-llvm-team, #powerpc, NeHuang, saghir

Reviewed By: stefanp, NeHuang, saghir

Subscribers: saghir, wuzish, shchenz, cfe-commits, kbarton, echristo

Tags: #clang, #powerpc

Differential Revision: https://reviews.llvm.org/D80757
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was addedclang/test/Driver/ppc-pcrel.cpp
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
Commit 23776a178f8379e1d9b4d79952bac916c1fa70fe by Louis Dionne
[libc++] Add assertions on OOB accesses in std::array when the debug mode is enabled

Like we do for empty std::array, make sure we have assertions in place
for obvious out-of-bounds issues in std::array when the debug mode is
enabled (which isn't by default).
The file was modifiedlibcxx/include/array
Commit 6bedfaf5200474f9a72b059f0d99dd39ece1c03e by dkszelethus
[analyzer][MallocChecker] Fix the incorrect retrieval of the from argument in realloc()

In the added testfile, the from argument was recognized as
&Element{SymRegion{reg_$0<long * global_a>},-1 S64b,long}
instead of
reg_$0<long * global_a>.
The file was modifiedclang/test/Analysis/malloc.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
Commit 959517ace1cd9e8bcd0af3be6259dd4d78a9bd84 by Akira
Clean up clang/test/CodeGenObjC/os_log.m

Don't run optimization passes at -O2 and remove unneeded #ifdef and test
cases.
The file was modifiedclang/test/CodeGenObjC/os_log.m