- Oct 26, 2021
-
-
Jon Chesterfield authored
Essentially moves the foreach over sm integers into a macro and instantiates it for nvptx. NFC in that the macro is not presently instantiated for amdgpu as the corresponding code doesn't compile yet. Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D111987
-
Jez Ng authored
This diff does away with `addEntriesForFunctionsWithoutUnwindInfo()`, because `addSymbol()` can now determine which functions need those entries. While overhauling UnwindInfoSection, I also parallelized the relocation of the contents of the CUEs. This somewhat offsets the time regression from creating one InputSection per CUE (which was done in D109944). Reviewed By: #lld-macho, oontvoo Differential Revision: https://reviews.llvm.org/D109945
-
Jez Ng authored
Compact unwind entries (CUEs) contain pointers to their respective function symbols. However, during the link process, it's far more useful to have pointers from the function symbol to the CUE than vice versa. This diff adds that pointer in the form of `Defined::compactUnwind`. In particular, when doing dead-stripping, we want to mark CUEs live when their function symbol is live; and when doing ICF, we want to dedup sections iff the symbols in that section have identical CUEs. In both cases, we want to be able to locate the symbols within a given section, as well as locate the CUEs belonging to those symbols. So this diff also adds `InputSection::symbols`. The ultimate goal of this refactor is to have ICF support dedup'ing functions with unwind info, but that will be handled in subsequent diffs. This diff focuses on simplifying `-dead_strip` -- `findFunctionsWithUnwindInfo` is no longer necessary, and `Defined::isLive()` is now a lot simpler. Moreover, UnwindInfoSection no longer has to check for dead CUEs -- we simply avoid adding them in the first place. Additionally, we now support stripping of dead LSDAs, which follows quite naturally since `markLive()` can now reach them via the CUEs. Reviewed By: #lld-macho, gkm Differential Revision: https://reviews.llvm.org/D109944
-
Stanislav Mekhanoshin authored
-
Valentin Clement authored
Substring information on slice operation has been added in D112441. The operations fir.array_load, fir.array_coor and fir.array_merge_store can take a slice but not with a substring. This patch add this check in their verifier. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: schweitz Differential Revision: https://reviews.llvm.org/D112568
-
Alexander Belyaev authored
-
Vassil Vassilev authored
Original commit message: " Original commit message: " Original commit message: " Original commit message:" The current infrastructure in lib/Interpreter has a tool, clang-repl, very similar to clang-interpreter which also allows incremental compilation. This patch moves clang-interpreter as a test case and drops it as conditionally built example as we already have clang-repl in place. " This patch also ignores ppc due to missing weak symbol for __gxx_personality_v0 which may be a feature request for the jit infrastructure. Also, adds a missing build system dependency to the orc jit. " Additionally, this patch defines a custom exception type and thus avoids the requirement to include header <exception>, making it easier to deploy across systems without standard location of the c++ headers. " This patch also works around PR49692 and finds a way to use llvm::consumeError in rtti mode. " This patch also checks if stl is built with rtti. Differential revision: https://reviews.llvm.org/D107049
-
Florian Hahn authored
Replace some custom matrix diagnostic kinds with the more generic err_builtin_invalid_arg_type introduced in D111985. Reviewed By: aaron.ballman, erichkeane Differential Revision: https://reviews.llvm.org/D112532
-
Alexander Belyaev authored
-
Valentin Clement authored
RewritePatterns.td/RewritePatterns.inc is used only by the FIROps.cpp file. This patch move this file logically in the Dialect folder together with FIRDialet, FIROps, FIRTypes ... It also rename it to CanonicalizationPatterns.td. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: schweitz Differential Revision: https://reviews.llvm.org/D112522
-
Michał Górny authored
-
Julian Lettner authored
This is a test-only failure. The test wrongly assumes that this gets us a tagged pointer: ``` NSObject* num1 = @7; assert(isTaggedPtr(num1)); ``` However, on newer deployment targets that have “const data support” we get a “normal” pointer to constant object. Radar-Id: rdar://problem/83217293
-
Alexander Belyaev authored
Polynomial approximation can be extented to support N-d vectors. N-dimensional vectors are useful when vectorizing operations on N-dimensional tiles. Before lowering to LLVM these vectors are usually unrolled or flattened to 1-dimensional vectors. Differential Revision: https://reviews.llvm.org/D112566
-
Stella Laurenzo authored
With https://reviews.llvm.org/rG14c9207063bb00823a5126131e50c93f6e288bd3, the build is broken with -DMLIR_INCLUDE_TESTS=OFF. This patch fixes the build and we may want to do a better fix to the layering in a followup. Differential Revision: https://reviews.llvm.org/D112560
-
Fangrui Song authored
-
Luke Petre authored
There is an issue where the AST code does not compute the correct SourceRange for a ObjCObjectPointer. From Richard Smith (ie @zygoloid) in discord: I think the problem is that we set an invalid location for the * (because there isn't one): https://github.com/llvm/llvm-project/blob/main/clang/lib/Sema/SemaType.cpp#L1121 And then we use the default getLocalSourceRangeImpl for a PointerLikeTypeLoc that just assumes the * location is the type's end location: https://github.com/llvm/llvm-project/blob/main/clang/include/clang/AST/TypeLoc.h#L1293 Possibly we should be special-casing that here: https://github.com/llvm/llvm-project/blob/main/clang/lib/AST/TypeLoc.cpp#L228 My change: introduces a AST dump test to show the issue in the first commit special cases ObjCObjectPointerType in the second commit to correctly compute the end location
-
Zahira Ammarguellat authored
-
zhijian authored
address an test error on window os , exclude the test llvm/test/tools/llvm-readobj/XCOFF/xcoff-auxiliary-header.test from windows OS. http://45.33.8.238/win/47662/step_11.txt for https://reviews.llvm.org/D82549
-
Dmitry Vyukov authored
This reverts commit 5ec83226. It broke a number of bots, e.g.: https://lab.llvm.org/buildbot/#/builders/52/builds/11811 Reviewed By: melver Differential Revision: https://reviews.llvm.org/D112563
-
Joe Loser authored
Mark LWG2731 as complete. The type alias `mutex_type` is only provided if `scoped_lock` is given one mutex type and it has been implemented that way since the beginning of Clang 5 it seems. There already are tests for verifying existence (and lack thereof) for `mutex_type` type alias depending on the number of mutex types, so there is nothing to do for this LWG issue. Reviewed By: Quuxplusone, Mordante, #libc Differential Revision: https://reviews.llvm.org/D112462
-
Chia-hung Duan authored
Added a notification in the placeholder section. While writing things like preciate of an attribute, we may embed certain placeholder in the C expression. Note that the type of the placeholder is only guaranteed to be the base type like mlir::Type, it's better not to use the derived type which is based on the implementation. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D112396
-
Usman Nadeem authored
Change-Id: Idcce321c825ecc6b3a111a683e24dc10015f6872
-
Alexey Bataev authored
-
Stanislav Mekhanoshin authored
-
Louis Dionne authored
This patch refactors the shared_ptr methods from being defined out-of-line to being defined inline in the class, like what we do for all new code in the library. The benefits of doing that are that code is not as scattered around and is hence easier to understand, and it avoids a ton of duplication due to SFINAE checks. Defining the method where it is declared also removes the possibility for mismatched attributes. As a fly-by change, this also: - Adds a few _LIBCPP_HIDE_FROM_ABI attributes - Uses __enable_if_t instead of enable_if as a function argument, to match the style that we use everywhere else. Differential Revision: https://reviews.llvm.org/D112478
-
Usman Nadeem authored
These are now redundant after https://reviews.llvm.org/D106872 Change-Id: I82edfedf1d45cac4e3368d77ce3a48c78e342c19
-
Rosie Sumpter authored
Use RdxDesc->getOpcode instead of getUnderlingInstr()->getOpcode. Move the code which finds Kind and IsOrdered to be outside the for loop since neither of these change with the vector part. Differential Revision: https://reviews.llvm.org/D112547
-
Balazs Benics authored
It seems like protobuf crashed the `std::string` checker. Somehow it acquired `UnknownVal` as the sole `std::string` constructor parameter, causing a crash in the `castAs<Loc>()`. This patch addresses this. Reviewed By: martong Differential Revision: https://reviews.llvm.org/D112551
-
Amy Zhuang authored
1.Combining kind min/max of Vector reduction op has been changed to minf/maxf, minsi/maxsi, and minui/maxui. Modify getVectorReductionOp accordingly. 2.Add min/max to supported reductions. Reviewed By: dcaballe, nicolasvasilache Differential Revision: https://reviews.llvm.org/D112246
-
Kazu Hirata authored
-
Florian Hahn authored
This patch implements __builtin_elementwise_max and __builtin_elementwise_min, as specified in D111529. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D111985
-
Sanjay Patel authored
-
Jez Ng authored
We were previously always emitting the GOT into `__DATA_CONST`, even for target platforms where it should end up in `__DATA`. I stumbled onto this while trying to use the `class-dump` tool -- with the wrong segment names, it fails to locate the ObjC runtime info and therefore fails to dump any classes. Reviewed By: #lld-macho, oontvoo Differential Revision: https://reviews.llvm.org/D112500
-
Adam Czachorowski authored
Before this change, we would add "using std::vector<int>" instead of just "using std::vector;", which would not even compile. Fixes https://github.com/clangd/clangd/issues/904 Differential Revision: https://reviews.llvm.org/D112530
-
Adam Czachorowski authored
We make assumption that: getDeclForComment(getDeclForComment(X)) == getDeclForComment(X) but this is not true if you have a template instantionation of a template instantiation, which is the case when, for example, you have a <=> operator in a templated class. This fix makes getDeclForComment() call itself recursively to ensure this property is always true. Fixes https://github.com/clangd/clangd/issues/901 Differential Revision: https://reviews.llvm.org/D112527
-
Kirill Bobyrev authored
This is inconsistent with the code and comments in RecursiveASTVisitor.h and is not a correct behavior: https://github.com/llvm/llvm-project/blob/main/clang/include/clang/AST/RecursiveASTVisitor.h#L1879-L1880 > We shouldn't traverse D->getTypeForDecl(); it's a result of > declaring the type, not something that was written in the source. Fixes the failures in 1c2e249f
-
Matt Morehouse authored
Verify that SecondII is not replaced.
-
Jonas Paulsson authored
It was discovered that an extra register COPY remained when expanding a (variable length) memory operation with a loop and there was another use of the involved address register(s) afterwards. A simple fix for this is to COPY the address registers before the loop and use that new vreg instead. Review: Ulrich Weigand Differential Revision: https://reviews.llvm.org/D112065
-
Alexey Bataev authored
The final reduction nodes should not be reordered, the order does not matter for reductions. Also, it might be profitable to vectorize smaller reduction trees, reduction cost may compensate small tree cost. Part of D111574 Differential Revision: https://reviews.llvm.org/D112467
-
zhijian authored
Summary: The patch supports parsing the xcoff object file auxiliary header with llvm-readobj with option "auxiliary-headers" the format of auxiliary header as https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/filesreference/XCOFF.html#XCOFF__fyovh386shar Reviewers: James Henderson, Jason Liu, Hubert Tong, Esme yi, Sean Fertile. Differential Revision: https://reviews.llvm.org/D82549
-