- May 25, 2022
-
-
Ivan Kosarev authored
Caught with D125604. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D126292
-
zhongyunde authored
Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D126356
-
Vy Nguyen authored
PR/55600 Differential Revision: https://reviews.llvm.org/D126046
-
Sanjay Patel authored
Test for D126353
-
Aaron Ballman authored
This adds more of the tests for the first 100 DRs in C and updates their status on the status page.
-
Nathan James authored
Forgot to add this to f3c1d281
-
Nathan James authored
Adds an option SimplifyDemorganRelaxed which, when enabled, will transform negated conjunctions or disjunctions when neither operand is a negation. Default value is `false`. Reviewed By: LegalizeAdulthood Differential Revision: https://reviews.llvm.org/D126162
-
lorenzo chelini authored
Adjust docs for tensor.pad, tensor.collapse_shape and tensor.expand_shape. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D126370
-
Shraiysh Vaishay authored
This patch makes sure that the address dereferences to value in omp.atomic.write operation. Reviewed By: kiranchandramohan, peixin Differential Revision: https://reviews.llvm.org/D126272
-
Nico Weber authored
-
David Green authored
The `vcvtb.f16.f32 Sd, Sn` (and vcvtt.f16.f32) instruction convert a f32 into a f16, writing either the top or bottom halves of the register. That means that half of the input register Sd is used in the output. This wasn't being modelled in the instructions, leading later analyses to believe that the registers were dead where they were not, generating invalid scheduling Fix that be specifying the input Sda register for the instructions too, allowing them to be set for cases like vector inserts. Most of the changes are plumbing through the constraint string, cstr. Differential Revision: https://reviews.llvm.org/D126118
-
Anastasia Stulova authored
Following the new flow for external object code emission, provide flags to switch between integrated and external backend similar to the integrated assembler options. SPIR-V target is the only user of this functionality at this point. This patch also updated SPIR-V documentation to clarify that integrated object code emission for SPIR-V is an experimental feature. Differential Revision: https://reviews.llvm.org/D125679
-
David Sherwood authored
When compiling the attached new test in scalable-reductions-tf.ll we were hitting this assertion in fixReduction: Assertion `isa<PHINode>(U) && "Reduction exit must feed Phi's or select" The loop contains a reduction and an intermediate store of the reduction value. When vectorising with tail-folding the contains of 'U' in the assertion above happened to be a scatter_store. It turns out that we were still creating a widen recipe for the invariant store, despite knowing that we can actually sink it. The simplest fix is to change buildVPlanWithVPRecipes so that we look for invariant stores before attempting to widen it. Differential Revision: https://reviews.llvm.org/D126295
-
Haojian Wu authored
-
Florian Hahn authored
This simplifies the code a bit, suggested in D124718. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D125029
-
Haojian Wu authored
The main idea is to compile the cxx grammar at build time, and construct the core pieces (Grammar, LRTable) of the pseudoparse based on the compiled data sources. This is a tiny implementation, which is good for start: - defines how the public API should look like; - integrates the cxx grammar compilation workflow with the cmake system. - onlynonterminal symbols of the C++ grammar are compiled, anything else are still doing the real compilation work at runtime, we can opt-in more bits in the future; - splits the monolithic clangPsuedo library for better layering; Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D125667
-
Javed Absar authored
This suppresse annoying warning when building mlir. ``` warning: base class ‘class mlir::PassWrapper<{anonymous}::TestStatisticPass, mlir::OperationPass<void> >’ should be explicitly initialized in the copy constructor [-Wextra] ``` Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D126209 -
Nigel Perks authored
Revert 6365bde6 Restore more readable version in line with other targets, which did not apply the change. Differential Revision: https://reviews.llvm.org/D123661
-
Sven van Haastregt authored
This simplifies completeness comparisons against OpenCLBuiltins.td and also makes the header no longer "claim" the argument name identifiers. Continues the direction set out in D119560.
-
Gabor Marton authored
Fixes https://github.com/llvm/llvm-project/issues/55546 The assertion mentioned in the issue is triggered because an inconsistency is formed in the Sym->Class and Class->Sym relations. A simpler but similar inconsistency is demonstrated here: https://reviews.llvm.org/D114887 . Previously in `removeMember`, we didn't remove the old symbol's Sym->Class relation. Back then, we explained it with the following two bullet points: > 1) This way constraints for the old symbol can still be found via it's > equivalence class that it used to be the member of. > 2) Performance and resource reasons. We can spare one removal and thus one > additional tree in the forest of `ClassMap`. This patch do remove the old symbol's Sym->Class relation in order to keep the Sym->Class relation consistent with the Class->Sym relations. Point 2) above has negligible performance impact, empirical measurements do not show any noticeable difference in the run-time. Point 1) above seems to be a not well justified statement. This is because we cannot create a new symbol that would be equal to the old symbol after the simplification had happened. The reason for this is that the SValBuilder uses the available constant constraints for each sub-symbol. Differential Revision: https://reviews.llvm.org/D126281
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Florian Hahn authored
During code-gen, we iterate over the LiveOuts and the differences in iteration order can cause slightly different outputs.
-
Nikolas Klauser authored
Reviewed By: var-const, #libc Spies: libcxx-commits, mgorny Differential Revision: https://reviews.llvm.org/D123462
-
Lewis Revill authored
When optimizing for size, this pass searches for instructions that are prevented from being compressed by one of the following: 1. The use of a single uncompressed register. 2. A base register + offset where the offset is too large to be compressed and the base register may or may not already be compressed. In the first case, if there is a compressed register available, then the uncompressed register is copied to the compressed register and its uses replaced. This is only done if there are enough uses that code size would be improved. In the second case, if a compressed register is available, then the original base register is copied and adjusted such that: new_base_register = base_register + adjustment base_register + large_offset = new_base_register + small_offset and the uses of the base register are replaced with the new base register. Again this is only done if there are enough uses for code size to be improved. This pass was authored by Lewis Revill, with large offset optimization added by Craig Blackmore. Differential Revision: https://reviews.llvm.org/D92105
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D126357
-
Nikita Popov authored
A load with !dereferenceable or !dereferenceable_or_null metadata must return a well-defined (non-undef/poison) value. Effectively they imply !noundef. This is the same as we do for the dereferenceable(N) attribute. This should fix https://github.com/llvm/llvm-project/issues/55672, or at least the specific case discussed there. Differential Revision: https://reviews.llvm.org/D126296
-
Louis Dionne authored
This commit ensures that we can include all libc++ headers with modules enabled. It adds a test to ensure that this doesn't regress, which is necessary because our modules CI job does not build in all Standard modes. Differential Revision: https://reviews.llvm.org/D125331
-
Adrian Kuegel authored
-
Sunil Kuravinakop authored
Patch to support "#pragma omp nothing" Reviewed By: tianshilei1992 Differential Revision: https://reviews.llvm.org/D123286
-
Sunil Kuravinakop authored
This is a support for " #pragma omp atomic compare fail ". It has Parser & AST support for now. Reviewed By: tianshilei1992 Differential Revision: https://reviews.llvm.org/D123235
-
Craig Topper authored
We were incorrectly using VLMax instead of the passed VL. Reviewed By: khchen, reames Differential Revision: https://reviews.llvm.org/D126319
-
Mehdi Chinoune authored
CLOCK_REALTIME is POSIX defined and never available with MSVC, even without /permissive-. The difference is that the template is never instantiated and the compiler ignores the undefined identifier. Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D125262
-
Fraser Cormack authored
We found untested code where negative frame indices were ostensibly handled despite it being in a block guarded by !MFI.isFixedObjectIndex. While the implementation of MachineFrameInfo::isFixedObjectIndex suggests this is possible (i.e., if a frame index was more negative - less than the number of fixed objects), I couldn't find any test in tree -- for any target -- where a negative frame index wasn't also a fixed object offset. I couldn't find a way of creating such a object with the public MachineFrameInfo creation APIs. Even MachineFrameInfo::getObjectIndexBegin starts counting at the negative number of fixed objects, so such frame indices wouldn't be covered by loops using the provided begin/end methods. Given all this, an assert that any object encountered in the block is non-negative seems reasonable. Reviewed By: StephenFan, kito-cheng Differential Revision: https://reviews.llvm.org/D126278
-
David Blaikie authored
Since this didn't make it into the v14 release - anyone requesting the v14 ABI shouldn't get this GCC-compatible change that isn't backwards compatible with v14 Clang. Differential Revision: https://reviews.llvm.org/D126334
-
Konstantin Varlamov authored
More test coverage for the parts added by the One Ranges Proposal. Differential Revision: https://reviews.llvm.org/D124906
-
Chen Zheng authored
This reverts commit 62a9b36f. Cause build failure on lldb incremental buildbot: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/43994/changes
-
Chuanqi Xu authored
According to the updates in CWG issue 2585 https://cplusplus.github.io/CWG/issues/2585.html, we shouldn't find an allocation function with (size, p0, …, pn) in global scope. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D126187
-
Chenbing Zheng authored
Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D126056
-
Chenbing Zheng authored
-