- Apr 06, 2021
-
-
Jim Ingham authored
This reverts commit 602ab188. The patch replicated an lldbassert for a certain type of NSNumber for tagged pointers. This really shouldn't be an assert since we don't do anything wrong with these numbers, we just don't print a summary. So this patch changed the lldbassert to a log message in reverting the revert.
-
Stanislav Mekhanoshin authored
Fixes: SWDEV-280070 Differential Revision: https://reviews.llvm.org/D99902
-
Craig Topper authored
For some reason we only had 1 test case. This synchronizes the test with vslide1down so we have the same number of tests for both.
-
MaheshRavishankar authored
Right now Elementwise operations fusion in Linalg fuses everything it can. This can run up against resource limits of the target hardware without some checks. This patch adds a callback function that clients can use to implement a cost function. When two elementwise operations are deemed structurally fusable, the callback can be used to control if the fusion applies. Differential Revision: https://reviews.llvm.org/D99820
-
Peter Steinfeld authored
We were not folding type parameter inquiries for the form 'var%typeParam' where 'typeParam' was a KIND or LEN type parameter of a derived type and 'var' was a designator of the derived type. I fixed this by adding code to the function 'FoldOperation()' for 'TypeParamInquiry's to handle this case. I also cleaned up the code for the case where there is no designator. In order to make the error messages correctly refer to both the points of declaration and instantiation, I needed to add an argument to the function 'InstantiateIntrinsicType()' for the location of the instantiation. I also changed the formatting of 'TypeParamInquiry' to correctly format this case. I also added tests for both KIND and LEN type parameter inquiries in resolve104.f90. Making these changes revealed an error in resolve89.f90 and caused one of the error messages in assign04.f90 to be different. Differential Revision: https://reviews.llvm.org/D99892
-
Nico Weber authored
This reverts commit ec575e3b. Still doesn't work, see https://crbug.com/1196037
-
- Apr 05, 2021
-
-
Aaron Ballman authored
This changes our approach to processing statement attributes to be more similar to how we process declaration attributes. Namely, ActOnAttributedStmt() now calls ProcessStmtAttributes() instead of vice-versa, and there is now an interface split between building an attributed statement where you already have a list of semantic attributes and building an attributed statement with attributes from the parser. This should make it easier to support statement attributes that are dependent on a template. In that case, you would add a TransformFooAttr() function in TreeTransform.h to perform the semantic checking (morally similar to how Sema::InstantiateAttrs() already works for declaration attributes) when transforming the semantic attribute at instantiation time.
-
Aart Bik authored
Differential Revision: https://reviews.llvm.org/D99899
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D99093
-
Sanjay Patel authored
This is the sibling fix to c590a988 - as there, we can't subsitute a vector value the equality compare replacement that we are trying requires that the comparison is true for the entire value. Vector select can be partly true/false.
-
Sanjay Patel authored
We need a sibling fix to c590a988 ( https://llvm.org/PR49832 ) to avoid miscompiling.
-
Thomas Preud'homme authored
Clang test CodeGenOpenCL/fpmath.cl uses a variable defined in an earlier CHECK-NOT directive. However, by definition the pattern in that directive is not supposed to occur so no variable will be defined. This commit solves the issue by using a regex match with the same regex as in the definition. It also changes the definition into a regex match since no variable is going to be defined. Reviewed By: yaxunl Differential Revision: https://reviews.llvm.org/D99857
-
Craig Topper authored
The scalar type is already marked as XLenVT. The floating point version would need a different rule.
-
Craig Topper authored
It's a bit silly, but it allows us to write stricter type constraints for isel. There's still some extra type checks in the generated table due to some type interference limitations around HWMode.
-
Philip Reames authored
Several of these weren't testing what was intented.
-
Philip Reames authored
For use in an uncoming patch. Left out the phi case (which could otherwise fit in this framework) as it would cause infinite recursion in said patch. We can probably also leverage this in instcombine to ensure we keep the two sets of related analysis and transforms in sync.
-
Philip Reames authored
-
Craig Topper authored
FP would need VFSLIDE1UP_VF which uses an FP register.
-
Ricky Taylor authored
These look like $00A0cf for hex and %001010101 for binary. They are used in Motorola assembly syntax. Differential Revision: https://reviews.llvm.org/D98519
-
Jennifer Yu authored
Added basic parsing/sema/serialization support for the 'nocontext' clause. Differential Revision: https://reviews.llvm.org/D99848
-
MaheshRavishankar authored
The moved `populate` methods are only relevant to Linalg operations. So they are better of in `linalg` namespace. Also rename `populateLinalgTensorOpsFusionPatterns` to `populateElementwiseOpsFusionPatterns`. This makes the scope of these patterns explicit and disambiguates it with fusion on tensors using tile + fuse. Differential Revision: https://reviews.llvm.org/D99819
-
Sam Clegg authored
Differential Revision: https://reviews.llvm.org/D99885
-
Nico Weber authored
-
Tom Stellard authored
This reverts commit 43ceb74e. This caused some build failures: https://bugs.llvm.org/show_bug.cgi?id=49818
-
Tom Stellard authored
This reverts commit d66f9c4f. This was a follow up fix for 43ceb74e, which will be reverted.
-
Cyndy Ishida authored
TextAPI/ELF has moved out into InterfaceStubs, so theres no longer a need to seperate out TextAPI between formats. Reviewed By: ributzka, int3, #lld-macho Differential Revision: https://reviews.llvm.org/D99811
-
LLVM GN Syncbot authored
-
Charusso authored
-
Charusso authored
This patch adds two debug functions to ExprInspectionChecker to dump out the dynamic extent and element count of symbolic values: dumpExtent(), dumpElementCount().
-
Arnamoy Bhattacharyya authored
[flang][driver] Modify the existing test cases that use -Mstandard in f18, to use -pedantic and %flang_fc1 to share with the new driver Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D99518
-
Ta-Wei Tu authored
If only the second candidate loop is guarded while the first one is not, fusioning two loops might not be valid but this check is currently missing. Fixes https://bugs.llvm.org/show_bug.cgi?id=48060 Reviewed By: sidbav Differential Revision: https://reviews.llvm.org/D99716
-
Charusso authored
This patch introduces a way to store the size. Reviewed By: NoQ Differential Revision: https://reviews.llvm.org/D69726
-
Arnamoy Bhattacharyya authored
With the option given, warnings are treated as error. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D98657
-
Fraser Cormack authored
This patch supports bitcasts from scalar types to fixed-length vectors and vice versa. It custom-lowers and custom-legalizes them to EXTRACT_VECTOR_ELT/INSERT_VECTOR_ELT operations, using a single-element vectors to hold the scalar where appropriate. Previously, some of these would fail to select, others would be expanded through stack loads and stores. Effort was made to ensure the codegen avoids the stack for both legal and illegal scalar types. Some of the codegen could be improved, but on first glance it looks like a general optimization of EXTRACT_VECTOR_ELT when extracting an i64 element on RV32. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D99667
-
Sanjay Patel authored
As shown in the example based on: https://llvm.org/PR49832 ...and the existing test, we can't substitute a vector value because the equality compare replacement that we are attempting requires that the comparison is true for the entire value. Vector select can be partly true/false.
-
Sanjay Patel authored
The new test is reduced from: https://llvm.org/PR49832 ...but we already show a potential miscompile in the existing test too.
-
John Paul Adrian Glaubitz authored
In 0dbcb363, most most target symbols were made hidden by default with the public ones marked with LLVM_EXTERNAL_VISIBILITY. When the M68k target was added, this particular change was forgotten so that external tools cannot make use of the public M68k target functions in libLLVM.so. Thus, add the missing LLVM_EXTERNAL_VISIBILITY macro to all public target functions in the M68k backend. Differential Revision: https://reviews.llvm.org/D99869
-
Fraser Cormack authored
Caught in internal testing, these operations are assumed legal by default, even for scalable vector types. Expand them back into separate truncations and stores, or loads and extensions. Also add explicit fixed-length vector tests for these operations, even though they should have been correct already. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D99654
-
Erik Pilkington authored
Clang used to emit a bad -Wbridge-cast diagnostic on the cast in the attached test. This was because, after 09abecef, struct __CFString was not added to lookup, so the objc_bridge attribute wasn't getting duplicated onto the most recent declaration, causing us to fail to find it in getObjCBridgeAttr. This patch fixes this by instead walking through the redeclarations to find an appropriate bridge attribute. rdar://72823399 Differential revision: https://reviews.llvm.org/D99661
-
Stefan Pintilie authored
From the PowerPC ELFv2 ABI section 4.2.3. Global Offset Table. ``` The GOT consists of an 8-byte header that contains the TOC base (the first TOC base when multiple TOCs are present), followed by an array of 8-byte addresses. ``` Due to the introduction of PC Relative code it is now possible to require a GOT without having a .TOC. symbol in the object that is being linked. Since LLD uses the .TOC. symbol to determine whether or not a GOT is required the GOT header is not setup correctly and the 8-byte header is missing. This patch allows the Power PC GOT setup to happen when an element is added to the GOT instead of at the very begining. When this header is added a .TOC. symbol is also added. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D91426
-