SuccessChanges

Summary

  1. [libc++] Add comment in atomic test to explain why part of it is disabled on Apple (details)
  2. [MemProf] Rename HeapProfiler to MemProfiler for consistency (details)
  3. [gn build] Port 226d80ebe20 (details)
  4. [docs][NewPM] Add docs for writing NPM passes (details)
  5. [Asan] Fix false leak report (details)
  6. Make namespace handling uniform across dialect backends. (details)
  7. Update PowerPC backend ownership in CODE_OWNERS.TXT (details)
  8. [AMDGPU] Add XDL resource to scheduling model (details)
  9. [SelectionDAG] Use Align/MaybeAlign in calls to getLoad/getStore/getExtLoad/getTruncStore. (details)
  10. [libc++] Make rotate a constexpr. (details)
  11. [libc++] Finish implementing P0202R3 (details)
  12. Fix MLIR standalone example to properly handle namespace (details)
  13. [libc++][test] Portability fix of std::strstreambuf constructor test (details)
  14. [docs] Update OrcV1 removal timeline. (details)
  15. [PruneEH][NFC] Use CallGraphUpdater in PruneEH (details)
Commit becf15527583380b510ce269ee51abd364551f13 by Louis Dionne
[libc++] Add comment in atomic test to explain why part of it is disabled on Apple
The file was modifiedlibcxx/test/std/atomics/types.pass.cpp
Commit 226d80ebe20e2d796af6c1bc43d9fbdfbb9d4a07 by tejohnson
[MemProf] Rename HeapProfiler to MemProfiler for consistency

This is consistent with the clang option added in
7ed8124d46f94601d5f1364becee9cee8538265e, and the comments on the
runtime patch in D87120.

Differential Revision: https://reviews.llvm.org/D87622
The file was modifiedllvm/test/Instrumentation/HeapProfiler/scale-granularity.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/CMakeLists.txt
The file was removedllvm/include/llvm/Transforms/Instrumentation/HeapProfiler.h
The file was addedllvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
The file was modifiedllvm/test/Instrumentation/HeapProfiler/basic.ll
The file was modifiedclang/test/Driver/fmemprof.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Instrumentation/HeapProfiler/instrumentation-use-callbacks.ll
The file was modifiedllvm/test/Instrumentation/HeapProfiler/version-mismatch-check.ll
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Instrumentation/Instrumentation.cpp
The file was modifiedllvm/test/Instrumentation/HeapProfiler/masked-load-store.ll
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was addedllvm/lib/Transforms/Instrumentation/MemProfiler.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was removedllvm/lib/Transforms/Instrumentation/HeapProfiler.cpp
The file was modifiedclang/include/clang/Driver/SanitizerArgs.h
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/lib/Driver/SanitizerArgs.cpp
Commit 2ad38f7a46b59a5b6653239245d29590d7977b29 by llvmgnsyncbot
[gn build] Port 226d80ebe20
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Commit c2590de30df23ef0db39b496cdec62a83a61fbfa by aeubanks
[docs][NewPM] Add docs for writing NPM passes

As to not conflict with the legacy PM example passes under
llvm/lib/Transforms/Hello, this is under HelloNew. This makes the
CMakeLists.txt and general directory structure less confusing for people
following the example.

Much of the doc structure was taken from WritinAnLLVMPass.rst.

This adds a HelloWorld pass which simply prints out each function name.

More will follow after this, e.g. passes over different units of IR, analyses.
https://llvm.org/docs/WritingAnLLVMPass.html contains a lot more.

Reviewed By: ychen, asbirlea

Differential Revision: https://reviews.llvm.org/D86979
The file was modifiedllvm/lib/Transforms/LLVMBuild.txt
The file was addedllvm/lib/Transforms/HelloNew/HelloWorld.cpp
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
The file was addedllvm/include/llvm/Transforms/HelloNew/HelloWorld.h
The file was addedllvm/lib/Transforms/HelloNew/CMakeLists.txt
The file was addedllvm/docs/WritingAnLLVMNewPMPass.rst
The file was modifiedllvm/lib/Transforms/CMakeLists.txt
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Passes/LLVMBuild.txt
The file was addedllvm/lib/Transforms/HelloNew/LLVMBuild.txt
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/docs/UserGuides.rst
The file was addedllvm/utils/gn/secondary/llvm/lib/Transforms/HelloNew/BUILD.gn
The file was modifiedllvm/docs/WritingAnLLVMPass.rst
The file was addedllvm/test/Transforms/HelloNew/helloworld.ll
Commit 9d01612db48fa27d18c6320974b8d711572e5c67 by Vitaly Buka
[Asan] Fix false leak report

