SuccessChanges

Summary

  1. Move initialization of Variable::m_loc_is_const_data into constructor (NFC) (details)
  2. [libc++/abi] Clean up uses of <iostream> in the test suite (details)
  3. [GISel] Add combine for constant G_PTR_ADD offsets. (details)
  4. [MLIR] Add support for defining Types in tblgen (details)
  5. Revert "[DDR] Introduce implicit equality check for the source pattern operands with the same name." (details)
  6. Replace bool constants with named constants for improved readibility (NFC) (details)
  7. [sanitizer] Escape quotes in tests to fix android bot after D88361 (details)
  8. [SemaObjC] Fix a crash on an invalid ternary with ARC pointers (details)
  9. PR47805: Use a single object for a function parameter in the caller and (details)
  10. Re-land [ThinLTO] Re-order modules for optimal multi-threaded processing (details)
  11. [compiler-rt] [lldb] Mark syscall_acquire and syscall_release as USED (details)
Commit 9b1c06c0e84a9cc763e12b289becb5fc3c9d01ea by Adrian Prantl
Move initialization of Variable::m_loc_is_const_data into constructor (NFC)

This makes it symmetric with all other flags and makes it easier to
not forget to initialize it.

https://reviews.llvm.org/D89351
The file was modifiedlldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
The file was modifiedlldb/source/Symbol/Variable.cpp
The file was modifiedlldb/include/lldb/Symbol/Variable.h
Commit cc69d211d0d65d7bf0335fecbc323f784ac3afcc by Louis Dionne
[libc++/abi] Clean up uses of <iostream> in the test suite

We used <iostream> in several places where we don't actually need the
full power of <iostream>, and where using basic `std::printf` is enough.
This is better, since `std::printf` can be supported on systems that don't
have a notion of locales, while <iostream> can't.
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op.pass.cpp
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
The file was modifiedlibcxxabi/test/test_exception_storage.pass.cpp
The file was modifiedlibcxxabi/test/test_fallback_malloc.pass.cpp
The file was modifiedlibcxx/test/support/container_debug_tests.h
The file was modifiedlibcxx/test/std/namespace/addressable_functions.sh.cpp
The file was modifiedlibcxxabi/test/catch_multi_level_pointer.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_init_bop_uop.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
The file was modifiedlibcxxabi/src/fallback_malloc.cpp
The file was modifiedlibcxx/test/std/containers/associative/set/set.cons/assign_initializer_list.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
The file was modifiedlibcxxabi/test/support/timer.h
The file was modifiedlibcxxabi/test/cxa_bad_typeid.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
The file was modifiedlibcxxabi/test/test_vector1.pass.cpp
The file was modifiedlibcxx/test/libcxx/iterators/failed.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_min_max.pass.cpp
The file was modifiedlibcxxabi/test/test_aux_runtime_op_array_new.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/lit.local.cfg
The file was modifiedlibcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
The file was modifiedlibcxxabi/test/test_vector2.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/sort_pred.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
The file was modifiedlibcxx/test/support/filesystem_test_helper.h
The file was modifiedlibcxxabi/test/test_aux_runtime.pass.cpp
Commit ef3d17482fff105a1c44fccbbe494ccddafa5661 by aditya_nandakumar
[GISel] Add combine for constant G_PTR_ADD offsets.

https://reviews.llvm.org/D88865

This adds a single combine for GlobalISel to fold:

ptradd (inttoptr C1) C2
Into:

C1 + C2
Additionally, a small test for AArch64 is added.

Patch by pnappa.
The file was addedllvm/include/llvm/Target/GlobalISel/Combine.td.rej
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/combine-ptradd-int2ptr.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
Commit 5fe53c412832b3c18cd1e4e9f54848304e3a74bc by john.demme
[MLIR] Add support for defining Types in tblgen

Adds a TypeDef class to OpBase and backing generation code. Allows one
to define the Type, its parameters, and printer/parser methods in ODS.
Can generate the Type C++ class, accessors, storage class, per-parameter
custom allocators (for the storage constructor), and documentation.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D86904
The file was modifiedmlir/test/lib/Dialect/Test/CMakeLists.txt
The file was addedmlir/test/lib/Dialect/Test/TestTypeDefs.td
The file was addedmlir/tools/mlir-tblgen/TypeDefGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDocGen.cpp
The file was addedmlir/include/mlir/TableGen/TypeDef.h
The file was addedmlir/test/mlir-tblgen/typedefs.td
The file was modifiedmlir/tools/mlir-tblgen/CMakeLists.txt
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was addedmlir/test/lib/Dialect/Test/TestTypes.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestTypes.h
The file was addedmlir/lib/TableGen/TypeDef.cpp
The file was addedmlir/test/mlir-tblgen/testdialect-typedefs.mlir
The file was modifiedmlir/lib/TableGen/CMakeLists.txt
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/cmake/modules/AddMLIR.cmake
Commit 0b793c4be0eee90a22b7a150187f5f7cf744c120 by joker.eph
Revert "[DDR] Introduce implicit equality check for the source pattern operands with the same name."

This reverts commit 7271c1bcb96051bcd227d3fa6071a620fe238850.

This broke the gcc-5 build:

