[mlir][linalg] Reject unsigned pooling on non-integer element types (#166070)
Fixes: #164800
Ensures unsigned pooling ops in Linalg stay in the integer domain: the
lowering now rejects floating/bool inputs with a clear diagnostic, new
regression tests lock in both the error path and a valid integer
example, and transform decompositions are updated to reflect the integer
typing.
Signed-off-by: Akimasa Watanuki <mencotton0410 at gmail.com>
[NPM] Update OptimizedRegAlloc and MachineLateOptimization pipelines (#172795)
1. add the StackSlotColoringPass to default pipeline
2. Introduce MachineLateInstrsCleanupPass at the beginning of
addMachineLateOptimization (matches the legacy default pipeline)
unifdef m_copypack() use
These ifdefs date back to 1990 in CSRG (SCCS rev 7.20).
m_copypack() never existed in CSRG releases as far as I can tell.
ok deraadt@ mvs@
[ProfCheck] Exclude test from e4722c6
This adds in a select that we should probably just mark with unknown
profdata. Exclude for now to get the bot back to green.
[LLVMABI] Implement the ABI Typesystem (#158329)
This PR implements the first part of the LLVM ABI lowering library,
proposed in [this
RFC](https://discourse.llvm.org/t/rfc-an-abi-lowering-library-for-llvm/84495).
It is split out of https://github.com/llvm/llvm-project/pull/140112,
which demonstrates how this is going to be used.
The ABI type system is intended to represent all the type information
that is necessary to make call lowering decisions. As such, it contains
less information than Clang QualTypes, but more information than LLVM IR
types. The current type system has enough information to implement the
x86_64 SysV ABI, but some extensions will likely be needed in the future
for other targets (e.g. unadjusted alignment).
The type system expects layout information (like size, offset and
alignment) to already be computed by the frontend.
The types are constructed using TypeBuilder, which uses a
BumpPtrAllocator. The types themselves are not uniqued -- instead we
cache the QualType -> ABI type translation (in future patches).
rasops_allocattr_mono: fix regression from WSSCREEN_256COL
0xff was never a valid colormap index, but worked by accident
since the previous ATTR_FG implementation clamped the value.
Now it results in black text on black background.
Use named WSCOL_* constants instead.
boost-libs: make boost type_traits build with clang 21
Recent versions of clang made -Wenum-constexpr-conversion errors into a
hard error, as was announced several versions ago.
Boost type_traits has two instances where it attempts to convert
out-of-range enum values, leading to errors similar to:
In file included from ../src/lib/dhcpsrv/csv_lease_file6.cc:9:
In file included from ../src/lib/dhcpsrv/dhcpsrv_log.h:11:
In file included from ../src/lib/log/macros.h:10:
In file included from ../src/lib/log/logger.h:19:
In file included from ../src/lib/log/log_formatter.h:19:
In file included from /usr/local/include/boost/lexical_cast.hpp:33:
In file included from /usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:31:
In file included from /usr/local/include/boost/lexical_cast/detail/converter_numeric.hpp:31:
In file included from /usr/local/include/boost/type_traits/make_unsigned.hpp:14:
/usr/local/include/boost/type_traits/is_signed.hpp:37:25: error: in-class initializer for static data member is not a constant expression
37 | static const no_cv_t minus_one = (static_cast<no_cv_t>(-1));
[58 lines not shown]
boost-libs: make boost type_traits build with clang 21
Recent versions of clang made -Wenum-constexpr-conversion errors into a
hard error, as was announced several versions ago.
Boost type_traits has two instances where it attempts to convert
out-of-range enum values, leading to errors similar to:
In file included from ../src/lib/dhcpsrv/csv_lease_file6.cc:9:
In file included from ../src/lib/dhcpsrv/dhcpsrv_log.h:11:
In file included from ../src/lib/log/macros.h:10:
In file included from ../src/lib/log/logger.h:19:
In file included from ../src/lib/log/log_formatter.h:19:
In file included from /usr/local/include/boost/lexical_cast.hpp:33:
In file included from /usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:31:
In file included from /usr/local/include/boost/lexical_cast/detail/converter_numeric.hpp:31:
In file included from /usr/local/include/boost/type_traits/make_unsigned.hpp:14:
/usr/local/include/boost/type_traits/is_signed.hpp:37:25: error: in-class initializer for static data member is not a constant expression
37 | static const no_cv_t minus_one = (static_cast<no_cv_t>(-1));
[56 lines not shown]