Changes

Summary

  1. [tests] Precommmit tests for reasoning about equality of recurrences (details)
  2. Extract a helper for figuring out if an operator is invertible [nfc] (details)
  3. Fix copy paste errors in tests from be11bd1e (details)
  4. [RISCV] Split RISCVISD::VMV_S_XF_VL into separate integer and FP. (details)
  5. [RISCV] Add SDTCisInt to the SDTRVVSlide1 since it is only used for vslide1up.vx/vslide1down.vx. (details)
  6. [OpenCL, test] Fix use of undef FileCheck var (details)
  7. [InstSimplify] add test for vector select with operand replacement; NFC (details)
  8. [InstSimplify] fix potential miscompile in select value equivalence (details)
  9. [libcxx] [ci] Add a Windows CI buildkite configuration (details)
  10. [mlir][sparse] move new test to right directory structure (details)
  11. Rework the way statement attributes are processed; NFC (details)
  12. Revert "[sanitizer] Simplify GetTls with dl_iterate_phdr on Linux" (details)
  13. [flang] Improve constant folding for type parameter inquiries (details)
  14. [mlir][Linalg] Add callbacks to fusion of elementwise operations to control fusion. (details)
  15. [RISCV] Add more RV32 vslide1up intrinsic test cases. NFC (details)
  16. Copy syncscope when expanding atomicrmw into cmpxchg loop (details)
  17. Revert "Revert "Add support for fetching signed values from tagged pointers."" (details)
  18. Address minor post commit feedback on 0e59dd (details)
Commit be11bd1e9f01694fd859c6c5fa343cbb26ee3042 by listmail
[tests] Precommmit tests for reasoning about equality of recurrences
The file was modifiedllvm/test/Analysis/ValueTracking/known-non-equal.ll (diff)
Commit b0e59dd6e1f60bb28470768c322fe815b599f3a7 by listmail
Extract a helper for figuring out if an operator is invertible [nfc]

For use in an uncoming patch.  Left out the phi case (which could otherwise fit in this framework) as it would cause infinite recursion in said patch.  We can probably also leverage this in instcombine to ensure we keep the two sets of related analysis and transforms in sync.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
Commit 1d4c7429a72c07f455ac739776e9be76f5605bce by listmail
Fix copy paste errors in tests from be11bd1e

Several of these weren't testing what was intented.
The file was modifiedllvm/test/Analysis/ValueTracking/known-non-equal.ll (diff)
Commit af2837675a707fe7b2c1012038567ba1411045c5 by craig.topper
[RISCV] Split RISCVISD::VMV_S_XF_VL into separate integer and FP.

It's a bit silly, but it allows us to write stricter type
constraints for isel. There's still some extra type checks in
the generated table due to some type interference limitations
around HWMode.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h (diff)
Commit 780a47285a7839faa8cfa6b670e96371e083011c by craig.topper
[RISCV] Add SDTCisInt to the SDTRVVSlide1 since it is only used for vslide1up.vx/vslide1down.vx.

The scalar type is already marked as XLenVT. The floating point
version would need a different rule.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td (diff)
Commit 828ec9e9e5da8a2e7d1bfa523b9a712658ee6ffc by thomasp
[OpenCL, test] Fix use of undef FileCheck var

Clang test CodeGenOpenCL/fpmath.cl uses a variable defined in an earlier
CHECK-NOT directive. However, by definition the pattern in that
directive is not supposed to occur so no variable will be defined. This
commit solves the issue by using a regex match with the same regex as in
the definition. It also changes the definition into a regex match since
no variable is going to be defined.

Reviewed By: yaxunl

Differential Revision: https://reviews.llvm.org/D99857
The file was modifiedclang/test/CodeGenOpenCL/fpmath.cl (diff)
Commit 78e5cf66fec52c8e6e665c3c9e64d38498d94a5d by spatel
[InstSimplify] add test for vector select with operand replacement; NFC

