- Nov 03, 2023
-
-
Johannes Doerfert authored
We default to < 1024 teams if the user did not specify otherwise. As such we can avoid the extra logic in the teams reduction that handles more than num_of_records (default 1024) teams. This is a stopgap but still shaves of 33% of the runtime in some simple reduction examples.
-
Martin Storsjö authored
This reverts commit 3e6d7c6d. That commit caused miscompilation of ffmpeg's libavcodec/vp9dsp_8bpp.o on aarch64; the file still compiles correctly, but no longer produces the right result - see https://reviews.llvm.org/D148855#4655968 for details.
-
Jan Svoboda authored
Deserialization of the `DIAGNOSTIC_OPTIONS` and `HEADER_SEARCH_PATHS` records is slow and done for every transitively loaded PCM. Deserialization of these records cannot be skipped, because the words are VBR6-encoded and we don't store the length of the entire record. We could either turn them into binary blobs that can be skipped during deserialization, or skip writing them altogether. This patch takes the latter approach, since these records are not necessary in scanning PCMs. The scanner doesn't make any guarantees about the accuracy of diagnostics, and we always have the same header search paths due to strict context hashing. The commit that makes the `DIAGNOSTIC_OPTIONS` record skippable was originally implemented by @benlangmuir in a downstream repo.
-
River Riddle authored
Plugins aren't exported by default in the msvc path because we explicitly limit the symbols exported to prevent hitting the symbol export limit. Some plugins, however, can still be useful for downstream projects to build on, e.g. the Mojo language uses parts of the dwarf plugin to implement dwarf handling within its debugger plugin. This PR adds a cmake variable in the MSVC path, LLDB_EXPORT_ALL_SYMBOLS_PLUGINS, that allows for providing the set of plugins to export symbols from.
-
Johannes Doerfert authored
A recent update caused the fences to be team only while we always need kernel fences. Broke OpenMC on NVIDIA A100.
-
Craig Topper authored
-
Konstantin Varlamov authored
- reenable a few tests that still pass under the new debug mode; - delete a placeholder test; - delete a test that is no longer relevant.
-
Valentin Clement (バレンタイン クレメン) authored
Set upperbound to lowerbound value and extent to zero when extent is undefined.
-
Peiming Liu authored
support direct convert from a constant tensor defined by SparseArrayElements to BSR
-
Sam Clegg authored
This flag causes wasm-ld preserve a section even in the face of `--strip-all`. This is useful, for example, to preserve the target_features section in the ase of clang (which can run wasm-opt after linking), and emcc (which performs a bunch of post-link work). Fixes: https://github.com/llvm/llvm-project/issues/60613 Fixes: https://github.com/llvm/llvm-project/issues/55781 Differential Revision: https://reviews.llvm.org/D149917
-
LLVM GN Syncbot authored
-
Craig Topper authored
This adds a new pass to insert VXRM writes for vector instructions. With the goal of avoiding redundant writes. The pass does 2 dataflow algorithms. The first is a forward data flow to calculate where a VXRM value is available. The second is a backwards dataflow to determine where a VXRM value is anticipated. Finally, we use the results of these two dataflows to insert VXRM writes where a value is anticipated, but not available. The pass does not split critical edges so we aren't always able to eliminate all redundancy. The pass will only insert vxrm writes on paths that always require it.
-
Owen Pan authored
A for/while loop with only a semicolon as its body should be treated as an empty loop. Fixes #61708.
-
Ryan Prichard authored
The Android LLVM build system builds the arm64 fuzzer lib without HWASan, but then applications that enable HWASan can generated an object file with a HWASan-ified version of some libc++ symbols (e.g. `std::__1::piecewise_construct`). The linker can choose the HWASan-ified definition, but then it cannot resolve the relocation from libclang_rt.fuzzer-aarch64-android.a to this symbol because the high bits of the address are unexpectedly set. This produces an error: ``` relocation R_AARCH64_ADR_PREL_PG_HI21 out of range ``` Fix this problem by linking a custom isolated libc++ into Android's fuzzer library. We need to pass through ANDROID_NATIVE_API_LEVEL so that the libc++ for 32-bit Android (API < 24) uses LLVM_FORCE_SMALLFILE_FOR_ANDROID.
-
qcolombet authored
Prior to this patch, vector `s|uitofp` from narrow types (`<= i16`) were scalarized when the hardware doesn't support fp16 conversions natively. This patch fixes that by avoiding using `i16` as an intermediate type when there is no hardware support conversion from this type to half. In other words, when the target doesn't support `avx512fp16`, we avoid using intermediate `i16` vectors for `s|uitofp` conversions. Instead we extend the narrow type to `i32`, which will be converted to `float` and downcasted to `half`. Put differently, we go from: ``` s|uitofp iNarrow %src to half ``` To ``` %tmp = s|zext iNarrow %src to i32 %tmpfp = s|uitofp i32 %tmp to float fptrunc float %tmpfp to half ``` Note that this patch: - Doesn't change the actual lowering of i32 to half. I.e., the `float` intermediate step and the final downcasting are what existed for this input type to half. - Changes only the intermediate type for the lowering of `s|uitofp`. I.e., the first `s|zext` from i16 to i32. Remark: The vector and scalar lowering of `s|uitofp` don't use the same code path. Not super happy about that, but I'm not planning to fix that, at least in this PR. This fixes https://github.com/llvm/llvm-project/issues/67080
-
Christian Ulmann authored
This commit removes the last remnants of `use-opaque-pointers` from the mlir tests. Two of the tests seem to be disabled, while the CUDA one is an integration test that didn't trigger a buildbot failure.
-
Florian Hahn authored
Unfortunately the commit (D123162) introduced a mis-compile (https://github.com/llvm/llvm-project/issues/70547), which wasn't fixed by the alternative fix (c0de28b9) I think as long as the call considered as ephemeral is not removed, we need to be conservative. To address the correctness issue quickly, I think we should revert the patch (as this patch does, it doens't revert cleanly) This reverts commit 17fdaccc. Fixes https://github.com/llvm/llvm-project/issues/70547
-
Philip Reames authored
-
Joseph Huber authored
Summary: This patch fixes some code duplication on the GPU. The GPU build wanted to enable timing for hermetic tests so it built some special case handling into the test suite. Now that `clock` is supported on the target we can simply link against the external interface. Because we include `clock.h` for the CLOCKS_PER_SEC macro we remap the C entrypoint to the internal one if it ends up called. This should allow hermetic tests to run with timing if it is supported.
-
Kazu Hirata authored
This patch fixes: mlir/lib/Dialect/Tosa/IR/TosaOps.cpp:866:35: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare] mlir/lib/Dialect/Tosa/IR/TosaOps.cpp:888:29: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare] mlir/lib/Dialect/Tosa/IR/TosaOps.cpp:893:59: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
-
Aart Bik authored
Some DLT related methods leaked into sparse_tensor.h, and this moves it back to the right header. Also, the asserts were incomplete and some DLT methods duplicated.
-
Philip Reames authored
-
spupyrev authored
Unify naming for the layout algorithms by renaming "cds" to "cdsort". This is NFC unless someone is already using the new algorithm (which is unlikely).
-
Kazu Hirata authored
This patch fixes: llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp:4575:16: error: 'ParseStatus' is deprecated: Migrate to ParseStatus [-Werror,-Wdeprecated-declarations]
-
Amara Emerson authored
-
spupyrev authored
BOLT fails to process binaries in non-LBR mode, as some blocks marked as having a zero execution count. Adjusting code layout to process such blocks without assertions. This is NFC for all other use cases.
-
Nico Weber authored
This reverts commit b3523d7e. Breaks tests on mac, see: https://github.com/llvm/llvm-project/commit/b3523d7e6d88344#commitcomment-131547708
-
Konstantin Zhuravlyov authored
- Update memory model sequences for GFX940, GFX941, GFX942 to match implementation - Re-title "Memory Model GFX940" to "Memory Model GFX942" Co-authored with @t-tye Change-Id: I82f1707b7c3e010ce1fe8207fcca18c4570057a3 Co-authored-by:Konstantin Zhuravlyov <kzhuravl@amd.com>
-
Zequan Wu authored
-
Philip Reames authored
This fixes a miscompile introduced in the recent #67982, and likely exposed in changes since to infer and leverage the same. No active bug reports as of yet. This was noticed in https://github.com/llvm/llvm-project/pull/70858#discussion_r1378203532.
-
Felix Schneider authored
This patch adds an verifier to `tosa.tile` which checks input/output ranks and the length of the `multiples` array. The patch also fixes a crash in the shape inference when an invalid `multiples` array is supplied. Fix https://github.com/llvm/llvm-project/issues/70415
-
Tom Yang authored
Often, we only care about the split-dwarf files that have failed to load. This can be useful when diagnosing binaries with many separate debug info files where only some have errors. ``` (lldb) help image dump separate-debug-info List the separate debug info symbol files for one or more target modules. Syntax: target modules dump separate-debug-info <cmd-options> [<filename> [<filename> [...]]] Command Options Usage: target modules dump separate-debug-info [-ej] [<filename> [<filename> [...]]] -e ( --errors-only ) Filter to show only debug info files with errors. -j ( --json ) Output the details in JSON format. This command takes options and free-form arguments. If your arguments resemble option specifiers (i.e., they start with a - or --), you must use ' -- ' between the end of the command options and the beginning of the arguments. 'image' is an abbreviation for 'target modules' ``` I updated the following tests ``` # on Linux bin/lldb-dotest -p TestDumpDwo # on Mac bin/lldb-dotest -p TestDumpOso ``` This change applies to both the table and JSON outputs. --------- Co-authored-by:Tom Yang <toyang@fb.com>
-
Peiming Liu authored
Reuse the util function instead.
-
Fangrui Song authored
If DEFAULT_SYSROOT is not empty, the /usr/lib/gcc80 path may have leading path components `getFilePaths().push_back(concat(getDriver().SysRoot, "/usr/lib/gcc80"))`
-
Philip Reames authored
Precommit of tests from 70858, requested in review.
-
Alexey Bataev authored
-
Youngsuk Kim authored
Opaque ptr cleanup effort (NFC)
-
Jeremy Morse authored
And some intervening fixups. There are two remaining problems: * A memory leak via https://lab.llvm.org/buildbot/#/builders/236/builds/7120/steps/10/logs/stdio * A performance slowdown with -g where I'm not completely sure what the cause it These might be fairly straightforwards to fix, but it's the end of the day hear, so I figure I'll clear the buildbots til tomorrow. This reverts commit 7d77bbef. This reverts commit 9026f35a. This reverts commit d97b2b38.
-
Alexey Bataev authored
If the reduction instruction is not bool logical op, but reduced within bool logical op reduction list, need to freeze to avoid poison propagation.
-
Chelsea Cassanova authored
The instructions for running single tests in the LLDB test suite used an older directory structure from before the LLVM project became a monorepo. This commit updates the references to these directories.
-