SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [X86] Add custom widening for v2i32->v2f64 strict_uint_to_fp with (details)
  2. Add a clang-tidy configuration file for MLIR, it is using camelBack for (details)
  3. [ELF][test] Fix dynamic-linker.s (details)
  4. Revert "Make lazyload_metadata.ll resilient to the addition of new (details)
  5. [X86] Custom widen 128/256-bit vXi32 uint_to_fp on avx512f targets (details)
  6. Make lazyload_metadata.ll resilient to the addition of new metadata (details)
  7. Fix -Wunused-lambda-capture warnings. (details)
  8. Remove SrcVT only used in an assert and propagate query. (details)
  9. [compiler-rt] [netbsd] Add support for versioned statvfs interceptors (details)
  10. add custom operation for strict fpextend/fpround (details)
  11. Revert "Allow newlines in AST Matchers in clang-query files" + 1 (details)
  12. Remove unused static function. (details)
  13. Fix a -Wcovered-switch-default warning by moving the unreachable out of (details)
  14. Remove an unused static function. (details)
  15. Fix a -Wcovered-switch-default warning by moving the unreachable out of (details)
  16. Temporarily Revert "[compiler-rt] [netbsd] Add support for versioned (details)
  17. Add an __attribute__((unused)) to populateWithGenerated since it might (details)
  18. [X86] Add test cases for v2i32->v2f32 (details)
  19. [X86] Add custom legalization for strict_uint_to_fp v2i32->v2f32. (details)
  20. [X86] Add tests for constrained float intrinsics on (details)
  21. [X86][FPEnv] Promote some float strictfp operations to double on (details)
  22. [X86] Fix -Wmisleading-indentation after D71892 (details)
  23. [X86] Custom widen strict v2f32->v2i32 by padding with zeroes. (details)
  24. [X86] Custom widen 128/256-bit vXi32 fp_to_uint on avx512f targets (details)
Commit 90ff34e6ab38a333b16890c0d4b7ca891d213652 by craig.topper
[X86] Add custom widening for v2i32->v2f64 strict_uint_to_fp with
AVX512F, but not AVX512VL.
Previously we were widening with isel patterns, but that wasn't
exception safe for strict FP. So now we widen to v4i32->v4f64 during
type legalization. And then let op legalization further widen to
v8i32->v8f64.
The vec_int_to_fp.ll changes are caused by us no longer narrowing
extracts of strict_uint_to_fp to the v4i32->v2f64 instruction without
AVX512VL only to have isel rewiden it. Now we just keep it wide
throughout. So we don't have an opportunity to narrow the load.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vec_int_to_fp.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-128.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
Commit b52cb5688b618a751c80e6d7ca2d1cae486c713d by aminim
Add a clang-tidy configuration file for MLIR, it is using camelBack for
naming at the moment
The file was addedmlir/.clang-tidy
Commit 019a92bb2832447092bb5c1faf9d03bb03b8c9c8 by maskray
[ELF][test] Fix dynamic-linker.s
The file was modifiedlld/test/ELF/dynamic-linker.s
Commit ad1f7a895ba452ae8d9d0743bdbf8337cf36c5d9 by rnk
Revert "Make lazyload_metadata.ll resilient to the addition of new
metadata kinds"
This reverts commit be4704bd41a4dd8bb5c4dd5a614744c69fb3cf8e.
This test fails on Windows without awk.
The file was modifiedllvm/test/ThinLTO/X86/lazyload_metadata.ll
Commit f953882113d089206821ad3113a48d873b7c7f23 by craig.topper
[X86] Custom widen 128/256-bit vXi32 uint_to_fp on avx512f targets
without avx512vl. Similar for vXi64 sint_to_fp/uint_to_fp on avx512dq
without avx512vl.
Previously we widened these through isel patterns, but that didn't work
for STRICT_ nodes. Those need to be padded with zeroes in the upper bits
which is harder to do in isel patterns.
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-128.ll
Commit 4e5d134da1cf948f02fc283adc65c723c6672eaa by david
Make lazyload_metadata.ll resilient to the addition of new metadata
kinds
Summary: The specific number of records loaded depends on the number of
kinds, but the difference between the lazy and not lazy cases does not.
Reviewers: modocache
Subscribers: llvm-commits, dexonsmith, steven_wu, hiraditya, mehdi_amini
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71882
The file was modifiedllvm/test/ThinLTO/X86/lazyload_metadata.ll
Commit 2369560f4a7720b19edfbf9de14ef061307ff773 by echristo
Fix -Wunused-lambda-capture warnings.
The file was modifiedclang/lib/ASTMatchers/Dynamic/Parser.cpp
The file was modifiedclang-tools-extra/clang-query/QueryParser.cpp
Commit 1584e2f9870fb95169cd4ea7aedc05bfabe28cf6 by echristo
Remove SrcVT only used in an assert and propagate query.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 78f714f824fac8aa3fdd85908c41538bccefb959 by n54
[compiler-rt] [netbsd] Add support for versioned statvfs interceptors
Summary: Add support for NetBSD 9.0 and newer versions of interceptors
operating on struct statvfs: fstatvfs, fstatvfs1, getmntinfo,
getvfsstat, statvfs, statvfs1.
The default promoted interceptors are for NetBSD 9.99.26. Older ones
(currently 9.0) are kept in a new NetBSD specific file:
/sanitizer_common_interceptors_netbsd_compat.inc. This file defines
compat interceptors and mangles `INIT_*` macros, concatenating the
current interceptors and the compat ones. This redefinition is not
elegant, but it avoids preprocessor madness.
Define struct_statvfs90_sz for the compat purposes.
Reviewers: mgorny, kcc, vitalybuka, joerg
Reviewed By: mgorny
Subscribers: dberris, llvm-commits, #sanitizers
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D71700
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_netbsd_compat.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
Commit 1a7b69f5dd32980a7e0b0841a99dc65b2b887203 by chen3.liu
add custom operation for strict fpextend/fpround
Differential Revision: https://reviews.llvm.org/D71892
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/test/CodeGen/X86/vec-strict-128.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/lib/Target/X86/X86InstrFragmentsSIMD.td
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
Commit 5ca97d0defeed38feec2352692f6bb80297d6712 by eugenis
Revert "Allow newlines in AST Matchers in clang-query files" + 1
Revert "Fix -Wunused-lambda-capture warnings." This reverts commit
2369560f4a7720b19edfbf9de14ef061307ff773. This reverts commit
522ee29a4fb3814db604b585c8637247477ec057.
clang/lib/ASTMatchers/Dynamic/Parser.cpp:610:13: warning: implicit
conversion turns string literal into bool: 'const char [35]' to 'bool'
[-Wstring-conversion]
   assert(!"Newline should never be found here");