We need a sibling fix to c590a9880d7a
( https://llvm.org/PR49832 ) to avoid miscompiling.
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll (diff)
Commit e2a0f512eacad0699be9660f668726d7deb2cd75 by spatel
[InstSimplify] fix potential miscompile in select value equivalence

This is the sibling fix to c590a9880d7a -
as there, we can't subsitute a vector value the equality
compare replacement that we are trying requires that the
comparison is true for the entire value. Vector select
can be partly true/false.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp (diff)
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll (diff)
Commit 740e3497629ccd0926c3f850a07147aef0b464ff by martin
[libcxx] [ci] Add a Windows CI buildkite configuration

Differential Revision: https://reviews.llvm.org/D99093
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml (diff)
The file was modifiedlibcxx/utils/ci/run-buildbot (diff)
Commit a46f59a747a7273cc439efaf3b4f98d8b63d2f20 by ajcbik
[mlir][sparse] move new test to right directory structure

Differential Revision: https://reviews.llvm.org/D99899
The file was addedmlir/test/Integration/Sparse/CPU/sparse_matvec.mlir
The file was removedmlir/test/Integration/Sparse/sparse_matvec.mlir
Commit 9711118d2edf7aed133616de1eb7f633c263c4b5 by aaron
Rework the way statement attributes are processed; NFC

This changes our approach to processing statement attributes to be more
similar to how we process declaration attributes. Namely,
ActOnAttributedStmt() now calls ProcessStmtAttributes() instead of
vice-versa, and there is now an interface split between building an
attributed statement where you already have a list of semantic
attributes and building an attributed statement with attributes from
the parser.

This should make it easier to support statement attributes that are
dependent on a template. In that case, you would add a
TransformFooAttr() function in TreeTransform.h to perform the semantic
checking (morally similar to how Sema::InstantiateAttrs() already works
for declaration attributes) when transforming the semantic attribute at
instantiation time.
The file was modifiedclang/lib/Sema/SemaStmtAttr.cpp (diff)
The file was modifiedclang/lib/Sema/TreeTransform.h (diff)
The file was modifiedclang/lib/Sema/SemaStmt.cpp (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/lib/Parse/ParseStmt.cpp (diff)
Commit 0e92cbd6a652c4f86fa76a3af2820009d5b6c300 by thakis
Revert "[sanitizer] Simplify GetTls with dl_iterate_phdr on Linux"

This reverts commit ec575e3b0a462ff7a3d23d0f39a22147606050de.
Still doesn't work, see https://crbug.com/1196037
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_linux_test.cpp (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_win.cpp (diff)
The file was modifiedcompiler-rt/lib/hwasan/hwasan.cpp (diff)
The file was modifiedcompiler-rt/lib/lsan/lsan.cpp (diff)
The file was modifiedcompiler-rt/lib/msan/msan.cpp (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.h (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp (diff)
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp (diff)
The file was modifiedcompiler-rt/lib/asan/asan_thread.cpp (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common.h (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp (diff)
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/static_tls.cpp (diff)
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp (diff)
The file was modifiedcompiler-rt/lib/asan/asan_rtl.cpp (diff)
The file was modifiedcompiler-rt/lib/memprof/memprof_rtl.cpp (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_rtems.cpp (diff)
Commit 8c7bf2f93da9b64b07509f67552d592a86260ff5 by psteinfeld
[flang] Improve constant folding for type parameter inquiries

We were not folding type parameter inquiries for the form 'var%typeParam'
where 'typeParam' was a KIND or LEN type parameter of a derived type and 'var'
was a designator of the derived type.  I fixed this by adding code to the
function 'FoldOperation()' for 'TypeParamInquiry's to handle this case.  I also
cleaned up the code for the case where there is no designator.

In order to make the error messages correctly refer to both the points of
declaration and instantiation, I needed to add an argument to the function
'InstantiateIntrinsicType()' for the location of the instantiation.

I also changed the formatting of 'TypeParamInquiry' to correctly format this
case.  I also added tests for both KIND and LEN type parameter inquiries in
resolve104.f90.

Making these changes revealed an error in resolve89.f90 and caused one of the
error messages in assign04.f90 to be different.

Differential Revision: https://reviews.llvm.org/D99892
The file was modifiedflang/lib/Semantics/type.cpp (diff)
The file was addedflang/test/Semantics/resolve104.f90
The file was modifiedflang/lib/Evaluate/fold-integer.cpp (diff)
The file was modifiedflang/test/Semantics/assign04.f90 (diff)
The file was modifiedflang/lib/Evaluate/formatting.cpp (diff)
The file was modifiedflang/test/Semantics/resolve89.f90 (diff)
Commit 944a2fe7633fcdd600de2772364e406514d794da by ravishankarm
[mlir][Linalg] Add callbacks to fusion of elementwise operations to control fusion.

Right now Elementwise operations fusion in Linalg fuses everything it
can. This can run up against resource limits of the target hardware
without some checks. This patch adds a callback function that clients
can use to implement a cost function. When two elementwise operations
are deemed structurally fusable, the callback can be used to control
if the fusion applies.

Differential Revision: https://reviews.llvm.org/D99820
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp (diff)
The file was addedmlir/test/Dialect/Linalg/fusion-elementwise-options.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h (diff)
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt (diff)
The file was addedmlir/test/lib/Transforms/TestLinalgElementwiseFusion.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp (diff)
Commit 391514436db49043820b526623e8747c1d6872ce by craig.topper
[RISCV] Add more RV32 vslide1up intrinsic test cases. NFC

For some reason we only had 1 test case. This synchronizes the
test with vslide1down so we have the same number of tests for both.
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vslide1up-rv32.ll (diff)
Commit 30b3aab3299a1b6e4e262866e88f0aac0ecdee09 by Stanislav.Mekhanoshin
Copy syncscope when expanding atomicrmw into cmpxchg loop

Fixes: SWDEV-280070

Differential Revision: https://reviews.llvm.org/D99902
The file was modifiedllvm/test/CodeGen/AMDGPU/global-atomics-fp.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll (diff)
The file was modifiedllvm/lib/CodeGen/AtomicExpandPass.cpp (diff)
The file was addedllvm/test/CodeGen/AMDGPU/expand-atomicrmw-syncscope.ll
The file was modifiedllvm/include/llvm/CodeGen/AtomicExpandUtils.h (diff)
The file was modifiedllvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll (diff)
Commit be0ced03ba9bfab6fcb1fd2c263a33bc6a359cd8 by jingham
Revert "Revert "Add support for fetching signed values from tagged pointers.""

This reverts commit 602ab188a7e18b97d9af95e17271e8fbee129081.

The patch replicated an lldbassert for a certain type of NSNumber for tagged
pointers.  This really shouldn't be an assert since we don't do anything wrong
with these numbers, we just don't print a summary.  So this patch changed the
lldbassert to a log message in reverting the revert.
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h (diff)
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h (diff)
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h (diff)
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp (diff)
The file was modifiedlldb/source/Plugins/Language/ObjC/Cocoa.cpp (diff)
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCCF.py (diff)
Commit dc8d864e3a91938e11e8aea38bb43c9fdef361bc by listmail
Address minor post commit feedback on 0e59dd
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)