Changes

Summary

  1. [LangRef] Add link to opaque pointers (details)
  2. [libc++][nfc] Test std::unique_ptr self move assignment. (details)
  3. Revert "[InstSimplify] Treat invariant group insts as bitcasts for load operands" (details)
  4. [ms] [llvm-ml] Add support for INCLUDE environment variable (details)
  5. Revert "[ms] [llvm-ml] Add support for INCLUDE environment variable" (details)
  6. [clang-tidy] performance-unnecessary-copy-initialization: Remove the complete statement when the copied variable is unused. (details)
  7. [compiler-rt][hwasan] Decouple use of the TLS global for getting the shadow base and using the frame record feature (details)
  8. [llvm-tapi-diff] Apply stable sorting to output (details)
  9. [OpenMP][NFC] Precommit change to hide_mem_transfer_latency test flags (details)
  10. [Attributor] Set floating point loads and stores as nofree in AANoFreeFloating (details)
  11. [Polly][Matmul] Re-pack A in every iteration. (details)
  12. [clang-tidy] performance-unnecessary-copy-initialization: Look at the canonical type when checking for aliases. (details)
  13. Cleanup for final comment on https://reviews.llvm.org/D103304 (details)
  14. Revert "[llvm-tapi-diff] Apply stable sorting to output" (details)
  15. Revert "Reland "[llvm] llvm-tapi-diff"" (details)
  16. [SCEV] Minor code motion to simplify a later patch [nfc] (details)
  17. Add a static assertions for custom Op<> to not defined data members (NFC) (details)
Commit 62bd7da889c1e9604b2b0c8d8c7683b30c8b8ff0 by Madhur.Amilkanthwar
[LangRef] Add link to opaque pointers

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D103981
The file was modifiedllvm/docs/LangRef.rst
Commit e7c621a607889e3df1e8becdb96817dbcf3933a4 by koraq
[libc++][nfc] Test std::unique_ptr self move assignment.

The post-conditions for the self move assignment of `std::unique_ptr`
were changed. This requires no implementation changes. A test was added
to validate the new post-conditions.

Addresses
- LWG-3455: Incorrect Postconditions on `unique_ptr` move assignment

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D103764
The file was modifiedlibcxx/docs/Cxx2bStatus.rst
The file was modifiedlibcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move.pass.cpp
The file was modifiedlibcxx/docs/Cxx2bStatusIssuesStatus.csv
Commit 222cce3828a515a9336f6d52b15ccc0c482d5ace by aeubanks
Revert "[InstSimplify] Treat invariant group insts as bitcasts for load operands"

This reverts commit 26044c6a54de3e03c73c5515702b95acdb0b7f22.

Breaks on invalid IR (see D101103).
The file was modifiedllvm/test/Transforms/InstSimplify/invariant.group-load.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit c43f413b01b021a8f7b6fce013296114fa92a245 by epastor
[ms] [llvm-ml] Add support for INCLUDE environment variable

Also adds support for the ML.exe command-line flag /X, which ignores the INCLUDE environment variable.
The file was modifiedllvm/tools/llvm-ml/llvm-ml.cpp
The file was modifiedllvm/tools/llvm-ml/Opts.td
The file was addedllvm/test/tools/llvm-ml/include_by_env_var_errors.asm
The file was addedllvm/test/tools/llvm-ml/include_by_env_var.asm
Commit 68d0db0b6d56ec900044539b30c458d896ea55ba by epastor
Revert "[ms] [llvm-ml] Add support for INCLUDE environment variable"

This reverts commit c43f413b01b021a8f7b6fce013296114fa92a245 due to Windows environment build breaks
The file was modifiedllvm/tools/llvm-ml/llvm-ml.cpp
The file was removedllvm/test/tools/llvm-ml/include_by_env_var.asm
The file was removedllvm/test/tools/llvm-ml/include_by_env_var_errors.asm
The file was modifiedllvm/tools/llvm-ml/Opts.td
Commit 5dbe3bf4b8dbb7e67d41c7c1360f15d512dd72a0 by flx
[clang-tidy] performance-unnecessary-copy-initialization: Remove the complete statement when the copied variable is unused.

