- Nov 04, 2022
-
-
Florian Hahn authored
ConstantInt::getTrue/getFalse can materialize scalable vectors with all lanes true/false.
-
Mats Petersson authored
After submitting the DataLayout fix, some tests fail when they didn't before. This has to do with the target essentially being ignored when these tests were run earlier, as the --target x86-unknown-linux-gnu only has to be correctly formed to be accepted. Now the target triple is actually being used to get the targetmachine earlier - before MLIR is generated - so the test that has a valid target but not available on the platform fails. Fix is to require x86 registered target when running those tests. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D137335
-
Nathan Chancellor authored
This reverts commit b4e1466c. This causes a crash while building the Linux kernel. See the original Phabricator review for a reduced C and LLVM IR reproducer.
-
Mingming Liu authored
- Run auto updater for 'trunc-to-tbl.ll' and 'build-pair-isel.ll' - Add the motivating test of D135102 to 'bitfield-insert.ll' Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D137296
-
Jason Molenda authored
PlatformDarwinKernel::GetSupportedArchitectures returns a list of architectures that are possible for this platform; it was using a compile-time check for the debug host to decide the list of arches that were valid. This was copied from a codepath doing native process debugging, and was clearly wrong for kernel debugging, but it had not happened to cause problems so it went unnoticed for a long time. Small NFC change to the logging messages of Target::SetArchitecture to make them a little more explicit about how the architecture is being modified/replaced. Differential Revision: https://reviews.llvm.org/D137301 rdar://101690111
-
Emilio Cota authored
This allows users to restrict the transformation to a subset of the functions in a module. For example, a user might want to apply the transformation to a module's entry point, but not to the calls in the module because those calls might refer to external C functions outside of their control. Reviewed By: springerm, nicolasvasilache Differential Revision: https://reviews.llvm.org/D137264
-
Renaud-K authored
-
Petar Avramovic authored
Search for COPY source in instruction we get from look through (not copy dst). Differential Revision: https://reviews.llvm.org/D137273
-
Peter Steinfeld authored
This will make it easier for me to do reviews. Differential Revision: https://reviews.llvm.org/D137291
-
Slava Zakharin authored
This change-set adds basic support for llvm.signext and llvm.zeroext attributes, and makes sure that the attributes are translated to LLVM IR when attached to arguments. This is needed for https://github.com/llvm/llvm-project/issues/58579 Differential Revision: https://reviews.llvm.org/D137048
-
Michael Maitland authored
It is likley that subtargets act differently for a vector integer arithmetic instruction based on the LMUL. This patch creates seperate SchedRead, SchedWrite, WriteRes, ReadAdvance for each relevant LMUL. It also introduces the concept of an "UpperBound LMUL" which allows us to describe how an instruction should behave when the LMUL is unknown. All base instructions use the UpperBound resources because they are not tied to a specific LMUL. This gives subtargetes the flexibility to describe their own upper bounds on each vector instruction. I have a series of patches for the rest of the vector instruction set ready to go, but I would like to first get feedback on the first one of the series (this one). Differential Revision: https://reviews.llvm.org/D136730
-
David Green authored
As the other recent patches, this alters the arm_fp16 intrinsics to be target based, not preprocessor based. Apparently arm_fp16.h is AArch64 only under clang, making this mostly trivial with the TargetGuard infrastructure. Differential Revision: https://reviews.llvm.org/D137256
-
- Nov 03, 2022
-
-
Slava Zakharin authored
So far the function argument attributes were only translated for functions with bodies. This change makes sure that this happens for functions without bodies (declarations) as well. This is needed for https://github.com/llvm/llvm-project/issues/58579 Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D137047
-
rkayaith authored
This adds an extra argument for specifying the pass manager's anchor op, with a default of `any`. Previously the anchor was always defaulted to `builtin.module`. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D136406
-
rkayaith authored
The pipeline string must now include the pass manager's anchor op. This makes the parse API properly roundtrip the printed form of a pass manager. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D136405
-
rkayaith authored
The pipeline string must now include the pass manager's anchor op. This makes the parse API properly roundtrip the printed form of a pass manager. Since this is already an API break, I also added an extra callback argument which is used for reporting errors. The old functionality of appending to an existing pass manager is available through `mlirOpPassManagerAddPipeline`. Reviewed By: mehdi_amini, ftynse Differential Revision: https://reviews.llvm.org/D136403
-
rkayaith authored
Including the anchor op ensures that all pass manager settings are fully specified, and makes the string consistent with the printed form. Depends on D134622 Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D134623
-
Jan Sjodin authored
Remove unused [this] capture in lambda.
-
rkayaith authored
In D134622 the printed form of a pass manager is changed to include the name of the op that the pass manager is anchored on. This updates the `-pass-pipeline` argument format to include the anchor op as well, so that the printed form of a pipeline can be directly passed to `-pass-pipeline`. In most cases this requires updating `-pass-pipeline='pipeline'` to `-pass-pipeline='builtin.module(pipeline)'`. This also fixes an outdated assert that prevented running a `PassManager` anchored on `'any'`. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D134900
-
Jay Foad authored
-
David Green authored
-
LiDongjin authored
Check hasOneUser before user_back(). Differential Revision: https://reviews.llvm.org/D136227
-
Nikita Popov authored
InstCombine does some basic store to load forwarding. One case it currently misses is the case where the store is actually a memset. This patch adds support for this case. This is a minimal implementation that only handles a load at the memset base address, without an offset. GVN is already capable of performing this optimization. Having it in InstCombine can help with phase ordering issues, similar to the existing store to load forwarding. Differential Revision: https://reviews.llvm.org/D137323
-
Nikita Popov authored
-
zhijian authored
[XCOFF] change the decoding of External symbol's function auxiliary entry in XCOFF32 for llvm-readobj Summary: llvm-readobj decide whether to decode the external symbol's function auxiliary entry based on whether symbol is function or not currently. But the XCOFFSymbolRef::isFunction() do not work properly when -ffunction-sections is enabled. we will not decode the function auxiliary entry based on the XCOFFSymbolRef::isFunction() we will decode the function auxiliary entry based on following: According to the https://www.ibm.com/docs/en/aix/7.2?topic=formats-xcoff-object-file-format#XCOFF__c0f91ad419jbau In XCOFF32, there are only "one csect Auxiliary Entry" and "a function auxiliary symbol table entry" for the C_EXT, C_WEAKEXT, and C_HIDEXT Symbols. and By convention, the csect auxiliary entry in an XCOFF32 file must be the last auxiliary entry for any external symbol that has more than one auxiliary entry( that means for the C_EXT, C_WEAKEXT, and C_HIDEXT Symbols. if there more than one auxiliary Entries. we look the last one as csect auxiliary entry. and others auxiliary entries as function entries). Reviewers: Hubert Tong, James Henderson Differential Revision: https://reviews.llvm.org/D136950
-
Nikita Popov authored
CVP currently only tries to simplify comparisons if there is a constant operand. However, even if both are non-constant, we may be able to determine the result of the comparison based on range information. IPSCCP is already capable of doing this, but because it runs very early, it may miss some cases. Differential Revision: https://reviews.llvm.org/D137253
-
bipmis authored
This patch is to address the test cases in which the load has to be inserted at a right point. This happens when there is a store b/w the loads. This patch reverts the loads merge in all cases when stores are present b/w loads and will eventually be replaced with proper fix and test cases. Differential Revision: https://reviews.llvm.org/D137333
-
Jan Sjodin authored
This patch moves the createOffloadEntriesAndInfoMetadata to OpenMPIRBuilder, the createOffloadEntry helper function. The clang specific error handling is invoked using a callback. This code will also be used by flang in the future.
-
Aaron Ballman authored
-
Nikita Popov authored
-
Stefan Gränitz authored
This test caught my attention because it's the only one in JITLink that XFAILs. Running it in isolation showed that the output doesn't meet the CHECK-LINES, i.e. the block address didn't match: ``` error: CHECK-NEXT: expected string not found in input CHECK-NEXT: block 0xfff02000 size = 0x00000001, align = 16, alignment-offset = 0 <stdin>:22:2: note: possible intended match here block 0xfff01000 size = 0x00000001, align = 16, alignment-offset = 0 ``` Though, that doesn't appear to be the reason the test XFAILs. What we really want to check here is that llvm-jitlink doesn't fail with a duplicate section error yet. In order to avoid issues like this in the future we can match a placeholder to check for some valid address within the slab (64Kb == last 4 digits). The patch also drops the duplicate -noexec argument, removes an empty RUN-line, fixes indentation and adds a newline at EOF. Reviewed By: sunho Differential Revision: https://reviews.llvm.org/D137148 -
OCHyams authored
This reverts commit c285df77e9b78f971f9cd9d025248c20b030cc2a. A sanitizer bot found an issue: https://lab.llvm.org/buildbot/#/builders/5/builds/28809/steps/13/logs/stdio
-
Michael Buch authored
On Linux the `std::function` behaved differently to that on Darwin. This patch removes usage of `std::function` in the test but attempts to retain the test-coverage. We mainly want function types appearing in the template argument and function argument lists. Also add a `char const*` overload to one of the test functions to cover the "format function argument using ValueObject formatter" code-path. Differential Revision: https://reviews.llvm.org/D137272
-
Stefan Pintilie authored
A new register class as well as a number of related subregisters are being added to Future CPU. These registers are Dense Math Registers (DMR) and are 1024 bits long. These regsiters can also be used in consecutive pairs which leads to a register that is 2048 bits. This patch also adds 7 new instructions that use these registers. More instructions will be added in future patches. Reviewed By: amyk, saghir Differential Revision: https://reviews.llvm.org/D136366
-
Nikita Popov authored
To allow reusing this in more places in SimplifyCFG.
-
Haojian Wu authored
-
Alexey Bataev authored
Need to use comma instead of + symbol to prevent writing after bounds.
-
Alexey Bataev authored
-
Aaron Ballman authored
[module.unit]p1 specifies that module and import are invalid components of a module name, that module names cannot contain reserved identifiers, and that std followed by zero or more digits is reserved. The first issue (module and import pseudo-keywords) requires a diagnostic, the second issue (use of reserved identifiers) does not require a diagnostic. We diagnose both the same -- the code is ill- formed unless the module declaration is in a system "header". This allows STL implementations to use the reserved module names while preventing users from stealing them out from under us. Differential Revision: https://reviews.llvm.org/D136953
-
bipmis authored
-