/usr/include/c++/5/ext/new_allocator.h:120:4: error: no matching function for call to 'std::pair<const std::__cxx11::basic_string<char>, mlir::tblgen::SymbolInfoMap::SymbolInfo>::pair(llvm::StringRef&, mlir::tblgen::SymbolInfoMap::SymbolInfo)'
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from llvm/include/llvm/Support/type_traits.h:18,
                 from llvm/include/llvm/Support/Casting.h:18,
                 from mlir/include/mlir/Support/LLVM.h:24,
                 from mlir/include/mlir/TableGen/Pattern.h:17,
                 from mlir/lib/TableGen/Pattern.cpp:14:
/usr/include/c++/5/bits/stl_pair.h:206:9: note: candidate: template<class ... _Args1, long unsigned int ..._Indexes1, class ... _Args2, long unsigned int ..._Indexes2> std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, std::_Index_tuple<_Indexes1 ...>, std::_Index_tuple<_Indexes2 ...>)
         pair(tuple<_Args1...>&, tuple<_Args2...>&,
         ^
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was modifiedmlir/include/mlir/TableGen/Pattern.h
The file was modifiedmlir/lib/TableGen/Pattern.cpp
The file was modifiedmlir/test/mlir-tblgen/pattern.mlir
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
Commit f9586a3b3c28f87652d00512236c43e8951a1bc4 by Adrian Prantl
Replace bool constants with named constants for improved readibility (NFC)
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
Commit bcdd4359e1cd1909f75fd3689db685840b751911 by Vitaly Buka
[sanitizer] Escape quotes in tests to fix android bot after D88361
The file was modifiedcompiler-rt/test/sanitizer_common/android_commands/android_run.py
Commit 498c7fa48a02a5e0c12bbb90ef8c0d8468affcdd by erik.pilkington
[SemaObjC] Fix a crash on an invalid ternary with ARC pointers

FindCompositeObjCPointerType nulls out the subexpressions on error, so bail out
instead of trying to deref them.
The file was modifiedclang/test/SemaObjCXX/arc-type-conversion.mm
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
Commit 8f8b9f2cca0b73314342c721186ae9c860ca273c by richard
PR47805: Use a single object for a function parameter in the caller and
callee in constant evaluation.

We previously made a deep copy of function parameters of class type when
passing them, resulting in the destructor for the parameter applying to
the original argument value, ignoring any modifications made in the
function body. This also meant that the 'this' pointer of the function
parameter could be observed changing between the caller and the callee.

This change completely reimplements how we model function parameters
during constant evaluation. We now model them roughly as if they were
variables living in the caller, albeit with an artificially reduced
scope that covers only the duration of the function call, instead of
modeling them as temporaries in the caller that we partially "reparent"
into the callee at the point of the call. This brings some minor
diagnostic improvements, as well as significantly reduced stack usage
during constant evaluation.
The file was modifiedclang/test/SemaTemplate/typo-dependent-name.cpp
The file was modifiedclang/test/Sema/c89.c
The file was modifiedclang/test/SemaCXX/vla-construct.cpp
The file was modifiedclang/test/SemaCXX/c99-variable-length-array-cxx11.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_safelen_messages.cpp
The file was modifiedclang/test/CXX/expr/expr.const/p2-0x.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
The file was modifiedclang/test/CXX/except/except.spec/p1.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_simdlen_messages.cpp
The file was modifiedclang/test/SemaCXX/integer-overflow.cpp
The file was modifiedclang/test/SemaCUDA/constexpr-variables.cu
The file was modifiedclang/test/Sema/builtin-expect-with-probability-avr.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx11.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/Sema/builtin-expect-with-probability.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/critical_messages.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_safelen_messages.cpp
The file was modifiedclang/test/SemaCXX/cxx2a-consteval.cpp
The file was modifiedclang/test/SemaCXX/warn-vla.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang/test/SemaCXX/c99-variable-length-array.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p6.cpp
Commit 617d64f6c5f8fdcdacc4401704146247152b96aa by alexandre.ganea
Re-land [ThinLTO] Re-order modules for optimal multi-threaded processing

This reverts 9b5b3050237db3642ed7ab1bdb3ffa2202511b99 and fixes the unwanted re-ordering when generating ThinLTO indexes.

The goal of this patch is to better balance thread utilization during ThinLTO in-process linking (in llvm-lto2 or in LLD). Before this patch, large modules would often be scheduled late during execution, taking a long time to complete, thus starving the thread pool.

We now sort modules in descending order, based on each module's bitcode size, so that larger modules are processed first. By doing so, smaller modules have a better chance to keep the thread pool active, and thus avoid starvation when the bitcode compilation is almost complete.

In our case (on dual Intel Xeon Gold 6140, Windows 10 version 2004, two-stage build), this saves 15 sec when linking `clang.exe` with LLD & -flto=thin, /opt:lldltojobs=all, no ThinLTO cache, -DLLVM_INTEGRATED_CRT_ALLOC=d:\git\rpmalloc.

Before patch: 100 sec
After patch: 85 sec

Inspired by the work done by David Callahan in D60495.

Differential Revision: https://reviews.llvm.org/D87966
The file was modifiedllvm/include/llvm/LTO/LTO.h
The file was modifiedllvm/lib/LTO/LTO.cpp
The file was addedlld/test/COFF/thinlto-module-order.ll
The file was modifiedllvm/lib/LTO/ThinLTOCodeGenerator.cpp
Commit d4b040473291c5b25bee05fae3a10ac9ad0baa99 by kamil
[compiler-rt] [lldb] Mark syscall_acquire and syscall_release as USED

Fixes build warnings on NetBSD.
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp