SuccessChanges

Summary

  1. [OpaquePtr] Make atomicrmw work with opaque pointers (details)
  2. [libcxx][iterator] adds `std::ranges::advance` (details)
  3. [gn build] Port 36d0fdf9ac3b (details)
Commit 1202f559bdeebb62dbba29ee05ffafbfecd57d92 by aeubanks
[OpaquePtr] Make atomicrmw work with opaque pointers

FullTy is only necessary when we need to figure out what type an
instruction works with given a pointer's pointee type. However, we just
end up using the value operand's type, so FullTy isn't necessary.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102788
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/test/Verifier/opaque-ptr.ll
The file was addedllvm/test/Assembler/atomicrmw.ll
The file was modifiedllvm/test/Assembler/opaque-ptr.ll
Commit 36d0fdf9ac3b4d2f509e1c56b3d45ac02cdc977e by cjdb
[libcxx][iterator] adds `std::ranges::advance`

Implements part of P0896 'The One Ranges Proposal'.
Implements [range.iter.op.advance].

Differential Revision: https://reviews.llvm.org/D101922
The file was addedlibcxx/include/__iterator/advance.h
The file was modifiedlibcxx/test/support/test_iterators.h
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/test/support/test_standard_function.h
The file was addedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/advance.pass.cpp
The file was addedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/constraints.verify.cpp
The file was addedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/special_function.compile.pass.cpp
The file was addedlibcxx/include/__function_like.h
The file was modifiedlibcxx/include/iterator
Commit dde123993f50df5b95e311e6ff67f645cd273809 by llvmgnsyncbot
[gn build] Port 36d0fdf9ac3b
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn