- Jul 11, 2020
-
-
Johannes Doerfert authored
Summary: We carried a lot of unused and untested code in the device runtime. Among other reasons, we are planning major rewrites for which reduced size is going to help a lot. The number of code lines reduced by 14%! Before: ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- CUDA 13 489 841 2454 C/C++ Header 14 322 493 1377 C 12 117 124 559 CMake 4 64 64 262 C++ 1 6 6 39 ------------------------------------------------------------------------------- SUM: 44 998 1528 4691 ------------------------------------------------------------------------------- After: ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- CUDA 13 366 733 1879 C/C++ Header 14 317 484 1293 C 12 117 124 559 CMake 4 64 64 262 C++ 1 6 6 39 ------------------------------------------------------------------------------- SUM: 44 870 1411 4032 ------------------------------------------------------------------------------- Reviewers: hfinkel, jhuber6, fghanim, JonChesterfield, grokos, AndreyChurbanov, ye-luo, tianshilei1992, ggeorgakoudis, Hahnfeld, ABataev, hbae, ronlieb, gregrodgers Subscribers: jvesely, yaxunl, bollu, guansong, jfb, sstefan1, aaron.ballman, openmp-commits, cfe-commits Tags: #clang, #openmp Differential Revision: https://reviews.llvm.org/D83349
-
Zequan Wu authored
Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D83597
-
Walter Erquinigo authored
This reverts commit 881af6eb. Revert "[lldb-vscode] Add Compile Unit List to Modules View" This reverts commit 03ef6103. Revert "[lldb-vscode] Add Support for Module Event" This reverts commit f7f80159. The debian buildbot has reported issues with the modules test. http://lab.llvm.org:8011/builders/lldb-x86_64-debian/builds/13767/steps/test/logs/stdio Reverting it for now.
-
Teresa Johnson authored
Summary: eraseBlock is trying to erase all probability info for the given BB. This info is stored in a DenseMap organized like so: using Edge = std::pair<const BasicBlock *, unsigned>; DenseMap<Edge, BranchProbability> Probs; where the unsigned in the Edge key is the successor id. It was walking through every single map entry, checking if the BB in the key's pair matched the given BB. Much more efficient is to do what another method (getEdgeProbability) was already doing, which is to walk the successors of the BB, and simply do a map lookup on the key formed from each <BB, successor id> pair. Doing this dropped the overall compile time for a file containing a very large function by around 32%. Reviewers: davidxl, xur Subscribers: llvm-commits, hiraditya Tags: #llvm Differential Revision: https://reviews.llvm.org/D83596
-
Johannes Doerfert authored
Due to recent changes we cannot use OpenMP in CUDA files anymore (PR45533) as the math handling of CUDA is different when _OPENMP is defined. We actually want this different behavior only if we are offloading with OpenMP to NVIDIA, thus generating NVPTX. With this patch we do not interfere with the CUDA math handling except if we are in NVPTX offloading mode, as indicated by the presence of __OPENMP_NVPTX__. Reviewed By: tra Differential Revision: https://reviews.llvm.org/D78155
-
Walter Erquinigo authored
For some reason this works on the original author's machine, but not on my. So I'm using a safer approach of using an unstripped dynamic library to place breakpoints on. The author was placing a breakpoint on the main symbol of a stripped library and for some reason it worked on their machine, but it shouldn't have... Offender diff: D82477
-
Yifan Shen authored
Summary: User can expand and check compile unit list for the modules that have debug info. Reviewers: wallace, clayborg Reviewed By: clayborg Subscribers: aprantl, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D83072
-
Yifan Shen authored
Summary: Whenever a module is created, removed or changed, lldb-vscode is now sending an event that can be interpreted by the IDE so that modules can be rendered in the IDE, like the tree view in this screenshot {F12229758} Reviewers: wallace, clayborg, kusmour, aadsm Reviewed By: clayborg Subscribers: cfe-commits, labath, lldb-commits Tags: #lldb, #clang Differential Revision: https://reviews.llvm.org/D82477 -
Gui Andrade authored
Looks like RDP isn't present on some of LLVM's buildbot machines
-
Alexandre Ganea authored
This reverts commit add59ecb and 41d2813a.
-
cgyurgyik authored
Reviewers: sivachandra Reviewed By: sivachandra Subscribers: mgorny, tschuett, ecnelises, libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D83589
-
David Blaikie authored
This risks ODR violations in inline functions that call these functions (if they remain static) & otherwise just causes some object size increase, potentially, by these functions not being deduplicated by the linker.
-
Alexandre Ganea authored
This is a bit a shot in the dark, as it doesn't occur on my Windows 10 machines, nor on x64 Linux Ubuntu 18.04. This patch tries to fix the following kind of error: - http://lab.llvm.org:8011/builders/clang-ppc64le-linux/builds/31511/steps/cmake%20stage%201/logs/stdio - http://lab.llvm.org:8011/builders/clang-ppc64le-linux-lnt/builds/25150/steps/ninja%20check%201/logs/FAIL%3A%20Clang%3A%3Adebug-info-codeview-buildinfo.c - http://lab.llvm.org:8011/builders/fuchsia-x86_64-linux/builds/7947/steps/check/logs/stdio
-
JF Bastien authored
Summary: See the corresponding RFC on llvm-dev for a discussion of this proposal. http://lists.llvm.org/pipermail/llvm-dev/2019-November/136839.html Subscribers: jkorous, dexonsmith, arphaman, ributzka, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70326
-
Eric Christopher authored
as it wasn't NFC and is causing issues with thinlto bitcode reading. I've followed up offline with reproduction instructions and testcases. This reverts commit 30582457.
-
Matt Arsenault authored
This doesn't appear used for anything, and is emitted incorrectly based on the description. This also depends on the IR type, and pointee element type.
-
Craig Topper authored
[X86] Add isel patterns for matching broadcast vpternlog if the ternlog and the broadcast have different types.
-
Thomas Raoux authored
Improve the logic deciding if it is safe to hoist vector transfer read/write out of the loop. Change the logic to prevent hoisting operations if there are any unknown access to the memref in the loop no matter where the operation is. For other transfer read/write in the loop check if we can prove that they access disjoint memory and ignore them in this case. Differential Revision: https://reviews.llvm.org/D83538
-
Michael Kruse authored
The schedule of a fused loop has one isl_space per statement, such that a conversion to a isl_map fails. However, the prevectorization is interested in the schedule space only: Converting to the non-union representation only after extracting the schedule range fixes the problem. This fixes llvm.org/PR46578
-
Michael Kruse authored
The member LastSchedule was never set, such that printScop would always print "n/a" instead of the last schedule. To ensure that the isl_ctx lives as least as long as the stored schedule, also store a shared_ptr. Also set the schedule tree output style to ISL_YAML_STYLE_BLOCK to avoid printing everything on a single line. `opt -polly-opt-isl -analyze` will be used in the next commit.
-
Tom Stellard authored
Summary: If we are building static libraries we don't need to link them into clang-shlib, since clang-shlib already has all the individual object files linked in. Reviewers: smeenai Reviewed By: smeenai Subscribers: mgorny, cfe-commits, llvm-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D82694
-
Joel E. Denny authored
In FileCheck.rst, add `-dump-input-context` and `-dump-input-filter`, and fix some `-dump-input` documentation. In `FileCheck -help`, `cl::value_desc("kind")` is being ignored for `-dump-input-filter`, so just drop it. Extend `-dump-input=help` to mention FILECHECK_OPTS. -
Nicolas Vasilache authored
This revision folds vector.transfer operations by updating the `masked` bool array attribute when more unmasked dimensions can be discovered. Differential revision: https://reviews.llvm.org/D83586
-
Artem Dergachev authored
An old clang warns that the const object has no default constructor so it may remain uninitialized forever. That's a false alarm because all fields have a default initializer. Apply the suggested fixit anyway.
-
aartbik authored
We temporarily had separate OUTER lowering (for matmat flavors) and AXPY lowering (for matvec flavors). With the new generalized "vector.outerproduct" semantics, these cases can be merged into a single lowering method. This refactoring will simplify future decisions on cost models and lowering heuristics. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D83585
-
Aaron Ballman authored
Currently, Clang previously diagnosed this code by default: void f(int a[static 0]); saying that "static has no effect on zero-length arrays", which was accurate. However, static array extents require that the caller of the function pass a nonnull pointer to an array of *at least* that number of elements, but it can pass more (see C17 6.7.6.3p6). Given that we allow zero-sized arrays as a GNU extension and that it's valid to pass more elements than specified by the static array extent, we now support zero-sized static array extents with the usual semantics because it can be useful in cases like: void my_bzero(char p[static 0], int n); my_bzero(&c+1, 0); //ok my_bzero(t+k,n-k); //ok, pattern from actual code
-
Arthur Eubanks authored
PassInfoMixin should be used for all NPM passes, rater than a custom `name()`. This caused ambiguous references in LegacyPassManager.cpp, so had to remove "using namespace llvm::legacy" and move some things around. Reviewed By: ychen, asbirlea Differential Revision: https://reviews.llvm.org/D83498
-
Jonas Devlieghere authored
This patch does several things that are all closely related: - It introduces a new YamlRecorder as a counterpart to the existing DataRecorder. As the name suggests the former serializes data as yaml while the latter uses raw texts or bytes. - It introduces a new MultiProvider base class which can be backed by either a DataRecorder or a YamlRecorder. - It reimplements the CommandProvider in terms of the new MultiProvider. Finally, it adds unit testing coverage for the MultiProvider, a naive YamlProvider built on top of the new YamlRecorder and the existing MutliLoader. Differential revision: https://reviews.llvm.org/D83441
-
David Goldman authored
Summary: If no valid interface definition was found previously we would crash. With this change instead we just print `<<error-type>>` in place of the NULL interface. In the future this could be improved by saving the invalid interface's name and using that. Reviewers: sammccall, gribozavr Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D83513
-
aartbik authored
This specialization allows sharing more code where an AXPY follows naturally in cases where an OUTERPRODUCT on a scalar would be generated. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D83453
-
Matt Arsenault authored
-
Konrad Kleine authored
Summary: This fixes an override issue by marking a function as const so that the signature maps to the signature of the function in the base class. This is the original error: In file included from /root/llvm/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.cpp:11: /root/llvm/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.h:79:10: error: 'size_t lldb_private::process_linux::NativeRegisterContextLinux_s390x::GetGPRSize()' marked 'override', but does not override 79 | size_t GetGPRSize() override { return sizeof(m_regs); } | ^~~~~~~~~~ Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D83580 -
Erik Pilkington authored
Its dangerous to assume that the opaque pointer points to a null-terminated string, and this has an easy fix (casting to char*). rdar://62432331
-
Nikita Popov authored
This illustrates a case where RenamedOp does not correspond to the value used in the condition, which it ideally should.
-
Sidharth Baveja authored
Summary: This patch separates the peeling specific parameters from the UnrollingPreferences, and creates a new struct called PeelingPreferences. Functions which used the UnrollingPreferences struct for peeling have been updated to use the PeelingPreferences struct. Author: sidbav (Sidharth Baveja) Reviewers: Whitney (Whitney Tsang), Meinersbur (Michael Kruse), skatkov (Serguei Katkov), ashlykov (Arkady Shlykov), bogner (Justin Bogner), hfinkel (Hal Finkel), anhtuyen (Anh Tuyen Tran), nikic (Nikita Popov) Reviewed By: Meinersbur (Michael Kruse) Subscribers: fhahn (Florian Hahn), hiraditya (Aditya Kumar), llvm-commits, LLVM Tag: LLVM Differential Revision: https://reviews.llvm.org/D80580
-
cgyurgyik authored
Summary: [libc] Adds strchr implementation with unit tests. Fixes signed character bug in memchr. Reviewers: sivachandra, PaulkaToast Reviewed By: sivachandra Subscribers: mgorny, tschuett, ecnelises, libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D83353
-
Lei Huang authored
Summary: Remove option guarding support of quad precision operations. Reviewers: nemanjai, #powerpc, steven.zhang Reviewed By: nemanjai, #powerpc, steven.zhang Subscribers: qiucf, wuzish, nemanjai, hiraditya, kbarton, shchenz, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D83437
-
Davide Italiano authored
This reverts commit 8039d2c3 as it breaks the modules build on macOS.
-
Jim Ingham authored
This is a refinement on 96601ec2. The intent of that change was to do the same work for the computation of the locations of the children of ValueObjectVariable as was done for the root ValueObjectVariable. This original patch did that by moving the computation from ValueObjectVariable to ValueObject. That fixed the problem but caused a handful of swift-lldb testsuite failures and a crash or two. The problem is that synthetic value objects can sometimes represent objects in target memory, and other times they might be made up wholly in lldb memory, with pointers from one synthetic object to another, and so the ValueObjectVariable computation was not appropriate. This patch delegates the computation to the root of the ValueObject in question. That solves the problem for ValueObjectVariable while not messing up the computation for ValueObjectConstResult or ValueObjectSynthetic. Differential Revision: https://reviews.llvm.org/D83450
-
Anastasia Stulova authored
-