What are Signless Integers?

Integer types in MLIR can be Signed(si32), Unsigned(ui32) or Signless(i32) what are the semantics of signless, how is it different from signed (or is it same as that)? is there a reference available? Or a motivation? Is TensorFlow or some framework using this in some context with corner cases well specified?

/// Integer types can have arbitrary bitwidth up to a large fixed limit.
class IntegerType
    : public Type::TypeBase<IntegerType, Type, detail::IntegerTypeStorage> {
public:
  using Base::Base;

  /// Signedness semantics.
  enum SignednessSemantics {
    Signless, /// No signedness semantics
    Signed,   /// Signed integer
    Unsigned, /// Unsigned integer
  };

You can see the rationale here: https://mlir.llvm.org/docs/Rationale/Rationale/#integer-signedness-semantics

Got it thanks, so treating it as signed for our dialect is legal as it is open to each op to interpret it.