1. May 20, 2024
    • Felix Schneider's avatar
      [mlir][intrange] Use `nsw`,`nuw` flags in inference · 1908bae9
      Felix Schneider authored
      This patch includes the "no signed wrap" and "no unsigned wrap" flags,
      which can be used to annotate some Ops in the `arith` dialect and also
      in LLVMIR, in the integer range inference.
      
      The general approach is to use saturating arithmetic operations to infer
      bounds which are assumed to not wrap and use overflowing arithmetic
      operations in the normal case. If overflow is detected in the normal case,
      special handling makes sure that we don't underestimate the result range.
      1908bae9
    • Felix Schneider's avatar
      [mlir][intrange] Represent bounds of `ReflectBoundsOp` as `si`/`ui` · 8782eeb6
      Felix Schneider authored
      This patch adapts the `test.reflect_bounds` test Op to use explicitly
      signed and unsigned representation for signed and unsigned bounds of
      `IntegerType`s.
      
      This is mostly a cosmetic change as the internal representation of the
      ranges is unchanged. However, it improves readability of tests.
      
      Example:
      ```mlir
      // old:
      test.reflect_bounds {smax = 127 : i8, smin = -128 : i8, umax = -56 : i8, umin = 100 : i8}
      // new:
      test.reflect_bounds {smax = 127 : si8, smin = -128 : si8, umax = 200 : ui8, umin = 100 : ui8}
      ```
      8782eeb6
    • Helena Kotas's avatar
      [Clang][HLSL] Add environment parameter to availability attribute (#89809) · 3f33c4c1
      Helena Kotas authored
      Add `environment` parameter to Clang availability attribute. The allowed
      values for this parameter are a subset of values allowed in the
      `llvm::Triple` environment component. If the `environment` parameters is
      present, the declared availability attribute applies only to targets
      with the same platform and environment.
      
      This new parameter will be initially used for annotating HLSL functions
      for the `shadermodel` platform because in HLSL built-in function
      availability can depend not just on the shader model version (mapped to
      `llvm::Triple::OSType`) but also on the target shader stage (mapped to
      `llvm::Triple::EnvironmentType`). See example in #89802 and
      microsoft/hlsl-specs#204 for more details.
      
      The environment parameter is currently supported only for HLSL.
      
      Fixes #89802
      3f33c4c1
    • Isaac David's avatar
      [DOCS] ORCv2.rst Typo (#89482) · c34079c9
      Isaac David authored
      c34079c9
    • Helena Kotas's avatar
      HLSL availability diagnostics design doc (#92207) · 643f3618
      Helena Kotas authored
      
      
      Design document for the HLSL availability diagnostic modes
      
      Fixes microsoft/hlsl-specs#190
      
      ---------
      
      Co-authored-by: default avatarXiang Li <python3kgae@outlook.com>
      643f3618
  2. May 19, 2024
  3. May 18, 2024