1. Jan 19, 2024
    • Joseph Huber's avatar
      [CUDA] Disable registering surfaces and textures with the new driver · cb2f3408
      Joseph Huber authored
      Summary:
      These runtime calls don't seem to be supported anymore, disable them for
      now.
      cb2f3408
    • Vyacheslav Levytskyy's avatar
      [SPIR-V] improve performance of Module Analysis stage in the part of... · 774b9577
      Vyacheslav Levytskyy authored
      [SPIR-V] improve performance of Module Analysis stage in the part of processing "other instructions" (#76047)
      
      The goal of this PR is to fix an issue when Module Analysis stage is not
      able to complete processing of a really big LLVM source:
      https://github.com/llvm/llvm-project/issues/76048.
      
      There is an example of a bulky LLVM source:
      https://github.com/KhronosGroup/SPIRV-LLVM-Translator/blob/main/test/SpecConstants/long-spec-const-composite.ll
      
      Processing of this file with
      `llc -mtriple=spirv64-unknown-unknown -O0 long-spec-const-composite.ll
      -o long-spec-const-composite.spvt`
      to produce SPIR-V output using LLVM SPIR-V backend takes too long, and
      I've never been able to see it actually completes. After the patch from
      this PR applied elapsed time for me is ~30 sec.
      
      The fix changes underlying data structure to be `std::set` to trace
      instructions with identical operands instead of the existing approach of
      the `findSameInstrInMS()` function.
      774b9577
    • David Spickett's avatar
      [lldb] Correct function names in ProcessGDBRemote::ParseFlagsFields log messages · b75b9d82
      David Spickett authored
      This has to be specified in the string because otherwise we'd get the
      lambda's name, and I incorrectly used the name of the calling function here.
      b75b9d82
    • Joseph Huber's avatar
      [LinkerWrapper][Obvious] Fix move on temporary object · 2b804f87
      Joseph Huber authored
      Summary:
      This causes warnings because it is already a temporary and does not need
      to be moved.
      2b804f87
    • Fehr Mathieu's avatar
      [mlir][irdl] Add `irdl.base` op (#76400) · 914cfa41
      Fehr Mathieu authored
      The `irdl.base` op represent an attribute constraint that will check
      that the
      base of a type or attribute is the expected one (e.g. `IntegerType`) .
      
      Example:
      
      ```mlir
      irdl.dialect @cmath {
        irdl.type @complex {
          %0 = irdl.base "!builtin.integer"
          irdl.parameters(%0)
        }
      
        irdl.type @complex_wrapper {
          %0 = irdl.base @complex
          irdl.parameters(%0)
        }
      }
      ```
      
      The above program defines a `cmath.complex` type that expects a single
      parameter, which is a type with base name `builtin.integer`, which is
      the
      name of an `IntegerType` type.
      It also defines a `cmath.complex_wrapper` type that expects a single
      parameter, which is a type of base type `cmath.complex`.
      914cfa41
    • XinWang10's avatar
      [X86][MC] Fix wrong encoding of promoted BMI instructions due to missing NoCD8 (#78386) · d124b022
      XinWang10 authored
      Address review comments in #76709
      
      Add `NoCD8` to class `ITy`, and rewrite the promoted instructions with
      `ITy` to avoid unexpected incorrect encoding about `NoCD8`.
      d124b022
    • Shengchen Kan's avatar
      [X86] Fix failures on EXPENSIVE_CHECKS builds · 8bc7c0a0
      Shengchen Kan authored
      Error message
      
      ```
      *** Bad machine code: Illegal virtual register for instruction ***
      - function:    test__blsi_u32
      - basic block: %bb.0  (0x7a61208)
      - instruction: %5:gr32 = MOV32r0 implicit-def $eflags
      - operand 0:   %5:gr32
      Expected a GR32_NOREX2 register, but got a GR32 register
      ```
      
      Reported by RKSimon in #77433
      
      The failure is b/c compiler emits a MOV32r0 with operand GR32 when
      fast-isel is enabled.
      
      ```
      // X86FastISel.cpp
      Register SrcReg = fastEmitInst_(X86::MOV32r0, &X86::GR32RegClass)
      ```
      
      However, before this patch, compiler only allows GR32_NOREX operand
      b/c MOV32r0 is a pseudo instruction. In this patch, we relax the
      register class of the operand to GR32 b/c MOV32r0 is always expanded
      to XOR32rr, which can use EGPR.
      
      The bug was not introduced by #77433 but caught by it.
      8bc7c0a0
    • Nick Desaulniers's avatar
      [libc][arm] add more math.h entrypoints (#77839) · 3044d754
      Nick Desaulniers authored
      In particular, we have internal customers that would like to use nanf
      and
      scalbnf.
      
      The differences between various entrypoint files can be checked via:
      
          $ comm -3 <(grep libc\.src path/to/entrypoints.txt | sort) \
             <(grep libc\.src path/to/other/entrypoints.txt | sort)
      3044d754
    • Nick Desaulniers's avatar
      [libc] reverts for 32b arm (#78307) · de03c46b
      Nick Desaulniers authored
      These were fixed properly by f1f1875c.
      
      - Revert "[libc] temporarily set -Wno-shorten-64-to-32 (#77396)"
      - Revert "[libc] make off_t 32b for 32b arm (#77350)"
      de03c46b
    • Zequan Wu's avatar
      [lldb][Format] Fix missing inlined function names in frame formatting. (#78494) · f4ede08c
      Zequan Wu authored
      This fixes missing inlined function names when formatting frame and the
      `Block` in `SymbolContext` is a lexical block (e.g.
      `DW_TAG_lexical_block` in Dwarf).
      f4ede08c
  2. Jan 18, 2024