- Jun 27, 2023
-
-
Craig Topper authored
[RISCV][SelectionDAGBuilder] Fix an implicit scalable TypeSize to fixed size conversion in getUniformBase. If the index needs to be scaled by a scalable size, just give up. Fixes #63459 Reviewed By: frasercrmck, RKSimon Differential Revision: https://reviews.llvm.org/D153601
-
Shubham Sandeep Rastogi authored
This reverts commit d6576add. Reverted because BUILD FAILED: failed 41960 expected passes 86 expected failures 28788 unsupported tests 1 unexpected failures (failure)
-
Jeff Niu authored
Depends on D153736 Reviewed By: rriddle, jpienaar Differential Revision: https://reviews.llvm.org/D153780
-
Jeff Niu authored
Fold `mul(x, 1)` and `mul(x, 0)`. Depends on D153736 Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D153736
-
Jeff Niu authored
This is a case that is not picked up by integer range inference and suggests a weakness with integer range inference on the index dialect. The problem is that when `[1, SMAX_64]` is truncated to 32 bits, the resulting range could be `[SMIN_32, SMAX_32]`, making the subsequent comparison worthless. This is because integer range inference doesn't know that the result of the max/min inference also changes based on the bitwidth, and doing the truncation locally at the input of the comparison op loses that information. This also was a pattern that frequently showed up in our code, so adding it as a folder allows dead code to be pruned more frequently. Depends on D153731 Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D153732
-
Jeff Niu authored
Mark the relevant index dialect operations as Commutative. Specifically, this allows the folder to move constant operands to the RHS. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D153731
-
Matt Arsenault authored
-
Philip Reames authored
This converts a crash (due an assertion inside getImm) into a verifier failure. Much easier to debug when you have malformed instructions.
-
Matt Arsenault authored
Pre-C99 didn't include bool, and C99 allows you to redefine true/false apparently.
-
Matt Arsenault authored
-
David Goldman authored
Reviewed By: kadircet Differential Revision: https://reviews.llvm.org/D152720
-
Shubham Sandeep Rastogi authored
When emitting a debug_frame section, it contains a named symbol. > echo "void foo(void) {}" | clang -arch arm64 -ffreestanding -g -c -o \ /tmp/test.o -x c - > nm /tmp/test.o -s __DWARF __debug_frame 0000000000000200 s ltmp1 There are no such symbols emitted in any of the other DWARF sections, this is because when the __debug_frame section is created, it doesn't get a `BeginSymName` and so it creates a named symbol, such as `ltmp1` and emits it when we switch to the section in MCDwarf.cpp. This patch fixes the above issue. Differential Revision: https://reviews.llvm.org/D153484 -
Garvit Gupta authored
Support for below instruction is added 1. CFLUSH.D.L1 2. CDISCARD.D.L1 3. CEASE Additionally, Zihintpause extension is added to sifive s76 for pause instruction. Spec - https://sifive.cdn.prismic.io/sifive/767804da-53b2-4893-97d5-b7c030ae0a94_s76mc_core_complex_manual_21G3.pdf Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D153370
-
LLVM GN Syncbot authored
-
Aiden Grossman authored
This patch introduces the SubprocessMemory class to llvm-exegesis. This class contains several utilities that are needed for managing memory to set up an execution environment for memory annotations. Reviewed By: courbet Differential Revision: https://reviews.llvm.org/D151022
-
Piotr Zegar authored
Change documentation, to avoid some duplication, and make it sound beter.
-
walter erquinigo authored
This issue has been seen in - https://lab.llvm.org/buildbot/#/builders/17/builds/39525 - https://lab.llvm.org/buildbot/#/builders/68/builds/55140 The reason is that a new language tag has been added for Mojo, but other recent languages need to be added to the language array so that a name lookup array doesn't have gaps. `ninja check-lldb-shell-process` now passes.
-
Alex Langford authored
This is a follow-up to b4827a3c. Differential Revision: https://reviews.llvm.org/D153675
-
Alex Langford authored
I removed ConstString from OptionValueProperties in 643ba926, but there are a few call sites that still create a ConstString as an argument. I did not catch these initially because ConstString has an implicit conversion method to StringRef. Differential Revision: https://reviews.llvm.org/D153673
-
Matt Arsenault authored
This was only using the SCEV expressions as a map key, which we can do just as well with the value pointers. This also allows it to handle vectors.
-
Matt Arsenault authored
-
Matt Arsenault authored
Try to test several untested paths. - Test the extension source type check - Test the programUndefinedIfPoison check - Test the add/sub with commuted operands - Test with vectors - Test multiple uses - Try to break operand map mismatches - Add some preparatory tests for zext+nuw support.
-
Matt Arsenault authored
-
Matt Arsenault authored
Testing codegen in test/Transforms is questionable to begin with, but it's more reasonable to see failures on the IR half before ISA checks.
-
Maurice Heumann authored
Volatile loads/stores of i64 are lowered to LDRD/STRD on ARMv5TE. However, these instructions require the addresses to be aligned. Unaligned loads/stores therefore should be ignored by this handling. Differential Revision: https://reviews.llvm.org/D152790
-
Eli Friedman authored
The current implementation tries to handle the high and low halves separately, but that's less efficient in most cases; use a wide SETCC instead. Differential Revision: https://reviews.llvm.org/D151358
-
Eli Friedman authored
MSVC normally has a bunch of restrictions on returning values directly which don't apply to passing values directly. (This roughly corresponds to the definition of a C++14 aggregate.) However, these restrictions don't apply to HVAs; make sure we check for that. Fixes https://github.com/llvm/llvm-project/issues/62223 Differential Revision: https://reviews.llvm.org/D153179
-
Krzysztof Drewniak authored
Whereas LLVM currently doesn't have any types for 8-bit floats, and whereas existing 8-bit float APIs (for instance, the AMDGCN intrinsics) take such floats as (packed) bytes, translate the MLIR 8-bit float types to i8 during LLVM lowering. In order to not special-case arith.constant for bitcasting constants to their integer form, amend the MLIR to LLVM translator to turn 8-bit float constants into i8 constants with the same value (by use of APFloat's bitcast method). This change can be reverted once LLVM has 8-bit float types. Reviewed By: gysit Differential Revision: https://reviews.llvm.org/D153160
-
Jonas Devlieghere authored
Add two new source subcommands: source cache dump and source cache clear. As the name implies the first one dumps the source cache while the later clears the cache. This patch was motivated by a handful of (internal) bug reports related to sources not being available. Right now those issues can be hard to diagnose. The new commands give users, as well as us as developers, more insight into and control over the source cache. Differential revision: https://reviews.llvm.org/D153685
-
Alex Langford authored
We are assuming that the pointer is always valid, might as well take a reference instead. Differential Revision: https://reviews.llvm.org/D153711
-
Alex Langford authored
We always assume the Stream pointer is valid, might as well be taking a reference instead. Differential Revision: https://reviews.llvm.org/D153710
-
Joel Dice authored
This adds support for Emscripten-style shared libraries [1] to non-emscripten targets, such as `wasm32-wasi`. Previously, only static linking was supported, and the `-shared` and `-fPIC` flags were simply ignored. Now both flags are honored. Since WASI runtimes do not necessarily include JavaScript support, we cannot rely on the JS-based Emscripten linker to link shared libraries. Instead, we link them using the Component Model proposal [2]. We have prototyped shared library support in `wasi-sdk` [3] and put together a demo [4] which uses a patched version of `wit-component` [5] to link libraries using the Component Model. We plan to submit the required changes upstream to the respective repositories in the next week or two. [1] https://github.com/WebAssembly/tool-conventions/blob/main/DynamicLinking.md [2] https://github.com/WebAssembly/component-model/blob/main/design/mvp/examples/SharedEverythingDynamicLinking.md [3] https://github.com/dicej/wasi-sdk/tree/dynamic-linking [4] https://github.com/dicej/component-linking-demo [5] https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wit-component Signed-off-by:
Joel Dice <joel.dice@fermyon.com> Reviewed By: sbc100 Differential Revision: https://reviews.llvm.org/D153293
-
Jake Egan authored
The test is failing due to D153595, so XFAIL for now to get the bot green. D151567 should fix it.
-
Argyrios Kyrtzidis authored
`HeaderSearch::loadSubdirectoryModuleMaps` `stat`s all the files in a directory which causes the dependency scanning service to load and cache their contents. This is problematic because a file may be in the process of being generated and could be cached by the dep-scan service while it is still incomplete. To address this change `loadSubdirectoryModuleMaps` to ignore regular files. Differential Revision: https://reviews.llvm.org/D153670
-
Wenlei He authored
Update llvm-profgen profile density message to cover both AutoFDO and CSSPGO. Differential Revision: https://reviews.llvm.org/D153730
-
Nicolas Vasilache authored
This PR adds support for the m16n8k16 f16 case. At this point, the support is mostly mechanical and could be Tablegen'd to all cases. Until then, this can be populated as needed on a case-by-case basis. Depends on: D153420 Differential Revision: https://reviews.llvm.org/D153428
-
Ahmed Bougacha authored
Blend combines two discriminator values used by other ptrauth ops. On AArch64 here, it does that by replacing the high 16 bits of the LHS with the low 16 bits of the RHS. Usually the RHS is a constant, which lets us do this efficiently in a single MOVK. When the RHS isn't constant, we can do a BFI. In a sense, this is implementing an ABI decision (how to lower the software construct of "blend"), but if there are interesting variants to consider, this could be made object-file-format-specific in some way. Differential Revision: https://reviews.llvm.org/D132384
-
Sam McCall authored
This reverts commit ae54f01d. Accidentally committed without review :-(
-
Nikolas Klauser authored
When comparing two arrays, their pointers are compared instead of their elements, which means that they are not trivially equality comparable Fixes #63371 Reviewed By: cor3ntin Spies: cor3ntin, cfe-commits Differential Revision: https://reviews.llvm.org/D153737
-
Nikolas Klauser authored
-