- Jun 14, 2023
-
-
Chuanqi Xu authored
Close https://github.com/llvm/llvm-project/issues/61940. The root cause is that clang will generate vtable as strong symbol now even if the corresponding class is defined in other module units. After I check the wording in Itanium ABI, I find this is not inconsistent. Itanium ABI 5.2.3 (https://itanium-cxx-abi.github.io/cxx-abi/abi.html#vague-vtable) says: > The virtual table for a class is emitted in the same object containing > the definition of its key function, i.e. the first non-pure virtual > function that is not inline at the point of class definition. So the current behavior is incorrect. This patch tries to address this. Also I think we need to do a similar change for MSVC ABI. But I don't find the formal wording. So I don't address this in this patch. Reviewed By: rjmccall, iains, dblaikie Differential Revision: https://reviews.llvm.org/D150023
-
Fabio D'Urso authored
Reviewed By: Chia-hungDuan Differential Revision: https://reviews.llvm.org/D152690
-
Jonas Devlieghere authored
Remove trailing whitespace and fix formatting.
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
When hitting an lldbassert in a non-assert build, we emit a blurb including the assertion, the triggering file and line and a pretty backtrace leading up to the issue. Currently, this is all printed to stderr. That's fine on the command line, but when used as library, for example from Xcode, this information doesn't make it to the user. This patch uses the diagnostic infrastructure to report LLDB asserts as diagnostic events. The patch is slightly more complicated than I would've liked because of layering. lldbassert is part of Utility while the debugger diagnostics are implemented in Core. Differential revision: https://reviews.llvm.org/D152866
-
Valentin Clement authored
genObjectList is not used anymore. Just remove it. Depends on D151975 Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D151976
-
Valentin Clement authored
Add parsing supprot for dim in gang clause Depends on D151971 Reviewed By: razvanlupusoru, jeanPerier Differential Revision: https://reviews.llvm.org/D151972
-
Valentin Clement authored
Use the new firstprivate representation on the comupte construct. Reviewed By: razvanlupusoru, jeanPerier Differential Revision: https://reviews.llvm.org/D151975
-
Kelvin Li authored
The failure is due to mismatch of the SmallVector parameter and the return when built by gcc.
-
Nico Weber authored
-
Nico Weber authored
-
Craig Topper authored
This reverts commit d0189584. Build failures have been reported in the Linux kernel.
-
Noah Goldstein authored
If `Mask` and `Amt` are not constants and `binop1` and `binop2` are the same we can transform to: `(binop (lshift (binop X, Y), Amt), Mask)` If `binop` is `add`, `lshift` must be `shl`. If `Mask` and `Amt` are constants `C` and `C1` respectively. We can transform to: `(lshift1 (binop1 (binop2 X, (inv_lshift1 C, C1), Y)), C1)` Saving an instruction IFF: `lshift1` is same opcode as `lshift2` Either `bitwise1` and/or `bitwise2` is `and`. Proofs(1/2): https://alive2.llvm.org/ce/z/BjN-m_ Proofs(2/2): https://alive2.llvm.org/ce/z/bZn5QB This is to help fix the regression caused in D151807 Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D152568
-
Noah Goldstein authored
Differential Revision: https://reviews.llvm.org/D152567
-
Matt Arsenault authored
For some reason we used to only handle address space aliasing through chaining a target specific AA pass. We need never-fail simple queries in order to lower memmove intrinsics based purely on the address spaces. I also think it would be better if BasicAA checked this, rather than relying on the target AA passes. Currently we go through the more expensive AA analyses before getting to the trivial address space checks.
-
Matt Arsenault authored
This made GET_FPENV unusable since the DAG builder would always emit the mem version.
-
Philip Reames authored
Making the code a bit easier to follow, so that merging an upcoming change is more straight forward.
-
Diego Caballero authored
For now, only elementwise operations are supported. Operations that perform any kind of data permutation require changes in the representation of scalable dimensions in VectorType. Differential Revision: https://reviews.llvm.org/D152599
-
Vasileios Porpodas authored
ShuffleBuilder generates a zero mask here: `[[TMP6:%.*]] = shufflevector <2 x float> [[TMP3]], <2 x float> poison, <4 x i32> zeroinitializer` But the correct mask is `0,0,1,1`, or we should have reused `TMP4`. Differential Revision: https://reviews.llvm.org/D152868
-
Johannes Doerfert authored
For a lightweight pass we do not want to instantiate or use the MustBeExecutedContextExplorer. This simply allows such a configuration. While at it, the explorer is now allocated with the bump allocator.
-
Philip Reames authored
This is the first patch in a series to change how we represent tail agnostic, tail undefined, and tail undisturbed operations. In current code, we tend to use an unsuffixed pseudo for undefined (despite calling it TA most places in code), and the _TU form for both agnostic and undisturbed (via the policy operand). The key observation behind this patch is that we can represent tail undefined via a pseudo with a passthrough operand if that operand is IMPLICIT_DEF (aka undef). We already have a few instances of this in tree - see vmv.s.x and vslide* - but we can do this more universally. Once complete, we will be able to delete roughly ~1/3 of our vector pseudo classes. A bit more information on the overall goal can be found in this discourse post: https://discourse.llvm.org/t/riscv-transition-in-vector-pseudo-structure-policy-variants/71295. This patch doesn't actually remove the legacy unsuffixed pseudo as there's still some path from intrinsic lowering which uses it. (I have not yet located it.) This also means we don't have to modify any of the lookup tables which makes the migration simpler. We can defer deleting the tables and pseudos until one final change once all the instructions have been migrated. There are a couple of regressions in the tests. At first, these concerned me, but it turns out that all of them are differences in expansion of a single source level instruction. I think we can safely ignore this for the moment. I did explore changing the handling of IMPLICIT_DEF in ScheduleDAG, but that causes an absolutely *massive* test diff with minimal profit. I really don't think it's worth doing. Differential Revision: https://reviews.llvm.org/D152380
-
Johannes Doerfert authored
If we had an unknown access but already some prior knowledge (known), we could have ended up ignoring the unknown access all together. The problem is that we track unknown not as all locations but separately. This patch bridges the gap and expands the unknown bits to "all bits" when we add an access. Fixes: https://github.com/llvm/llvm-project/issues/63291
-
-
Craig Topper authored
SiFive's x280 CPU has a vector unit that VLEN/2 bits wide. This means that LMUL=1 operations take 2 to process all VLEN bits. This patch adds a DLenFactor tuning parameter and applies it to TuneSiFive7. getLMULCost has been updated to use this factor in its calculations. I've added an x280 command line to one cost model test to demonstrate the effect. Reviewed By: arcbbb Differential Revision: https://reviews.llvm.org/D152421
-
Alex Langford authored
[lldb][NFCI] Remove StructuredData::Dictionary::GetValueForKeyAsString overloads involving ConstString In an effort to keep the ConstString StringPool small, I plan on removing use of ConstString in StructuredData. The only class that really uses it is StructuredData::Dictionary. This one was fairly easy to remove, I plan on removing the others in follow-up changes. Differential Revision: https://reviews.llvm.org/D152597
-
Dave Lee authored
Existing callers of `GetChildAtIndex` pass true for can_create. This change makes true the default value, callers don't have to pass an opaque true. See also D151966 for the same change to `GetChildMemberWithName`. Differential Revision: https://reviews.llvm.org/D152031
-
Pranav Kant authored
-
Alex Langford authored
Most users of this stick it into a StringRef. The one user that doesn't just tries to get the length out of it, which we can precompute by putting it in a constexpr StringLiteral. Differential Revision: https://reviews.llvm.org/D151951
-
Wu, Yingcong authored
If `path` is null, `user_path` must also be null. With the current code path, the message of explicitly disabling symbolizer will never be reported. This patch adjusts the if-else structure to make that message can be reported. Reviewed By: cchen15, MaskRay Differential Revision: https://reviews.llvm.org/D148907
-
Artem Dergachev authored
It doesn't make sense for this warning to warn about things that don't impact runtime behavior.
-
Keith Smiley authored
This is a new load command first supported in Xcode 15's tools Differential Revision: https://reviews.llvm.org/D152847
-
Louis Dionne authored
This makes __debug_three_way_comp consistent with __debug_less and in particular gets rid of a potential use-after-move caused by the use of std::forward. In the previous version of the code, we would call `__do_compare_assert` after forwarding the arguments into the comparator, which could end up using the arguments after they've been moved from. This also simplifies how we call `__do_compare_assert` by using `if constexpr` and adds a missing test for proxy iterators in lexicographical_compare_three_way, which could have found this issue. Differential Revision: https://reviews.llvm.org/D152753
-
Anshil Gandhi authored
Allow computing size of interposable or externally initializable global variables. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D152145
-
Krzysztof Parzyszek authored
-
Vitaly Buka authored
-
Valentin Clement authored
Make the keyword `loop` optional for the end driective on combined construct. This done to extend compatibility with other compiler that allow this. Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D151856
-
Anton Rydahl authored
modified: flang/docs/GettingInvolved.md Reviewed By: NimishMishra Differential Revision: https://reviews.llvm.org/D152466
-
Med Ismail Bennani authored
This reverts commit 4177b490, since I landed it by mistake.
-
Med Ismail Bennani authored
This patch should address the failure of TestStackCoreScriptedProcess that is happening specifically on x86_64. It turns out that in 1370a1cb , I changed the way we extract integers from a `StructuredData::Dictionary` and in order to get a stop info from the scripted process, we call a method that returns a `SBStructuredData` containing the stop reason data. TestStackCoreScriptedProcess` was failing specifically on x86_64 because the stop info dictionary contains the signal number, that the `Scripted Thread` was trying to extract as a signed integer where it was actually parsed as an unsigned integer. That caused `GetValueForKeyAsInteger` to return the default value parameter, `LLDB_INVALID_SIGNAL_NUMBER`. This patch address the issue by extracting the signal number with the appropriate type and re-enables the test. Signed-off-by:
Med Ismail Bennani <ismail@bennani.ma>
-
Med Ismail Bennani authored
This patch improves the way the user can save the process state into a corefile by adding completion handler that would provide tab completion for the corefile path and also resolves the corefile path to expand relative path. Differential Revision: https://reviews.llvm.org/D152842 Signed-off-by:
Med Ismail Bennani <ismail@bennani.ma>
-