- Sep 27, 2023
-
-
rsundahl authored
Some entrypoints supporting LLDB process introspection were not being forwarded to asan_abi_foo() stable ABI entrypoints which effectively dead-ended them in NOPs that could not be implemented by Stable ABI. rdar://115974403 Reviewed By: wrotki, vitalybuka, MaskRay Differential Revision: https://reviews.llvm.org/D159545
-
Vitaly Buka authored
This will affect only Darwin, as the rest alredy do that. Reviewed By: rsundahl Differential Revision: https://reviews.llvm.org/D156385
-
Takuya Shimizu authored
This patch makes clang diagnose extensive cases of consteval if and is_constant_evaluated usage that are tautologically true or false. This introduces a new IsRuntimeEvaluated boolean flag to Sema::ExpressionEvaluationContextRecord that means the immediate appearance of if consteval or is_constant_evaluated are tautologically false(e.g. inside if !consteval {} block or non-constexpr-qualified function definition body) This patch also pushes new expression evaluation context when parsing the condition of if constexpr and initializer of constexpr variables so that Sema can be aware that the use of consteval if and is_consteval are tautologically true in if constexpr condition and constexpr variable initializers. BEFORE this patch, the warning for is_constant_evaluated was emitted from constant evaluator. This patch moves the warning logic to Sema in order to diagnose tautological use of is_constant_evaluated in the same way as consteval if. This patch separates initializer evaluation context from InitializerScopeRAII. This fixes a bug that was happening when user takes address of function address in initializers of non-local variables. Fixes https://github.com/llvm/llvm-project/issues/43760 Fixes https://github.com/llvm/llvm-project/issues/51567 Reviewed By: cor3ntin, ldionne Differential Revision: https://reviews.llvm.org/D155064 -
Vitaly Buka authored
Followup to #67491
-
Andrew Browne authored
Bug introduced in https://reviews.llvm.org/D153775
-
Michael Maitland authored
common.itertests has useful functionality such as skipping test case if it starts with UTC_AVOID comment string. It also does some of the functionality, such as skipping test file pattern if not found, that was duplicated by update_mca_test_checks. This patch uses this function to take advantage of extra behavior and remove duplication.
-
Tom Stellard authored
This prevent users from being subscribed automatically to draft pull requests.
-
Nick Desaulniers authored
I accidentally introduced this in commit 330fa7d2 ("[TargetLowering] Deduplicate choosing InlineAsm constraint between ISels (#67057)") Fix forward.
-
Vitaly Buka authored
__sanitizer_symbolize_frame is used by HWASAN for use after scope reports.
-
Nishant Patel authored
This PR is a breakdown of the big PR https://github.com/llvm/llvm-project/pull/65539 which enables intel gpu integration. In this PR we pass hostShared flag to runtime wrappers (required by SyclRuntimeWrappers which will come in subsequent PR) to indicate if the allocation is done on host shared gpu memory or device only memory.
-
Nick Desaulniers authored
I'm looking to update this test; pre-processing it with update_llc_test_checks.py makes it clearer what I'm changing in #20571.
-
kyulee-com authored
`ignoreAutoLinkOptions` checks run both in `parseLCLinkerOptions` and `resolveLCLinkerOptions`. Convert the latter check to an assert.
-
Craig Topper authored
Not sure if xor is sticking around or not. I see and/or was already removed. This changes the error messages and makes one error message more accurate.
-
Mehdi Amini authored
This can lead to build failure when a project is customizing this flag for TableGen. This seems to have been copy/pasted from TableGen CMake functions.
-
Owen Pan authored
Fixed #67407.
-
Jakub Kuderski authored
- Now that the KHR coop matrix implementation is robust, switch the gpu conversion pass to default to it. - Use a populate function for MMA to coop matrix type conversions. This makes the API surface area smaller.
-
Owen Pan authored
Fixes #66857.
-
Joseph Huber authored
Summary: Currently, we use the RPC server to respond to different ports which each contain a request from some client thread wishing to do work on the server. This scan starts at zero and continues until its checked all ports at which point it resets. If we find an active port, we service it and then restart the search. This is bad for two reasons. First, it means that we will always bias the lower ports. If a thread grabs a high port it will be stuck for a very long time until all the other work is done. Second, it means that the `handle_server` function can technically run indefinitely as long as the client is always pushing new work. Because the OpenMP implementation uses the user thread to service the kernel, this means that it could be stalled with another asyncrhonous device's kernels. This patch addresses this by making the server restart at the next port over. This means we will always do a full scan of the ports before quitting.
-
Joseph Huber authored
Summary: The RPC server is responsible for providing host services from the GPU. Generally, the client running on the GPU will spin in place until the host checks the server. Inside the runtime, we elected to have the user thread do this checking while it would be otherwise waiting for the kernel to finish. However, for Nvidia this caused problems when offloading to a target region that requires a copy back. This is caused by the implementation of `dataRetrieve` on Nvidia. We initialize an asynchronous copy-back on the same stream that the kernel is running on. This creates an implicit sync on the kernel to finish before we issue the D2H copy, which we then wait on. This implicit sync happens inside of the CUDA runtime. This is problematic when running the RPC server because we need someone to check the RPC server. If no one checks the RPC server then the kernel will never finish, meaning that the memcpy will never be issued ...
-
Yinying Li authored
For all the mlir tests (except for roundtrip_coding.mlir), change the check test to use general form of encoding `#sparse_tensor.encoding<{{{.*}}}>` instead of actual encoding such as `#sparse_tensor.encoding<{ lvlTypes = [ "compressed", "singleton" ] }>`. -
Alex Langford authored
To make DWARFDebugAbbrev more amenable to error-handling, I would like to change the return type of DWARFDebugAbbrev::parse from `void` to `Error`. Users of DWARFDebugAbbrev can consume the error if they want to use all the valid DWARF that was parsed (without worrying about the malformed DWARF) or stop when the parse fails if the use case needs to be strict. This also will bring the LLVM DWARFDebugAbbrev interface closer to LLDB's which opens up the opportunity for LLDB adopt the LLVM implementation with minimal changes.
-
MaheshRavishankar authored
[mlir][TilingInterface] NFC code changes separated out from introduction of `scf::tileUsingSCFForallop`. (#67081) This patch contains NFC changes that are precursor to the introduction of `scf::tileUsingSCFForallOp` method introduced in https://github.com/llvm/llvm-project/pull/67083.
-
Valentin Clement (バレンタイン クレメン) authored
Same change than #67368 but for the reduction recipe.
-
Aart Bik authored
Makes outer level dense, so we get the common block-column index way of storing blocks. Also gives an example of a dim2lvl/lvl2dim map.
-
Piotr Zegar authored
Removing leftover AST dump() from a llvmlibc/ImplementationInNamespaceCheck.cpp
-
Joseph Huber authored
Summary: This enum previously manually specified the value. This just made it unnecessarily difficult to add new ones without changing everything. This patch also makes it compatible with C by removing the `:` annotation and instead using the `LAST` method.
-
Vitaly Buka authored
I am not sure why it's done this way, but it's the same from the first commit, with no explanation.
-
Nico Weber authored
Ports https://reviews.llvm.org/D106293 to bitcode, or https://github.com/llvm/llvm-project/commit/bd448f01a6 from ELF to MachO. See also #59162 for some vaguely related discussion.
-
Joseph Huber authored
Summary: This variable needs a reserved name starting with `__`. It was mistakenly changed with a mass replace. It happened to work because the tests still picked up the associated symbol, but it just became a bad name because it's not reserved anymore.
-
Vladislav Dzhidzhoev authored
RFC https://discourse.llvm.org/t/rfc-dwarfdebug-fix-and-improve-handling-imported-entities-types-and-static-local-in-subprogram-and-lexical-block-scopes/68544 Similar to imported declarations, the patch tracks function-local types in DISubprogram's 'retainedNodes' field. DwarfDebug is adjusted in accordance with the aforementioned metadata change and provided a support of function-local types scoped within a lexical block. The patch assumes that DICompileUnit's 'enums field' no longer tracks local types and DwarfDebug would assert if any locally-scoped types get placed there. Reviewed By: jmmartinez Differential Revision: https://reviews.llvm.org/D144006
-
Alexey Bataev authored
scheduling, is previously vectorized. If the main node was vectorized already, but does not require scheduling, we still can try to vectorize it in this new node instead of gathering.
-
Jacques Pienaar authored
This does not decide on any specific bytecode version or structure, but adds the scaffolding to make it easy to add.
-
Craig Topper authored
-
Siva Chandra authored
The name __llvm_libc was mass-replaced with LIBC_NAMESPACE which ended up changing the "__llvm_libc" prefix of the delete operator linkage names to "LIBC_NAMESPACE". This change corrects it by changing the namespace prefix to "__llvm_libc_<version info>".
-
Mehdi Amini authored
This is a follow-up to 8c2bff1a which lazy-initialized the diagnostic and removed the need to dynamically abandon() an InFlightDiagnostic. This further simplifies the code to not needed to return a reference to an InFlightDiagnostic and instead eagerly emit errors. Also use `emitError` as name instead of `getDiag` which seems more explicit and in-line with the common usage.
-
Ramkumar Ramachandra authored
update_analyze_test_checks.py currently outputs a warning when updating a script with the run line: $ opt -passes='print<scalar-evolution>' saying that the script doesn't support its output, when it indeed does, as evidenced by several tests in test/Analysis/ScalarEvolution generated by this script. There is even a test for update_analyze_test_checks that makes sure that SCEV output is supported. Hence, squelch the warning. While at it, rename the update_analyze_test_checks test from basic.ll to a more explicit scev.ll.
-
Craig Topper authored
-
jeanPerier authored
Currently flang-new -g is failing when compiling code containing a call in a macro to a function defined in the same file. The verification added in https://reviews.llvm.org/D157447 is valid, flang lowering was failing to propagate location information in code from macro expansion because GetSourcePositionRange does not work with them (it fails to come with an end location), but we do not need a range for the MLIR location, only the start. Use GetSourcePosition instead that works with code from macro expansion. Note that the source location is the one of the statement where the macro appeared, if needed some FusedLocation could be later built to keep a link to the macro location in the debug info.
-
Nishant Patel authored
This PR is a breakdown of the big PR #65539 which enables intel gpu integration. In this PR we pass count of parameters and size of gpu binary to runtime wrappers since the SyclRuntimeWrappers (which will come in subsequent PR) requires the spirv size for compilation and also the number of parameters to iterate over the params.
-