- Jan 10, 2023
-
-
Tue Ly authored
Fix typos in LLVMLibCArchitectures.cmake defining target architectures. Differential Revision: https://reviews.llvm.org/D141314
-
Fangrui Song authored
LFS64 symbols in musl are for glibc-ABI-compat and not intended for linking (correct usage will not create LFS64 references). The next release 1.2.4 will disallow linking against LFS64 symbols[1]. For sanitizers, let's just remove LFS64 interceptors. In case of erroneous LFS64 references, asan/tsan will detect fewer problems and msan may have false positives. [1]: https://git.musl-libc.org/cgit/musl/commit/?id=246f1c811448f37a44b41cd8df8d0ef9736d95f4 Reviewed By: thesamesam Differential Revision: https://reviews.llvm.org/D141186
-
Alex Brachet authored
This reverts commit c6dcbed2. Broke tests on arm and aarch64
-
Corentin Jabot authored
Structured bindings were not properly marked odr-used and therefore captured in generic lambddas. Fixes #57826 It is unclear to me if further simplification can be gained through the allowance described in https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0588r1.html. Either way, I think this makes support for P0588 completes, but we probably want to add test for that in a separate PR. (and I lack confidence I understand P0588 sufficiently to assert the completeness of our cnformance). Reviewed By: aaron.ballman, #clang-language-wg Differential Revision: https://reviews.llvm.org/D137244
-
Alex Brachet authored
Traditionally these functions are exposed in string*s*.h not string.h Differential Revision: https://reviews.llvm.org/D141237
-
Alex Brachet authored
This will be used to implement the case insensitive str{,n}casecmp Differential Revision: https://reviews.llvm.org/D141235 -
spupyrev authored
We want to use profile inference (**profi**) in BOLT for stale profile matching. To this end, I am making a few changes modifying the interface of the algorithm. This is the first change for existing usages of profi (e.g., CSSPGO): - introducing an object holding the algorithmic parameters; - some renaming of existing options; - dropped unused option, SampleProfileInferEntryCount, as we don't plan to change its default value; - no changes in the output / tests. Reviewed By: hoy Differential Revision: https://reviews.llvm.org/D134756
-
Fangrui Song authored
Now that D137666 requires 48-bit VMA for AArch64, we can switch to SizeClassAllocator64 for a slightly more efficient allocator (asan/lsan already switched by default). It seems that we can pick kSpaceBeg = 0xE00000000000ULL to support both Linux ("app-15") and FreeBSD ("high memory"). Reviewed By: #sanitizers, vitalybuka Differential Revision: https://reviews.llvm.org/D140792 -
Yitzhak Mandelbaum authored
Revert "Revert "[clang][dataflow] Only model struct fields that are used in the function being analyzed."" This reverts commit 2b1a517a. It's a fix forward with two memory errors fixed, one of which was the cause of the build breakage in the buildbots. Original message: Previously, the model for structs modeled all fields in a struct when `createValue` was called for that type. This patch adds a prepass on the function under analysis to discover the fields referenced in the scope and then limits modeling to only those fields. This reduces wasted memory usage (modeling unused fields) which can be important for programs that use large structs. Note: This patch obviates the need for https://reviews.llvm.org/D123032.
-
Philip Reames authored
-
Alexander Yermolovich authored
In preparation for eanbling 64bit support in LLDB switching to use llvm::formatv instead of format MACROs. Reviewed By: labath, JDevlieghere Differential Revision: https://reviews.llvm.org/D139955
-
Heejin Ahn authored
Local info is supposed to be emitted in the start of every function. When there are locals, `.local` section should be present, and we emit local info according to the section. If there is no locals, empty local info should be emitted. This empty local info is emitted whenever a first instruction is emitted within a function without encountering a `.local` section. If there is no instruction, `end_function` pseudo instruction should be present and the empty local info will be emitted when parsing the pseudo instruction. The following assembly is malformed because the function `test` doesn't have an `end_function` at the end, and the parser doesn't end up emitting the empty local info needed. But currently we don't error out and silently produce an invalid binary. ``` .functype test () -> () test: ``` This patch adds one extra state to the Wasm assembly parser, `FunctionLabel` to detect whether a function label is parsed but not ended properly when the next function starts or the file ends. It is somewhat tricky to distinguish `FunctionLabel` and `FunctionStart`, because it is not always possible to ensure the state goes from `FunctionLabel` -> `FunctionStart`. `.functype` directive does not seem to be mandated before a function label, in which case we don't know if the label is a function at the time of parsing. But when we do know the label is function, we would like to ensure it ends with an `end_function` properly. Also we would like to error out when it does not. For example, ``` .functype test() -> () test: ``` We should error out for this because we know `test` is a function and it doesn't end with an `end_function`. This PR fixes this. ``` test: ``` We don't error out for this because there is no info that `test` is a function, so we don't know whether there should be an `end_function` or not. ``` test: .functype test() -> () ``` We error out for this currently already, because we currently switch to `FunctionStart` state when we first see `.functype` directive after its label definition. Fixes https://github.com/llvm/llvm-project/issues/57427. Reviewed By: sbc100 Differential Revision: https://reviews.llvm.org/D141103
-
Matt Arsenault authored
Attempt 2 to fix big endian bot failures.
-
Peiming Liu authored
The template parameter is no longer needed after MutSparseTensorDescriptor is implemented as a subclass of SparseTensorDescriptorImpl. The only purpose for it was to enable SFINAE. Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D141303
-
Philip Reames authored
These are identical for RV32 and RV64.
-
Thurston Dang authored
Currently, tsan's memory mappings include 4GB for high app, 20GB for mid app, and 8GB for low app. The high app and mid app mappings are too small for large programs, especially if ASLR entropy (mmap_rnd_bits) is set higher. The low app region (for non-PIE) is too small for some of tcmalloc's internal tests (this does not affect normal apps, since tsan will replace malloc). This CL increases the memory mappings to 4TB for high app, 1.3TB for mid app, and 10TB for low app. Note that tsan's 44-bit pointer compression/decompression imposes a 16TB limit on the combined size of the app mappings, making this set of mappings more or less maximal. Differential Revision: https://reviews.llvm.org/D140923
-
Augusto Noronha authored
The symbol file stores a raw pointer to the main object file's symbol table. This pointer, however, can be freed, if ObjectFile::ClearSymtab is ever called. This patch makes sure out pointer to the symbol file is valid before using it.
-
Philip Reames authored
-
Alexey Bataev authored
-
Kazu Hirata authored
This patch fixes: mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp:947:13: error: variable 'distributedDim' set but not used [-Werror,-Wunused-but-set-variable]
-
Paul Kirth authored
In https://reviews.llvm.org/D137982 we found that on Mach-O private aliases could trigger an assert in lld when the aliasee was a weak_def_can_be_hidden symbol. This appears to be incorrect, and should be allowed in Mach-O. Disallowing this behavior is also inconsistent with how ld64 handles a private alias to weak_def_can_be_hidden symbols. This patch removes the assert and tests that LLD handles such aliases gracefully. Reviewed By: #lld-macho, int3 Differential Revision: https://reviews.llvm.org/D141082
-
Craig Topper authored
Instead of maintaining a separate valid flag for BaseReg, Use BaseReg.isValid(). I think this is left over from an older implementation that maintained a vector of base registers. The other change is not do a speculative assignment to BaseOffset that needs to be reverted. Only commit it after we do the check. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D141153
-
Theodore Luo Wang authored
Fixes https://github.com/llvm/llvm-project/issues/59673 Reviewed By: mehdi_amini, Mogball Differential Revision: https://reviews.llvm.org/D141201
-
Sanjay Patel authored
https://alive2.llvm.org/ce/z/ZXCtgi This breaks the infinite combine loop for issue #59897, but we may still need more changes to avoid those loops.
-
Sanjay Patel authored
-
Nikolas Klauser authored
-
Ivan Kosarev authored
They do not seem to be GFX10-specific anymore. Also renames the corresponding feature. Reviewed By: dp Differential Revision: https://reviews.llvm.org/D141069
-
Valentin Clement authored
This patch adds runtime default initialization for polymorphic dummy argument. The dynamic type might require default initialization but not the declared type. Reviewed By: jeanPerier, PeteSteinfeld Differential Revision: https://reviews.llvm.org/D141278
-
Valentin Clement authored
When an array element is extracted from an unlimited polymorphic array, the emboxing of this element has to retrive the type code and element size from the initial array. This patch retrive this information through the extracted type descriptor. This situation can be found in code like: ``` subroutine sub1(a) class(*) :: a(:) select type (x=>a(1)) type is (integer) x = 10 end select end subroutine ``` Reviewed By: jeanPerier, PeteSteinfeld Differential Revision: https://reviews.llvm.org/D141274 -
Florian Hahn authored
Add a test where the reassociation candidates are split across 2 blocks.
-
Jakub Kuderski authored
Fixes: https://github.com/llvm/llvm-project/issues/59136 Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D141292
-
Joseph Huber authored
Summary: There's some static checks on the library, we can't do offloading with `libgomp` for OpenMP. This patch specifies the library for the tests to avoid this breaking tests.
-
- Jan 09, 2023
-
-
Nikita Popov authored
There have been multiple cases where range calculations were wrong in the 1 bit case. Make sure we catch these by not specifying the bit width explicitly, and letting the test framework pick it (which will now always test 1 and 4 bits both).
-
Alex Brachet authored
Previously HWCAP_ATOMIC and others were being used before checking if they were defined. This moves up all the ifndef checks to define these macros if they are not yet defined. Differential Revision: https://reviews.llvm.org/D141285
-
Jakub Kuderski authored
- Make naming more consistent. - Drop unnecessary custom constructors definitions. - Move pass documentation to pass descriptions. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D141159
-
Matthias Springer authored
In case the distributed dim of the dest vector is also a dim of the src vector, each lane inserts a smaller part of the source vector. Otherwise, one lane inserts the entire src vector and the other lanes do nothing. Differential Revision: https://reviews.llvm.org/D137953
-
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D141281
-
Matthias Springer authored
In case of a distribution, only one lane inserts the scalar value. In case of a broadcast, every lane inserts the scalar. Differential Revision: https://reviews.llvm.org/D137929
-
Matthias Springer authored
Ops such as `%1 = vector.extract %0[2] : vector<5x96xf32>`. Distribute the source vector, then extract. In case of a 1d extract, rewrite to vector.extractelement. Differential Revision: https://reviews.llvm.org/D137646
-
Nikolas Klauser authored
-