This project is mirrored from https://github.com/llvm-doe-org/llvm-project.git.
Pull mirroring updated .
- 23 Jan, 2022 21 commits
-
-
Carlos Galvez authored
Currently the fix hint is hardcoded to gsl::at(). This poses a problem for people who, for a number of reasons, don't want or cannot use the GSL library (introducing a new third-party dependency into a project is not a minor task). In these situations, the fix hint does more harm than good as it creates confusion as to what the fix should be. People can even misinterpret the fix "gsl::at" as e.g. "std::array::at", which can lead to even more trouble (e.g. when having guidelines that disallow exceptions). Furthermore, this is not a requirement from the C++ Core Guidelines. simply that array indexing needs to be safe. Each project should be able to decide upon a strategy for safe indexing. The fix-it is kept for people who want to use the GSL library. Differential Revision: https://reviews.llvm.org/D117857
-
Simon Pilgrim authored
Noticed while looking at D117983 - we miss some parity patterns with/without popcnt
-
Arthur O'Dwyer authored
https://cplusplus.github.io/LWG/issue3437 Differential Revision: https://reviews.llvm.org/D117963
-
Arthur O'Dwyer authored
Differential Revision: https://reviews.llvm.org/D117956
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Non-POSIX target builds don't use the file descriptor
-
Simon Pilgrim authored
The pointers are dereferenced immediately, so assert the cast is correct instead of returning nullptr
-
Simon Pilgrim authored
The pointer is dereferenced immediately, so assert the cast is correct instead of returning nullptr
-
Simon Pilgrim authored
The pointer is dereferenced immediately, so assert the cast is correct instead of returning nullptr
-
Simon Pilgrim authored
The pointer is dereferenced immediately, so assert the cast is correct instead of returning nullptr
-
Simon Pilgrim authored
The pointer is dereferenced immediately, so assert the cast is correct instead of returning nullptr
-
Simon Pilgrim authored
Simplifies logic and helps the static analyzer correctly check for nullptr dereferences
-
Simon Pilgrim authored
The pointers are always dereferenced immediately, so assert the cast is correct instead of returning nullptr
-
Simon Pilgrim authored
Noticed on D86578 - several of the test cases were missing checks as they didn't start on a newline so the update script couldn't see them
-
Alex Brachet authored
Implements `--update-section` which is currently supported for ELF for Mach-O as well Reviewed By: alexander-shaposhnikov Differential Revision: https://reviews.llvm.org/D117281
-
Craig Topper authored
Removes moves from GPR to FPR and improves f64 tests on RV32. Differential Revision: https://reviews.llvm.org/D117969
-
Craig Topper authored
Instead of having a test for i32 XLen and i64 XLen, use sed to replace iXLen with i32/i64 before running llc. This change updates tests for intrinsics that operate exclusively on mask values. It removes over 4000 lines worth of test content. More merging will come in future changes. Differential Revision: https://reviews.llvm.org/D117968
-
eopXD authored
Extensions affected: +v, +zve*, +zvl* Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D117860
-
Joe Loser authored
Implement LWG3549 by making `view_interface` not inherit from `view_base`. Types are still views if they have a public and unambiguous derivation from `view_interface`, so adjust the `enable_view` machinery as such to account for that. Differential Revision: https://reviews.llvm.org/D117714
-
Phoebe Wang authored
MSVC currently doesn't support 80 bits long double. ICC supports it when the option `/Qlong-double` is specified. Changing the alignment of f80 to 16 bytes so that we can be compatible with ICC's option. Reviewed By: rnk, craig.topper Differential Revision: https://reviews.llvm.org/D115942
-
Dave authored
We have an page dedicated to compliation databases including various ways to generate them, but we don't mention that clang has a built in method to do this. This addresses that. Reviewed By: joerg Differential Revision: https://reviews.llvm.org/D116882
-
- 22 Jan, 2022 16 commits
-
-
Malhar Jajoo authored
This patch allows Openmp runtime atomic functions operating on x87 high-precision to be present only in Openmp runtime for x86 architectures The functions affected are: __kmpc_atomic_10 __kmpc_atomic_20 __kmpc_atomic_cmplx10_add __kmpc_atomic_cmplx10_div __kmpc_atomic_cmplx10_mul __kmpc_atomic_cmplx10_sub __kmpc_atomic_float10_add __kmpc_atomic_float10_div __kmpc_atomic_float10_mul __kmpc_atomic_float10_sub __kmpc_atomic_float10_add_fp __kmpc_atomic_float10_div_fp __kmpc_atomic_float10_mul_fp __kmpc_atomic_float10_sub_fp __kmpc_atomic_float10_max __kmpc_atomic_float10_min Differential Revision: https://reviews.llvm.org/D117473
-
John Ericson authored
This is the original patch in my GNUInstallDirs series, now last to merge as the final piece! It arose as a new draft of D28234. I initially did the unorthodox thing of pushing to that when I wasn't the original author, but since I ended up - Using `GNUInstallDirs`, rather than mimicking it, as the original author was hesitant to do but others requested. - Converting all the packages, not just LLVM, effecting many more projects than LLVM itself. I figured it was time to make a new revision. I have used this patch series (and many back-ports) as the basis of https://github.com/NixOS/nixpkgs/pull/111487 for my distro (NixOS), which was merged last spring (2021). It looked like people were generally on board in D28234, but I make note of this here in case extra motivation is useful. --- As pointed out in the original issue, a central tension is that LLVM already has some partial support for these sorts of things. Variables like `COMPILER_RT_INSTALL_PATH` have already been dealt with. Variables like `LLVM_LIBDIR_SUFFIX` however, will require further work, so that we may use `CMAKE_INSTALL_LIBDIR`. These remaining items will be addressed in further patches. What is here is now rote and so we should get it out of the way before dealing more intricately with the remainder. Reviewed By: #libunwind, #libc, #libc_abi, compnerd Differential Revision: https://reviews.llvm.org/D99484
-
Sanjay Patel authored
This is an alternate version of D115914 that handles/tests all binary opcodes. I suspect that we don't see these patterns too often because -simplifycfg would convert the minimal cases into selects rather than leave them in phi form (note: instcombine has logic holes for combining the select patterns too though, so that's another potential patch). We only create a new binop in a predecessor that unconditionally branches to the final block. https://alive2.llvm.org/ce/z/C57M2F https://alive2.llvm.org/ce/z/WHwAoU (not safe to speculate an sdiv for example) https://alive2.llvm.org/ce/z/rdVUvW (but it is ok on this path) Differential Revision: https://reviews.llvm.org/D117110
-
Craig Topper authored
-
John Ericson authored
I am breaking apart D99484 so the cause of build failures is easier to understand. Differential Revision: https://reviews.llvm.org/D117945
-
Peter Klausler authored
DECIMAL='COMMA' mode affects item separators, real editing, and complex editing. Differential Revision: https://reviews.llvm.org/D117906
-
Peter Klausler authored
In user-defined derived type I/O to an external unit, don't omit the format string from the constructor of ChildFormattedIoStatement. And include any user IOMSG text in the crash message of the parent, if it doesn't catch errors. Differential Revision: https://reviews.llvm.org/D117903
-
Arthur O'Dwyer authored
This will detect if someone writes `inline auto cpo =` instead of `inline constexpr auto cpo =`. I don't know how that'd be possible, but it's easy to test, so let's test it.
-
Florian Hahn authored
This patch updates createBlockInMask to always generate VPWidenCanonicalIVRecipe and adds a transform to optimize it away later, if it is not needed. This is a step towards breaking up VPWidenIntOrFpInductionRecipe and explicitly distinguishing between vector phis and scalarizing. Split off from D116123. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D117140
-
Qiu Chaofan authored
This patch is the first step to enable support of GNU attribute in LLVM PowerPC, enabling it for PowerPC targets, otherwise llvm-mc raises error when seeing the attribute section. Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D115854
-
Qiu Chaofan authored
Reviewed By: shchenz Differential Revision: https://reviews.llvm.org/D117459
-
David Green authored
Pulled out of D106237, this folds truncstore(extend(x)) back to store(x) if the original store was legal. This can come up due to the order we fold nodes. A fold from X86 needs to be adjusted to prevent infinite loops, to have it pick the operand of a trunc more directly. Differential Revision: https://reviews.llvm.org/D117901
-
Micah Weston authored
Fixes the build issue with D111034, whose goal was to optimize add/sub with long immediates. Optimize ([add|sub] r, imm) -> ([ADD|SUB] ([ADD|SUB] r, #imm0, lsl #12), #imm1), if imm == (imm0<<12)+imm1. and both imm0 and imm1 are non-zero 12-bit unsigned integers. Optimize ([add|sub] r, imm) -> ([SUB|ADD] ([SUB|ADD] r, #imm0, lsl #12), #imm1), if imm == -(imm0<<12)-imm1, and both imm0 and imm1 are non-zero 12-bit unsigned integers. The change which fixed the build issue in D111034 was the use of new virtual registers so that SSA form is maintained until deleting MI. Differential Revision: https://reviews.llvm.org/D117429
-
Alexander Belyaev authored
-
Mark de Wever authored
This addresses the usage of `operator&` in `<unordered_set>`. (Note there are still more headers with the same issue.) Reviewed By: #libc, philnik, Quuxplusone Differential Revision: https://reviews.llvm.org/D117917
-
- 21 Jan, 2022 1 commit
-
-
fourdim authored
This patch supports R_RISCV_SET* and R_RISCV_32_PCREL relocations in JITLink. Reviewed By: StephenFan Differential Revision: https://reviews.llvm.org/D117082
-
- 22 Jan, 2022 2 commits
-
-
luxufan authored
In RISCV, temporary symbols will be used to generate dwarf, eh_frame sections..., and will be placed in object code's symbol table. However, LLVM does not use names on these temporary symbols. This patch add anonymous symbols in LinkGraph for these temporary symbols. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D116475