-
Notifications
You must be signed in to change notification settings - Fork 738
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LLVM and SPIRV-LLVM-Translator pulldown (WW33 2024) #15106
Conversation
This commit lowers `arith.divui` and `arith.remui` to EmitC by wrapping those operations with type conversions.
Fix the location of `diag::note_constexpr_uninitialized_base`, make it same as current interpreter. This PR does not print type name with namespacethat was used to improve the current interpreter's type dump of base class type. --------- Signed-off-by: yronglin <yronglin777@gmail.com>
This patch sorts the clause lists for the following OpenMP operations: - omp.parallel - omp.teams - omp.sections - omp.wsloop - omp.distribute - omp.task This change results in the reordering of operation arguments, so impacted unit tests are updated accordingly.
This patch sorts the clause lists for the following OpenMP operations: - omp.taskloop - omp.taskgroup - omp.target_data - omp.target_enter_data - omp.target_exit_data - omp.target_update - omp.target This change results in the reordering of operation arguments, so impacted unit tests are updated accordingly.
which suffers from v_mov issue.
This reverts commit d230442. The m_Add and m_Mul are commutative but the code does not expect the communtativity.
Factor out the processing of unsaved files into its own function as suggested by @Endilll [here](https://github.com/llvm/llvm-project/pull/78114/files#r1697730196)
On its own, this change leads to _more_ strict typing errors as the functions are mostly not annotated so far, so the `# type: ignore`s are reported as Unused. This is part of the work leading up to #78114 though, and one of the bigger parts factored out from it, so these will later lead to less strict typing errors as the functions are annotated with return types.
…783) This makes the tests less flaky and also makes a few other refactorings like using traits instead of .compile.fail.cpp tests.
… (#100741) P1937R2 only contains core language change and doesn't touch the library at all. Closes #100613.
…#101326) Host::LaunchProcess() requires to SetMonitorProcessCallback. This callback is called from the child process monitor thread. We cannot control this thread anyway. lldb-server may crash if there is a logging around this callback because TestLogHandler is not thread safe. I faced this issue debugging 100 simultaneous child processes. Note StreamLogHandler::Emit() in lldb/source/Utility/Log.cpp already contains the similar mutex.
If an unreachable block B branches to a block S inside a cycle, it may cause S to be incorrectly treated as an entry to the cycle. We avoid that by skipping unreachable predecessors when locating entries.
… build" (#101340) Reverts llvm/llvm-project#100908
Broken out from #93429 Somewhat closing the loop opened by 7017e6c. Co-authored-by: Ryan Prichard <rprichard@google.com>
…#100685) Those two `__find_end` functions are no longer used after 101d1e9. After that commit, `std::find_end` started dispatching to `__find_end_classic`, and `ranges::find_end` to `__find_end_impl`, which means that the two `__find_end` functions were no longer necessary. Fixes #100569
Picolib testing skips any test requiring this feature, I just didn't know the feature existed until now.
This takes 1m40s to run when testing picolib on qemu. This isn't the end of the world but that's on an AArch64 server. So if someone felt the need to mark this unsupported in the first place, it's likely much slower on average hardware.
Follow-up to #96171 in an attempt to fix the Solaris bots.
…(#99562) This is a follow up to llvm/llvm-project#98717, which made lock_guard available under _LIBCPP_HAS_NO_THREADS. We can make unique_lock available under similar circumstances. This patch follows the example in #98717, by: - Removing the preprocessor guards for _LIBCPP_HAS_NO_THREADS in the unique_lock header. - providing a set of custom mutex implementations in a local header. - using custom locks in tests that can be made to work under `no-threads`.
This is an intermediate and fairly mechanical step towards unifying the benchmarks with the rest of the test suite. Moving this around requires a few changes, notably making sure we don't throw a wrench into the discovery process of the normal test suite. This won't be a problem anymore once benchmarks are taken into account by the test setup out of the box.
- For languages following SPMD/SIMT programming model, functions and call sites are marked 'convergent' by default. 'noconvergent' is added in this patch to allow developers to remove that 'convergent' attribute when it's safe. Reviewers: nhaehnle, Sirraide, yxsamliu, Artem-B, ilovepi, jayfoad, ssahasra, arsenm Reviewed By: arsenm Pull Request: llvm/llvm-project#100637
Previously, building libc for AArch64 in `LLVM_LIBC_FULL_BUILD` mode would fail because no implementation of setjmp/longjmp was available. This was the only obstacle, so now a full AArch64 build of libc is possible. This implementation automatically supports PAC and BTI if compiled with the appropriate options. I would have liked to do the same for MTE stack tagging, but as far as I can see there's currently no predefined macro that allows detection of `-fsanitize=memtag-stack`, so I've left that one as a TODO. AAPCS64 delegates the x18 register to individual platform ABIs, and allows them to choose what it's used for, which may or may not require setjmp and longjmp to save and restore it. To accommodate this, I've introduced a libc configuration option. The default is on, because the only use of x18 I've so far encountered uses it to store information specific to the current stack frame (so longjmp does need to restore it), and this is also safe behavior in the default situation where the platform ABI specifies no use of x18 and it becomes a temporary register (restoring it to its previous value is no worse than any _other_ way for a function call to clobber it). But if a platform ABI needs to use x18 in a way that requires longjmp to leave it alone, they can turn the option off.
Initially, the LRU list stored all mapped entries with no distinction between the committed (non-madvise()'d) entries and decommitted (madvise()'d) entries. Now these two types of entries are separated into two lists, allowing future cache logic to branch depending on whether or not entries are committed or decommitted. Furthermore, the retrieval algorithm will prioritize committed entries over decommitted entries. Specifically, valid-fit, committed entries (not necessarily optimal-fit) are retrieved before optimal-fit, decommitted entries.
Ping @intel/dpcpp-clang-driver-reviewers @intel/dpcpp-cfe-reviewers @hdelan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK for driver
sycl/test-e2e/Regression/optimization_level_debug_info_specopt.cpp
Outdated
Show resolved
Hide resolved
49f4cee
to
e55eaf7
Compare
e55eaf7
to
a142ad3
Compare
OK with the |
@intel/llvm-gatekeepers I think this is ready for merge. The dev-igc failure are known limitation due to old igc dev json file, it passed in last test, we just did not merge this PR fast enough. :P CUDA failure is common failure too. |
/merge |
Tue 27 Aug 2024 03:10:05 PM UTC --- Start to merge the commit into sycl branch. It will take several minutes. |
Tue 27 Aug 2024 03:14:53 PM UTC --- Merge the branch in this PR to base automatically. Will close the PR later. |
LLVM: llvm/llvm-project@96e6255
SPIRV-LLVM-Translator: KhronosGroup/SPIRV-LLVM-Translator@e554401