Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: llvm/llvm-project
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: fa78bc00e095
Choose a base ref
...
head repository: llvm/llvm-project
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 8c1a3ae4ec41
Choose a head ref
  • 18 commits
  • 82 files changed
  • 10 contributors

Commits on Dec 7, 2024

  1. Configuration menu
    Copy the full SHA
    66f9448 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1f9f68a View commit details
    Browse the repository at this point in the history
  3. [mlir][docs] Fix typos in documentation for MLIR tensor dialect (#119095

    )
    
    Fix typos in the tensor dialect documentation:
    
    1. Typos/Copy-paste errors referencing invalid `memref` type for
    `tensor.dim` op.
    2. Miscellaneous typos across other tensor dialect ops.
    e3m3 authored Dec 7, 2024
    Configuration menu
    Copy the full SHA
    e5480f5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    639e1fa View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2024

  1. [ubsan] Improve lowering of @llvm.allow.ubsan.check (#119013)

    This fix the case, when single hot inlined callsite, prevent
    checks for all other. This helps to reduce number of removed checks up
    to 50% (deppedes on `cutoff-hot` value) .
    
    `ScalarOptimizerLateEPCallback` was happening during
    CGSCC walk, after each inlining, but this is effectively
    after inlining.
    
    Example, order in comments:
    
    ```
    static void overflow() {
      // 1. Inline get/set if possible
      // 2. Simplify
      // 3. LowerAllowCheckPass
      set(get() + get());
    }
    
    void test() {
      // 4. Inline
      // 5. Nothing for LowerAllowCheckPass
      overflow();
    }
    ```
    
    With this patch it will look like:
    ```
    static void overflow() {
      // 1. Inline get/set if possible
      // 2. Simplify
      set(get() + get());
    }
    
    void test() {
      // 3. Inline
      // 4. Simplify
      overflow();
    }
    
    // Later, after inliner CGSCC walk complete:
    // 5. LowerAllowCheckPass for `overflow`
    // 6. LowerAllowCheckPass for `test`
    ```
    vitalybuka authored Dec 8, 2024
    Configuration menu
    Copy the full SHA
    7787328 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4153c2d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cb61a5e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    70c1764 View commit details
    Browse the repository at this point in the history
  5. Switch the intrinsic names to a string table (#118929)

    This avoids the need to dynamically relocate each pointer in the table.
    
    To make this work, this PR also moves the binary search of intrinsic
    names to an internal function with an adjusted signature, and switches
    the unittesting to test against actual intrinsics.
    chandlerc authored Dec 8, 2024
    Configuration menu
    Copy the full SHA
    f0297ae View commit details
    Browse the repository at this point in the history
  6. Revert "[flang] Allow to pass an async id to allocate the descriptor (#…

    …118713)" (#119109)
    
    This reverts commit 7d1c661.
    
    This commit breaks some device runtime builds. Need time to investigate.
    clementval authored Dec 8, 2024
    Configuration menu
    Copy the full SHA
    16c2a10 View commit details
    Browse the repository at this point in the history
  7. [sanitizer] Replace uptr by usize/SIZE_T in interfaces

    For some targets uptr is mapped to unsigned int and size_t to unsigned
    long and sizeof(int)==sizeof(long) holds.  Still, these are distinct
    types and type checking may fail.  Therefore, replace uptr by
    usize/SIZE_T wherever a size_t is expected.
    
    Part of #116957
    stefan-sf-ibm authored and vitalybuka committed Dec 8, 2024
    Configuration menu
    Copy the full SHA
    9a156f6 View commit details
    Browse the repository at this point in the history
  8. [memprof] Add YAML read/write support to llvm-profdata (#118915)

    This patch adds YAML read/write support to llvm-profdata.  The primary
    intent is to accommodate MemProf profiles in test cases, thereby
    avoiding the binary format.
    
    The read support is via llvm-profdata merge.  This is useful when we
    want to verify that the compiler does the right thing on a given .ll
    file and a MemProf profile in a test case.  In the test case, we would
    convert the MemProf profile in YAML to an indexed profile and invoke
    the compiler on the .ll file along with the indexed profile.
    
    The write support is via llvm-profdata show --memory.  This is useful
    when we wish to convert an indexed MemProf profile to YAML while
    writing tests.  We would compile a test case in C++, run it for an
    indexed MemProf profile, and then convert it to the text format.
    kazutakahirata authored Dec 8, 2024
    Configuration menu
    Copy the full SHA
    684e79f View commit details
    Browse the repository at this point in the history
  9. [ELF] Simplify printLocation

    sym.file is always non-null (since around #78944).
    MaskRay committed Dec 8, 2024
    Configuration menu
    Copy the full SHA
    ae5fdae View commit details
    Browse the repository at this point in the history
  10. [sanitizer] Add type __sanitizer::ssize (#116957)

    Since the sanitizer merge in commit r15-5164-gfa321004f3f628 of GCC
    which entails LLVM commit 61a6439, GCCs
    bootstrap is broken on s390 -m31. This is due to commit
    ec68dc1 which introduces stricter type
    checking which is why GCC bootstrap fails with
    
    ```
    In file included from /gcc/src/libsanitizer/interception/interception.h:18,
                     from /gcc/src/libsanitizer/interception/interception_type_test.cpp:14:
    /gcc/src/libsanitizer/interception/interception_type_test.cpp:30:61: error: static assertion failed
       30 | COMPILER_CHECK((__sanitizer::is_same<::SSIZE_T, ::ssize_t>::value));
          |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
    /gcc/src/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:363:44: note: in definition of macro 'COMPILER_CHECK'
      363 | #define COMPILER_CHECK(pred) static_assert(pred, "")
          |                                            ^~~~
    make[8]: *** [Makefile:469: interception_type_test.lo] Error 1
    ```
    
    The culprit seems to be that we don't check for equality of type sizes
    anymore but rather whether the types are indeed the same. On s390 -m31
    we have that `sizeof(int)==sizeof(long)` holds which is why previously
    the checks succeeded. They fail now because
    
    ```
    size_t      => unsigned long
    ssize_t     => long
    ptrdiff_t   => int
    ::SSIZE_T   => __sanitizer::sptr => int
    ::PTRDIFF_T => __sanitizer::sptr => int
    ```
    
    This is fixed by mapping `SSIZE_T` to `long` in the end.
    
    ```
    #if defined(__s390__) && !defined(__s390x__)
    typedef long ssize;
    #else
    typedef sptr ssize;
    #endif
    
    #define SSIZE_T __sanitizer::ssize
    ```
    stefan-sf-ibm authored Dec 8, 2024
    Configuration menu
    Copy the full SHA
    ce44640 View commit details
    Browse the repository at this point in the history
  11. [ELF] Remove unneeded sym->file check

    After #78944 and some follow-ups, sym->file, unless in the initial
    Placeholder stage, is guaranteed to be non-null.
    MaskRay committed Dec 8, 2024
    Configuration menu
    Copy the full SHA
    8669028 View commit details
    Browse the repository at this point in the history
  12. [sanitizer] Fix few size types in memprof (#119114)

    Fix type in a few related Min() calls.
    
    Follow up to #116957.
    
    Co-authored-by: Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
    vitalybuka and stefan-sf-ibm authored Dec 8, 2024
    Configuration menu
    Copy the full SHA
    6dec338 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    118f7b9 View commit details
    Browse the repository at this point in the history
  14. rebase

    Created using spr 1.3.4
    arichardson authored and vitalybuka committed Dec 8, 2024
    Configuration menu
    Copy the full SHA
    8c1a3ae View commit details
    Browse the repository at this point in the history
Loading