SuccessChanges

Summary

  1. [x86] update fma test with deprecated intrinsics; NFC (details)
  2. [libcxx][iterator][nfc] acquires lock for working on [range.iter.ops] (details)
  3. [MCA] Unbreak the buildbots by passing flag -mcpu=generic to the new test added by commit e5d59db469. (details)
  4. [libcxx][ranges] adds concept `sized_range` and cleans up `ranges::size` (details)
  5. [lld/mac] Remove dead declaration (details)
  6. [x86] propagate FMF from x86-specific intrinsic nodes to others during combining (details)
  7. [x86] add tests for fma folds with fast-math-flags; NFC (details)
  8. [Diagnostics] Allow emitting analysis and missed remarks on functions (details)
  9. [clang][ObjC] Allow different availability annotation on a method (details)
  10. [lldb] Fix UB in half2float and add some more tests. (details)
  11. [OpaquePtr] Make GEPs work with opaque pointers (details)
  12. [PDB] Do not record PGO or coverage public symbols (details)
  13. [OpaquePtr] Make cmpxchg work with opaque pointers (details)
  14. [OpaquePtr] Make atomicrmw work with opaque pointers (details)
  15. [Reland] [mlir] Speed up Lexer::getEncodedSourceLocation (details)
  16. [mlir] Add include guard to TOSA tblgen passes (details)
  17. Revert "[lldb] Fix UB in half2float and add some more tests." (details)
Commit 333c968d40039d261315efd3412d166672465a88 by spatel
[x86] update fma test with deprecated intrinsics; NFC

Similar to 8854b27 -

All of the CHECK lines should be identical to before,
but without any of the x86-specific calls that were
replaced with generic FMA long ago.

The file still has value because it shows a miscompile
as demonstrated in D90901, but we probably need to
add tests with FMF to make that explicit without
losing coverage.
The file was modifiedllvm/test/CodeGen/X86/fma-fneg-combine.ll
Commit 0f803657227d3a2086d7bb90d3119d3ed84f146c by cjdb
[libcxx][iterator][nfc] acquires lock for working on [range.iter.ops]

Differential Revision: https://reviews.llvm.org/D101845
The file was modifiedlibcxx/docs/OneRangesProposalStatus.csv
Commit 9acabe8b6ff5abb9269bebac1da2d3c6ae2c99d2 by andrea.dibiagio
[MCA] Unbreak the buildbots by passing flag -mcpu=generic to the new test added by commit e5d59db469.

This should unbreak buildbot clang-ppc64le-linux-lnt.
The file was modifiedllvm/test/tools/llvm-mca/X86/cv_fpo_directive_no_segfault.s
Commit d8fad6614923eea684f736e7d22fe54d5393f13f by cjdb
[libcxx][ranges] adds concept `sized_range` and cleans up `ranges::size`

* adds `sized_range` and conformance tests
* moves `disable_sized_range` into namespace `std::ranges`
* removes explicit type parameter

Implements part of P0896 'The One Ranges Proposal'.

Differential Revision: https://reviews.llvm.org/D102434
The file was modifiedlibcxx/include/__ranges/size.h
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/forward_range.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.range/helper_aliases.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/forwardlist/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/include/ranges
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/random_access_range.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.refinements/random_access_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/strings/basic.string/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/deque/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector/range_concept_conformance.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.refinements/input_range.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.range/iterator_t.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/range_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.range/range.compile.pass.cpp
The file was modifiedlibcxx/docs/OneRangesProposalStatus.csv
The file was removedlibcxx/test/std/ranges/range.refinements/forward_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/views/range_concept_conformance.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.range/range.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/common_range.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.view/view.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/subsumption.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.view/view.subsumption.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.range/helper_aliases.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/input_range.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector.bool/range_concept_conformance.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.view/enable_view.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.prim/empty.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.range/sentinel_t.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.range/enable_borrowed_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/set/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.prim/size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.sized/subsumption.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.range/iterator_t.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/range_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.sized/sized_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multiset/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/range_concept_conformance.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.range/enable_borrowed_range.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.refinements/common_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/re/re.results/range_concept_conformance.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.refinements/bidirectional_range.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.view/view.subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/strings/string.view/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/include/__ranges/concepts.h
The file was removedlibcxx/test/std/ranges/range.range/sentinel_t.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/list/range_concept_conformance.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.refinements/subsumption.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.view/view.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/bidirectional_range.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.view/view_base.compile.pass.cpp
Commit fd09a764ebc4dfd013292226480edcf0a604c4c4 by thakis
[lld/mac] Remove dead declaration
The file was modifiedlld/MachO/UnwindInfoSection.h
Commit f12f9beb04289f3ea1c1e9112609172e0b1b749b by spatel
[x86] propagate FMF from x86-specific intrinsic nodes to others during combining

This is another FMF gap exposed by D90901, but I don't see a way
to show the difference in a regression test as with:
f66ba4c
6025663

We will see an asm difference if we add a test as part of D90901.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 9b59a61cfc4eb033446da7dcdd6eb18714742ce8 by spatel
[x86] add tests for fma folds with fast-math-flags; NFC

Part of prep work for D90901
The file was modifiedllvm/test/CodeGen/X86/fma-fneg-combine.ll
Commit 2db182ff8d0c0d50155bf70d1db60b4e78c348ca by jhuber6
[Diagnostics] Allow emitting analysis and missed remarks on functions

