[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