It is not useful to keep the statement around and can lead to compiler
warnings when -Wall (-Wunused-variable specifically) turned on.

Differential Revision: https://reviews.llvm.org/D102175

Reviewed-by: ymandel
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/performance-unnecessary-copy-initialization.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/performance-unnecessary-copy-initialization-allowed-types.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
Commit 314c049142ed22154fbe37de3a566ef38b884fab by leonardchan
[compiler-rt][hwasan] Decouple use of the TLS global for getting the shadow base and using the frame record feature

This allows for using the frame record feature (which uses __hwasan_tls)
independently from however the user wants to access the shadow base, which
prior was only usable if shadow wasn't accessed through the TLS variable or ifuncs.

Frame recording can be explicitly set according to ShadowMapping::WithFrameRecord
in ShadowMapping::init. Currently, it is only enabled on Fuchsia and if TLS is
used, so this should mimic the old behavior.

Added an extra case to prologue.ll that covers this new case.

Differential Revision: https://reviews.llvm.org/D103841
The file was modifiedllvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Commit 90a26a41e9ce16a4d471d25c2f7b36b5538fb4ce by Cyndy Ishida
[llvm-tapi-diff] Apply stable sorting to output

* For the output, the attributes within the target slice should be
  grouped by the input order, then sorted by value ordering.
This is to fix current ubuntu buildbot inconsistences.
The file was modifiedllvm/tools/llvm-tapi-diff/DiffEngine.cpp
Commit c70c30d6da0a0d46c45ca6b77d760216ddd420a7 by huberjn
[OpenMP][NFC] Precommit change to hide_mem_transfer_latency test flags
The file was modifiedllvm/test/Transforms/OpenMP/hide_mem_transfer_latency.ll
Commit 4c9471581fa07331b9ec8e4ab1ea312fba43c0b6 by huberjn
[Attributor] Set floating point loads and stores as nofree in AANoFreeFloating

Summary:
The current implementation of AANoFreeFloating will incorrectly list floating
point loads and stores as may-free. This prevents other attributor instances
like HeapToStack from pushing some allocations to the stack.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D103975
The file was modifiedllvm/test/Transforms/Attributor/callbacks.ll
The file was modifiedllvm/test/Transforms/Attributor/nocapture-1.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll
The file was modifiedllvm/test/Transforms/Attributor/nofree.ll
The file was modifiedllvm/test/Transforms/Attributor/heap_to_stack.ll
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/tail.ll
The file was modifiedllvm/test/Transforms/OpenMP/parallel_region_merging.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
The file was modifiedllvm/test/Transforms/Attributor/memory_locations.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
The file was modifiedllvm/test/Transforms/Attributor/norecurse.ll
The file was modifiedllvm/test/Transforms/Attributor/range.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
The file was modifiedllvm/test/Transforms/Attributor/willreturn.ll
The file was modifiedllvm/test/Transforms/OpenMP/parallel_deletion.ll
The file was modifiedllvm/test/Transforms/Attributor/nonnull.ll
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
Commit a56bd7dec8da4348d847d53c96d8a30f4a821d36 by llvm-project
[Polly][Matmul] Re-pack A in every iteration.

Packed_A must be copied repeatedly, not just for the first iteration of
the outer tile.

This fixes llvm.org/PR50557
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll
The file was modifiedpolly/lib/Transform/MatmulOptimizer.cpp
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll
The file was modifiedpolly/include/polly/Support/ISLTools.h
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll
The file was modifiedpolly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll
The file was modifiedpolly/lib/Support/ISLTools.cpp
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll
The file was modifiedpolly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll
Commit efa4dbc32ca9b7f3319edbcc6ac502ea962c8f0a by flx
[clang-tidy] performance-unnecessary-copy-initialization: Look at the canonical type when checking for aliases.

This fixes a false positive case where for instance a pointer is obtained and declared using `auto`.

Differential Revision: https://reviews.llvm.org/D103018

