- Jun 25, 2023
-
-
Elliot Goodrich authored
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "llvm/ADT/StringExtras.h"` to the source file as well. As `Error.h` is present in a large number of translation units this means we are unnecessarily bringing in the contents of `StringExtras.h` - itself a large file with lots of includes - and slowing down compilation. Also move the `#include "llvm/ADT/SmallVector.h"` directive to the source file as it's no longer needed, but this does not give as much of a benefit. This reduces the total number of preprocessing tokens across the LLVM source files in lib from (roughly) 1,920,413,050 to 1,903,629,230 - a reduction of ~0.87%. This should result in a small improvement in compilation time. Differential Revision: https://reviews.llvm.org/D153229
-
Elliot Goodrich authored
In preparation for removing the `#include "llvm/ADT/StringExtras.h"` from the header to source file of `llvm/Support/Error.h`, first add in all the missing includes that were previously included transitively through this header.
-
Corentin Jabot authored
-
Craig Topper authored
Reviewed By: wangpc Differential Revision: https://reviews.llvm.org/D153669
-
Craig Topper authored
SiFive7's scalar execution consists of 4 stages AG, M1, M2, WB. Most simple arithmetic and branch instructions can execute in either AG or M2. If the operands are ready, the instruction will execute in the AG stage. Otherwise, it executes in the M2 stage. Everything is fully bypassed, so dependent instructions should only see 1 cycle latency. This patch adds ReadAdvances to pretend that these instructions execute in the M2 ALU and reads their operands then. This allows the scheduler to schedule dependent instructions back to back. I've increased branch latency to 3 since they are also executed in both stages. Still need to fix JALR, but I want to cleanup some scheduler classes first. Multiply, cpop and division instructions can only start in the AG stage. Still need to do some work for FP instructions that produce integer results. I've added an llvm-mca test that creates a long dependency chain. The timeline view can show that things are bypassed. I didn't check all permutations, but we have some variety. Reviewed By: wangpc Differential Revision: https://reviews.llvm.org/D153666
-
David Green authored
Now that the SVE parts are in, we can fill in the double reduction tests without them causing problems.
-
Iain Sandoe authored
The following test fails to compile TU b.cpp because we are not making the transitively imported modules visible (per [module.import]/p7) ``` a.cppm: export module a; export int foo() { return 42; } b.cppm: export module b; import a; export int bar(); b.cpp: module b; int bar() { return foo(); } clang++ -c -std=c++2b -fmodule-output a.cppm clang++ -c -std=c++2b -fmodule-output -fprebuilt-module-path=. b.cppm clang++ -c -std=c++2b -fprebuilt-module-path=. b.cpp b.cpp:4:12: error: declaration of 'foo' must be imported from module 'a' before it is required return foo(); ``` This is fixed by the following patch (which also addresses a FIXME in basic.def.odr/p6.cppm). Differential Revision: https://reviews.llvm.org/D152746 -
Fangrui Song authored
D137796 made these passes unused. `opt --bpf-ir-peephole` is specified in one test. Add a `registerPipelineParsingCallback` so that we can use change the test to use `opt --passes=bpf-ir-peephole` instead.
-
Haohai Wen authored
D152340 has split WinCOFFObjectWriter to WinCOFFWriter. This patch adds another WinCOFFWriter as DwoWriter to write Dwo sections to dwo file. Driver options are also updated accordingly to support -gsplit-dwarf in CL mode. e.g. $ clang-cl -c -gdwarf -gsplit-dwarf foo.c Like what -gsplit-dwarf did in ELF, using this option will create DWARF object (.dwo) file. DWARF debug info is split between COFF object and DWARF object file. It can reduce the executable file size especially for large project. Reviewed By: skan, MaskRay Differential Revision: https://reviews.llvm.org/D152785
-
Vaibhav Thakkar authored
Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D153699
-
Shao-Ce SUN authored
Reviewed By: kkwli0 Differential Revision: https://reviews.llvm.org/D153703
-
Amaury Séchet authored
-
Amaury Séchet authored
-
Amaury Séchet authored
-
Amaury Séchet authored
-
Amaury Séchet authored
-
Amaury Séchet authored
-
yronglin authored
Implement P2494R2 `Relaxing range adaptors to allow for move only types` https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2494r2.html#wording-ftm According to the words in P2494R2, I haven't add new test for `drop_while_view`, `take_while_view` and `filter_view`, because these views has the requirement that the predicate is an `indirect_unary_predicate`, which requires that the predicate is `copy_constructible`, so they still can't accept move only types as predicate. ``` [P2483R0] also suggests future work to relax the requirements on the predicate types stored by standard views. This paper does not perform this relaxation, as the copy constructibility requirement is enshrined in the indirect callable concepts ([indirectcallable.indirectinvocable]). Thus, while this paper modifies the views that currently use copyable-box for user provided predicates, it only does so to apply the rename of the exposition-only type to movable-box; it does not change any of the constraints on those views. It does, however, relax the requirements on invocables accepted by the transform family of views, because those are not constrained using the indirect callable concepts. ``` Reviewed By: #libc, var-const Differential Revision: https://reviews.llvm.org/D151629
-
Jacques Pienaar authored
Fixes windows build.
-
Dave Lee authored
-
Fangrui Song authored
There is a minor behavior difference that is not worth testing for the obsoleted format. Previously, llvm-dwarfdump considers .zdebug_info as a debug section but does not decompress it, leading to a warning when the content cannot be parsed. Now llvm-dwarfdump just ignores the section without a warning.
-
Ian Anderson authored
type_traits is currently unable to include __type_traits/noexcept_move_assign_container.h, because it would cause several include cycles. type_traits -> __type_traits/noexcept_move_assign_container.h -> __memory/allocator_traits.h -> __memory/construct_at.h -> new -> exception -> type_traits type_traits -> __type_traits/noexcept_move_assign_container.h -> __memory/allocator_traits.h -> __memory/construct_at.h -> new -> type_traits type_traits -> __type_traits/noexcept_move_assign_container.h -> __memory/allocator_traits.h -> limits -> type_traits This is a problem for clang modules after the std mega module is broken up (D144322), because it becomes a module cycle which is a hard error. Unconditionally remove the type_traits includes from limits and new in all versions, and also remove the exception include from new. (These are already removed in C++23.) Reviewed By: ldionne, Mordante, #libc Differential Revision: https://reviews.llvm.org/D153214
-
Fangrui Song authored
D106624 added a .dwo warning (when there are relocations) that may fire for non-debug sections, e.g. `.rodata.dwo` when there is a data symbol foo in -fdata-sections mode. Adjust it to only warn for .debug sections. While here, change the diagnostic to be more conventional https://llvm.org/docs/CodingStandards.html#error-and-warning-messages and use the relocated section name instead of the relocation section name. This change does not handle `.zdebug` (support was mostly removed from LLVM) or `__debug` (Mach-O, no DWO support). Reviewed By: ayermolo, HaohaiWen Differential Revision: https://reviews.llvm.org/D153602
-
Shao-Ce SUN authored
Fix build error caused by D153679 Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D153704
-
Piotr Fusik authored
Reviewed By: #libc, Mordante Differential Revision: https://reviews.llvm.org/D153427
-
- Jun 24, 2023
-
-
Thorsten Schütt authored
Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D153684
-
Hristo Hristov authored
Addresses: LWG3719 - Directory iterators should be usable with default sentinel https://wg21.link/LWG3719 Reviewed By: #libc, Mordante Differential Revision: https://reviews.llvm.org/D153299
-
Nathan James authored
A nested class in a member function can erroneously confuse the check into thinking that any CXXThisExpr found relate to the outer class, preventing any warnings. Fix this by not traversing any nested classes. Fixes https://github.com/llvm/llvm-project/issues/56765 Reviewed By: PiotrZSL Differential Revision: https://reviews.llvm.org/D130665
-
Kazu Hirata authored
The last use was removed by: commit 7d894374 Author: OCHyams <orlando.hyams@sony.com> Date: Thu Mar 16 08:48:36 2023 +0000
-
Kazu Hirata authored
The last uses were removed by: commit 79b3f082 Author: Tim Northover <tnorthover@apple.com> Date: Tue Feb 7 11:28:00 2023 +0000
-
Kazu Hirata authored
Differential Revision: https://reviews.llvm.org/D153679
-
Kazu Hirata authored
Differential Revision: https://reviews.llvm.org/D153678
-
Kazu Hirata authored
The last use was removed by: commit 73523021 Author: Chandler Carruth <chandlerc@gmail.com> Date: Mon Jan 13 13:07:17 2014 +0000
-
Kazu Hirata authored
The last use was removed by: commit 243acd5d Author: Nikita Popov <npopov@redhat.com> Date: Fri Dec 9 15:29:35 2022 +0100
-
Kazu Hirata authored
The last use was removed by: commit 2d79b713 Author: Philip Reames <preames@rivosinc.com> Date: Thu Apr 6 08:23:08 2023 -0700
-
Kazu Hirata authored
The last use was removed by: commit f9b523eb Author: Kazu Hirata <kazu@google.com> Date: Wed May 31 07:30:14 2023 -0700
-
LLVM GN Syncbot authored
-
Piotr Zegar authored
Check detects cyclic #include dependencies between user-defined headers. Reviewed By: njames93 Differential Revision: https://reviews.llvm.org/D144828
-
David Green authored
Following what is already performed for vector.reduce.fmin/fmax, this adds lowering for the new vector.reduce.fminimum/fmaximum nodes to the SVE fminv and fmaxv instructions via the existing FMINV_PRED/FMAXV_PRED nodes. Differential Revision: https://reviews.llvm.org/D153288
-
Piotr Zegar authored
This reverts commit f3aa6cc0.
-