- Jan 10, 2023
-
-
bixia1 authored
Previously, we use a temporary tensor with identity ordering. We now use a temporary tensor with the destination dimension ordering, to enable the use of sort_coo for sorting the tensor. Reviewed By: Peiming Differential Revision: https://reviews.llvm.org/D141295
-
Jonas Devlieghere authored
When ingesting aranges from a dSYM, always trust the contents of the accelerator table since it always comes from dsymutil. According to Instruments, skipping the decoding of all CU DIEs to get at the DW_AT_ranges attribute removes ~3.5 seconds from setting a breakpoint by file/line when debugging clang with a dSYM. Interestingly on the wall clock the speedup is less noticeable, but still present. rdar://problem/56057688 Differential Revision: https://reviews.llvm.org/D68655
-
Teresa Johnson authored
Since the linker does not resolve local symbols, we cannot look up whether they are prevailing. The prior check was blocking all locals from getting memprof summaries in the combined index. Modified the existing test case to contain a local. This necessitated some other fixes as the order of summary entries changed. Differential Revision: https://reviews.llvm.org/D140786
-
William Huang authored
Allow user to specify `--output-size-limit=n` to cap the size of generated profile to be strictly under n. Functions with the lowest total sample count are dropped first if necessary. Due to using a heuristic, excessive functions may be dropped to satisfy the size requirement Reviewed By: snehasish Differential Revision: https://reviews.llvm.org/D139603
-
Rafael A Herrera Guaitero authored
Analysis that determines if a parallel region can reach another parallel region in any target region of the TU. A new global var is emitted with the name of the kernel + "_nested_parallelism", which is either 0 or 1 depending on the result. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D141010
-
Sanjay Patel authored
In the changed tests, we avoid creating extra instructions, and there are no obvious regressions in IR tests at least. Codegen should be able to create the shift+mask form if that is profitable. This is a more general fix for issue #59897 than 0eedc9e5 .
-
Sanjay Patel authored
-
Sanjay Patel authored
-
Philip Reames authored
For the moment, this is the same as the default memory model.
-
Lei Zhang authored
Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D141316
-
Tue Ly authored
-
Siva Chandra Reddy authored
-
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
-