- Nov 06, 2020
-
-
Mehdi Amini authored
This target will depend on each individual extension and represent "all" Python bindings in the repo. User projects can get a finer grain control by depending directly on some individual targets as needed.
-
Mehdi Amini authored
-
Mehdi Amini authored
Differential Revision: https://reviews.llvm.org/D90816
-
Mehdi Amini authored
The Python bindings now require -DLLVM_BUILD_LLVM_DYLIB=ON to build. This change is needed to be able to build multiple Python native extension without having each of them embedding a copy of MLIR, which would make them incompatible with each other. Instead they should all link to the same copy of MLIR. Differential Revision: https://reviews.llvm.org/D90813
-
Sanjay Patel authored
This is the cmp/sel sibling to D90692. Again, the reasoning is: the throughput cost is number of instructions/uops, so size/blended costs are identical except in special cases (for example, fdiv or other known-expensive machine instructions or things like MVE that may require cracking into >1 uops). We need to check for a valid (non-null) condition type parameter because SimplifyCFG may pass nullptr for that (and so we will crash multiple regression tests without that check). I'm not sure if passing nullptr makes sense, but other code in the cost model does appear to check if that param is set or not. Differential Revision: https://reviews.llvm.org/D90781
-
Nathan James authored
Add IgnoreMainLikeFunctions to the per file config. This can be extended for new options added to the check easily. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D90832
-
Michał Górny authored
Remove the thread name caching code. It does not handle the possibility of thread name changing between requests, therefore breaking TestGdbRemoteThreadName. While technically we could cache the results and reset the cache on resuming process, the gain from doing that does not seem worth the effort. Differential Revision: https://reviews.llvm.org/D90863
-
Michał Górny authored
Fix TestGdbRemoteThreadName to call ::pthread_setname_np instead of ::pthread_set_name_np on FreeBSD. While technically both names are correct, the former is preferable because of compatibility with Linux. Furthermore, the latter requires `#include <pthread_np.h>` that was missing causing the test to fail to compile. Differential Revision: https://reviews.llvm.org/D90862
-
rojamd authored
This is more or less a port of rL329598 (D45275) to the COFF linker. Since there were already LTO-related settings under -opt:, I added them there instead of new flags. Differential Revision: https://reviews.llvm.org/D90624
-
Momchil Velikov authored
The debug location is removed from any outlined instruction. This causes the MachineVerifier to crash on outlined DBG_VALUE instructions. Then, debug instructions are "invisible" to the outliner, that is, two ranges of instructions from different functions are considered identical if the only difference is debug instructions. Since a debug instruction from one function is unlikely to provide sensible debug information about all functions, sharing an outlined sequence, this patch just removes debug instructions from the outlined functions. Differential Revision: https://reviews.llvm.org/D89485
-
Sean Silva authored
This functionality is superceded by BufferResultsToOutParams pass (see https://reviews.llvm.org/D90071) for users the require buffers to be out-params. That pass should be run immediately after all tensors are gone from the program (before buffer optimizations and deallocation insertion), such as immediately after a "finalizing" bufferize pass. The -test-finalizing-bufferize pass now defaults to what used to be the `allowMemrefFunctionResults=true` flag. and the finalizing-bufferize-allowed-memref-results.mlir file is moved to test/Transforms/finalizing-bufferize.mlir. Differential Revision: https://reviews.llvm.org/D90778
-
Amara Emerson authored
These were previously handled by pattern matching shuffles in the selector, but adding a new opcode and making it equivalent to the AArch64duplane SDAG node allows us to select more patterns, like lane indexed FMLAs (patch adding a test for that will be committed later). The pattern matching code has been simply moved to postlegalize lowering. Differential Revision: https://reviews.llvm.org/D90820
-
Michael Jones authored
This corrects WrapperGen generating incorrect wrappers for functions that take no arguments. Previously it would generate a wrapper with a single argument of type `void`. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D90800
-
Nico Weber authored
-
Nico Weber authored
-
Craig Topper authored
[LegalizeTypes] Remove unnecessary if around switch in ScalarizeVectorOperand and SplitVectorOperand. NFC The if was checking !Res.getNode() but that's always true since Res was initialized to SDValue() and not touched before the if. This appears to be a leftover from a previous implementation of Custom legalization where Res was updated instead of returning immediately.
-
Saleem Abdulrasool authored
This adds the skeleton of the YAML Compiler for APINotes. This change only adds the YAML IO model for the API Notes along with a new testing tool `apinotes-test` which can be used to verify that can round trip the YAML content properly. It provides the basis for the future work which will add a binary serialization and deserialization format to the data model. This is based on the code contributed by Apple at https://github.com/llvm/llvm-project-staging/tree/staging/swift/apinotes. Differential Revision: https://reviews.llvm.org/D88859 Reviewed By: Gabor Marton
-
Momchil Velikov authored
Looks accidentally omitted, it's present on `readsRegister`, `definesRegister` and few others. Differential Revision: https://reviews.llvm.org/D89625
-
Craig Topper authored
D80526 added custom lowering to pick the si lib call on RV64, but this custom handling is only enabled when the F and D extension are both disabled. This prevents the si library call from being used for double when F is enabled but D is not. This patch changes the behavior so we always enable the Custom hook on RV64 and decide in ReplaceNodeResults if we should emit a libcall based on whether the FP type should be softened or not. Differential Revision: https://reviews.llvm.org/D90817
-
Stanislav Mekhanoshin authored
This change adds a real glc operand to the return atomic instead of just string " glc" in the middle of the asm string. Improves asm parser diagnostics. Differential Revision: https://reviews.llvm.org/D90730
-
Leonard Chan authored
https://reviews.llvm.org/D90811 is breaking our CI builders because InitializePlatformCommonFlags is not defined. This just adds an empty definition. This would've been caught on our upstream buildbot, but it's red at the moment and most likely won't be sending out alert emails for recent failures. Differential Revision: https://reviews.llvm.org/D90864
-
Andrzej Warzynski authored
These options are in practice passes to the external tool (defined with F18_FC), i.e. fall into "unrecognised" category. No need to keep them among other options that are actually parsed.
-
Fangrui Song authored
This is the only -Werror- form warning option GCC supports (gcc/c-family/c.opt). Fortunately no other form is used anywhere.
-
Utkarsh Saxena authored
Differential Revision: https://reviews.llvm.org/D90828
-
Craig Topper authored
[RISCV] Remove shadow register list passed to AllocateReg when allocating FP registers for calling convention The _F and _D registers are already sub/super registers. When one gets allocated all its aliases are already marked as allocated. We don't need to explicitly shadow it too. I believe shadow is for calling conventions like 64-bit Windows on X86 where have rules like this CCIfType<[i32], CCAssignToRegWithShadow<[ECX , EDX , R8D , R9D ], [XMM0, XMM1, XMM2, XMM3]>> For that calling convention the argument number determines which register is used regardless of how many scalars or vectors came before it. Removing this removes a question I had in D90738. Differential Revision: https://reviews.llvm.org/D90801 -
Craig Topper authored
There is no FSLI instruction, but we can emulate it using FSRI by swapping operands and subtracting the immediate from the bitwidth. Differential Revision: https://reviews.llvm.org/D90826
-
Louis Dionne authored
Currently, vendor-specific availability markup is enabled by default. This means that even when building against trunk libc++, the headers will by default prevent you from using some features that were not released in the dylib on your target platform. This is a source of frustration since people building libc++ from sources are usually not trying to use some vendor's released dylib. For that reason, I've been thinking for a long time that availability annotations should be off by default, which is the primary change that this commit enables. In addition, it reworks the implementation to make it easier for new vendors to add availability annotations for their platform, and it refreshes the documentation to reflect the current state of the codebase. Finally, a CMake configuration option is added to control whether availability annotations should be turned on for the flavor of libc++ being created. The intent is for vendors like Apple to turn it on, and for the upstream libc++ to leave it off (the default). Differential Revision: https://reviews.llvm.org/D90843
-
Anna Thomas authored
This reverts commit 15694fd6. Need to investigate and fix a failing clang test: synchronized.m. Might need a test update.
-
Peter Collingbourne authored
There is no need to memset released pages because they are already zero. On db845c, before: BM_stdlib_malloc_free_default/131072 34562 ns 34547 ns 20258 bytes_per_second=3.53345G/s after: BM_stdlib_malloc_free_default/131072 29618 ns 29589 ns 23485 bytes_per_second=4.12548G/s Differential Revision: https://reviews.llvm.org/D90814
-
Peyton, Jonathan L authored
This patch adds the mask and ident_t function to get the openmp version. It also adds logic to force monotonic:dynamic behavior when OpenMP version less than 5.0. The OpenMP version is stored in the format: major*10+minor e.g., OpenMP 5.0 = 50 Differential Revision: https://reviews.llvm.org/D90632
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Copy+Paste typo - we were storing getNumOperands() opcounts in a Register type instead of just an unsigned.
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D90858
-
Sjoerd Meijer authored
This moves WidenIV from IndVarSimplify to Utils/SimplifyIndVar so that we have createWideIV available as a generic helper utility. I.e., this is not only useful in IndVarSimplify, but could be useful for loop transformations. For example, motivation for this refactoring is the loop flatten transformation: if induction variables in a loop nest can be widened, we can avoid having to perform certain overflow checks, enabling this transformation. Differential Revision: https://reviews.llvm.org/D90421
-
Michał Górny authored
The new FreeBSDRemote plugin has reached feature parity on i386 and amd64 targets. Use it by default on these architectures, while allowing the use of the legacy plugin via FREEBSD_LEGACY_PLUGIN envvar. Revisit the method of switching plugins. Apparently, the return value of PlatformFreeBSD::CanDebugProcess() is what really decides whether the legacy or the new plugin is used. Update the test status. Reenable the tests that were previously disabled on FreeBSD and do not cause hangs or are irrelevant to FreeBSD. Mark all tests that fail reliably as expectedFailure. For now, tests that are flaky (i.e. produce unstable results) are left enabled and cause unpredictable test failures. Differential Revision: https://reviews.llvm.org/D90757
-
Michał Górny authored
Pass -pthread on all systems except for Darwin and Windows. Suggested by Pavel Labath.
-
Anna Thomas authored
CapturesBefore tracker has an overly restrictive dominates check when the `BeforeHere` and the capture point are in different basic blocks. All we need to check is that there is no path from the capture point to `BeforeHere` (which is less stricter than the dominates check). See added testcase in one of the users of CapturesBefore. Reviewed-By: jdoerfert Differential Revision: https://reviews.llvm.org/D90688
-
Raphael Isemann authored
5d645743 removes this enum value and now all the switch statements that previously relied on handling this in the 'default' branch are causes compiler warnings due to redundant default cases. This just removes the now unreachable code in there.
-
- Nov 05, 2020
-
-
Raphael Isemann authored
In D89056 the default value for architecture was moved to `build` so that all called functions see the same architecture value. It seems there are a few functions that call buildDefault directly (and not via build), so on some test configurations that set a custom arch value the architecture value is no longer available. This just adds the architecture code from build to buildDefault to get the bots green again while I'm looking for a better solution.
-
Erich Keane authored
As described here: https://devblogs.microsoft.com/oldnewthing/20150220-00/?p=44623 In order to allow Lambdas to be used with traditional Win32 APIs, they emit a conversion function for (what Raymond Chen claims is all) a number of the calling conventions. Through experimentation, we discovered that the list isn't quite 'all'. This patch implements this by taking the list of conversions that MSVC emits (across 'all' architectures, I don't see any CCs on ARM), then emits them if they are supported by the current target. However, we also add 3 other options (which may be duplicates): free-function, member-function, and operator() calling conventions. We do this because we have an extension where we generate both free and member for these cases so th at people specifying a calling convention on the lambda will have the expected behavior when specifying one of those two. MSVC doesn't seem to permit specifying calling-convention on lambdas, but we do, so we need to make sure those are emitted as well. We do this so that clang-only conventions are supported if the user specifies them. Differential Revision: https://reviews.llvm.org/D90634
-