FailedChanges

Summary

  1. [clang][ObjC] Allow different availability annotation on a method (details)
  2. [lldb] Fix UB in half2float and add some more tests. (details)
  3. [OpaquePtr] Make GEPs work with opaque pointers (details)
  4. [PDB] Do not record PGO or coverage public symbols (details)
  5. [OpaquePtr] Make cmpxchg work with opaque pointers (details)
  6. [OpaquePtr] Make atomicrmw work with opaque pointers (details)
  7. [Reland] [mlir] Speed up Lexer::getEncodedSourceLocation (details)
  8. [mlir] Add include guard to TOSA tblgen passes (details)
  9. Revert "[lldb] Fix UB in half2float and add some more tests." (details)
  10. [ORC] Add a CPU getter to JITTargetMachineBuilder. (details)
  11. [ORC-RT] Add ORC runtime error and expected types. (details)
  12. Treat implicit deduction guides as being equivalent to their (details)
  13. [CSSPGO] Avoid deleting probe instruction in FoldValueComparisonIntoPredecessors (details)
  14. [mlir][CAPI] Expose [u]int8 DenseElementsAttr. (details)
  15. [mlir] Harmonize TOSA include guards (details)
  16. [mlir] Properly align StorageUniquer::BaseStorage to fix 32 bit build (details)
  17. [mlir][sparse] skip sparsification for unannotated (or unhandled) cases (details)
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/test/SemaObjC/attr-availability.m
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was addedclang/test/SemaObjC/override-opt-prop-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/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/include/llvm/IR/Instructions.h
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 modifiedlld/COFF/PDB.cpp
The file was addedlld/test/COFF/pgo-pubs.s
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/Instructions.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/test/Assembler/opaque-ptr.ll
The file was modifiedllvm/test/Verifier/opaque-ptr.ll
The file was addedllvm/test/Assembler/opaque-ptr-cmpxchg.ll
The file was modifiedllvm/lib/IR/Verifier.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/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/test/Verifier/opaque-ptr.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/test/Assembler/opaque-ptr.ll
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/unittests/Core/DumpDataExtractorTest.cpp
The file was modifiedlldb/source/Core/DumpDataExtractor.cpp
Commit ef6e1213b1c0af387fe13754e02a14f3d31018a0 by Lang Hames
[ORC] Add a CPU getter to JITTargetMachineBuilder.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
Commit 1dfa47910a2332a351ebc5236b4e2bfb3562c23b by Lang Hames
[ORC-RT] Add ORC runtime error and expected types.

These will be used for error propagation and handling in the ORC runtime.

The implementations of these types are cut-down versions of the error
support in llvm/Support/Error.h. Most advice on llvm::Error and llvm::Expected
(e.g. from the LLVM Programmer's manual) applies equally to __orc_rt::Error
and __orc_rt::Expected. The primary difference is the mechanism for testing
and handling error types: The ORC runtime uses a new 'error_cast' operation
to replace the handleErrors family of functions. See error_cast comments in
error.h.
The file was modifiedcompiler-rt/lib/orc/unittests/CMakeLists.txt
The file was modifiedcompiler-rt/lib/orc/CMakeLists.txt
The file was addedcompiler-rt/lib/orc/unittests/error_test.cpp
The file was addedcompiler-rt/lib/orc/error.h
Commit d38057f3ecb080e0ae4aba367a737226221327f2 by richard
Treat implicit deduction guides as being equivalent to their
corresponding constructor for access checking purposes.
The file was modifiedclang/lib/Sema/SemaAccess.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/test/SemaTemplate/ctad.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
Commit 6539a80bc9e8a8587a199e10caa843b40e2f2c71 by wlei
[CSSPGO] Avoid deleting probe instruction in FoldValueComparisonIntoPredecessors

This change tries to fix a place missing `moveAndDanglePseudoProbes `. In FoldValueComparisonIntoPredecessors, it folds the BB into predecessors and then marked the BB unreachable. However, the original logic from the BB is still alive, deleting the probe will mislead the SampleLoader mark it as zero count sample.

Reviewed By: hoy, wenlei

Differential Revision: https://reviews.llvm.org/D102721
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was addedllvm/test/Transforms/SampleProfile/pseudo-probe-dangle3.ll
Commit 35454268cf93f5561439980d6baeb27a874a380c by silvasean
[mlir][CAPI] Expose [u]int8 DenseElementsAttr.

Also, fix a small typo where the "unsigned" splat variants were not
being created with an unsigned type.

Differential Revision: https://reviews.llvm.org/D102797
The file was modifiedmlir/include/mlir-c/BuiltinAttributes.h
The file was modifiedmlir/lib/CAPI/IR/BuiltinAttributes.cpp
The file was modifiedmlir/test/CAPI/ir.c
Commit f878e1af9faa318830d4169e91422a0777c54db7 by marius.brehler
[mlir] Harmonize TOSA include guards

Reviewed By: sjarus

Differential Revision: https://reviews.llvm.org/D102802
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
The file was modifiedmlir/include/mlir/Dialect/Tosa/Transforms/PassDetail.h
Commit 3b7f8daed4b2ce9f2d3ba6c4668f7b21d015f27c by riddleriver
[mlir] Properly align StorageUniquer::BaseStorage to fix 32 bit build

We allow stealing up to 3 bits of pointers to BaseStorage, so we need to make sure that we align by at least 8.
The file was modifiedmlir/include/mlir/Support/StorageUniquer.h
Commit bf9ef3efaa99c02e7bfc4c57207301b8de39a278 by ajcbik
[mlir][sparse] skip sparsification for unannotated (or unhandled) cases

Skip the sparsification pass for Linalg ops without annotated tensors
(or cases that are not properly handled yet).

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D102787
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_parallel.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_3d.mlir