- Oct 27, 2021
-
-
David Blaikie authored
-
LLVM GN Syncbot authored
-
Jacques Pienaar authored
The previous change resulted in prefixing a query that uses the raw attribute as if function invocation. Fixing quickly, with updated test to follow.
-
Jez Ng authored
Broken by a9353dbe. Now that the functions point to the compact unwind entries, instead of the other way around, we need to perform the "invalid reference" check in a different place. This change was originally part of the stacked diff D109946, but should have been included as part of D109945.
-
David Blaikie authored
-
Nico Weber authored
This reverts commit e2a2e547. 6fe2beba relanded (again) in c24a5808.
-
Rob Suderman authored
Dyn-cast should be checked and bailed out if the dyn_cast failed. Reviewed By: sjarus, NatashaKnk Differential Revision: https://reviews.llvm.org/D112574
-
Austin Kerbow authored
The scheduler should set critical/excess register usage thresholds that are guided by the maximum possible occupancy for the function. This change is focused on setting proper lower bounds on register usage which we would typically only see when a specific number of maximum waves is requested with the "waves-per-eu" attribute, or by setting "amdgpu-num-vgpr|sgpr" directly. This was broken previously. I have a follow-on patch that will address issues with the scheduler not targeting correct upper bounds on register usage which is typical with launch bounds and min "waves-per-eu". Changes by this patch: Set the initial critical register usage thresholds to minimum values that are determined by the maximum possible occupancy for the function, or the number of allocatable registers, whichever is lower. Avoid unisgned overflow if register limits are lower than the register tracking "ErrorMargin", I.e. when using stress-regalloc=2. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D112373
-
Yuanfang Chen authored
Otherwise, ODRUniquing would map some member method/variable MDNodes to have enum type DIScope, resulting in invalid debug info and bad DWARF. - Add a Verifier check that when a 'scope:' operand is an ODR type that is not an enum. - Makes ODRUniquing apply to only ODR types with the same tag so that the debuginfo/DWARF is well-formed. Reviewed By: probinson, aprantl Differential Revision: https://reviews.llvm.org/D111770
-
Greg Clayton authored
The new key/value pairs that are added to each module's stats are: "debugInfoByteSize": The size in bytes of debug info for each module. "debugInfoIndexTime": The time in seconds that it took to index the debug info. "debugInfoParseTime": The time in seconds that debug info had to be parsed. At the top level we add up all of the debug info size, parse time and index time with the following keys: "totalDebugInfoByteSize": The size in bytes of all debug info in all modules. "totalDebugInfoIndexTime": The time in seconds that it took to index all debug info if it was indexed for all modules. "totalDebugInfoParseTime": The time in seconds that debug info was parsed for all modules. Differential Revision: https://reviews.llvm.org/D112501
-
Nuri Amari authored
**Context:** This is a second attempt at introducing signature regeneration to llvm-objcopy. In this diff: https://reviews.llvm.org/D109840, a script was introduced to test the validity of a code signature. In this diff: https://reviews.llvm.org/D109803 (now reverted), an effort was made to extract the signature generation behavior out of LLD into a common location for use in llvm-objcopy. In this diff: https://reviews.llvm.org/D109972 it was decided that there was no appropriate common location and that a small amount of duplication to bring signature generation to llvm-objcopy would be better. This diff introduces this duplication. **Summary** Prior to this change, if a LC_CODE_SIGNATURE load command was included in the binary passed to llvm-objcopy, the command and associated section were simply copied and included verbatim in the new binary. If rest of the binary was modified at all, this results in an invalid Mach-O file. This change rege...
-
Danil Stefaniuc authored
This diff adds a data formatter for libstdcpp's bitset. Besides, it unifies the tests for bitset for libcxx and libstdcpp for maintainability. Reviewed By: wallace Differential Revision: https://reviews.llvm.org/D112180
-
Sanjay Patel authored
The motivating test is based on: https://llvm.org/PR52260 We have better analysis for X == 0, so try harder to form that.
-
Sanjay Patel authored
-
Aart Bik authored
Rationale: The currently used trait was demanding that all types are the same which is not true (since the sparse part may change and the dim sizes may be relaxed). This revision uses the correct trait and makes the rank match test explicit in the verify method. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D112576
-
William Muir authored
Links the backtrace library which is required under FreeBSD when building llvm/lib/Support. This library is similarly linked by CMake on BSD builds at [llvm/lib/Support/CMakeLists.txt](https://github.com/llvm/llvm-project/blob/e158b5634aa67ea3039a62c3d8bda79b77b3b21c/llvm/lib/Support/CMakeLists.txt#L39-L46) Reviewed By: GMNGeoffrey Differential Revision: https://reviews.llvm.org/D110533
-
Alexey Bataev authored
-
Aart Bik authored
This refactoring adds a few "event" functions (start/end loop-seq/loop) for readability of the core function of codegen. This also prepares sparse tensor output codegen, where these "event" functions will provide convenient placeholders to start or stop insertion bookkeeping. This revision also includes a few various minor changes that kept on pending in my local workspace. Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D112506
-
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
-