If user thread is in the allocator, the allocator
may have no pointer into future user's part of
the allocated block. AddrIsInside ignores such
pointers and lsan reports a false memory leak.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D87552
The file was addedcompiler-rt/test/asan/TestCases/redzone_noleak.cpp
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp
Commit 7d1ed69c8aad00f3ba1e917da54508489de6d610 by joker.eph
Make namespace handling uniform across dialect backends.

Now backends spell out which namespace they want to be in, instead of relying on
clients #including them inside already-opened namespaces. This also means that
cppNamespaces should be fully qualified, and there's no implicit "::mlir::"
prepended to them anymore.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D86811
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVAttributes.cpp
The file was modifiedmlir/examples/toy/Ch5/include/toy/Dialect.h
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMAVX512Dialect.h
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
The file was modifiedmlir/examples/toy/Ch6/include/toy/Dialect.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was modifiedmlir/lib/Dialect/AVX512/IR/AVX512Dialect.cpp
The file was modifiedmlir/examples/toy/Ch3/include/toy/Ops.td
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVAttributes.h
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/examples/toy/Ch7/include/toy/Ops.td
The file was modifiedmlir/include/mlir/Dialect/Quant/QuantOpsBase.td
The file was modifiedmlir/test/mlir-tblgen/op-decl.td
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMAVX512.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgTypes.h
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVTypes.h
The file was modifiedmlir/examples/toy/Ch7/include/toy/Dialect.h
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUBase.td
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/examples/toy/Ch2/include/toy/Ops.td
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/Shape.h
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.h
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h
The file was modifiedmlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
The file was modifiedmlir/include/mlir/Dialect/PDLInterp/IR/PDLInterp.h
The file was modifiedmlir/include/mlir/Dialect/Quant/QuantOps.h
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACC.h
The file was modifiedmlir/include/mlir/Dialect/PDL/IR/PDL.h
The file was modifiedmlir/include/mlir/Dialect/SCF/SCF.h
The file was modifiedmlir/examples/toy/Ch4/include/toy/Ops.td
The file was modifiedmlir/lib/Dialect/PDL/IR/PDL.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVDialect.h
The file was modifiedmlir/examples/toy/Ch2/include/toy/Dialect.h
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
The file was modifiedmlir/include/mlir/TableGen/Operator.h
The file was modifiedmlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
The file was modifiedmlir/examples/toy/Ch6/include/toy/Ops.td
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/include/mlir/Dialect/GPU/ParallelLoopMapper.h
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMAVX512Dialect.cpp
The file was modifiedmlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td
The file was modifiedmlir/include/mlir/Dialect/AVX512/AVX512Dialect.h
The file was modifiedmlir/lib/TableGen/Operator.cpp
The file was modifiedmlir/examples/toy/Ch4/include/toy/Dialect.h
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeBase.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
The file was modifiedmlir/include/mlir/Dialect/PDL/IR/PDLBase.td
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVOps.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.h
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUDialect.h
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.h
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
The file was modifiedmlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/test/mlir-tblgen/op-attribute.td
The file was modifiedmlir/include/mlir/Dialect/AVX512/AVX512.td
The file was modifiedmlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h
The file was modifiedmlir/examples/toy/Ch5/include/toy/Ops.td
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
The file was modifiedmlir/examples/toy/Ch3/include/toy/Dialect.h
The file was modifiedmlir/tools/mlir-tblgen/DialectGen.cpp
Commit db94df04fbfaa26cc3fda1ef77af32776bd10f21 by nemanja.i.ibm
Update PowerPC backend ownership in CODE_OWNERS.TXT
The file was modifiedllvm/CODE_OWNERS.TXT
Commit f859c30ecbbbeb33a90b00b76044a688b2e71879 by Austin.Kerbow
[AMDGPU] Add XDL resource to scheduling model

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D87621
The file was addedllvm/test/CodeGen/AMDGPU/schedule-xdl-resource.ll
The file was modifiedllvm/lib/Target/AMDGPU/SISchedule.td
Commit c193a689b475f91e63adb25dc5855f7a7f068c9a by craig.topper
[SelectionDAG] Use Align/MaybeAlign in calls to getLoad/getStore/getExtLoad/getTruncStore.

