SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [AST] Use a reference in a range-based for (details)
  2. [lldb] Remove RTTI in ClangExternalASTSourceCommon based on a global map (details)
  3. [Kaleidoscope][BuildingAJIT] Add a missing std::move. (details)
  4. [MC] Delete unused MCAsmInfoELF::UsesNonexecutableStackSection after (details)
  5. [MC] Ignore VK_WEAKREF in MCValue::getAccessVariant (details)
  6. [MC] Assume CommentStream is non-null in MCDisassembler::tryAdding* (details)
  7. [ORC] Make ObjectLinkingLayer own its jitlink::MemoryManager. (details)
  8. [PowerPC] Fix %llvm.ppc.altivec.vc* lowering (details)
  9. [MC] Delete STT_SECTION special cases from MCSymbolELF::setType and (details)
  10. [llvm-objcopy][MachO] Implement --add-section (details)
  11. [llvm-objcopy][ELF] -O binary: use LMA instead of sh_offset to decide (details)
  12. [examples] Update LLJITWithJITLink example for change in c0143f37dab. (details)
  13. [Orc][LLJIT] Automatically use JITLink for LLJIT on supported platforms. (details)
  14. [examples] Rename LLJITWithJITLink to LLJITWithCustomObjectLinkingLayer. (details)
  15. [ELF] Delete redundant isLive() check. NFC (details)
  16. Resolve exception specifications after marking the corresponding (details)
  17. Properly compute whether statement expressions can throw, rather than (details)
  18. [c++20] Compute exception specifications for defaulted comparisons. (details)
  19. Mark the major papers for C++20 consistent comparisons as "done", and (details)
