1. Consolidate swap, swap_ranges, and iter_swap in <type_traits>. (details)
  2. LiveIntervals: Split live intervals on multiple dead defs (details)
  3. [MS] Consder constexpr globals to be inline, as in C++17 (details)
  4. [IRMover] Don't map globals if their types are the same (details)
Commit b51d5605b1817fdce33c5f30316b0b5a5aef5116 by z.zoelec2
Consolidate swap, swap_ranges, and iter_swap in <type_traits>.
NFC. Thanks to @Quuxplusone (Arthur O'Dwyer) for this change.
llvm-svn: 371639
The file was modifiedlibcxx/include/utility
The file was modifiedlibcxx/include/type_traits
Commit 81196a595c681633bd381b56cf40119bb6d2327b by Matthew.Arsenault
LiveIntervals: Split live intervals on multiple dead defs
If there are multiple dead defs of the same virtual register, these are
required to be split into multiple virtual registers with separate live
intervals to avoid a verifier error.
llvm-svn: 371640
The file was addedllvm/test/CodeGen/AMDGPU/live-intervals-multiple-dead-defs.mir
The file was modifiedllvm/lib/CodeGen/LiveIntervals.cpp
Commit abcc2a879c95d2ed262f1b344a069747c2138778 by rnk
[MS] Consder constexpr globals to be inline, as in C++17
Summary: Microsoft seems to do this regardless of the language mode, so
we must also do it in order to be ABI compatible.
Fixes PR36125
Reviewers: thakis
Subscribers: cfe-commits
Differential Revision:
llvm-svn: 371642
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
The file was modifiedclang/test/CXX/drs/dr7xx.cpp
The file was modifiedclang/test/SemaCXX/dllimport.cpp
The file was modifiedclang/test/CodeGenCXX/ms-integer-static-data-members.cpp
The file was addedclang/test/CodeGenCXX/ms-constexpr-static-data-member.cpp
The file was modifiedclang/test/SemaCXX/dllexport.cpp
The file was modifiedclang/test/SemaCXX/cxx1y-variable-templates_in_class.cpp
The file was modifiedclang/test/CodeGenCXX/ms-integer-static-data-members-exported.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit 8b46544641ef49e20621a3ac8e14fd4c95338522 by pirama
[IRMover] Don't map globals if their types are the same
Summary: During IR Linking, if the types of two globals in destination
and source modules are the same, it can only be because the global in
the destination module is originally from the source module and got
added to the destination module from a shared metadata.
We shouldn't map this type to itself in case the type's components get
remapped to a new type from the destination (for instance, during the
loop over SrcM->getIdentifiedStructTypes() further below in
Fixes PR40312.
Reviewers: tejohnson, pcc, srhines
Subscribers: mehdi_amini, hiraditya, steven_wu, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision:
llvm-svn: 371643
The file was modifiedllvm/lib/Linker/IRMover.cpp
The file was addedllvm/test/LTO/X86/Inputs/type-mapping-bug3.ll
The file was addedllvm/test/LTO/X86/type-mapping-bug3.ll