Summary:
Currently, only `OptimizationRemarks` can be emitted using a Function.
Add constructors to allow this for `OptimizationRemarksAnalysis` and
`OptimizationRemarkMissed` as well.

Reviewed By: jdoerfert thegameg

Differential Revision: https://reviews.llvm.org/D102784
The file was modifiedllvm/lib/IR/DiagnosticInfo.cpp
The file was modifiedllvm/test/Transforms/OpenMP/gpu_kernel_detection_remarks.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedclang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
The file was modifiedclang/test/OpenMP/remarks_parallel_in_target_state_machine.c
The file was modifiedllvm/test/Transforms/OpenMP/deduplication_remarks.ll
The file was modifiedllvm/test/Transforms/OpenMP/icv_remarks.ll
The file was modifiedllvm/include/llvm/IR/DiagnosticInfo.h
Commit 50be48b0f3c884a87ddf19c7c51abcab035c1efb by Alex Lorenz
[clang][ObjC] Allow different availability annotation on a method
when implementing an optional protocol requirement

When an Objective-C method implements an optional protocol requirement,
allow the method to use a newer introduced or older obsoleted
availability version than what's specified on the method in the protocol
itself. This allows SDK adopters to adopt an optional method from a
protocol later than when the method is introduced in the protocol. The users
that call an optional method on an object that conforms to this protocol
are supposed to check whether the object implements the method or not,
so a lack of appropriate `if (@available)` check for a new OS version
is not a cause of concern as there's already another runtime check that's required.

Differential Revision: https://reviews.llvm.org/D102459
The file was modifiedclang/include/clang/Sema/Sema.h
The file was addedclang/test/SemaObjC/override-opt-prop-availability.m
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/SemaObjC/attr-availability.m
Commit 4b074b49be206306330076b9fa40632ef1960823 by Raphael Isemann
[lldb] Fix UB in half2float and add some more tests.

The added DumpDataExtractorTest uncovered that this is lshifting a negative
integer which upsets ubsan and breaks the sanitizer bot. This patch just
changes the variable we shift to be unsigned and adds a bunch of tests to make
sure this function does what it promises.
The file was modifiedlldb/unittests/Core/DumpDataExtractorTest.cpp
The file was modifiedlldb/source/Core/DumpDataExtractor.cpp
Commit 28b9771472fa3df2568b6c5de1a9726680d940d3 by aeubanks
[OpaquePtr] Make GEPs work with opaque pointers

No verifier changes needed, the verifier currently doesn't check that
the pointer operand's pointee type matches the GEP type. There is a
similar check in GetElementPtrInst::Create() though.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102744
The file was modifiedllvm/test/Assembler/opaque-ptr.ll
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
Commit 12dd8df38b5da0e7bbbcc842308a251ce11800d5 by rnk
[PDB] Do not record PGO or coverage public symbols

These symbols are long, and they tend to cause the PDB file size to
overflow. They are generally not necessary when debugging problems in
user code.

This change reduces the size of chrome.dll.pdb with coverage from
6,937,108,480 bytes to 4,690,210,816 bytes.

Differential Revision: https://reviews.llvm.org/D102719
The file was addedlld/test/COFF/pgo-pubs.s
The file was modifiedlld/COFF/PDB.cpp
Commit 1b25fce404d40c6c6358037104e1e3c3aedb60ef by aeubanks
[OpaquePtr] Make cmpxchg work with opaque pointers

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102745
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was addedllvm/test/Assembler/opaque-ptr-cmpxchg.ll
The file was modifiedllvm/test/Verifier/opaque-ptr.ll
The file was modifiedllvm/test/Assembler/opaque-ptr.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
Commit 0bebda17bea38785c90a6fec3ca01cf74eb78b7c 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/test/Verifier/opaque-ptr.ll
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/test/Assembler/opaque-ptr.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
Commit 3b43226032e3b1ce866c9a3aaf7eaa680fd2252a by riddleriver
[Reland] [mlir] Speed up Lexer::getEncodedSourceLocation

Reland Note: This was accidentally reverted in 80d981eda69f1ada6d944ed89571456cad13b850, but is an important improvement even outside of the driving motivator in D102567.

We currently use SourceMgr::getLineAndColumn to get the line and column for an SMLoc, but this includes a call to StringRef::find_last_of that ends up dominating compile time. In D102567, we start creating locations from the input file for block arguments which resulted in an extreme performance regression for modules with very large amounts of block arguments. This revision switches to just using a pointer offset from the beginning of the line to calculate the column(all MLIR files are simple ascii), resulting in a compile time reduction from 4700 seconds (1 hour and 18 minutes) to 8 seconds.
The file was modifiedmlir/lib/Parser/Lexer.cpp
Commit 745ddd27eaefee97058e40a655de648645a9af33 by marius.brehler
[mlir] Add include guard to TOSA tblgen passes

Reviewed By: sjarus, stellaraccident

Differential Revision: https://reviews.llvm.org/D102800
The file was modifiedmlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
Commit 30a5ddaef3e88912e10a6b1c8173b00819c722d3 by Raphael Isemann
Revert "[lldb] Fix UB in half2float and add some more tests."

This reverts commit 4b074b49be206306330076b9fa40632ef1960823.

Some of the new tests are failing on Debian.
The file was modifiedlldb/source/Core/DumpDataExtractor.cpp
The file was modifiedlldb/unittests/Core/DumpDataExtractorTest.cpp