- Apr 09, 2021
-
-
Congzhe Cao authored
After loop interchange, the (old) outer loop header should not jump to the `LoopExit`. Note that the old outer loop becomes the new inner loop after interchange. If we branched to `LoopExit` then after interchange we would jump directly from the (new) inner loop header to `LoopExit` without executing the rest of outer loop. This patch modifies adjustLoopBranches() such that the old outer loop header (which becomes the new inner loop header) jumps to the old inner loop latch which becomes the new outer loop latch after interchange. Reviewed By: bmahjour Differential Revision: https://reviews.llvm.org/D98475
-
Levy Hsu authored
Add InstAlias that allows the last operand to be an imm for following instructions: 1. Zbb or Zbp: - ror - rorw (RV64 Only) 2. Zbs - best - bclr - binv - bext Reviewed By: craig.topper, jrtc27 Differential Revision: https://reviews.llvm.org/D100083 -
Sanjay Patel authored
The smax case shows up in https://llvm.org/PR49885 . The others seem unlikely, but we might as well try for uniformity (although that could mean an extra instruction to create "nabs"). smax -- https://alive2.llvm.org/ce/z/8yYaGy smin -- https://alive2.llvm.org/ce/z/0_7zc_ umax -- https://alive2.llvm.org/ce/z/EcsZWs umin -- https://alive2.llvm.org/ce/z/Xw6WvB
-
Sanjay Patel authored
-
Craig Topper authored
The backend can't handle this and will throw a fatal error from type legalization. It's easy enough to fix that for this intrinsic by just splitting the IR intrinsic since it works on individual bytes. There will be other intrinsics in the future that would be harder to support through splitting, for example grev, gorc, and shfl. Those would require a compare and a select be inserted to check the MSB of their control input. This patch adds support for preventing this in the frontend with a nice diagnostic. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D99984
-
Stanislav Mekhanoshin authored
clang++ uses llvm.compiler.used in certain cases to preserve symbol which is fully inlined. D96087 has resulted in undefined symbols in such cases. Set it to false by default to preserve old behavior but keep the option for specific uses where we want to ignore these (e.g. to detect a potential indirect call to a function). Differential Revision: https://reviews.llvm.org/D99897
-
Jez Ng authored
-
Jez Ng authored
Swift builds seem to use it. All it requires is emitting the corresponding paths as STABS. Fixes llvm.org/PR49385. Reviewed By: clayborg Differential Revision: https://reviews.llvm.org/D100076
-
Michał Górny authored
-
Paul C. Anagnostopoulos authored
This reverts commit 3b9a15d9.
-
Sushma Unnibhavi authored
Added punctuation and changed "So for instance" to "For instance". Fixes https://llvm.org/PR42017 Differential revision: https://reviews.llvm.org/D100053
-
Lei Zhang authored
Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D100112
-
Valeriy Savchenko authored
This patch supports std::data and std::addressof functions. rdar://73463300 Differential Revision: https://reviews.llvm.org/D99260
-
Valeriy Savchenko authored
rdar://68954187 Differential Revision: https://reviews.llvm.org/D99181
-
Stephen Tozer authored
Reverted due to failure on the sanitizer-x86_64-linux-fast bot. This reverts commit e10493eb.
-
Michał Górny authored
Watch for fork(2)/vfork(2) (also fork/vfork-style clone(2) on Linux) notifications and explicitly detach the forked child process, and add initial tests for these cases. The code covers FreeBSD, Linux and NetBSD process plugins. There is no new user-visible functionality provided -- this change lays foundations over subsequent work on fork support. Differential Revision: https://reviews.llvm.org/D98822
-
Yuanfang Chen authored
Also makes LINK_TEST customizable from commandline with `--test` option.
-
Andrew Savonichev authored
The tests compare IPC statistics that MCA provides with IPC values measured on Cortex-A55 hardware. For hardware tests, each snippet is run in a loop unrolled by 1000, and IPC is measured by linux-perf. Several tests do not match the hardware: the skewed ALU is not supported, LDR seem to be missing a forwarding path. Differential Revision: https://reviews.llvm.org/D98174
-
Jez Ng authored
Addresses an old TODO. Reviewed By: #lld-macho, oontvoo Differential Revision: https://reviews.llvm.org/D100082
-
Jez Ng authored
The test is loosely based off LLD-ELF's `thinlto.ll`. However, I found that test questionable because the the -save_temps behavior it checks for is identical regardless of whether we are running in single- or multi-threaded mode. I tried writing a test based on `--time-trace` but couldn't get it to run deterministically... so I've opted to just skip checking that behavior for now. Reviewed By: #lld-macho, gkm Differential Revision: https://reviews.llvm.org/D99356
-
Arjun P authored
Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D100114
-
Stephen Tozer authored
During SelectionDAG, we must track the SDNodes that each SDDbgValue depends on to compute its value. These are ultimately derived from the location operands to the SDDbgValue, but were stored in a separate vector prior to this patch. This resulted in cases where one of the lists was updated incorrectly, resulting in crashes during compilation. This patch fixes the issue by directly recomputing the dependency list from the SDDbgOperands in getDependencies(). Differential Revision: https://reviews.llvm.org/D99423
-
- Apr 08, 2021
-
-
Jay Foad authored
This is just to stop a future patch from optimizing away the things that we actually want to check for.
-
Jay Foad authored
-
Dávid Bolvanský authored
This reverts commit 053dc958. It causes perf regressions - see discussion in D97116.
-
David Spickett authored
These tests were added in: 1daa48f0 59e422c9 malloc_zero.c and realloc_too_big.c fail when only leak sanitizer is enabled. http://lab.llvm.org:8011/#/builders/59/builds/1635 (also in an armv8 32 bit build) (I would XFAIL them but the same test is run with address and leak sanitizer enabled and that one does pass)
-
Pavel Labath authored
If the debug info is missing the terminating null die, we would crash when trying to access the nonexisting children/siblings. This was discovered because the test case for D98619 accidentaly produced such input.
-
Pavel Labath authored
The test is flaky (sleeps didn't help).
-
serge-sans-paille authored
-
Jay Foad authored
-
Jay Foad authored
-
Jay Foad authored
Look through copies to find more cases where the two values being selected are identical. The motivation for this is just to be able to remove the weird special case where tryFoldCndMask was called from foldInstOperand, part way through folding a move-immediate into its users, without regressing any lit tests.
-
Florian Hahn authored
Instead of passing the start value and the defined value to widenPHIInstruction, pass the VPWidenPHIRecipe directly, which can be used to get both (and more in future patches).
-
Valeriy Savchenko authored
It is common to zero-initialize not only scalar variables, but also structs. This is also defensive programming and we shouldn't complain about that. rdar://34122265 Differential Revision: https://reviews.llvm.org/D99262
-
Joseph Tremoulet authored
This allows mapping larger files, delaying OOM failures until too many pages of them are accessed. This is makes the behavior of the mapped_file_region in this regard consistent between its "Unix" and "Windows" implementations. Guard the code witih #if defined(MAP_NORESERVE), consistent with other uses of MAP_NORESERVE in llvm-project, because some FreeBSD versions do not provide this flag. Reviewed By: clayborg Differential Revision: https://reviews.llvm.org/D96626
-
Jay Foad authored
-
Sebastian Neubauer authored
ScratchExecCopy needs to be marked as live, we cannot use that register while EXEC is stored in there. Marking SGPRForFPSaveRestoreCopy and SGPRForBPSaveRestoreCopy as available is unnecessary, they should not be live at that point anway. Differential Revision: https://reviews.llvm.org/D100098
-
Sanjay Patel authored
Goes with D100095
-
Paul C. Anagnostopoulos authored
Differential Revision: https://reviews.llvm.org/D99883
-
Paul C. Anagnostopoulos authored
-