SuccessChanges

Summary

  1. [libc++] Ensure __config always defines certain configuration macros. (details)
  2. Fix -Wswitch-coverage warning in clang-tidy after ak_addrspace (details)
  3. Call objc_retainBlock before passing a block as a variadic argument (details)
  4. Revert "[libomptarget] Move resource id functions into target specific (details)
  5. [NFC] Change SelectionDAG::getMemBasePlusOffset() to use int64_t (details)
  6. [NFC] Add a SDValue overload for SelectionDAG::getMemBasePlusOffset() (details)
  7. [NFC] Implement SelectionDAG::getObjectPtrOffset() using (details)
  8. [NFC] Use SelectionDAG::getMemBasePlusOffset() instead of (details)
  9. [LSAN] Increase stack space for guard-page.c test (details)
  10. [lldb/CMake] Rename LLDB_DISABLE_PYTHON to LLDB_ENABLE_PYTHON (details)
  11. [lldb/CMake] Initialize LLDB_ENABLE_POSIX based on the UNIX variable. (details)
  12. [OPENMP]Fix skipping of functions body. (details)
  13. [Driver] Use .init_array for all gcc installations and simplify (details)
Commit fda3825c7a96a04b08d2e3fa55ad84d78addcb19 by eric
[libc++] Ensure __config always defines certain configuration macros.
The file was modifiedlibcxx/include/__config (diff)
The file was modifiedlibcxx/include/__mutex_base (diff)
Commit 5623bd52acd34db2e9cfc11d1510407610a14db0 by echristo
Fix -Wswitch-coverage warning in clang-tidy after ak_addrspace
introduction.
Differential Revision: https://reviews.llvm.org/D71486 Reviewed By:
rsmith
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp (diff)
Commit a0a670614a36f1686c5086033bef85800128cf66 by Akira
Call objc_retainBlock before passing a block as a variadic argument
Copy the block to the heap before passing it to the callee in case the
block escapes in the callee.
rdar://problem/55683462
Differential Revision: https://reviews.llvm.org/D71431
The file was modifiedclang/test/CodeGenObjC/arc-blocks.m (diff)
The file was modifiedclang/lib/Sema/SemaExpr.cpp (diff)
The file was modifiedclang/docs/AutomaticReferenceCounting.rst (diff)
Commit dd8a7fcdd73dd63529b81bf9f72c7529dfe99ec3 by a.bataev
Revert "[libomptarget] Move resource id functions into target specific
code, implement for amdgcn"
This reverts commit dbb3fec8adfc4ac3fbf31f51f294427dbabbebb2 since it
breaks the NVPTX tests.
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h (diff)
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h (diff)
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/support.cu (diff)
The file was modifiedopenmp/libomptarget/deviceRTLs/common/support.h (diff)
Commit d9bb70acd7f6da7c4637826d5ae942ae61bf9494 by Alexander.Richardson
[NFC] Change SelectionDAG::getMemBasePlusOffset() to use int64_t
Summary: This change is preparatory work to use this helper functions in
more places. Currently the function only allows positive offsets, but
there are cases where we want to subtract an offset from an existing
pointer.
The motivation for this change is our out-of-tree CHERI backend
(https://github.com/CTSRD-CHERI/llvm-project). We use a separate
register type to store pointers (128-bit capabilities, which are
effectively unforgeable and monotonic fat pointers). These capabilities
permit a reduced set of operations and therefore use a separate
ValueType (iFATPTR). to represent pointers implemented as capabilities.
Therefore, we need to avoid using ISD::ADD for our patterns that operate
on pointers and need to use a function that chooses ISD::ADD or a new
ISD::PTRADD opcode depending on the value type.
We originally added a new DAG.getPointerAdd() function, but after this
patch series we can modify the implementation of getMemBasePlusOffset()
instead. Avoiding direct uses of ISD::ADD for pointer types will
significantly reduce the amount of assertion/instruction selection
failures for us in future upstream merges.
Reviewers: spatel
Reviewed By: spatel
Subscribers: merge_guards_bot, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71204
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)
Commit ea8888d1af3a992d82d1ff3bf99537220828d388 by Alexander.Richardson
[NFC] Add a SDValue overload for SelectionDAG::getMemBasePlusOffset()
Summary: This change is preparatory work to use this helper functions in
more places. Currently the function only allows integer constants
offsets, but there are cases where we can use an existing SDValue
parameter.
The motivation for this change is our out-of-tree CHERI backend
(https://github.com/CTSRD-CHERI/llvm-project). We use a separate
register type to store pointers (128-bit capabilities, which are
effectively unforgeable and monotonic fat pointers). These capabilities
permit a reduced set of operations and therefore use a separate
ValueType (iFATPTR). to represent pointers implemented as capabilities.
Therefore, we need to avoid using ISD::ADD for our patterns that operate
on pointers and need to use a function that chooses ISD::ADD or a new
ISD::PTRADD opcode depending on the value type.
We originally added a new DAG.getPointerAdd() function, but after this
patch series we can modify the implementation of getMemBasePlusOffset()
instead. Avoiding direct uses of ISD::ADD for pointer types will
significantly reduce the amount of assertion/instruction selection
failures for us in future upstream merges.
Reviewers: spatel, craig.topper
Reviewed By: spatel, craig.topper
Subscribers: craig.topper, merge_guards_bot, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71205
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h (diff)
Commit fc83f53a86d802fc2d56aac4eb3dc53998751042 by Alexander.Richardson
[NFC] Implement SelectionDAG::getObjectPtrOffset() using
getMemBasePlusOffset()
Summary: This change is preparatory work to use this helper functions in
more places. In order to make this change, getMemBasePlusOffset() has
been extended to also take a SDNodeFlags parameter.
The motivation for this change is our out-of-tree CHERI backend
(https://github.com/CTSRD-CHERI/llvm-project). We use a separate
register type to store pointers (128-bit capabilities, which are
effectively unforgeable and monotonic fat pointers). These capabilities
permit a reduced set of operations and therefore use a separate
ValueType (iFATPTR). to represent pointers implemented as capabilities.
Therefore, we need to avoid using ISD::ADD for our patterns that operate
on pointers and need to use a function that chooses ISD::ADD or a new
ISD::PTRADD opcode depending on the value type.
We originally added a new DAG.getPointerAdd() function, but after this
patch series we can modify the implementation of getMemBasePlusOffset()
instead. Avoiding direct uses of ISD::ADD for pointer types will
significantly reduce the amount of assertion/instruction selection
failures for us in future upstream merges.
Reviewers: spatel
Reviewed By: spatel
Subscribers: merge_guards_bot, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71206
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h (diff)
Commit 11448eeb72e1392f9f4ad072866c2c6dc82d14bc by Alexander.Richardson
[NFC] Use SelectionDAG::getMemBasePlusOffset() instead of
getNode(ISD::ADD)
Summary: To find potential opportunities to use getMemBasePlusOffset() I
looked at all ISD::ADD uses found with the regex
getNode\(ISD::ADD,.+,.+Ptr in lib/CodeGen/SelectionDAG. If this patch is
accepted I will convert the files in the individual backends too.
The motivation for this change is our out-of-tree CHERI backend
(https://github.com/CTSRD-CHERI/llvm-project). We use a separate
register type to store pointers (128-bit capabilities, which are
effectively unforgeable and monotonic fat pointers). These capabilities
permit a reduced set of operations and therefore use a separate
ValueType (iFATPTR). to represent pointers implemented as capabilities.
Therefore, we need to avoid using ISD::ADD for our patterns that operate
on pointers and need to use a function that chooses ISD::ADD or a new
ISD::PTRADD opcode depending on the value type.
We originally added a new DAG.getPointerAdd() function, but after this
patch series we can modify the implementation of getMemBasePlusOffset()
instead. Avoiding direct uses of ISD::ADD for pointer types will
significantly reduce the amount of assertion/instruction selection
failures for us in future upstream merges.
Reviewers: spatel
Reviewed By: spatel
Subscribers: merge_guards_bot, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71207
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp (diff)
Commit 9cb7a1be2a430a50fb5644b3f48d4a1544034fb9 by Alexander.Richardson
[LSAN] Increase stack space for guard-page.c test
Summary: When running the tests on a Ubuntu 18.04 machine this test is
crashing for me inside the runtime linker. My guess is that it is trying
to save more registers (possibly large vector ones) and the current
stack space is not sufficient.
Reviewers: samsonov, kcc, eugenis
Reviewed By: eugenis
Subscribers: eugenis, merge_guards_bot, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D71461
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/guard-page.c (diff)
Commit 4e26cf2cfb2b140a33ec236153cb2f23b5c44127 by Jonas Devlieghere
[lldb/CMake] Rename LLDB_DISABLE_PYTHON to LLDB_ENABLE_PYTHON
This matches the naming scheme used by LLVM and all the other optional
dependencies in LLDB.
Differential revision: https://reviews.llvm.org/D71482
The file was modifiedlldb/source/Plugins/ScriptInterpreter/CMakeLists.txt (diff)
The file was modifiedlldb/source/Interpreter/CommandObjectScript.cpp (diff)
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp (diff)
The file was modifiedlldb/tools/intel-features/CMakeLists.txt (diff)
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake (diff)
The file was modifiedlldb/test/CMakeLists.txt (diff)
The file was modifiedlldb/docs/CMakeLists.txt (diff)
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h (diff)
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp (diff)
The file was modifiedlldb/test/API/lldbtest.py (diff)
The file was modifiedlldb/docs/resources/build.rst (diff)
The file was modifiedlldb/source/Commands/CommandObjectType.cpp (diff)
The file was modifiedlldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp (diff)
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h (diff)
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h (diff)
The file was modifiedlldb/test/API/lit.site.cfg.py.in (diff)
The file was modifiedlldb/include/lldb/Host/Config.h.cmake (diff)
The file was modifiedlldb/source/API/CMakeLists.txt (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py (diff)
The file was modifiedlldb/test/Shell/lit.site.cfg.py.in (diff)
The file was modifiedlldb/CMakeLists.txt (diff)
The file was modifiedlldb/source/API/SystemInitializerFull.cpp (diff)
The file was modifiedlldb/unittests/ScriptInterpreter/CMakeLists.txt (diff)
The file was modifiedlldb/source/Commands/CommandObjectFrame.cpp (diff)
The file was modifiedlldb/test/Shell/lit.cfg.py (diff)
The file was modifiedlldb/source/Core/ValueObject.cpp (diff)
The file was modifiedlldb/source/API/SBHostOS.cpp (diff)
The file was modifiedlldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h (diff)
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h (diff)
Commit e8af4fd42da3580f9bda5202f381bf92d07f4b9c by Jonas Devlieghere
[lldb/CMake] Initialize LLDB_ENABLE_POSIX based on the UNIX variable.
The file was modifiedlldb/cmake/modules/LLDBGenerateConfig.cmake (diff)
Commit 8035bb4a6573f7d20f17044a68a1405691000525 by a.bataev
[OPENMP]Fix skipping of functions body.
When parsing the code with OpenMP and the function's body must be
skipped, need to skip also OpenMP annotation tokens. Otherwise the
counters for braces/parens are unbalanced and parsing fails.
The file was modifiedclang/lib/Parse/Parser.cpp (diff)
The file was addedclang/test/OpenMP/crash-skipped-bodies-template-inst.cpp
The file was modifiedclang/include/clang/Parse/Parser.h (diff)
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp (diff)
The file was modifiedclang/include/clang/Parse/RAIIObjectsForParser.h (diff)
The file was modifiedclang/test/OpenMP/openmp_check.cpp (diff)
Commit e4fce659a759ecdd59ceee750f1ff9b44f9de3f3 by maskray
[Driver] Use .init_array for all gcc installations and simplify
Generic_ELF -fno-use-init-array rules
D39317 made clang use .init_array when no gcc installations is found.
This change changes all gcc installations to use .init_array .
GCC 4.7 by default stopped providing .ctors/.dtors compatible crt files,
and stopped emitting .ctors for __attribute__((constructor)).
.init_array should always work.
FreeBSD rules are moved to FreeBSD.cpp to make Generic_ELF rules clean.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D71434
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/lib/Driver/ToolChains/FreeBSD.h (diff)
The file was modifiedclang/lib/Driver/ToolChains/FreeBSD.cpp (diff)
The file was modifiedclang/test/Driver/constructors.c (diff)
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp (diff)