- Dec 11, 2021
-
-
Sam McCall authored
-
Lei Zhang authored
`(void)` was added when LogicalResult was marked as non discard. This commit cleans them up to properly propagate failures. Reviewed By: scotttodd Differential Revision: https://reviews.llvm.org/D115541
-
Lei Zhang authored
This should really come from a matching target environment. But as a default, it can be handy (to avoid always listing the full resource limits attribute in IR, etc.). It's common to see 32 so use that as the subgroup size. Reviewed By: scotttodd Differential Revision: https://reviews.llvm.org/D115534
-
Lei Zhang authored
It's legal per the Vulkan / SPIR-V spec; still it's better to avoid such duplication to have cleaner blob and reduce the binary size. Reviewed By: scotttodd Differential Revision: https://reviews.llvm.org/D115532
-
Lei Zhang authored
In SPIR-V, symbol names are encoded as `OpName` instructions. They are not semantic impacting and can be omitted, which can reduce the binary size. Reviewed By: scotttodd Differential Revision: https://reviews.llvm.org/D115531
-
Kirill Stoimenov authored
This change moves optimized callbacks from each .o file to compiler-rt. Reviewed By: vitalybuka, morehouse Differential Revision: https://reviews.llvm.org/D115396
-
Chia-hung Duan authored
bc657b2e adds the dependency to MemRefDialect. Reviewed By: GMNGeoffrey, mehdi_amini Differential Revision: https://reviews.llvm.org/D115558
-
Jayson Yan authored
Adds JSONScopedPrinter to llvm-readelf. It includes an empty JSONELFDumper class which will be used to override any LLVMELFDumper methods which utilize startLine() which JSONScopedPrinter cannot provide. This introduces a change where calls to llvm-readelf with non-ELF object files that specify --elf-output-style=GNU will now print file summary information where it previously didn't. Fixes previous Windows test failure which occured due to JSON escaping of '\' by not relying on LIT substitution. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D114225
-
Nicolas Vasilache authored
This reverts commit 5601821d. The prefix + canonical complete behavior is actually obsolete and should not be reintroduced. Reverting.
-
Andrew Browne authored
This reverts commit 2b554920. This change causes tsan test timeout on x86_64-linux-autoconf. The timeout can be reproduced by: git clone https://github.com/llvm/llvm-zorg.git BUILDBOT_CLOBBER= BUILDBOT_REVISION=eef8f3f8 llvm-zorg/zorg/buildbot/builders/sanitizers/buildbot_standard.sh
-
David Blaikie authored
-
Florian Mayer authored
Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D114294
-
Jon Roelofs authored
Differential Revision: https://reviews.llvm.org/D111158
-
Arjun P authored
The method that was previously used for computing dual variables was incorrect. This was used in the integer emptiness check algorithm, where this bug could lead to much longer running times. (Due to the way it is used, this never results in an incorrect emptiness check result.) This patch fixes the dual computation and adds some additional asserts that catch this bug, along with regression test cases that trigger the asserts when the incorrect dual computation is used. Reviewed By: Groverkss Differential Revision: https://reviews.llvm.org/D113803
-
Arjun P authored
Introduce a function `getNumIdKind` that returns the number of ids of the specified kind. Remove the function `assertAtMostNumIdKind` and instead just directly assert the inequality with a call to `getNumIdKind`.
-
Bogdan Graur authored
This reverts commit 847a6807. The reverted revision was causing miscompiles that manifest on AMD machines. Differential Revision: https://reviews.llvm.org/D115528
-
Thomas Raoux authored
Differential Revision: https://reviews.llvm.org/D115548
-
Uday Bondhugula authored
NFC. Move out and expose affine scalar replacement utility through affine utils. Renaming misleading forwardStoreToLoad -> affineScalarReplace. Update a stale doc comment. Differential Revision: https://reviews.llvm.org/D115495
-
Kirill Stoimenov authored
This is present in our assembly files. It should fix decorate_proc_maps.cpp failures because of shadow memory being allocated as executable. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D115552
-
Nicolas Vasilache authored
InsertSliceOp may have subprefix semantics where missing trailing dimensions are automatically inferred directly from the operand shape. This revision fixes an overflow that occurs in such cases when the impl is based on the op rank. Differential Revision: https://reviews.llvm.org/D115549
-
Nico Weber authored
-
Jayson Yan authored
This reverts commit 824eef23. file-summary-json.test and pretty-print.test fails on Windows.
-
John Ericson authored
This reverts commit 797b50d4. See the original D99484. @mib who noticed the original problem could not longer reproduce it, after I tried and also failed. We are threfore hoping it went away on its own! Reviewed By: mib Differential Revision: https://reviews.llvm.org/D115544
-
Joseph Huber authored
This reverts commit 7c8f4e7b. Fails a few OpenMP tests, causes a few updates to segfault.
-
Jonathan Peyton authored
Allow filtering of resources based on core attributes. There are two new attributes added: 1) Core Type (intel_atom, intel_core) 2) Core Efficiency (integer) where the higher the efficiency, the more performant the core On hybrid architectures , e.g., Alder Lake, users can specify KMP_HW_SUBSET=4c:intel_atom,4c:intel_core to select the first four Atom and first four Big cores. The can also use the efficiency syntax. e.g., KMP_HW_SUBSET=2c:eff0,2c:eff1 Differential Revision: https://reviews.llvm.org/D114901
-
Michael Liao authored
-
Sami Tolvanen authored
Inline assembly refererences to static functions with ThinLTO+CFI were fixed in D104058 by creating aliases for promoted functions. Creating the aliases unconditionally resulted in an unexpected size increase in a Chrome helper binary: https://bugs.chromium.org/p/chromium/issues/detail?id=1261715 This is caused by the compiler being unable to drop unused code now referenced by the alias in module-level inline assembly. This change adds a .set_conditional assembly extension, which emits an assignment only if the target symbol is also emitted, avoiding phantom references to functions that could have otherwise been dropped. This is an alternative to the solution proposed in D112761. Reviewed By: pcc, nickdesaulniers, MaskRay Differential Revision: https://reviews.llvm.org/D113613
-
Augie Fackler authored
Rust allows enums to be scopes, as shown by the previous change. Sadly, D111770 disallowed enums-as-scopes in the LLVM Verifier, which means that LLVM HEAD stopped working for Rust compiles. As a result, we back out the verifier part of D111770 with a modification to the testcase so we don't break this in the future. The testcase is now actual IR from rustc at commit 8f8092cc3, which is the nightly as of 2021-09-28. I would expect rustc 1.57 to produce similar or identical IR if someone wants to reproduce this IR in the future with minimal changes. A recipe for reproducing the IR using rustc is included in the test file. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D115353
-
LLVM GN Syncbot authored
-
Florian Mayer authored
This reverts commit 2a31b240.
-
River Riddle authored
This allows for passing in these attributes/types to constraints/rewrites as arguments. Differential Revision: https://reviews.llvm.org/D114817
-
River Riddle authored
* Constraints/Rewrites registered before a pattern was added were dropped * Constraints/Rewrites may be registered multiple times (if different pattern sets depend on them) * ModuleOp no longer has a terminator, so we shouldn't be removing the terminator from it Differential Revision: https://reviews.llvm.org/D114816
-
River Riddle authored
Switch the attribute creation operations to use attr-dict-with- keyword to avoid conflicts (in the case of pdl.attribute) and confusion(in the case of pdl_interp.create_attribute) with having a DictionaryAttr as a value and specifying the attributes of the operation itself (as a dictionary). Differential Revision: https://reviews.llvm.org/D114815
-
River Riddle authored
The results of a rewrite are optional, but we currently require them to be present in the assembly format. This commit makes the results component in the format optional. Differential Revision: https://reviews.llvm.org/D114814
-
Mogball authored
Reviewed By: jpienaar Differential Revision: https://reviews.llvm.org/D115522
-
Mogball authored
Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D115514
-
Mogball authored
Custom ops that have no parser or printer should fall back to the dialect's parser and/or printer hooks. This avoids the need to define parsers and printers that simply dispatch to the dialect hook. Reviewed By: mehdi_amini, rriddle Differential Revision: https://reviews.llvm.org/D115481
-
Joseph Huber authored
In the OpenMC app we saw `omp target update` spending an awful lot of time in the shadow map traversal without ever doing any update there. There are two cases that allow us to avoid the traversal completely. The simplest thing is that small updates cannot (reasonably) contain an attached pointer part. The other case requires to track in the mapping table if an entry might contain an attached pointer as part. Given that we have a single location shadow map entries are created, the latter is actually fairly easy as well. Reviewed By: grokos Differential Revision: https://reviews.llvm.org/D113124
-
Florian Mayer authored
Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D114294
-
Duncan P. N. Exon Smith authored
Since 65b13610, raw_string_ostream has been unbuffered by default. Based on an audit of llvm/utils/, this commit removes every call to `raw_string_ostream::flush()` and any call to `raw_string_ostream::str()` whose result is ignored or that doesn't help with clarity. I left behind a few calls to `str()`. In these cases, the underlying std::string was declared pretty far away and never used again, whereas stream recently had its last write. The code is easier to read as-is; the no-op call to `flush()` inside `str()` isn't harmful, and when https://reviews.llvm.org/D115421 lands it'll be gone anyway.
-