Commit 29e78ec67988a5aa712da805f8197bfa3d738700 by koraq
[AST] Use a reference in a range-based for
This avoids unneeded copies when using a range-based for loops.
This avoids new warnings due to D68912 adds -Wrange-loop-analysis to
-Wall.
Differential Revision: https://reviews.llvm.org/D71526
The file was modifiedclang/lib/AST/ASTContext.cpp
Commit 8280896bd1b055a192d9e7d482b0ffa14ee88e3a by Raphael Isemann
[lldb] Remove RTTI in ClangExternalASTSourceCommon based on a global map
of known instances
Summary: Currently we do our RTTI check for ClangExternalASTSourceCommon
by using this global map of ClangExternalASTSourceCommon where every
instance is registering and deregistering itself on
creation/destruction. Then we can do the RTTI check by looking up in
this map from ClangASTContext.
This patch removes this whole thing and just adds LLVM-style RTTI
support to ClangExternalASTSourceCommon which is possible with D71397.
Reviewers: labath, aprantl
Reviewed By: labath
Subscribers: JDevlieghere, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D71398
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was modifiedlldb/source/Symbol/ClangExternalASTSourceCommon.cpp
The file was modifiedlldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h
Commit 064e7d1df17dcd7f82215c258e2793aa1f8ed760 by Lang Hames
[Kaleidoscope][BuildingAJIT] Add a missing std::move.
This should fix the build failure described in
https://github.com/llvm/llvm-project/issues/63.
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
Commit fdb408f348f91f8eb4ecc32527aebfb6286e55cb by maskray
[MC] Delete unused MCAsmInfoELF::UsesNonexecutableStackSection after
EM_WEBASSEMBLY was removed in D48744
This removes remnant of D15969 which hasn't been removed by D48744.
The file was modifiedllvm/include/llvm/MC/MCAsmInfoELF.h
The file was modifiedllvm/lib/MC/MCAsmInfoELF.cpp
The file was removedllvm/test/CodeGen/WebAssembly/non-executable-stack.ll
Commit 2b0256e49bbe5c0dc9c8f4800b1e2f131026cb45 by maskray
[MC] Ignore VK_WEAKREF in MCValue::getAccessVariant
MCSymbolRefExpr::getVariantKindForName does not return VK_WEAKREF, so
this code path is not exercised. Moreoever, .weakref is probably a
feature that nobody uses.
The file was modifiedllvm/lib/MC/MCValue.cpp
Commit 1ea5ce6335c7c0e040f70de16f1080546d242b69 by maskray
[MC] Assume CommentStream is non-null in MCDisassembler::tryAdding*
AArch64/ARM/X86 call the two functions. CommentStream is always
initialized.
The file was modifiedllvm/lib/MC/MCDisassembler/MCDisassembler.cpp
Commit c0143f37dab38a2da27c9bb6f44f3a54ca9cf86f by Lang Hames
[ORC] Make ObjectLinkingLayer own its jitlink::MemoryManager.
This relieves ObjectLinkingLayer clients of the responsibility of
holding the memory manager. This makes it easier to select between
RTDyldObjectLinkingLayer
(which already owned its memory manager factory) and ObjectLinkingLayer
at runtime as clients aren't required to hold a jitlink::MemoryManager
field just in case ObjectLinkingLayer is selected.
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
Commit 7e0fd77645cf6eae1994b255a307b016180c8a83 by tclin914
[PowerPC] Fix %llvm.ppc.altivec.vc* lowering
Summary: r372285 changed LLVM to use a `TargetConstant` for parameters
of intrinsics that are required to be immediates.
Since that commit, use of `%llvm.ppc.altivec.vc{fsx,fux,tsxs,tuxs}`
intrinsics has not worked, and resulted in a `LLVM ERROR: Cannot select:
intrinsic %llvm.ppc.altivec.vc*` error. The intrinsics' TableGen
definitions matched on `imm` instead of `timm`.
This commit updates those definitions to use `timm`.
Fixes: https://llvm.org/PR44239
Reviewers: hfinkel, nemanjai, #powerpc, Jim
Reviewed By: Jim
Subscribers: qiucf, wuzish, Jim, hiraditya, kbarton, jsji, shchenz,
llvm-commits
Tags: #llvm
Patched by vddvss (Colin Samples).
Differential Revision: https://reviews.llvm.org/D71138
The file was addedllvm/test/CodeGen/PowerPC/pr44239.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
Commit d25db94fa755651e42b15a51f2e8538f684418b7 by maskray
[MC] Delete STT_SECTION special cases from MCSymbolELF::setType and
setBinding
The special cases added by rL293936 were no longer needed after rL296180
disallowed redefinition of section symbols.
The file was modifiedllvm/lib/MC/MCSymbolELF.cpp
Commit 9e119ad69df716b728c8d190ac808fa509818c1e by nuta
[llvm-objcopy][MachO] Implement --add-section
Reviewers: alexshap, rupprecht, jhenderson
Reviewed By: alexshap, jhenderson
Subscribers: mgorny, jakehehrlich, abrachet, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66283
The file was modifiedllvm/docs/CommandGuide/llvm-objcopy.rst
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.cpp
The file was addedllvm/test/tools/llvm-objcopy/MachO/add-section.test
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.cpp
Commit d28c6d51d1547d9cd7cd5b7e36b4c03f38ef7c67 by maskray
[llvm-objcopy][ELF] -O binary: use LMA instead of sh_offset to decide
where to write section contents
.text sh_address=0x1000 sh_offset=0x1000
.data sh_address=0x3000 sh_offset=0x2000
In an objcopy -O binary output, the distance between two sections equal
their LMA differences (0x3000-0x1000), instead of their sh_offset
differences (0x2000-0x1000). This patch changes our behavior to match
GNU.
This rule gets more complex when the containing PT_LOAD has
p_vaddr!=p_paddr. GNU objcopy essentially computes
sh_offset-p_offset+p_paddr for each candidate section, and removes the
gap before the first address.
Added tests to binary-paddr.test to catch the compatibility problem.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D71035
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.cpp
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/binary-paddr.test
Commit 073df421e0d7caf3ba3b2fd163cbb29251162f57 by Lang Hames
[examples] Update LLJITWithJITLink example for change in c0143f37dab.
The file was modifiedllvm/examples/LLJITExamples/LLJITWithJITLink/LLJITWithJITLink.cpp
Commit 67a1b7f05379f2686f858fc103debcac0aed3973 by Lang Hames
[Orc][LLJIT] Automatically use JITLink for LLJIT on supported platforms.
JITLink (which underlies ObjectLinkingLayer) is a replacement for
RuntimeDyld. It supports the native code model, and linker plugins that
enable a wider range of features than RuntimeDyld.
Currently only enabled for MachO/x86-64 and MachO/arm64. New
architectures will be added as JITLink support for them is developed.
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp
Commit 3c9bf77b2e610856e23237746c0ff51a01d1d79f by Lang Hames
[examples] Rename LLJITWithJITLink to LLJITWithCustomObjectLinkingLayer.
LLJIT now uses JITLink/ObjectLinkingLayer by default where available, so
these steps aren't required to use it. The tutorial is still useful
though: Clients can use it to test altervative linking layer
implementations (e.g. handing off to the system linker) or to test
implementations of JITLink that are still under development.
The file was modifiedllvm/examples/LLJITExamples/CMakeLists.txt
The file was addedllvm/examples/LLJITExamples/LLJITWithCustomObjectLinkingLayer/LLJITWithCustomObjectLinkingLayer.cpp
The file was removedllvm/examples/LLJITExamples/LLJITWithJITLink/CMakeLists.txt
The file was removedllvm/examples/LLJITExamples/LLJITWithJITLink/LLJITWithJITLink.cpp
The file was addedllvm/examples/LLJITExamples/LLJITWithCustomObjectLinkingLayer/CMakeLists.txt
Commit f036f1cc85deddff852705e6b44d31d1d0d47773 by maskray
[ELF] Delete redundant isLive() check. NFC
The file was modifiedlld/ELF/LinkerScript.cpp
Commit 0ec1e99001291b894de4cd8d7ecc2a283d9a3bfc by richard
Resolve exception specifications after marking the corresponding
function as referenced, not before.
No functionality change intended. This is groundwork for computing the
exception specification of a defaulted comparison, for which we'd like
to use the implicit body where possible.
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaExprMember.cpp
Commit fbf60b7dbeb0f66b45037925c384859f2f161504 by richard
Properly compute whether statement expressions can throw, rather than
conservatively assuming they always can.
Also fix cases where we would not consider the computation of a VLA type
when determining whether an expression can throw. We don't yet properly
determine whether a VLA can throw, but no longer incorrectly claim it
can never throw.
The file was modifiedclang/lib/AST/Stmt.cpp
The file was modifiedclang/include/clang/AST/Stmt.h
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/SemaCXX/cxx0x-noexcept-expression.cpp
Commit 4a4e90a823882399fe22374629f79f1edd123d01 by richard
[c++20] Compute exception specifications for defaulted comparisons.
This requires us to essentially fully form the body of the defaulted
comparison, but from an unevaluated context. Naively this would require
generating the function definition twice; instead, we ensure that the
function body is implicitly defined before performing the check, and
walk the actual body where possible.
The file was modifiedclang/test/CXX/class/class.compare/class.compare.default/p4.cpp
The file was addedclang/test/CXX/except/except.spec/p11-2a.cpp
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/CXX/class/class.compare/class.compare.default/p3.cpp
Commit bc633a42dd409dbeb456263e3388b8caa4680aa0 by richard
Mark the major papers for C++20 consistent comparisons as "done", and
start publishing the corresponding feature-test macro.
The file was modifiedclang/www/cxx_status.html
The file was modifiedclang/lib/Frontend/InitPreprocessor.cpp
The file was modifiedclang/test/Lexer/cxx-features.cpp