1. Mar 18, 2024
  2. Mar 17, 2024
    • Mark de Wever's avatar
      Address review comments. · 865690c1
      Mark de Wever authored
      865690c1
    • Mark de Wever's avatar
      Addresses review comments. · 22aac575
      Mark de Wever authored
      22aac575
    • Mark de Wever's avatar
      [libc++][chrono] Loads leap-seconds.list in tzdb. · b6abb45b
      Mark de Wever authored
      This implements the loading of the leap-seconds.list file and store its
      contents in the tzdb struct.
      
      This adds the required `leap_seconds` member.
      
      The class leap_seconds is fully implemented including its non-member
      functions.
      
      Implements parts of:
      - P0355 Extending <chrono> to Calendars and Time Zones
      - P1614 The Mothership has Landed
      
      Implements:
      - P1981 Rename leap to leap_second
      - LWG3359 <chrono> leap second support should allow for negative leap seconds
      - LWG3383 §[time.zone.leap.nonmembers] sys_seconds should be replaced with seconds
      b6abb45b
    • Mark de Wever's avatar
      Revert "[libc++] Fix tests on musl (#85085)" · 0847c903
      Mark de Wever authored
      This reverts commit b61fb184.
      
      This commit landed with build failures in the pre-commit CI
      https://buildkite.com/llvm-project/libcxx-ci/builds/34153
      0847c903
    • Usman Nadeem's avatar
      [DFAJumpThreading] Add an early exit heuristic for unpredictable values (#85015) · c9325f8a
      Usman Nadeem authored
      Right now the algorithm does not exit on unpredictable values. It
      waits until all the paths have been enumerated to see if any of
      those paths have that value. Waiting this late leads to a lot of
      wasteful computation and higher compile time.
      
      In this patch I have added a heuristic that checks if the value
      comes from the same inner loops as the switch, if so, then it is
      likely that the value will also be seen on a threadable path and
      the code in `getStateDefMap()` return an empty map.
      
      I tested this on the llvm test suite and the only change in the
      number of threaded switches was in 7zip (before 23, after 18).
      In all of those cases the current algorithm was partially threading
      the loop because it was hitting a limit on the number of paths to
      be explored. On increasing this limit even the current algorithm
      finds paths where the unpredictable value is seen.
      
      Compile time(with pass enabled by default and this patch):
      
      https://llvm-compile-time-tracker.com/compare.php?from=8c5e9cf737138aba22a4a8f64ef2c5efc80dd7f9&to=42c75d888058b35c6d15901b34e36251d8f766b9&stat=instructions:u
      c9325f8a
    • Cyndy Ishida's avatar
      [InstallAPI] Introduce Basic Verifier (#85106) · f2794cce
      Cyndy Ishida authored
      This adds basic support for calling the verifier on global declarations
      that are expected to represent symbol exports. The driver now
      exclusively uses this for knowing what symbols make up a TBD file.
      Future patches will check against the dylib's symbol table.
      f2794cce
    • Cyndy Ishida's avatar
      [InstallAPI] Add installapi specific options & diagnostics (#85100) · c51095f5
      Cyndy Ishida authored
      * A lot of `tapi installapi` options are already shared with clang, but
      not all. This patch handles installapi-specific options by filtering for
      them in the initial argv input, then passing the rest to the clang
      driver.
      * Installapi not only generates a text file but also reports to library
      developers when there are inconsistencies between an interface and its
      implementation. To allow this, add support for reporting installapi
      diagnostics. This will be leveraged in the verifier service.
      c51095f5
  3. Mar 16, 2024