1. Feb 20, 2024
    • Craig Topper's avatar
    • Jonas Devlieghere's avatar
      [llvm] Upstream the BridgeOS triple enum value (NFC) · 1b26c25f
      Jonas Devlieghere authored
      This upstreams the BridgeOS target triple enum value.
      1b26c25f
    • Jonas Devlieghere's avatar
      [llvm] Format OSType enum (NFC) · 9087abda
      Jonas Devlieghere authored
      The trailing comments cause clang-format to complain every time the enum
      is modified. Fix the formatting to avoid tripping up the formatting
      check on GitHub.
      9087abda
    • Vyacheslav Levytskyy's avatar
      fix generation of unnecessary OpExecutionMode records (#81839) · 8e8f9c0b
      Vyacheslav Levytskyy authored
      SPIRV-V Backend generates unnecessary OpExecutionMode records, putting
      into the id's which are not the Entry Point operands of an OpEntryPoint
      (ref: https://github.com/llvm/llvm-project/issues/81753). This PR is to
      fix the issue.
      8e8f9c0b
    • Fangrui Song's avatar
      [llvm-readelf] Print ARM specific OSABI values in GNU mode (#82186) · cd20a7ff
      Fangrui Song authored
      Similar to #75661. Currently, there is only ELFOSABI_ARM, but I plan to
      add ELFOSABI_ARM_FDPIC in a subsequent patch #82187
      cd20a7ff
    • Lei Wang's avatar
      [CSSPGO] Compute and report profile matching recovered callsites and samples (#79090) · c98da372
      Lei Wang authored
      This change adds the support to compute and report the staleness metrics
      after stale profile matching so that we can know how effective the fuzzy
      matching is, i. e. how many callsites and samples are recovered by the
      matching.
      Some implementation notes:
      - The function checksum mismatch metrics are not applicable here as it's
      function-level metrics, checksum mismatch remains the same before and
      after matching, so we need to compute based on the callsite samples.
      - Added two new counters `NumRecoveredCallsites`,
      `RecoveredCallsiteSamples` for this and removed `TotalCallsiteSamples`
      as now the we can use the `TotalFuncHashSamples` as base, and renamed
      some counters.
      - In profile matching, we changed to use a state machine to represent
      the callsite's matching state changes. See the `MatchState` for the
      state, and used a new function `recordCallsiteMatchStates` to compute
      and record the callsite's match states changes before and after the
      matching, , the result is compressed and saved into a
      `FuncCallsiteMatchStates` map for later counting use.
      - Changed the counting function to run on module-level and moved it to
      the end of the whole process(`computeAndReportProfileStaleness`). The
      reason is before the callsite is only counted on top-level function,
      this change extends it to count(recursively) on the inlined functions
      and samples, which is more accurate.
      c98da372
    • Craig Topper's avatar
      [RISCV] Add more zext nneg tests. NFC · 2426055a
      Craig Topper authored
      This adds additional tests for #82199.
      
      These tests need us to propagate the nneg flag when we zero/sign
      extend an existing zext nneg node. For these tests on RV64, call
      lowering will need to sign extend or zero extend the existing zext
      nneg to i64. getNode will fold this into a single zext. We should
      propagate the nneg flag from the original zext nneg. This will allow
      us to remove the zext nneg based on known sign bits during DAG combine.
      2426055a
    • Christian Kandeler's avatar
      [clangd] Do not offer extraction to variable for decl init expression (#69477) · c9974ae4
      Christian Kandeler authored
      That would turn:
        int x = f() + 1;
      into:
        auto placeholder = f() + 1;
        int x = placeholder;
      which makes little sense and is clearly not intended, as stated
      explicitly by a comment in eligibleForExtraction(). It appears that the
      declaration case was simply forgotten (the assignment case was already
      implemented).
      c9974ae4
    • Craig Topper's avatar
      [DAGCombiner][RISCV] Optimize (zext nneg (truncate X)) if X has known sign bits. (#82227) · f668a08e
      Craig Topper authored
      This treats the zext nneg as sext if X is known to have sufficient sign
      bits to allow the zext or truncate or both to removed. This code is
      taken from the same optimization for sext.
      f668a08e
    • Michael Klemm's avatar
      [flang][NFC] Refactor MODULE definitions to not accidentally leak symbols (#80833) · 0ca74c34
      Michael Klemm authored
      This PR continues the work started with PR #79006, by setting visibility
      in MODULES to PRIVATE by default and explicitly exporting only the
      desired symbols. `omp_lib` needs more work, as it should maybe be
      compiled from `omp_lib.f90` in
      `openmp/runtime/src/incluce/omp_lib.f90.var` instead of simply using an
      INCLUDE for `omp_lib.h`
      0ca74c34
    • Craig Topper's avatar
      [RISCV] Add test cases for missed opportunites to treat a zext nneg as sext. NFC · b1849a2c
      Craig Topper authored
      These tests have a dominating icmp that require an i16 value to be
      sign extended to do the compare. Because of this, the i16 will be
      exported from the first basic block sign extended to XLen. We can
      use this fact to remove the zext nneg in the scond block.
      b1849a2c
    • srcarroll's avatar
      [MLIR][tensor] Improve `tensor.pack` verifier to catch more cases with... · 9466c4e6
      srcarroll authored
      [MLIR][tensor] Improve `tensor.pack` verifier to catch more cases with unconditional runtime errors (#77217)
      
      Previously, the `tensor.pack` verifier detects unconditional runtime
      errors only when tile sizes are static. Now, dynamic tiles are
      considered and we only require that the input and either corresponding
      tile or output size are static to determine if it will unconditionally
      produce errors at runtime.
      9466c4e6
    • Simon Pilgrim's avatar
      5bd374df
    • Gheorghe-Teodor Bercea's avatar
      [libomptarget][test] Add support for APU testing feature. (#82054) · 12ade6fc
      Gheorghe-Teodor Bercea authored
      Add test and support for `// REQUIRES: apu` for the category of tests
      which exercise APU specific behavior.
      
      Note: when running on an actual APU you may have to use the following if
      the architecture ID is not enough to determine if the underlying device
      is an APU:
      
      ```
      IS_APU=1 ninja check-openmp
      ```
      12ade6fc
  2. Feb 19, 2024