Reviewed-by: ymandel
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/performance-unnecessary-copy-initialization.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
Commit ddac31c59342a8a7304c759e7b32280386530132 by kda
Cleanup for final comment on https://reviews.llvm.org/D103304

Consolidate DEFINE_STACK_MALLOC to simplify.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D103965
The file was modifiedcompiler-rt/lib/asan/asan_fake_stack.cpp
Commit 1899cb7d0eae74cc700d44e1f220a7ce41395ce0 by Cyndy Ishida
Revert "[llvm-tapi-diff] Apply stable sorting to output"

This reverts commit 90a26a41e9ce16a4d471d25c2f7b36b5538fb4ce.
This failed to fix ubuntu failures.
The file was modifiedllvm/tools/llvm-tapi-diff/DiffEngine.cpp
Commit e7b755ecb1402e83a9af310f4411c0d9047e98be by Cyndy Ishida
Revert "Reland "[llvm] llvm-tapi-diff""

This reverts commit 20126c9fd4afe2fe11510becccaa769332da302f.
The sorting fixes failed to have stable output on different platforms.
The file was modifiedllvm/include/llvm/TextAPI/Target.h
The file was removedllvm/test/tools/llvm-tapi-diff/Inputs/v4B.tbd
The file was removedllvm/tools/llvm-tapi-diff/DiffEngine.cpp
The file was modifiedllvm/lib/TextAPI/Target.cpp
The file was removedllvm/tools/llvm-tapi-diff/DiffEngine.h
The file was removedllvm/test/tools/llvm-tapi-diff/tapi-diff-same-number-of-inlines.test
The file was removedllvm/test/tools/llvm-tapi-diff/tapi-diff-tbd-has-single-inlineB.test
The file was removedllvm/test/tools/llvm-tapi-diff/Inputs/v4E.tbd
The file was modifiedllvm/lib/TextAPI/Platform.cpp
The file was removedllvm/test/tools/llvm-tapi-diff/tapi-diff-matching-tbd.test
The file was removedllvm/test/tools/llvm-tapi-diff/tapi-diff-incorrect-format.test
The file was modifiedllvm/test/CMakeLists.txt
The file was removedllvm/test/tools/llvm-tapi-diff/Inputs/v4D.tbd
The file was removedllvm/test/tools/llvm-tapi-diff/Inputs/macho.yaml
The file was removedllvm/test/tools/llvm-tapi-diff/Inputs/v4A.tbd
The file was removedllvm/test/tools/llvm-tapi-diff/tapi-diff-no-inlines.test
The file was modifiedllvm/include/llvm/TextAPI/Platform.h
The file was removedllvm/test/tools/llvm-tapi-diff/tapi-diff-mismatched-number-of-inlines.test
The file was modifiedllvm/include/llvm/Object/TapiUniversal.h
The file was removedllvm/test/tools/llvm-tapi-diff/Inputs/v4C.tbd
The file was removedllvm/tools/llvm-tapi-diff/CMakeLists.txt
The file was removedllvm/test/tools/llvm-tapi-diff/tapi-diff-tbd-has-single-inlineA.test
The file was removedllvm/test/tools/llvm-tapi-diff/tapi-diff-misspelled-tbd.test
The file was removedllvm/tools/llvm-tapi-diff/llvm-tapi-diff.cpp
The file was modifiedllvm/test/lit.cfg.py
The file was modifiedllvm/include/llvm/TextAPI/Symbol.h
The file was removedllvm/test/tools/llvm-tapi-diff/tapi-diff-tbd-has-multiple-inlines.test
Commit b65f30d6fb6f5333dcb7c51f81c4309704c26f1f by listmail
[SCEV] Minor code motion to simplify a later patch [nfc]
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 1b21e9c1fa990a303fa5a543c17a5f470a32e112 by joker.eph
Add a static assertions for custom Op<> to not defined data members (NFC)

A common mistake for newcomers to MLIR is to try to store extra member
on the Op class. However these are intended to be thing wrapper around
an Operation*, all the storage is meant to be encoded in attribute on
the underlying Operation. This can be confusing to debug, so better
catch it at build time.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D103869
The file was modifiedmlir/include/mlir/IR/OpDefinition.h