SuccessChanges

Summary

  1. MemTag: stack initializer merging. (details)
  2. Recommit "[llvm-objcopy][MachO] Support load commands used in (details)
  3. Fixed placement of llvm.global_dtors on Windows. (details)
  4. Refactor isPointerOffset (NFC). (details)
  5. Recommit "[llvm-objcopy][MachO] Implement a layout algorithm for (details)
  6. Recommit "[Attributor] Fix: Do not partially resolve returned calls." (details)
  7. Fix use-after-free (details)
  8. [CaptureTracker] Let subclasses provide dereferenceability information (details)
  9. [ORC] fix use-after-free detected by -Wreturn-stack-address (details)
Commit 50affbe47fc97f9514ef32d657b36b54285da214 by eugeni.stepanov
MemTag: stack initializer merging.
Summary: MTE provides instructions to update memory tags and data at the
same time. This change makes use of those to generate more compact code
for stack variable tagging + initialization.
We collect memory store and memset instructions following an alloca or a
lifetime.start call, and replace them with the corresponding MTE
intrinsics. Since the intrinsics work on 16-byte aligned chunks, the
stored values are combined as necessary.
Reviewers: pcc, vitalybuka, ostannard
Subscribers: srhines, javed.absar, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66167
llvm-svn: 369297
The file was addedllvm/test/CodeGen/AArch64/stack-tagging-initializer-merge.ll
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64.h (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64StackTagging.cpp (diff)
Commit 552bcb854cfdfb7ca4fed8b07630d69f06907971 by nuta
Recommit "[llvm-objcopy][MachO] Support load commands used in
executables/shared libraries"
Summary: This patch implements copying some load commands that appear in
executables/shared libraries such as the indirect symbol table.
I don't add tests intentionally because this patch is incomplete: we
need a layout algorithm for executables/shared libraries. I'll submit it
as a separate patch with tests.
Reviewers: alexshap, rupprecht, jhenderson, compnerd
Reviewed By: alexshap
Subscribers: abrachet, mgorny, mgrang, MaskRay, mtrent, jakehehrlich,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D63395
llvm-svn: 369298
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp (diff)
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.h (diff)
The file was modifiedllvm/tools/llvm-objcopy/CMakeLists.txt (diff)
The file was addedllvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.cpp (diff)
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h (diff)
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOWriter.cpp (diff)
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOWriter.h (diff)
The file was addedllvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.h
Commit f7229ac7d88ef7a47732cc3438b87f70e00ec6af by vyacheslav.p.zakharin
Fixed placement of llvm.global_dtors on Windows.
Differential revision: https://reviews.llvm.org/D66373
llvm-svn: 369299
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp (diff)
The file was addedllvm/test/CodeGen/X86/dtor-priority-coff.ll
Commit 55ccd16354d90a70e890f4a79b9bfd20186b3c5f by eugeni.stepanov
Refactor isPointerOffset (NFC).
Summary: Simplify the API using Optional<> and address comments in
        https://reviews.llvm.org/D66165
Reviewers: vitalybuka
Subscribers: hiraditya, llvm-commits, ostannard, pcc
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66317
llvm-svn: 369300
The file was modifiedllvm/include/llvm/Analysis/ValueTracking.h (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64StackTagging.cpp (diff)
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp (diff)
Commit 12bd490427d7d19425ba1a7e5c55c3b22d8aa61d by nuta
Recommit "[llvm-objcopy][MachO] Implement a layout algorithm for
executables"
Summary: The layout algorithm for relocatable objects and for executable
are somewhat different. This patch implements the latter one based on
the algorithm in LLD (MachOFileLayout).
Reviewers: alexshap, rupprecht, jhenderson
Reviewed By: alexshap
Subscribers: jakehehrlich, abrachet, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65539
llvm-svn: 369301
The file was addedllvm/test/tools/llvm-objcopy/MachO/basic-executable-copy.test
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp (diff)
Commit de7674ce76e06971e46e7ba7bef55fb3394e5102 by jdoerfert
Recommit "[Attributor] Fix: Do not partially resolve returned calls."
This reverts commit b1752f670f3d6393306dd5d37546b6e23384d8a2.
Fixed the issue with a different commit, reapply this one as it was,
afaik, not broken.
llvm-svn: 369303
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp (diff)
Commit 8b0d15e43f339371204961566aa7ba5f64c209c5 by M.Gehre
Fix use-after-free
Summary: The warning
``` lldb/source/Core/FormatEntity.cpp:2350:25: warning: object backing
the pointer will be destroyed at the end of the full-expression
[-Wdangling]
``` is emitted after annotating `llvm::StringRef` with
`[[gsl::Pointer]]`.
The reason is that in
```
size_t FormatEntity::AutoComplete(CompletionRequest &request) {
llvm::StringRef str = request.GetCursorArgumentPrefix().str();
``` the function `GetCursorArgumentPrefix()` returns a `StringRef`, and
`StringRef::str()` returns a temporary `std::string`.
Reviewers: jingham, JDevlieghere
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D66442
llvm-svn: 369304
The file was modifiedlldb/source/Core/FormatEntity.cpp (diff)
Commit 8b962f2814999e1cf48e964096fb9b657ba5b6eb by jdoerfert
[CaptureTracker] Let subclasses provide dereferenceability information
Summary: CaptureTracker subclasses might have better dereferenceability
information which allows null pointer checks to be no-capturing. The
first user will be D59922.
Reviewers: sanjoy, hfinkel, aykevl, sstefan1, uenoku, xbolva00
Subscribers: hiraditya, bollu, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66371
llvm-svn: 369305
The file was modifiedllvm/include/llvm/Analysis/CaptureTracking.h (diff)
The file was modifiedllvm/lib/Analysis/CaptureTracking.cpp (diff)
Commit 5b3275e56f3c8e1b3cbc15f3866d903b9275c132 by M.Gehre
[ORC] fix use-after-free detected by -Wreturn-stack-address
Summary: llvm/lib/ExecutionEngine/Orc/Layer.cpp:53:12: warning:
returning address of local temporary object [-Wreturn-stack-address]
In
``` StringRef IRMaterializationUnit::getName() const {
[...]
    return TSM.withModuleDo(
       [](const Module &M) { return M.getModuleIdentifier(); });
```
`getModuleIdentifier()` returns a `const std::string &`, but the
implicit return type of the lambda is `std::string` by value, and thus
the returned `StringRef` refers to a temporary `std::string`.
Detect by annotating `llvm::StringRef` with `[[gsl::Pointer]]`.
Reviewers: lhames, sgraenitz
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66440
llvm-svn: 369306
The file was modifiedllvm/lib/ExecutionEngine/Orc/Layer.cpp (diff)

Summary

  1. [lldb] Set timeout to 90 and 60 min for build and testing respectively. (details)
Commit 53566370fe75edd4ff62ecbfa6b97a8e48bd7427 by Jonas Devlieghere
[lldb] Set timeout to 90 and 60 min for build and testing respectively.
llvm-svn: 369302
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake-matrix (diff)
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake (diff)