- Jul 08, 2020
-
-
Wouter van Oortmerssen authored
-
Sid Manning authored
This code should reside in the c-library. Differential Revision: https://reviews.llvm.org/D82263
-
Akira Hatanaka authored
This fixes https://bugs.llvm.org/show_bug.cgi?id=46605. rdar://problem/65158878 Differential Revision: https://reviews.llvm.org/D83317
-
Mauricio Sifontes authored
Create the framework and testing environment for MLIR Reduce - a tool with the objective to reduce large test cases into smaller ones while preserving their interesting behavior. Implement the functionality to parse command line arguments, parse the MLIR test cases into modules and run the interestingness tests on the modules. Reviewed By: jpienaar Differential Revision: https://reviews.llvm.org/D82803
-
peter klausler authored
Do not rewrite LEN(x) or x%len to the expression that specifies the length of x when that length is not a constant expression. Its value may have changed since the value of the expression was first captured in the definition of the object. Reviewed By: tskeith, sscalpone Differential Revision: https://reviews.llvm.org/D83352
-
Philip Reames authored
-
Philip Reames authored
-
Michael Spencer authored
`ObjCRuntime` and `CommentOpts.BlockCommandNames` are checked by `ASTReader::checkLanguageOptions`, but are not part of the module context hash. This can lead to errors when using implicit modules if different TUs have different values for these options when using the same module cache. This was not hit very often due to the rare usage of `-fblock-command-names=` and that `ObjCRuntime` is by default set by the target triple, which is part of the existing context hash.
-
Joachim Protze authored
Commit 95a28df5 provided implementation for GOMP*_nonmonotonic*runtime* functions. Now the tests succeed with gcc 9 and 10
-
Craig Topper authored
[X86] Add back the assert in getImpliedFeatures that I removed in ef4cc70f I've added additional features to the table so I want to see if the bots are happier with this.
-
Florian Hahn authored
This seems to break http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/24371 This reverts commit eb46137d.
-
Fangrui Song authored
*.yaml tests don't currently run, so we failed to notice it.
-
Davide Italiano authored
Suggested by Vedant.
-
Davide Italiano authored
This gets rid of some surprising interplay between the flags. Mainly needed because of Rosetta debugserver & Apple Silicon. Differential Revision: https://reviews.llvm.org/D82804
-
Fangrui Song authored
*.yaml tests don't currently run, so we failed to update it.
-
Christopher Tetreault authored
Reviewers: efriedma, c-rhodes, david-arm, kmclaughlin, fpetrogalli, sdesmalen Reviewed By: efriedma Subscribers: tschuett, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D83339
-
Med Ismail Bennani authored
This patch fixes a crash that is happening because of a null pointer dereference in SBFrame. StackFrame::GetRegisterContext says explicitly that you might not get a valid RegisterContext back but the pointer wasn't tested before, resulting in crashes. This should solve the issue. rdar://54462095 Differential Revision: https://reviews.llvm.org/D83343 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
cgyurgyik authored
-
Eric Astor authored
Summary: Add support for user-defined types to MasmParser, including initialization and field access. Known issues: - Omitted entry initializers (e.g., <,0>) do not work consistently for nested structs/arrays. - Size checking/inference for values with known types is not yet implemented. - Some ml64.exe syntaxes for accessing STRUCT fields are not recognized. - `[<register>.<struct name>].<field>` - `[<register>[<struct name>.<field>]]` - `(<struct name> PTR [<register>]).<field>` - `[<variable>.<struct name>].<field>` - `(<struct name> PTR <variable>).<field>` Reviewed By: thakis Differential Revision: https://reviews.llvm.org/D75306
-
Nicolas Vasilache authored
This revision adds foldings for ExtractOp operations that come from previous InsertOp. InsertOp have cumulative semantic where multiple chained inserts are necessary to produce the final value from which the extracts are obtained. Additionally, TransposeOp may be interleaved and need to be tracked in order to follow the producer consumer relationships and properly compute positions. Differential revision: https://reviews.llvm.org/D83150
-
Christopher Tetreault authored
Summary: Make Constant::getSplatValue recognize scalable vector splats of the form created by ConstantVector::getSplat. Add unit test to verify that C == ConstantVector::getSplat(C)->getSplatValue() for fixed width and scalable vector splats Reviewers: efriedma, spatel, fpetrogalli, c-rhodes Reviewed By: efriedma Subscribers: sdesmalen, tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82416
-
Matt Arsenault authored
handleAssignments was assuming every argument type is an MVT, and assignArg would always fail. This fixes one of the hacks in the current AMDGPU calling convention code that pre-processes the arguments.
-
Matt Arsenault authored
The tests in a5b9ad7e actually failed the verifier, which for some reason is not the default. Also add tests for 0-sized function arguments, which do not add entries to the expected register lists.
-
Philip Reames authored
This is inspired by D81648. The basic idea is to have the set of SDValues which are lowered as either constants or direct frame references explicit in one place, and to separate them clearly from the spilling logic. This is not NFC in that the handling of constants larger than > 64 bit has changed. The old lowering would crash on values which could not be encoded as a sign extended 64 bit value. The new lowering just spills all constants > 64 bits. We could be consistent about doing the sext(Con64) optimization, but I happen to know that this code path is utterly unexercised in practice, so simple is better for now.
-
Zola Bridges authored
This patch creates a clang flag to enable SESES. This flag also ensures that lvi-cfi is on when using seses via clang. SESES should use lvi-cfi to mitigate returns and indirect branches. The flag to enable the SESES functionality only without lvi-cfi is now -x86-seses-enable-without-lvi-cfi to warn users part of the mitigation is not enabled if they use this flag. This is useful in case folks want to see the cost of SESES separate from the LVI-CFI. Reviewed By: sconstab Differential Revision: https://reviews.llvm.org/D79910
-
Muhammad Omair Javaid authored
Summary: This patch adds some cosmetic changes to LLDB AArch64 register infos macros in order to use them in SVE register infos struct in follow up patches. This patch initially added invalidate lists to register infos struct but that is no longer needed and problem disappeared after updating qemu testing environment. old headline comments for reference: AArch64 reigster X and V registers are primary GPR and vector registers respectively. If these registers are modified their corresponding children w regs or s/d regs should be invalidated. Specially when a register write fails it is important that failure gets reflected to all the registers which draw their value from a particular value register. Reviewers: labath, rengolin Reviewed By: labath Subscribers: tschuett, kristof.beyls, danielkiss, lldb-commits Differential Revision: https://reviews.llvm.org/D77045
-
Arthur Eubanks authored
Previously the NPM inliner would skip all potential inlines in an optnone function, but alwaysinline callees should be inlined regardless of optnone. Fixes inline-optnone.ll under NPM. Reviewed By: kazu Differential Revision: https://reviews.llvm.org/D83021
-
aartbik authored
Yields proper SIMD vpmullq/vpaddq on x86. Reviewed By: bkramer Differential Revision: https://reviews.llvm.org/D83328
-
Zachary Selk authored
Added runtime function definitions for 32-bit real I/O and 32-bit complex output Differential Revision: https://reviews.llvm.org/D83112
-
Katherine Rasmussen authored
I added 'num_images()' to the list of functions that are evaluated as intrinsic. I also added a test file in flang/test/Semantics to test calls to 'num_images()'. There was a call to 'num_images()' in flang/test/Semantics/call10.f90 that expected an error, now it no longer produces an error. So I edited that file accordingly. I also edited the intrinsics unit test to add further testing of 'num_images()'. Differential Revision: https://reviews.llvm.org/D83142
-
Nikita Popov authored
When all else fails, use range metadata to constrain the result of loads and calls. It should also be possible to use !nonnull, but that would require some general support for inequalities in SCCP first. Differential Revision: https://reviews.llvm.org/D83179
-
Michał Górny authored
Do not enforce recommonmark dependency if sphinx is called to build manpages. In order to do this, try to import recommonmark first and do not configure it if it's not available. Additionally, declare a custom tags for the selected builder via CMake, and ignore recommonmark import failure when 'man' target is used. This will permit us to avoid the problematic recommonmark dependency for the majority of Gentoo users that do not need to locally build the complete documentation but want to have tool manpages. Differential Revision: https://reviews.llvm.org/D83161
-
Stanislav Mekhanoshin authored
handleMoveDown or handleMoveUp cannot properly repair a main range of a LiveInterval since they only get LiveRange. There is a problem if certain use has moved few segments away and there is a hole in the main range in between of these two locations. We may get a SubRange with a very extended Segment spanning several Segments of the main range and also spanning that hole. If that happens then we end up with the main range not covering its SubRange which is an error. It might be possible to attempt fixing the main range in place just between of the old and new index by extending all of its Segments in between, but it is unclear this logic will be faster than just straight constructMainRangeFromSubranges, which itself is pretty cheap since it only contains interval logic. That will also require shrinkToUses() call after which is probably even more expensive. In the test second move is from 64B to 92B for the sub1. Subrange is correctly fixed: L000000000000000C [16r,32B:0)[32B,92r:1) 0@16r 1@32B-phi But the main range has a hole in between 80d and 88r after updateRange(): %1 [16r,32B:0)[32B,80r:4)[80r,80d:3)[88r,96r:1)[96r,160B:2) Since source position is 64B this segment is not even considered by the updateRange(). Differential Revision: https://reviews.llvm.org/D82916
-
Vy Nguyen authored
Crash: @ 0x559d129463fc clang::CXXRecordDecl::defaultedCopyConstructorIsDeleted() @ 0x559d1288d3e5 clang::Sema::checkIllFormedTrivialABIStruct()::$_7::operator()() @ 0x559d12884c34 clang::Sema::checkIllFormedTrivialABIStruct() @ 0x559d1288412e clang::Sema::CheckCompletedCXXClass() @ 0x559d1288d843 clang::Sema::ActOnFinishCXXMemberSpecification() @ 0x559d12020109 clang::Parser::ParseCXXMemberSpecification() @ 0x559d1201e80c clang::Parser::ParseClassSpecifier() @ 0x559d1204e807 clang::Parser::ParseDeclarationSpecifiers() @ 0x559d120e9aa9 clang::Parser::ParseSingleDeclarationAfterTemplate() @ 0x559d120e8f21 clang::Parser::ParseTemplateDeclarationOrSpecialization() @ 0x559d120e8886 clang::Parser::ParseDeclarationStartingWithTemplate() @ 0x559d1204a1d4 clang::Parser::ParseDeclaration() @ 0x559d12004b1d clang::Parser::ParseExternalDeclaration() @ 0x559d12017689 clang::Parser::ParseInnerNamespace() @ 0x559d12017024 clang::Parser::ParseNamespace() @ 0x559d1204a29b clang::Parser::ParseDeclaration() @ 0x559d12004c74 clang::Parser::ParseExternalDeclaration() Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D83263 -
Med Ismail Bennani authored
The patch fixes a crash in ValueObject::CreateChildAtIndex caused by a null pointer dereferencing. This is a corner case that is happening when trying to dereference a variable with an incomplete type, and this same variable doesn't have a synthetic value to get the child ValueObject. If this happens, lldb will now return a null pointer that will results in an error message. rdar://65181171 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Nikita Popov authored
Take assume predicates into account when visiting ssa.copy. The handling is the same as for branch predicates, with the difference that we're always on the true edge. Differential Revision: https://reviews.llvm.org/D83257
-
Simon Pilgrim authored
We were checking the VBROADCAST_LOAD element size against the extraction destination size instead of the extracted vector element size - PEXTRW/PEXTB have implicit zext'ing so have i32 destination sizes for v8i16/v16i8 vectors, resulting in us extracting from the wrong part of a load. This patch bails from the fold if the vector element sizes don't match, and we now use the target constant extraction code later on like the pre-AVX2 targets, fixing the test case. Found by internal fuzzing tests.
-
Zola Bridges authored
Use SESES as the fallback at O0 where the optimized LVI pass isn't desired due to its effect on build times at O0. I updated the LVI tests since this changes the code gen for the tests touched in the parent revision. This is a follow up to the comments I made here: https://reviews.llvm.org/D80964 Hopefully we can continue the discussion here. Also updated SESES to handle LFENCE instructions properly instead of adding redundant LFENCEs. In particular, 1) no longer add LFENCE if the current instruction being processed is an LFENCE and 2) no longer add LFENCE if the instruction right before the instruction being processed is an LFENCE Reviewed By: sconstab Differential Revision: https://reviews.llvm.org/D82037
-
Ulrich Weigand authored
The SystemZ ABI specifies that aggregate types with just a single member of floating-point type shall be passed as if they were just a scalar of that type. This applies to both struct and class types (but not unions). However, the current ABI support code in clang only checks this case for struct types, which means that for class types, generated code does not adhere to the platform ABI. Fixed by accepting both struct and class types in the SystemZABIInfo::GetSingleElementType routine.
-
Aaron Ballman authored
-