The file was modifiedclang-tools-extra/clang-query/Query.cpp
The file was modifiedclang/lib/ASTMatchers/Dynamic/Parser.cpp
The file was modifiedclang-tools-extra/clang-query/tool/ClangQuery.cpp
The file was modifiedclang-tools-extra/clang-query/Query.h
The file was modifiedclang-tools-extra/clang-query/QueryParser.cpp
The file was modifiedclang-tools-extra/unittests/clang-query/QueryParserTest.cpp
The file was modifiedclang/unittests/ASTMatchers/Dynamic/ParserTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/Dynamic/Parser.h
Commit 30617e4b9c871882c6fc765d12eb85c1aba87139 by echristo
Remove unused static function.
The file was modifiedmlir/lib/Dialect/VectorOps/VectorTransforms.cpp
Commit 3009cee75f04fb2bb28fbe7fc33cff3782c0f882 by echristo
Fix a -Wcovered-switch-default warning by moving the unreachable out of
the covered switch.
The file was modifiedmlir/lib/Dialect/StandardOps/Ops.cpp
Commit 3d18ce71548a84f5ed69585d084964fafda14a82 by echristo
Remove an unused static function.
The file was modifiedmlir/lib/Dialect/StandardOps/Ops.cpp
Commit e1838a17898aba53282f14a39aa01af5992b8f21 by echristo
Fix a -Wcovered-switch-default warning by moving the unreachable out of
the covered switch.
The file was modifiedmlir/include/mlir/Dialect/Linalg/EDSC/Builders.h
Commit 8f9304f559adf90a21e667f2af0f191cb4a057ac by echristo
Temporarily Revert "[compiler-rt] [netbsd] Add support for versioned
statvfs interceptors" as it's failing the netbsd specific linter parts
of the sanitizer linter:
llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_netbsd_compat.inc:23:
Lines should be <= 80 characters long  [whitespace/line_length]
llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp:2450:
Do not use variable-length arrays.  Use an appropriately named ('k'
followed by CamelCase) compile-time constant for the size.
This reverts commit 78f714f824fac8aa3fdd85908c41538bccefb959.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
The file was removedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_netbsd_compat.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Commit 371038e3ff724238a99fe6d8a16dca2d79e5c036 by echristo
Add an __attribute__((unused)) to populateWithGenerated since it might
not be used where defined and is autogenerated.
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
Commit bc202547d522407a55f7a0bb246c9cd46d793faf by craig.topper
[X86] Add test cases for v2i32->v2f32
strict_sint_to_fp/strict_uint_to_fp. NFC
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-128.ll
Commit a5d266b9cfc6b5cda1925636a14de13cf46a4743 by craig.topper
[X86] Add custom legalization for strict_uint_to_fp v2i32->v2f32.
I believe the algorithm we use for non-strict is exception safe for
strict. The fsub won't generate any exceptions. After it we will have an
exact version of the i32 integer in a double. Then we just round it to
f32. That rounding will generate a precision exception if it can't be
represented exactly.
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-128.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
Commit e647ff0d7d734d8e07d39670302b86f3c69bb0d5 by craig.topper
[X86] Add tests for constrained float intrinsics on
i686-pc-windows-msvc. NFC
We need to promote these to double due to missing libcalls on Windows.
The file was addedllvm/test/CodeGen/X86/fp-strict-libcalls-msvc32.ll
Commit 53ee806d93e8d2371726ec5ce59b0e68b309c258 by craig.topper
[X86][FPEnv] Promote some float strictfp operations to double on
i686-pc-windows-msvc to match what we do for non-strict.
The float libcalls are inlined in MSVC's math header where they just
cast to double and use the double libcall. Do the same when we emit
libcalls.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/fp-strict-libcalls-msvc32.ll
Commit c4a97b64e3a7e7a75b796a9ef01d4b4981468071 by maskray
[X86] Fix -Wmisleading-indentation after D71892
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 50fb3957c1906d2e971a192e5bd69b40bc5a3919 by craig.topper
[X86] Custom widen strict v2f32->v2i32 by padding with zeroes.
For non-strict, generic type legalization will take care of this, but
that doesn't happen currently for strict nodes.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
Commit ecbaf152f8fe2b5b8ebc633541e15158984f4db4 by craig.topper
[X86] Custom widen 128/256-bit vXi32 fp_to_uint on avx512f targets
without avx512vl. Similar for vXi64 on avx512dq without avx512vl.
Summary: Previously we did this with isel patterns that used garbage in
the widened part of the source. But that's not valid for strictfp. So
now we custom widen and use zeroes for the widened elemens for strictfp.
This replaces D71864.
Reviewers: RKSimon, spatel, andrew.w.kaylor, pengfei, LiuChen3
Reviewed By: pengfei
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71879
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-128.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-256.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td