[all-commits] [llvm/llvm-project] 61d6e4: QuantileType relax quantileType conditions and inh...
vsimion26 via All-commits
all-commits at lists.llvm.org
Wed Jul 29 02:39:35 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 61d6e494e97a8fda6946291fd3bc6bb648c86e93
https://github.com/llvm/llvm-project/commit/61d6e494e97a8fda6946291fd3bc6bb648c86e93
Author: vsimion26 <vlad.simion at intel.com>
Date: 2026-07-29 (Wed, 29 Jul 2026)
Changed paths:
M mlir/include/mlir/Dialect/Quant/IR/QuantTypes.h
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
M mlir/test/Dialect/Quant/invalid-quantile-types.mlir
M mlir/test/Dialect/Quant/quantile-types.mlir
Log Message:
-----------
QuantileType relax quantileType conditions and inheritance issue (#204793)
# Recategorize QuantileType as Storage Format, Not Quantization Scheme
## Summary
Reclassify `QuantileType` from inheriting `QuantizedType` to functioning
as a pure storage type.
## Motivation
### QuantileType is a Storage Format, Not a Quantization Scheme
After careful consideration, there was a conclusion reached that
**QuantileType should not be registered as a subtype of QuantizedType**.
The architectural distinction is critical:
- **QuantizedType** represents different quantization schemes (uniform,
per-axis, etc.), semantic operations that map values into a
lower-precision domain
- **QuantileType** is purely a **storage format** that specifies how to
interpret indices within a lookup table (LUT)
QuantileType was never meant to function as a quantization scheme on its
own. Instead, its purpose is to indicate **how to interpret indices
based on the given LUT**. It is an orthogonal concern to quantization
semantics; it describes data organization, not mathematical
transformation.
### Relaxed Type Conditions
The previous implementation restricted the LUT values to float types
only. However, float types are not the only types that can exist inside
a LUT, integer types are valid as well.
This PR removes the type restriction, allowing **both floating-point and
integer-based LUT interpretations** to coexist, better matching actual
use cases.
## Changes
- **Removed**: Incorrect inheritance of `QuantizedType` by
`QuantileType`
- **Relaxed**: Type constraints to accept both float and integer LUT
value types
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list