1. Dec 20, 2023
    • Guillaume Chatelet's avatar
      [libc][NFC] Make `EXP_MANT_MASK` an implementation detail (#75810) · ea43c8ee
      Guillaume Chatelet authored
      This mask is an implementation detail of `FPBits` and shouldn't really
      leak outside of it.
      ea43c8ee
    • jeanPerier's avatar
      [flang] Lower procedure pointer components (#75453) · c373f581
      jeanPerier authored
      Lower procedure pointer components, except in the context of structure
      constructor (left TODO).
      
      Procedure pointer components lowering share most of the lowering logic
      of procedure poionters with the following particularities:
      - They are components, so an hlfir.designate must be generated to
      retrieve the procedure pointer address from its derived type base.
      - They may have a PASS argument. While there is no dispatching as with
      type bound procedure, special care must be taken to retrieve the derived
      type component base in this case since semantics placed it in the
      argument list and not in the evaluate::ProcedureDesignator.
      
      These components also bring a new level of recursive MLIR types since a
      fir.type may now contain a component with an MLIR function type where
      one of the argument is the fir.type itself. This required moving the
      "derived type in construction" stackto the converter so that the object
      and function type lowering utilities share the same state (currently the
      function type utilty would end-up creating a new stack when lowering its
      arguments, leading to infinite loops). The BoxedProcedurePass also
      needed an update to deal with this recursive aspect.
      c373f581
    • Guillaume Chatelet's avatar
    • Michael Maitland's avatar
      [RISCV][MISched] Set EnableIntervals to true for SiFive7 (#75681) · 571d151d
      Michael Maitland authored
      The SiFive7 scheduler model has been using AcquireAtCycles and
      ReleaseAtCycles for some time. Without EnableIntervals, the scheduler
      was not making decisions based on this information. This patch sets
      EnableIntervals to true, and the test case demonstrates that the VADD
      instructions can be issued one cycle earlier since the VCQ is not
      reserved. This leads to better saturation of the SiFive7VA.
      571d151d
  2. Dec 19, 2023