- Aug 19, 2023
-
-
Craig Topper authored
This reverts commit 770be43f. Forgot to remove from my tree while experimenting.
-
Craig Topper authored
[DAG] SimplifyDemandedBits - Use DemandedBits intead of OriginalDemandedBits to when simplifying UMIN/UMAX to AND/OR. DemandedBits is forced to all ones if there are multiple users. The changes X86 test cases looks like they were miscompiles before. The value of eax/rax from the cmov is returned from the function in addition to being used by the sar. That usage needs all bits even though the sar doesn't.
-
Craig Topper authored
We have an existing DAG combine for when an insert/extract subvector pair is entirely a nop, but we hadn't handled the case where the net result was either an insert or an extract (but not both). The transform is restricted to index = 0 to avoid having to adjust indices after the transform. Reviews, a couple comments on the test changes: * Mostly RISCV, mostly schedule reordering. * One real regression in splats-with-mixed-vl.ll due to a different overly aggressive combine, fix in a follow up patch. * The test/CodeGen/X86/vector-replicaton-i1-mask.ll diff looked concerning at first, but not the mask size at most 4 i1s. I think the type changes on the mask loads are correct, but would welcome a second opinion with someone more familiar with AVX512 codegen. Differential Revision: https://reviews.llvm.org/D158201
-
Luke Lau authored
Today I learnt about their existence (D158288), they just need to be prefixed with a u or s. Reviewed By: goldstein.w.n Differential Revision: https://reviews.llvm.org/D158290
-
Artem Belevich authored
-
Jonas Devlieghere authored
Dump verification errors to a local buffer instead of racing stdio and potentially showing interleaved output.
-
Artem Belevich authored
We had some instances when LLVM would not inline fixed-count memcpy and ended up attempting to lower it a a libcall, which would not work on NVPTX as there's no standard library to call. The patch relaxes the threshold used for -Os compilation so we're always allowed to inline memory copy functions. Differential Revision: https://reviews.llvm.org/D158226
-
Alexander Shaposhnikov authored
This reverts commit 40bf3631. The build bot ppc64le-mlir-rhel-test got broken by these changes, see https://lab.llvm.org/buildbot#builders/88/builds/61048 .
-
Jonas Devlieghere authored
Feedback I hear regularly is that the LLDB website is hard to navigate. This patch is an attempt to simplify things by breaking the website up in 3 major areas: "Using LLDB", "Scripting LLDB" and "Developing LLDB". - The majority of the "project" pages were eliminated. The projects page was moved under "Developing LLDB". The releases page was replaced with a link under "External links". The other pages (goals, features and status) were pretty outdated and while they probably made sense in the past, they don't feel all that relevant anymore now that LLDB is an established debugger. - "USE & EXTENSION" was renamed to "Using LLDB". Besides that, this section remained mostly unchanged. The exception are the Python pages which were moved under "Scripting LLDB". - "Development" was renamed to "Developing LLDB" and now houses all the resources for LLDB developers. The old "Design" section (which only contained two pages) was moved back under here too. Differential revision: https://reviews.llvm.org/D158023 -
Thurston Dang authored
Revert "[DAG] SimplifyDemandedBits - if we're only demanding the signbit, a SMIN/SMAX node can be simplified to a OR/AND node respectively." This reverts commit 54d663d5, which breaks the test CodeGen/SystemZ/ctpop-01.ll for stage2-ubsan check (see https://lab.llvm.org/buildbot/#/builders/85/builds/18410) I manually confirmed that the test had been passing immediately prior to that commit (BUILDBOT_REVISION=4772c66c llvm-zorg/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_ubsan.sh)
-
Michael Jones authored
The fuzzer found that a 100,000 digit number could possibly return an incorrect result. This patch fixes the issue. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D158118
-
Alexander Shaposhnikov authored
Add support for f16 in the expansion of math.roundeven. Associated GitHub issue: https://github.com/openxla/iree/issues/13522 This version addresses the build issues on Windows reported on https://reviews.llvm.org/D157204 Test plan: ninja check-mlir check-all Differential revision: https://reviews.llvm.org/D158234
-
Louis Dionne authored
Since we build the dylib with C++20, there's no need to use conditional macros anymore. Differential Revision: https://reviews.llvm.org/D157995
-
Aaron Ballman authored
This addresses issues found by: https://lab.llvm.org/buildbot/#/builders/30/builds/39010
-
Luke Lau authored
It's possible to write an integer constant in hexadecimal, but you need to prefix it with u or s. I couldn't find this mentioned anywhere in the LangRef, so this adds a small note about it. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D158288
-
Anna Thomas authored
When updating the return type of deoptimize call during inline, we need to drop incompatible return attributes. This bug was exposed once we relaxed the contraint of adding the attributes through D156844. With that change deoptimize (are not willreturn) will start having return attributes added to it. Fixes https://github.com/llvm/llvm-project/issues/64804. Differential Revision: https://reviews.llvm.org/D158286
-
Nandor Licker authored
To enable signature conversions to be used in CIRCT, locations should no longer be dropped from block arguments. Reviewed By: Mogball, springerm Differential Revision: https://reviews.llvm.org/D157882
-
Yuhao Gu authored
`llvm-cov convert-for-testing` only functions properly when the input binary contains a single source file. When the binary has multiple source files, a `Malformed coverage data` error will occur when the generated .covmapping is read back. This is because the testing format lacks support for indicating the size of its file records, and current implementation just assumes there's only one record in it. This patch fixes this problem by introducing a new testing format version. Changes to the code: - Add a new format version. The version number is stored in the the last 8 bytes of the orignial magic number field to be backward-compatible. - Output a LEB128 number before the file records section to indicate its size in the new version. - Change the format parsing code correspondingly. - Update the document to formalize the testing format. - Additionally, fix the bug when converting COFF binaries. Reviewed By: phosek, gulfem Differential Revision: https://reviews.llvm.org/D156611
-
Valentin Clement authored
Split the tests for declare in module specification and the declare in function/subroutine specificatons. Since the lowering is specific to the location of the declare it will make it easier to update these files. This also remove the duplicate parts shared by the FIR vs HLFIR tests. Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D158222
-
Mirko Brkusanin authored
Patch by: Acim Maravic Differential Revision: https://reviews.llvm.org/D157091
-
Paul Robinson authored
D155991 changed the file lookup to do a full string compare on the filename; however, this added ~0.5% to compile time with -g. Go back to the previous pointer-based lookup, but capture the main file's checksum as well as its name to use when creating the extra DIFile entry. This causes all entries to be consistent and also avoids computing the checksum twice. This reverts commit 5956648f. There was a string lifetime issue that is now corrected. Differential Revision: https://reviews.llvm.org/D156571
-
Fangrui Song authored
Rename warn_drv_overriding_flag_option (-Woverriding-t-option) to warn_drv_overriding_flag_option (-Woverriding-option) warn_drv_overriding_flag_option was added for clang-cl `/T*` options (D1290) and its group name was planned to be renamed to overriding-option. The name -Woverriding-t-option does not make sense for other uses, mostly related to -ffp-model= related diagnostics. Reviewed By: hans, skan, dexonsmith Differential Revision: https://reviews.llvm.org/D158137
-
- Aug 18, 2023
-
-
Andrzej Warzynski authored
This is a partial revert of https://reviews.llvm.org/D157837 - it turns out that the LLVM test suite needs to be updated first not to use any of the unsupported Flang options: * https://github.com/llvm/llvm-test-suite Sample errors: ``` flang-new: error: unknown argument: '-fbounds-check' flang-new: error: unknown argument: '-fcheck=all' flang-new: error: unknown argument: '-fcheck-array-temporaries' ``` Once the test suite is updated, we can restore the reverted setting. Broken bot: * https://lab.llvm.org/buildbot/#/builders/197/builds/9001 Differential Revision: https://reviews.llvm.org/D158289
-
Aleksandr Popov authored
This is the next preparation patch to support widenable conditions widening instead of branches widening. We've added parseWidenableGuard util which parses guard condition and collects all checks existing in the expression tree: D157276 Here we are adding util which walks similar way through the expression tree but looks up for widenable condition without collecting the checks. Therefore llvm::extractWidenableCondition could parse widenable branches with arbitrary position of widenable condition in the expression tree. llvm::parseWidenableBranch which is we are going to get rid of is being replaced by llvm::extractWidenableCondition where it's possible. Reviewed By: anna Differential Revision: https://reviews.llvm.org/D157529
-
Florian Hahn authored
-
Kadir Cetinkaya authored
This prevents further parsing of tokens (that'll be freed) inside method body by propagating EOF emitted by reaching code completion token up the parsing stack. Differential Revision: https://reviews.llvm.org/D158269
-
Kelvin Li authored
Differential Revision: https://reviews.llvm.org/D158189
-
Timo Stripf authored
[clang][AST] TextNodeDumper learned to output refers_to_enclosing_variable_or_capture flag for DeclRefExpr Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D158265
-
Simon Pilgrim authored
[X86] SimplifyDemandedBits - move MaskedValueIsZero as late as possible to avoid unnecessary (recursive) analysis costs. NFC. Mentioned on D155472 for the SHL equivalent
-
Simon Pilgrim authored
[X86] foldMaskAndShiftToExtract - as long as we call insertDAGNode in the creation order then duplicates don't matter.
-
Pravin Jagtap authored
Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D157712
-
Nico Weber authored
On macOS, files are usually below `/Users/...` and clang-cl treats that as the `/U` flag followed by something instead of as a path. Put `--` in front of `%s` to make it treat it as a patch, like in all other tests. The failure without this change: x86-no-gather-no-scatter.cpp:4:14: error: NOGATHER: expected string not found in input // NOGATHER: "-target-feature" "+prefer-no-gather" ^ <stdin>:5:44: note: possible intended match here clang: warning: 'x86-no-gather-no-scatter.cpp' treated as the '/U' option [-Wslash-u-filename] ^ -
LLVM GN Syncbot authored
-
Paul Robinson authored
This reverts commit 2e4d2d80. Invalid checksums detected here: https://lab.llvm.org/buildbot/#/builders/37/builds/24465
-
Matthias Springer authored
Check for invalid pass flags when running `-one-shot-bufferize` instead of crashing with a failed assertion. This fixes #64267. Differential Revision: https://reviews.llvm.org/D158162
-
Matthias Springer authored
Remove `dangerousSetOptions` and call `promoteOperands` with the correct arguments directly. Differential Revision: https://reviews.llvm.org/D158175
-
Nico Weber authored
[gn] port d5ca9004 (driver_execs for dsymutil, llvm-debuginfod, llvm-ml, llvm-objdump, llvm-symbolizer)
-
Kadir Cetinkaya authored
Despite being true positives, these results just confuse users. So filter them out. Differential Revision: https://reviews.llvm.org/D157905
-
Aleksandr Popov authored
Currently after widening br(WC && (c1 && c2)) we insert assume of (c1 && c2) which is joined to WC by And operation. But we are going to support more flexible form of widenable branches where WC could be placed arbitrary in the expression tree, e.g: br(c1 && (c2 && WC)). In that case we won't have (c1 && c2) in the IR. So we need to add explicit (c1 && c2) and then create an assumption of it. Reviewed By: anna Differential Revision: https://reviews.llvm.org/D157502
-