- Aug 15, 2022
-
-
Fangrui Song authored
`getContext().setMCLineTableRootFile` (from D62074) sets `RootFile.Name` to `FirstCppHashFilename`. `RootFile.Name` is not processed by -fdebug-prefix-map and will go to DW_TAG_compile_unit's DT_AT_name and DW_TAG_label's DW_AT_decl_file. Remap `RootFile.Name`. Fix another issue reported by https://github.com/llvm/llvm-project/issues/56609 Reviewed By: #debug-info, dblaikie, raj.khem Differential Revision: https://reviews.llvm.org/D131848
-
Kazu Hirata authored
This patch deprecates Optional::map in favor of Optional::transform for consistency with std::optional::transform in C++23. Note that I've migrated all known users of Optional::map. Differential Revision: https://reviews.llvm.org/D131842
-
Craig Topper authored
Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D131442
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kent Ross authored
Implements [variant.relops] and [variant.monostate.relops] for P1614R2 Reviewed By: Mordante, #libc, avogelsgesang Differential Revision: https://reviews.llvm.org/D131372
-
David Green authored
After 9144e493 this performs the same transform inside the other ifdef.
-
Yuanfang Chen authored
[c++] implements DR692, DR1395 and tentatively DR1432, about partial ordering of variadic template partial specialization or function template DR692 handles two cases: pack expansion (for class/var template) and function parameter pack. The former needs DR1432 as a fix, and the latter needs DR1395 as a fix. However, DR1432 has not yet made a wording change. so I made a tentative fix for DR1432 with the same spirit as DR1395. Reviewed By: aaron.ballman, erichkeane, #clang-language-wg Differential Revision: https://reviews.llvm.org/D128745
-
Krzysztof Parzyszek authored
This fixes https://github.com/llvm/llvm-project/issues/56050.
-
Krzysztof Parzyszek authored
Plus some readability changes.
-
Justin Stitt authored
DiagnoseNullConversion is needlessly calling isNullPointerConstant which is an expensive routine due to its calls to a constant evaluator -- which we don't need. Building the Linux Kernel (x86_64) with this fix has improved build times by ~2.1%. This is mainly due to the following methods no longer needing to be called anywhere near as often: 1) ExprConstant::CheckICE (reduced CPU cycles by ~90%) 2) IntExprEvaluator::VisitBinaryOperator (reduced CPU cycles by ~50%) Reviewed By: rtrieu, nickdesaulniers Differential Revision: https://reviews.llvm.org/D131532
-
Nuno Lopes authored
These vectors are fully initialized so the placeholder value is irrelevant
-
Nico Weber authored
This reverts commit bc60cf23. Doesn't build on Windows and breaks gcc 9 build, see https://reviews.llvm.org/D116203#3722094 and https://reviews.llvm.org/D116203#3722128 Also revert two follow-ups. One fixed a warning added in bc60cf23, the other makes use of the feature added in bc60cf23 in libc++: Revert "[libcxx][NFC] utilises compiler builtins for unary transform type-traits" This reverts commit 06a1d917. Revert "[Sema] Fix a warning" This reverts commit c85abbe8.
-
Kazu Hirata authored
Identified with readability-redundant-string-init.
-
Kazu Hirata authored
Identified with readability-redundant-member-init.
-
Kazu Hirata authored
Identified with readability-qualified-auto.
-
Kazu Hirata authored
Identified with readability-const-return-type.
-
Lang Hames authored
This should fix failures on some bots due to 1cf81274 (e.g. https://lab.llvm.org/buildbot#builders/196/builds/16684)
-
Kazu Hirata authored
This patch fixes: clang/lib/Sema/SemaType.cpp:9469:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
-
LLVM GN Syncbot authored
-
Simon Pilgrim authored
Use has_value()/value() instead of hasValue()/getValue()
-
Lang Hames authored
Add a fix to check that FDE pc-begin targets are defined before calling getBlock (which will crash if the target is not defined). FDE pc-begins pointing at undefined symbols are expected to arise only in obscure circumstances (malformed objects, or removal of targets by JITLink passes), but we want to handle them gracefully. With this patch the FDE will be retained, but without any keepalive edge to it. Unless some pass takes action to mark it as live it will be dead-stripped. To make it easier for passes to connect FDEs to their targets a new EHFrameCFIBlockInspector utility is added. This allows clients to quickly determine whether a CFI record is a CIE or an FDE (assuming that it's valid), and retrieve any personality, pc-begin, cie, or LSDA edges associated with it.
-
Christopher Di Bella authored
Depends on D116203 Reviewed By: #libc, philnik Differential Revision: https://reviews.llvm.org/D131732
-
Christopher Di Bella authored
Adds * `__add_lvalue_reference` * `__add_pointer` * `__add_rvalue_reference` * `__decay` * `__make_signed` * `__make_unsigned` * `__remove_all_extents` * `__remove_extent` * `__remove_const` * `__remove_volatile` * `__remove_cv` * `__remove_pointer` * `__remove_reference` * `__remove_cvref` These are all compiler built-in equivalents of the unary type traits found in [[meta.trans]][1]. The compiler already has all of the information it needs to answer these transformations, so we can skip needing to make partial specialisations in standard library implementations (we already do this for a lot of the query traits). This will hopefully improve compile times, as we won't need use as much memory in such a base part of the standard library. [1]: http://wg21.link/meta.trans Co-authored-by: zoecarver Reviewed By: aaron.ballman, rsmith Differential Revision: https://reviews.llvm.org/D116203
-
Florian Hahn authored
Test cases for selecting the index with the minimum value.
-
Simon Pilgrim authored
Noticed while investigating the regressions in D106675
-
- Aug 14, 2022
-
-
Igor Zhukov authored
Reviewed By: philnik Differential Revision: https://reviews.llvm.org/D131854
-
Simon Pilgrim authored
-
Simon Pilgrim authored
These are guaranteed not to create undef/poison if the shift amount is known to be in range
-
Mark de Wever authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Enabling freeze(shl()) -> shl(freeze()) was affecting this test
-
Simon Pilgrim authored
-
Simon Pilgrim authored
These are guaranteed not to create undef/poison
-
Simon Pilgrim authored
-
Mark de Wever authored
Implements part of: - P1614R2 The Mothership has Landed Reviewed By: avogelsgesang, #libc, philnik Differential Revision: https://reviews.llvm.org/D131421
-
Mark de Wever authored
Increasing the constexpr evaluation limit breaks this clang-tidy test for GCC. As discussed in D131317 disable the test in GCC. Reviewed By: philnik, #libc Differential Revision: https://reviews.llvm.org/D131835
-
Martin Storsjö authored
Mingw headers are all lowercase, and can be used for cross compilation from case sensitive file systems. The official Windows SDK headers aren't self-consistent wrt upper/lower case, so those headers can't be used on case sensitive systems without a layer providing case insensitivity anyway. This matches other includes of windows.h throughout the codebase.
-
Roman Gareev authored
-