The versions that take 'unsigned' will be removed in the future.

I tried to use getOriginalAlign instead of getAlign in some
places. getAlign factors in the minimum alignment implied by
the offset in the pointer info. Since we're also passing the
pointer info we can use the original alignment.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D87592
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/AVR/AVRISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sadd_sat_vec.ll
The file was modifiedllvm/lib/Target/Sparc/SparcISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/XCore/XCoreISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/ssub_sat_vec.ll
The file was modifiedllvm/test/CodeGen/AArch64/uadd_sat_vec.ll
The file was modifiedllvm/test/CodeGen/AArch64/usub_sat_vec.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/private-element-size.ll
The file was modifiedllvm/lib/Target/Mips/MipsISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-cc-abi.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
Commit 1ec02efee9b1d01cde89f31ca9ba6a46b7662ac5 by zoecarver
[libc++] Make rotate a constexpr.

This patch makes `std::rotate` a constexpr. In doing so, this patch also
updates the internal `__move` and `__move_backward` funtions to be
constexpr.

Reviewed By: ldionne

Differential Revision: https://reviews.llvm.org/D65721
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp
The file was modifiedlibcxx/include/algorithm
The file was modifiedlibcxx/include/iterator
The file was modifiedlibcxx/www/cxx2a_status.html
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
Commit b552a30283cea1e9d3f90aef3cdd2ac24c366062 by Louis Dionne
[libc++] Finish implementing P0202R3

cppreference lists the support for this paper as partial.
I found 4 functions which the paper marks as `constexpr`,
but did not use the appropriate macro.

Differential Revision: https://reviews.llvm.org/D84275
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.merge/merge_comp.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.merge/merge.pass.cpp
The file was modifiedlibcxx/include/algorithm
The file was modifiedlibcxx/www/cxx2a_status.html
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp
Commit 1dac073bdd95799ae2f3a40ba2073c34fd037f1b by joker.eph
Fix MLIR standalone example to properly handle namespace

ODS TableGen backend now requires to spell out which namespace they have
to be nested in, in an absolute way.
The file was modifiedmlir/examples/standalone/lib/Standalone/StandaloneOps.cpp
The file was modifiedmlir/examples/standalone/include/Standalone/StandaloneOps.h
The file was modifiedmlir/examples/standalone/include/Standalone/StandaloneDialect.td
The file was modifiedmlir/examples/standalone/include/Standalone/StandaloneDialect.h
Commit b3445c839fac0bbe174f85e39e9b08756c847465 by Louis Dionne
[libc++][test] Portability fix of std::strstreambuf constructor test

The standard does not require the constructor `strstreambuf(streamsize alsize_arg = 0)`
leave the stream array unallocated when called with parameter `alsize_arg > 0`.
Conformant implementations of this constructor may allocate minimal `alsize_arg`
number of bytes forcing `str()` method to return non-null pointer.

Thanks to Andrey Maksimov for the patch.

Differential Revision: https://reviews.llvm.org/D72465
The file was modifiedlibcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/default.pass.cpp
Commit 44da6c2369da239517cd073f96688895081bc395 by Lang Hames
[docs] Update OrcV1 removal timeline.
The file was modifiedllvm/docs/ORCv2.rst
Commit f3d834485448b42e72c2d908a8be3d02285bd660 by aeubanks
[PruneEH][NFC] Use CallGraphUpdater in PruneEH

In preparation for porting the pass to NPM.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87632
The file was modifiedllvm/lib/Transforms/IPO/PruneEH.cpp