1. Oct 21, 2023
  2. Oct 20, 2023
    • Joel E. Denny's avatar
      [lit] Clean up internal shell parse errors with ScriptFatal (#68496) · 080fb3e5
      Joel E. Denny authored
      Without this patch, the functions `executeScriptInternal` and thus
      `runOnce` in `llvm/utils/lit/lit/TestRunner.py` return either a tuple like
      `(out, err, exitCode, timeoutInfo)` or a `lit.Test.Result` object. They
      return the latter only when there's a lit internal shell parse error in
      a RUN line. In my opinion, a more straight-forward way to handle
      exceptional cases like that is to use python exceptions.
      
      For that purpose, this patch introduces `ScriptFatal`. Thus, this patch
      changes `executeScriptInternal` to always either return the tuple or
      raise the `ScriptFatal` exception. It updates `runOnce` and
      `libcxx/utils/libcxx/test/format.py` to catch the exception rather than
      check for the special return type.
      
      This patch also changes `runOnce` to convert the exception to a
      `Test.UNRESOLVED` result instead of `TEST.FAIL`. The former is the
      proper result for such a malformed test, for which a rerun (given an
      `ALLOW_RETRIES:`)...
      080fb3e5
    • Job Noorman's avatar
      [BOLT][RISCV] Handle CIE's produced by GNU as (#69578) · 6795bfce
      Job Noorman authored
      On RISC-V, GNU as produces the following initial instruction in CIE's:
      
      ```
      DW_CFA_def_cfa_register: r2
      ```
      
      While I believe it is technically illegal to use this instruction
      without first using a `DW_CFA_def_cfa` (since the offset is undefined),
      both `readelf` and `llvm-dwarfdump` accept this and implicitly set the
      offset to 0.
      
      In BOLT, however, this triggers an assert (in `CFISnapshot::advanceTo`)
      as it (correctly) believes the offset is not set. This patch fixes this
      by setting the offset to 0 whenever executing `DW_CFA_def_cfa_register`
      while the offset is undefined.
      
      Note that this is probably the simplest workaround but it has a
      downside: while emitting CFI start, we check if the initial instructions
      are contained within `MCAsmInfo::getInitialFrameState` and omit them if
      they are. This will not be true for GNU CIE's (since they differ from
      LLVM's) which causes an unnecessary `DW_CFA_def_cfa_register` to be
      emitted.
      
      While...
      6795bfce
    • Finn Plummer's avatar
      [mlir][index][spirv] Add conversion for index to spirv (#68085) · 3c07a216
      Finn Plummer authored
      Due to an issue when lowering from scf to spirv as there was no
      conversion pass for index to spirv, we are motivated to add a conversion
      pass from the Index dialect to the SPIR-V dialect. Furthermore, we add
      the new conversion patterns to the scf-to-spirv conversion.
      
      Fixes #63713
      3c07a216
    • Krzysztof Parzyszek's avatar
      Change owner of Hexagon backend · 1bc42666
      Krzysztof Parzyszek authored
      1bc42666