- Mar 02, 2024
-
-
Michael Liao authored
- Add 'Init Undef Pass', which is target-independent now.
-
Florian Hahn authored
Exit early if MaxVF < MinVF. In that case, the loop body below will never get entered. Note that this adjusts the condition from MaxVF <= MinVF. If MaxVF == MinVF, vectorization may still be feasible (and the loop below gets entered). PR: https://github.com/llvm/llvm-project/pull/83283
-
yelleyee authored
Blank comment line afer \endverbatim malfunctions the doxygen parser. Check the "Detailed Description" section on https://llvm.org/doxygen/classllvm_1_1vfs_1_1RedirectingFileSystem.html Screenshot is attached below 
-
Simon Pilgrim authored
Equivalent to "umax(A, B) - umin(A, B)" This is just an initial correctness implementation, hopefully we can make this optimal in the future.
-
Simon Pilgrim authored
Shows cases where logical shifts of allsignbits values can be profitably converted to masks
-
Simon Pilgrim authored
-
Fangrui Song authored
g++ -flto has a diagnostic `-Wodr` about mismatched redeclarations, which even apply to `enum`. Fix #83529 Reviewers: thesamesam Reviewed By: thesamesam Pull Request: https://github.com/llvm/llvm-project/pull/83604
-
Jonas Devlieghere authored
The help output for `thread backtrace` specifies that you can pass -1 to `--count` to display all the frames. ``` -c <count> ( --count <count> ) How many frames to display (-1 for all) ``` However, that doesn't work: ``` (lldb) thread backtrace --count -1 error: invalid integer value for option 'c' ``` The problem is that we store the option value as an unsigned and the code to parse the string correctly rejects it. There's two ways to fix this: 1. Make `m_count` a signed value so that it accepts negative values and appease the parser. The function that prints the frames takes an unsigned so a negative value will just become a really large positive value, which is what the current implementation relies on. 2. Keep `m_count` unsigned and instead use 0 the magic value to show all frames. I don't really see a point in not showing any frames at all, plus that's already broken (`error: error displaying backtrace for thread: "0x0001"`). This patch implements (2) and at the same time improve the error reporting so that we print the invalid value when we cannot parse it. rdar://123881767 -
Joseph Huber authored
Summary: These functions were implemented via builtins that aren't acually supported. See https://godbolt.org/z/Wq6q6T1za. This caused the build to crash if they were included. Remove these and replace with correct implementations.
-
Alexey Bataev authored
-
Chelsea Cassanova authored
This commit adds the functionality to broadcast events using the `Debugger::eBroadcastProgressCategory` bit (https://github.com/llvm/llvm-project/pull/81169) by keeping track of these reports with the `ProgressManager` class (https://github.com/llvm/llvm-project/pull/81319). The new bit is used in such a way that it will only broadcast the initial and final progress reports for specific progress categories that are managed by the progress manager. This commit also adds a new test to the progress report unit test that checks that only the initial/final reports are broadcasted when using the new bit.
-
Alexey Bataev authored
Masked gather is very expensive operation and sometimes better to represent it as a serie of consecutive/strided loads + insertsubvectors sequences. Patch adds some basic estimation and if loads+insertsubvector is cheaper, decides to represent it in this way rather than masked gather. Reviewers: RKSimon Reviewed By: RKSimon Pull Request: https://github.com/llvm/llvm-project/pull/83481
-
sylvain-audi authored
This is in preparation for PR https://github.com/llvm/llvm-project/pull/82533. Here we Introduce a test for asan instrumentation where invalid code is output (see bug https://github.com/llvm/llvm-project/issues/64990) The `CHECK` lines are generated using `update_test_checks.py` script. The actual fix PR will udpate this test to highlight the changes in the generated code.
-
Changpeng Fang authored
WaveSizePredicate is copied from pseudo to real
-
Farzon Lotfi authored
This change adds lowering for HLSL's frac intrinsic to DXIL. This change should complete #70099
-
Alexey Bataev authored
If the graph incudes only single "gather" node with only extractelements/undefs, which used only in insertelement-based buildvector sequences, it still might be profitable to vectorize it. Need to rely on the cost model, not throw this graph away immediately. Reviewers: RKSimon Reviewed By: RKSimon Pull Request: https://github.com/llvm/llvm-project/pull/83581
-
Mircea Trofin authored
Similar to PR #83364.
-
Francesco Petrogalli authored
-
Slava Zakharin authored
For denormals we have to account for the exponent coming from the significand.
-
Farzon Lotfi authored
hlsl_intrinsics.h - add the round api DXIL.td add the llvm intrinsic to DXIL lowering mapping This change reuses llvm's existing intrinsic `__builtin_elementwise_round`\ `int_round` This change implements: #70077
-
Jay Foad authored
-
Kirill Stoimenov authored
Broke a build bot: https://lab.llvm.org/buildbot/#/builders/124/builds/9846 This reverts commit e7c3cd24.
-
Craig Topper authored
We can support these by changing the sext promotion to -zext(-C) and replacing a sgt check with ugt. Reframing the logic in terms of how the unsigned range are affected. More comments in the patch. The new cases check isLegalAddImmediate to avoid some regressions in lit tests.
-
Timm Bäder authored
If they are captured by value.
-
Fangrui Song authored
[Sema] -Wpointer-bool-conversion: suppress lambda function pointer conversion diagnostic during instantiation (#83497) I have seen two internal pieces of code that uses a template type parameter to accept any callable type (function pointer, std::function, closure type, etc). The diagnostic added in #83152 would require adaptation to the template, which is difficult and also seems unnecessary. Example: ```cpp template <typename... Ts> static bool IsFalse(const Ts&...) { return false; } template <typename T, typename... Ts, typename = typename std::enable_if<std::is_constructible<bool, const T&>::value>::type> static bool IsFalse(const T& p, const Ts&...) { return p ? false : true; } template <typename... Args> void Init(Args&&... args) { if (IsFalse(absl::implicit_cast<const typename std::decay<Args>::type&>( args)...)) { // A callable object convertible to false is either a null pointer or a // null functor (e.g., a default-constructed std::func... -
Joseph Huber authored
Summary: These currently go to `lib/`, but if the user has `lib/<triple>` they should go there because it's always searched first.
-
Daniil Kovalev authored
Emit `__ptrauth`-qualified types as `DIDerivedType` metadata nodes in IR with tag `DW_TAG_LLVM_ptrauth_type`, baseType referring to the type which has the qualifier applied, and the following parameters representing the signing schema: - `ptrAuthKey` (integer) - `ptrAuthIsAddressDiscriminated` (boolean) - `ptrAuthExtraDiscriminator` (integer) - `ptrAuthIsaPointer` (boolean) - `ptrAuthAuthenticatesNullValues` (boolean) Co-authored-by:Ahmed Bougacha <ahmed@bougacha.org>
-
Jonas Devlieghere authored
This patch adds support to sort the symbol table by size. The command already supports sorting and it already reports sizes. Sorting by size helps diagnosing size issues. rdar://123788375
-
Martin Wehking authored
Add an assertion before an access of ValMappings to ensure that it is within the array bounds. Silence a static analyzer warning through this.
-
- Mar 01, 2024
-
-
Joseph Huber authored
Summary: We still use this bitcode library in one case, the NVPTX non-LTO build. The patch updated the search paths to treat it the same as other libraries, which unintentionally prioritized system paths over LIBRARY_PATH which is generally not correct. Also we had a test that relied on system state so remove that.
-
Vinayak Dev authored
Copy constructors can have initialization with side effects, and thus clang should not emit a warning when -Wunused-variable is used in this context. Currently however, a warning is emitted. Now, compilation happens without warnings. Fixes #79518
-
Mats Petersson authored
This adds the parsing (and unparse) of the compiler drective assume_aligned. The compiler will issue a warning that the directive is ignored.
-
Erich Keane authored
The first sentence says: If a template-parameter of a class template, variable template, or alias template has a default template-argument, each subsequent template-parameter shall either have a default template-argument supplied or be a template parameter pack. However, we were only testing for "not a function function template", and referring to an older version of the standard. As far as I can tell, CWG2032 added the variable-template, and the alias-template pre-dates the standard on github. This patch started as a bug fix for #83461 , but ended up fixing a number of similar cases, so those are validated as well.
-
Timm Bäder authored
getCXXRecordType() on those types does not return the type we need. Use getPointeeCXXRecordType() instead in those cases.
-
Erich Keane authored
Like the last few patches, branching in/out of a compute construct is not valid. This patch implements checking to ensure that a 'case' or 'default' statement cannot jump into a Compute Construct (in the style of a duff's device!).
-
Timm Bäder authored
Operator calls pass their instance member explicitly, so remove it from NumParams when calling a variadic function
-
Timm Bäder authored
All three of these need to be non-null.
-
Timm Bäder authored
The warnings or errors are emitted in Sema, but we still need to do the operation and provide a reasonable result.
-
Benjamin Kramer authored
This was tripping off STL implementations that check for it (like libc++ with debug checking). The goal of this sort is to cluster operations on the same values so preserve that property but sort everything else based on the existing numbering.
-
Alexey Bataev authored
-