-
Notifications
You must be signed in to change notification settings - Fork 12.3k
Comparing changes
Open a pull request
base repository: llvm/llvm-project
base: fa78bc00e095
head repository: llvm/llvm-project
compare: 8c1a3ae4ec41
- 18 commits
- 82 files changed
- 10 contributors
Commits on Dec 7, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 66f9448 - Browse repository at this point
Copy the full SHA 66f9448View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f9f68a - Browse repository at this point
Copy the full SHA 1f9f68aView commit details -
[mlir][docs] Fix typos in documentation for MLIR tensor dialect (#119095
Configuration menu - View commit details
-
Copy full SHA for e5480f5 - Browse repository at this point
Copy the full SHA e5480f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 639e1fa - Browse repository at this point
Copy the full SHA 639e1faView commit details
Commits on Dec 8, 2024
-
[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` ```Configuration menu - View commit details
-
Copy full SHA for 7787328 - Browse repository at this point
Copy the full SHA 7787328View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4153c2d - Browse repository at this point
Copy the full SHA 4153c2dView commit details -
Configuration menu - View commit details
-
Copy full SHA for cb61a5e - Browse repository at this point
Copy the full SHA cb61a5eView commit details -
[clang] [Sema] Preserve nested name specifier prefix in MemberPointer…
…Type (#118236) Fixes #118198 Fixes clangd/clangd#2235
Configuration menu - View commit details
-
Copy full SHA for 70c1764 - Browse repository at this point
Copy the full SHA 70c1764View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for f0297ae - Browse repository at this point
Copy the full SHA f0297aeView commit details -
Revert "[flang] Allow to pass an async id to allocate the descriptor (#…
Configuration menu - View commit details
-
Copy full SHA for 16c2a10 - Browse repository at this point
Copy the full SHA 16c2a10View commit details -
[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
Configuration menu - View commit details
-
Copy full SHA for 9a156f6 - Browse repository at this point
Copy the full SHA 9a156f6View commit details -
[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.
Configuration menu - View commit details
-
Copy full SHA for 684e79f - Browse repository at this point
Copy the full SHA 684e79fView commit details -
sym.file is always non-null (since around #78944).
Configuration menu - View commit details
-
Copy full SHA for ae5fdae - Browse repository at this point
Copy the full SHA ae5fdaeView commit details -
[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 ```
Configuration menu - View commit details
-
Copy full SHA for ce44640 - Browse repository at this point
Copy the full SHA ce44640View commit details -
[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.
Configuration menu - View commit details
-
Copy full SHA for 8669028 - Browse repository at this point
Copy the full SHA 8669028View commit details -
[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>
Configuration menu - View commit details
-
Copy full SHA for 6dec338 - Browse repository at this point
Copy the full SHA 6dec338View commit details -
Configuration menu - View commit details
-
Copy full SHA for 118f7b9 - Browse repository at this point
Copy the full SHA 118f7b9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c1a3ae - Browse repository at this point
Copy the full SHA 8c1a3aeView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff fa78bc00e095...8c1a3ae4ec41