- Feb 29, 2024
-
-
David Spickett authored
If you run cmake without pexpect installed it errors as expected. However, if you just `pip install pexpect` and cmake again it still doesn't find it because it cached the result of the search. Unset the result before looking for pexpect. So that this works as expected: cmake ... pip3 install pexpect cmake ...
-
S. Bharadwaj Yadavalli authored
* Leverage TableGen record descriptions of LLVM or DirectX intrinsics that can be directly mapped in DXIL Ops TableGen description. As a result, such DXIL Ops can be succinctly described without duplication. DXILEmitter backend can derive the properties of DXIL Ops accordingly. * Ensured that corresponding lit tests pass.
-
Vinayak Dev authored
Adds diagnostics for lambda expressions being cast to boolean values, which results in the expression always evaluating to true. Earlier, Clang allowed compilation of such erroneous programs, but now emits a warning through `-Wpointer-bool-conversion`. Fixes #82512
-
Erich Keane authored
Compute Constructs do not permit jumping in/out of them, so this patch implements this for 'goto' as a followup to the other patches that have done the same thing. It does this by modifying the JumpDiagnostics to work with this, plus setting the function to needing jump diagnostics if we discover a goto or label inside of a Compute Construct.
-
Dani authored
Add the SignReturnAddressScopeKind to the BranchProtectionInfo class.
-
Benjamin Maxwell authored
-
Jeremy Morse authored
Removing debug-intrinsics requires that we always insert with an iterator, not with an instruction position. To enforce that, we need to eliminate the `Instruction *` taking functions. It's safe to leave the insert-at-end-of-block functions as the intention is clear for debug info purposes (i.e., insert after both instructions and debug-info at the end of the function). This patch demonstrates how that needs to happen. At a variety of call-sites to the `CreateNeg` constructor we need to consider: * Has this instruction been selected because of the operation it performs? In that case, just call `getIterator` and pass an iterator in. * Has this instruction been selected because of it's position? If so, we need to keep the iterator identifying that position (see the 3rd hunk changing Reassociate.cpp, although it's coincidentally not debug-info significant). This also demonstrates what we'll try and do with the constructor methods going forwards: have one fully explicit set of parameters including iterator, and another with default-arguments where the block-to-insert-into argument defaults to nullptr / no-position, creating an instruction that hasn't been inserted yet.
-
Petar Avramovic authored
Basic implementation of lane mask merging for GlobalISel. Lane masks on GlobalISel are registers with sgpr register class and S1 LLT - required by machine uniformity analysis. Implements equivalent of lowerPhis from SILowerI1Copies.cpp in: patch 1: https://github.com/llvm/llvm-project/pull/75340 patch 2: https://github.com/llvm/llvm-project/pull/75349 patch 3: https://github.com/llvm/llvm-project/pull/80003 patch 4: https://github.com/llvm/llvm-project/pull/78431 patch 5: is in this commit: AMDGPU/GlobalISelDivergenceLowering: constrain incoming registers Previously, in PHIs that represent lane masks, incoming registers taken as-is were not selected as lane masks. Such registers are not being merged with another lane mask and most often only have S1 LLT. Implement constrainAsLaneMask by constraining incoming registers taken as-is with lane mask attributes, essentially transforming them to lane masks. This is final step in having PHI instructions created in this pass to be fully instruction-selected.
-
David Green authored
This extends the known bits for extending loads which have range metadata, handling the range metadata on the original memory type, extending that to the correct BitWidth.
-
Joseph Huber authored
Summary: These hacks can be removed now that https://github.com/llvm/llvm-project/pull/83376 fixed the underlying problem.
-
Florian Hahn authored
getBlockInMask now simply returns an already computed mask, hence there's no need to adjust the builder insert point.
-
Simon Pilgrim authored
Allows us to peek through the F16 conversion nodes, mainly to simplify shuffles An easy part of #83414
-
Simon Pilgrim authored
-
Nicolai Hähnle authored
This came up on Discourse. See: https://discourse.llvm.org/t/module-verification-failed-instruction-does-not-dominate-all-uses/77207/
-
Jay Foad authored
Following on from #83118, this adds aliases for the "rtn" forms of these instructions. The fact that they were missing from SP3 was an oversight which has been fixed now.
-
Mitch Phillips authored
This reverts commit f0484e08. Reason: Broke the sanitizer build bots. See the github comments on https://github.com/llvm/llvm-project/commit/f0484e08bdcf64106592808e3ca80404937b4657 for more information
-
Samuel Tebbs authored
Some MIR and IR tests include checks for register class IDs, which are unnecessary since the register class name is also checked for and that doesn't change when new classes are added. This patch replaces the hard-coded register class ID checks with regexes so they don't have to be updated every time a new class is added.
-
Jay Foad authored
-
Alexander Belyaev authored
it changes behaviour for debug vs release builds.
-
Matt Arsenault authored
Follow the 2019 rules and order -0 as less than +0 and +0 as greater than -0. As currently defined this isn't required for the intrinsics, but is a better QoI. This will avoid the workaround in libc added by #83158
-
Sudharsan Veeravalli authored
Missed adding a . in the test check
-
Simon Pilgrim authored
[X86] getFauxShuffleMask - handle insert_vector_elt(bitcast(extract_vector_elt(x))) shuffle patterns If the bitcast is between types of equal scalar size (i.e. fp<->int bitcasts), then we can safely peek through them Fixes #83289
-
Simon Pilgrim authored
-
Benjamin Maxwell authored
-
Alexander Belyaev authored
expand-arith-ops.mlir fails on windows, but this is unrelated to this PR
-
Chen Zheng authored
-
Tomas Matheson authored
This reverts commit 634b0243. Failing EXPENSIVE_CHECKS builds with "undefined physical register".
-
Sudharsan Veeravalli authored
We weren't checking to see if the partial_path was empty before adding completions and this led to crashes when the class object and a variable both start with the same substring. Fixes [#81536](https://github.com/llvm/llvm-project/issues/81536 ) --------- Co-authored-by:
Michael Buch <michaelbuch12@gmail.com>
-
kadir çetinkaya authored
-
Guillaume Chatelet authored
-
Matt Arsenault authored
-
Timm Bäder authored
-
jeanPerier authored
Preliminary patch for https://github.com/llvm/llvm-project/pull/83285 to turn polymorphism on by default. Will give a few days warning for people to remove the flag from their workflow using flang-new. Also easier to revert if issues with the gfortran test suites.
-
Dominik Wójt authored
Picolibc does not provide the clock_gettime function nor the "rt" library. check_library_exists was invalidly detecting the "rt" library due to cmake issue present, when cross-compiling[1]. This resulted with "chrono.cpp" trying to link to the "rt" library and following error: unable to find library from dependent library specifier: rt [1] https://gitlab.kitware.com/cmake/cmake/-/issues/18121 -
Shih-Po Hung authored
- Make `andi` cost 1 in SK_Broadcast - Query the cost of VID_V, VRSUB_VX/VRSUB_VI which would scale with LMUL
-
Animesh Kumar authored
This patch fixes the #67002 ([OpenMP][Clang] Scan Directive not supported for Generic types). It disables the Sema checks/analysis that are run on the helper arrays which go into the implementation of the `omp scan` directive until the template instantiation happens. Grateful to @alexey-bataev for suggesting these changes.
-
SunilKuravinakop authored
Modifying clang/lib/CodeGen/CGStmtOpenMP.cpp to accept multiple `init` clauses with `interop` directive. --------- Co-authored-by: Sunil Kuravinakop
-
Craig Topper authored
Document that we don't use the double compare and swap instructions due to ABI concerns.
-
Dávid Ferenc Szabó authored
Also combine (X != 0) | (Y != 0) -> (X | Y) != 0
-
Jonas Devlieghere authored
This reverts commit 79330098 as pexpect is not available on any of the GreenDragon bots.
-