- Apr 20, 2021
-
-
Nikita Popov authored
The exact case is folded, the inexact one is not.
-
Stephen Kelly authored
Differential Revision: https://reviews.llvm.org/D100720
-
Martin Storsjö authored
On Windows, one can't use perms::none on a directory to trigger failures to read the directory entries. These remaining tests can't use GetWindowsInaccessibleDir() sensibly, e.g. for tests that rely on toggling accessibility back and forth during the test, or where the semantics of the dir provided by GetWindowsInaccessibleDir() doesn't allow for running the ifdeffed tests meaningfully. Differential Revision: https://reviews.llvm.org/D97538
-
Thomas Lively authored
We previously used splats instead of v128.const to materialize vector constants because V8 did not support v128.const. Now that V8 supports v128.const, we can use v128.const instead. Although this increases code size, it should also increase performance (or at least require fewer engine-side optimizations), so it is an appropriate change to make. Differential Revision: https://reviews.llvm.org/D100716
-
Martin Storsjö authored
Previously the decision of which library to try to autolink was based on _DLL, however the _DLL define (which is set by the compiler) is tied to whether using a dynamically linked CRT or not, and the choice of dynamic or static CRT is entirely orthogonal to whether libc++ is linked dynamically or statically. If _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS isn't defined, then all declarations are decorated with dllimport, and there's no doubt that the DLL version of the library is what must be linked. _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS is defined if building with LIBCXX_ENABLE_SHARED disabled, and thus the static library is what should be linked. If defining _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS manually but wanting to link against the DLL version of the library, that's not a canonical configuration, and then it's probably reasonable to manually define _LIBCPP_NO_AUTO_LINK too, and manually link against the desired library. This fixes, among other issues, running tests for the library if built with LIBCXX_ENABLE_STATIC disabled. Differential Revision: https://reviews.llvm.org/D100539
-
Nicolas Vasilache authored
Differential Revision: https://reviews.llvm.org/D100786
-
Jonas Devlieghere authored
We no longer need this after Pavel's change to automatically find debug servers to test. (3ca7b2d0)
-
Jinsong Ji authored
XCOFF hasn't implemented lowerRelativeReference. So we need to disable new pass introduced by https://reviews.llvm.org/D94355 for AIX for now. Reviewed By: gulfem Differential Revision: https://reviews.llvm.org/D100584
-
Jonas Devlieghere authored
Adjust for the Lua error message printed by Lua 5.4.3.
-
Jonas Devlieghere authored
When formatting memory with as eFormatAddressIn and symbolication fails, fix the code address and print the symbol it points to, if any.
-
Emily Shi authored
We previously shrunk the mmap range size on ios, but those settings got inherited by apple silicon macs. Don't shrink the vm range on apple silicon Mac since we have access to the full range. Also don't shrink vm range for iOS simulators because they have the same range as the host OS, not the simulated OS. rdar://75302812 Reviewed By: delcypher, kubamracek, yln Differential Revision: https://reviews.llvm.org/D100234
-
madhur13490 authored
This patch removes -fixed-abi check for indirect calls and also adds queue-ptr which is required for indirect calls to work. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D100633
-
Pavel Iliin authored
Comparisons to zero or one after cset instructions can be safely removed in examples like: cset w9, eq cset w9, eq cmp w9, #1 ---> <removed> b.ne .L1 b.ne .L1 cset w9, eq cset w9, eq cmp w9, #0 ---> <removed> b.ne .L1 b.eq .L1 Peephole optimization to detect suitable cases and get rid of that comparisons added. Differential Revision: https://reviews.llvm.org/D98564
-
Yaxun (Sam) Liu authored
Reviewed by: Artem Belevich, Richard Smith Differential Revision: https://reviews.llvm.org/D98193
-
peter klausler authored
Define IEEE_IS_NAN, IEEE_IS_FINITE, & IEEE_REM. Differential Revision: https://reviews.llvm.org/D100599
-
LLVM GN Syncbot authored
-
Nikita Popov authored
During store promotion, we check whether the pointer was captured to exclude potential reads from other threads. However, we're only interested in captures before or inside the loop. Check this using PointerMayBeCapturedBefore against the loop header. Differential Revision: https://reviews.llvm.org/D100706
-
zoecarver authored
Differential Revision: https://reviews.llvm.org/D100682
-
Craig Topper authored
-
Philip Reames authored
-
Craig Topper authored
As noted in the FIXME there's a sort of agreement that the any extra bits stored will be 0. The generated code is pretty terrible. I was really hoping we could use a tail undisturbed trick, but tail undisturbed no longer applies to masked destinations in the current draft spec. Fingers crossed that it isn't common to do this. I doubt IR from clang or the vectorizer would ever create this kind of store. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D100618
-
Arthur Eubanks authored
An upcoming change will cause loads from a constant zeroinitializer global to be constant folded, breaking this test.
-
Fangrui Song authored
-
Jessica Paquette authored
This is a partial port of AArch64TargetLowering::LowerCTPOP. This custom lowering tries to uses NEON instructions to give a more efficient CTPOP lowering when possible. In the non-NEON/noimplicitfloat case, this should use the generic lowering (see: https://godbolt.org/z/GcaPvWe4x). I think that's worth implementing after implementing the widening code for s16/s8 though. Differential Revision: https://reviews.llvm.org/D100399
-
Nick Desaulniers authored
These constraints are machine agnostic; there's no reason to handle these per-arch. If arches don't support these constraints, then they will fail elsewhere during instruction selection. We don't need virtual calls to look these up; TargetLowering::getInlineAsmMemConstraint should only be overridden by architectures with additional unique memory constraints. Reviewed By: echristo, MaskRay Differential Revision: https://reviews.llvm.org/D100416
-
Jessica Paquette authored
It turns out we actually import a bunch of selection code for intrinsics. The imported code checks that the register banks on the G_INTRINSIC instruction are correct. If so, it goes ahead and selects it. This adds code to AArch64RegisterBankInfo to allow us to correctly determine register banks on intrinsics which have known register bank constraints. For now, this only handles @llvm.aarch64.neon.uaddlv. This is necessary for porting AArch64TargetLowering::LowerCTPOP. Also add a utility for getting the intrinsic ID from a G_INTRINSIC instruction. This seems a little nicer than having to know about how intrinsic instructions are structured. Differential Revision: https://reviews.llvm.org/D100398
-
Jonas Devlieghere authored
The binary image list contains the following entry when a frame is not found in any know binary image: { "size" : 0, "source" : "A", "base" : 0, "uuid" : "00000000-0000-0000-0000-000000000000" } Note that this object is missing the name and path keys. This patch makes the JSON parser resilient against their absence. -
Sanjay Patel authored
The test here is reduced from the fuzzer-generated crasher in: https://llvm.org/PR50023 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=33395 I don't know if this is the best or complete solution, but the zext of the i42 type appears to match the behavior if we run a weird type example like this through the IR optimizer with -O1. Differential Revision: https://reviews.llvm.org/D100766
-
Nico Weber authored
-
Wael Yehia authored
Reviewed By: Xiangling Liao Differential Revision: https://reviews.llvm.org/D100350
-
Jan Svoboda authored
-
Roman Lebedev authored
-
- Apr 19, 2021
-
-
Roman Lebedev authored
In particular, this allows to create constant expressions instead of IR Instruction's if the argumen is a constant.
-
Roman Lebedev authored
I.e., use GetOptimalInsertionPointForCastOf() helper to get the insertion point, and try to reuse casts first.
-
Roman Lebedev authored
I guess this case hasn't come up thus far, and i'm not sure if it can really happen for the existing usages, thus no test in *this* commit. But, the following commit adds test coverage, there we'd expirience a crash without this fix.
-
Roman Lebedev authored
-
Roman Lebedev authored
Currently, InsertNoopCastOfTo() would implicitly insert that cast, but now that we have SCEVPtrToIntExpr, i'm hoping we could stop InsertNoopCastOfTo() from doing that. But first all users must be fixed.
-
Roman Lebedev authored
[NFC][SCEVExpander][LoopDistribute] Add test for SCEVPtrToIntExpr in SCEVExpander::generateOverflowCheck() We shouldn't end up with ptrtoint-of-getelementptr there.
-
Roman Lebedev authored
-
Roman Lebedev authored
ptr<->int casts are only valid for integral pointes, defensively assert that we don't try to break that here.
-