- Jul 29, 2023
-
-
Martin Erhart authored
Duplicate values in the retained list can just be removed, however, for duplicates in the list of memrefs to deallocate, we also need to check the conditions and if thhey don't match, we need to compute the OR in order to not miss a case leading to a memory leak. Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D156157
-
Reid Kleckner authored
X86ISelLowering takes too long to compile. Split call lowering out into its own file so that developers working on call lowering can be more productive. Now one can test calling convention changes with <5s rebuilds. The rest of X86ISelLowering still takes a long time to compile. Previous investigations shows that lots of static functions are aggressively inlined into the two major large switch functions, LowerOperation and PerformDAGCombine. It may be possible to make further compile time improvements by blocking inlining into those large dispatch functions. clang-format complains, but I didn't want to reformat because it will make it harder for git rename detection and blame tools. Reviewed By: RKSimon, pengfei Differential Revision: https://reviews.llvm.org/D154168
-
Alexis Engelke authored
Different identified struct types may have the same name (""). Previously, these were deduplicated based on their name, which caused an assertion failure when nesting identified structs: %0 = type { %1 } %1 = type { i8 } declare void @fn(%0) Reviewed By: gysit Differential Revision: https://reviews.llvm.org/D156531
-
- Jul 28, 2023
-
-
Evgenii Kudriashov authored
Closes https://github.com/llvm/llvm-project/issues/56779 Reviewed By: RKSimon, dmgreen Differential Revision: https://reviews.llvm.org/D152926
-
Nikolas Klauser authored
Reviewed By: #libc, Mordante Spies: Mordante, libcxx-commits Differential Revision: https://reviews.llvm.org/D156037
-
Nikolas Klauser authored
Reviewed By: #libc, Mordante Spies: Mordante, libcxx-commits Differential Revision: https://reviews.llvm.org/D156036
-
Mikhail Gudim authored
Consider the following pattern: ``` %binop_ = binop %x, %y %select_ = select %c, %binop_, %x ``` If there is an identity `%identity` operand for `binop`, it is possible to transform the above code to: ``` %opearand = select %c, %y, %identity %result = binop %x, %operand ``` This transformation is profitable when `%identity` is all zeroes or ones. This patch commits a test for such patterns. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D155481
-
Timo Stripf authored
[clang][DeclPrinter] Fix missing semicolon in AST print for methods that are definitions without having a body DeclPrinter used FunctionDecl::isThisDeclarationADefinition to decide if the decl requires a semicolon at the end. However, there are several methods without body (that require a semicolon) that are definitions. Fixes https://github.com/llvm/llvm-project/issues/62996 Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D156533
-
Cyndy Ishida authored
Reviewed By: kristof.beyls Differential Revision: https://reviews.llvm.org/D156456
-
Nikita Popov authored
This is a followup to D151165. Instead of using the module ID, use the module hash for sorting the import list. The module hash is what will actually be included in the hash. This has the advantage of being independent of the module order, which is something that Rust relies on. A caveat here is that the test doesn't quite work for linkonce_odr functions, because the function may be imported from two different modules, and the first one on the llvm-lto2 command line gets picked (rather than, say, the prevailing copy). This doesn't really matter for Rust's purposes (because it does not use linkonce_odr linkage), but may still be worth addressing. For now I'm using a variant of the test using internal instead of linkonce_odr functions. Differential Revision: https://reviews.llvm.org/D156525
-
Jay Foad authored
Small refactorings, cosmetic changes, clean up some naming. NFCI.
-
Andrzej Warzynski authored
Use `AddAllArgs` to keep the implementation succinct. Also adds missing '-flang-experimental-hlfir` in "frontend-forwarding.f90" Differential Revision: https://reviews.llvm.org/D156524
-
Corentin Jabot authored
Some bots were broken by 45ab2b48 Differential Revision: https://reviews.llvm.org/D156542
-
melonedo authored
Implement XCVbi intrinsics for CV32E40P according to the specification. This commit is part of a patch-set to upstream the 7 vendor specific extensions of CV32E40P. Contributors: @CharKeaney, @jeremybennett, @lewis-revill, @liaolucy, Nandni Jamnadas, @paolos, @simoncook, @xmj. bf2ad26b originally commited. e4777dc4 reverted due to test failures caused by a merge conflict marker in llvm/test/CodeGen/RISCV/attributes that was accidentally checked in. This commit removed the conflict marker and recommitted. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D154412
-
LLVM GN Syncbot authored
-
Job Noorman authored
Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D156514
-
Aaron Ballman authored
Revert "[llvm-profdata] Refactoring Sample Profile Reader to increase FDO build speed using MD5 as key to Sample Profile map" This reverts commit 66ba71d9. Addressing issues found by: https://lab.llvm.org/buildbot/#/builders/245/builds/11732 https://lab.llvm.org/buildbot/#/builders/187/builds/12251 https://lab.llvm.org/buildbot/#/builders/186/builds/11099 https://lab.llvm.org/buildbot/#/builders/182/builds/6976
-
Ben Shi authored
Reviewed By: zixuan-wu Differential Revision: https://reviews.llvm.org/D155424
-
Groverkss authored
This patch implements a transform op for the FoldArithExtIntoContractionOp pattern. The pattern folds arith.extf into vector.contract for the backends with native support for mixed-mode contractions. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D156484
-
Corentin Jabot authored
In a Unicode name was stored in a way that caused a medial hyphen to be at the end of a a chunk, it would not be properly ignored by the loose matching algorithm. For example if `LEFT-TO-RIGHT OVERRIDE` was stored as `LEFT-` [...], the `-` would not be ignored. The generators now ensures nodes are not cut accross medial hyphen boundaries. Fixes #64161 Differential Revision: https://reviews.llvm.org/D156518
-
Fabian Mora authored
Convert function bodies after all other operations, breaking possible declaration-reference issues between top non-LLVM Ops and non-LLVM ops inside function bodies. Example: ``` mydialect.global @myglobal : i32 llvm.func @bar(...) { ... %address = mydialect.global_address @myglobal : llvm.ptr ... } ``` With the previous scheme `mydialect.global_address` always got translated before `mydialect.global`, this change ensures `mydialect.global` gets translated first. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D156284 -
Nikita Popov authored
-
dingfei authored
-
Corentin Jabot authored
This is a temporary fix (for clang 17) that caps the size of any array we try to constant evaluate: There are 2 limits: * We cap to UINT_MAX the size of ant constant evaluated array, because the constant evaluator does not support size_t. * We cap to `-fconstexpr-steps` elements the size of each individual array and dynamic array allocations. This works out because the number of constexpr steps already limits how many array elements can be initialized, which makes this new limit conservatively generous. This ensure that the compiler does not crash when attempting to constant-fold valid programs. If the limit is reached by a given array, constant evaluation will fail, and the program will be ill-formed, until a bigger limit is given. Or, constant folding will fail and the array will be evaluated at runtime. Fixes #63562 Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D155955 -
Podchishchaeva, Mariya authored
IdentifierResolver frees resources in the destructor but doesn't have user-written copy c'tor or assignment operator, so copying it using default ones can cause double free. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D156406
-
Podchishchaeva, Mariya authored
CFGStmtMap frees resources in the destructor but doesn't have user-written copy c'tor or assignment operator, so copying it using default ones can cause double free. Reviewed By: cor3ntin Differential Revision: https://reviews.llvm.org/D156415
-
Podchishchaeva, Mariya authored
DelegatingDeserializationListener frees resources in the destructor but doesn't have user-written copy c'tor or assignment operator, so copying it using default ones can cause double free. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D156405
-
Jacek Caban authored
This is similar to D143540 for import libraries. ARM64EC will need it for EC symbol table, but it should be fine for other targets as well and it improves MSVC compatibility. I left mingw case unchanged to be safe, although I think that it wouldn't hurt to change that as well. The visible effect in tests is a sorted symbol map. Revieved By: mstorsjo Differential Revision: https://reviews.llvm.org/D156473
-
Jacek Caban authored
Reviewed By: jhenderson, efriedma Differential Revision: https://reviews.llvm.org/D156454
-
Jacek Caban authored
Reviewed By: mstorsjo Differential Revision: https://reviews.llvm.org/D156450
-
Jacek Caban authored
Further preparation for ARM64EC/ARM64X support. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D149094
-
Alexis Engelke authored
LLVM supports switch ops without case values, for which the optional caseValues has no value (i.e., std::nullopt, no the empty array). Handle this case properly when translating MLIR-LLVM to LLVM-IR. Reviewed By: Dinistro, Mogball Differential Revision: https://reviews.llvm.org/D156431
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D149172
-
Tuan Chuong Goh authored
Consider FSHR legal if shift amount is constant Lower FSHL to FSHR if shift amount is constant Differential Revision: https://reviews.llvm.org/D155565
-
Dmitry Chernenkov authored
This reverts commit b6847edf.
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D156503
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D153241
-
Kevin Athey authored
This reverts commit 9cf67592. Breaking sanitzer buildbots: asan and fast https://lab.llvm.org/buildbot/#/builders/168/builds/14824 https://lab.llvm.org/buildbot/#/builders/5/builds/35419
-