- Apr 30, 2020
-
-
Tom Stellard authored
Summary: The llvm libraries depend on the symbols in the system libaries, so the system libraries need to be added after. Reviewers: jvesely Reviewed By: jvesely Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78535
-
River Riddle authored
The current implementation uses CrashRecoveryContext, but this only supports recovering in a certain number of cases. This revision adds a signal handler to support even more situations. This revision was able to properly generate a reproducer for a segfault in the Inliner, that the current recovery couldn't. Differential Revision: https://reviews.llvm.org/D78315
-
River Riddle authored
This revision adds a mode to the crash reproducer generator to attempt to generate a more local reproducer. This will attempt to generate a reproducer right before the offending pass that fails. This is useful for the majority of failures that are specific to a single pass, and situations where some passes in the pipeline are not registered with a specific tool. Differential Revision: https://reviews.llvm.org/D78314
-
River Riddle authored
This moves the threading check to runOnOperation. This produces a much cleaner interface for the adaptor pass, and will allow for the ability to enable/disable threading in a much cleaner way in the future. Differential Revision: https://reviews.llvm.org/D78313
-
Sam McCall authored
Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77456
-
Fangrui Song authored
--gdb-index currently crashes when reading a translation unit with DWARF v5 .debug_loclists . Call stack: ``` SyntheticSections.cpp GdbIndexSection::create SyntheticSections.cpp readAddressAreas DWARFUnit.cpp DWARFUnit::tryExtractDIEsIfNeeded DWARFListTable.cpp DWARFListTableHeader::extract ... DWARFDataExtractor.cpp DWARFDataExtractor::getRelocatedValue lld/ELF/DWARF.cpp LLDDwarfObj<ELFT>::find (sec.sec is nullptr) ... ``` This patch adds support for .debug_loclists to make `DWARFUnit::tryExtractDIEsIfNeeded` happy. Building --gdb-index does not need .debug_loclists Reviewed By: dblaikie, grimar Differential Revision: https://reviews.llvm.org/D79061
-
Kirill Naumov authored
Revert "[InlineCost] Addressing a very strict assert check in CostAnnotationWriter::emitInstructionAnnot" This reverts commit 66947d05.
-
Jacques Pienaar authored
Makes the relationship and function clearer. Accordingly rename getAttrList to getMutableAttrDict. Differential Revision: https://reviews.llvm.org/D79125
-
Fangrui Song authored
Drops the behavior from rL217112. Use the Gnu driver mode by default for all platforms when ld is invoked. Other names for the program (such as link or ld64) continue working as before. Reviewed By: MaskRay, srhines, smeenai, ruiu Differential Revision: https://reviews.llvm.org/D78837
-
Craig Topper authored
[X86] Merge the last of the useBWIRegs() section into the useAVX512Regs() section of the X86TargetLowering constructor. NFC This section is the remnant of how this code was structured before we made v32i16/v64i8 legal types with avx512f when not restricting to 256 bit vectors. Now that there are just a few items left, merge them near similar things in the other section.
-
Erich Keane authored
I added a limit to make sure that _ExtInt isn't exposed on systems that haven't considered it in their ABI. The ext-int.cpp Sema test didn't have a triple, so on non x86/x86_64 it would fail with this new error. This patch adds said triple to make sure this passes.
-
Julian Lettner authored
-
Tobias Bosch authored
Summary: Remove unused variable. Reviewers: echristo, efriedma Reviewed By: echristo Subscribers: tschuett, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79129
-
Alina Sbirlea authored
Summary: A valid DominatorTree is needed to do PhiTranslation. Before this patch, a MemoryUse could be optimized to an access outside a loop, while the address it loads from is modified in the loop. This can lead to a miscompile. Reviewers: george.burgess.iv Subscribers: Prazek, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79068
-
Christopher Tetreault authored
Reviewers: efriedma, huihuiz, dexonsmith, spatel Reviewed By: efriedma Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79122
-
Dan Albert authored
This reverts commit da093c38. Broke a test on Darwin. Will fix the test and resubmit.
-
Erich Keane authored
Since the _ExtInt type got into the repo, we've discovered that the ABI implications weren't completely understood. The other architectures are going to be audited (see D79118), however downstream targets aren't going to benefit from this audit. This patch disables the _ExtInt type by default and makes the target-info an opt-in. As it is audited, I'll re-enable these for all of our default targets.
-
Julian Lettner authored
Newer iOS SDK introduce accessors to retrieve the register values (arm_thread_state64_get_*) and disallows direct access to fields. If arm_thread_state64_get_sp is defined, the accessors are available.
-
Sam McCall authored
-
Kirill Naumov authored
This option seems to be very useful, so let's turn it on by default Reviewed-By: davidxl Diff: https://reviews.llvm.org/D79110
-
Kirill Naumov authored
The assert checks that every instruction must be annotated by this point while it is not necessary. If the inlining process was interrupted because the threshold was reached, the rest of the instructions would not be annotated which triggers the assert. The added test shows the situation in which it can happen. Reviewed-By: mtrofin Diff: https://reviews.llvm.org/D79107
-
Nico Weber authored
See https://crbug.com/1076480 for details.
-
Craig Topper authored
We generate much better code these days than we used to. And we use the same sequence for AVX1 and AVX2 for these For v4i64->v4i32 we generate: vextractf128 xmm1, ymm0, 1 vshufps xmm0, xmm0, xmm1, 136 # xmm0 = xmm0[0,2],xmm1[0,2] And for v8i64->v8i32 we generate: vperm2f128 ymm2, ymm0, ymm1, 49 # ymm2 = ymm0[2,3],ymm1[2,3] vinsertf128 ymm0, ymm0, xmm1, 1 vshufps ymm0, ymm0, ymm2, 136 # ymm0 = ymm0[0,2],ymm2[0,2],ymm0[4,6],ymm2[4,6] Differential Revision: https://reviews.llvm.org/D79109
-
Jacques Pienaar authored
Enable calling the sort, as expected by getWithSorted, into static member function so that callers can get same sorting behavior. Differential Revision: https://reviews.llvm.org/D79011
-
Sam McCall authored
-
Dan Albert authored
Summary: Use the Gnu driver mode by default for all platforms when ld is invoked. Other names for the program (such as link or ld64) continue working as before. Reviewers: MaskRay, int3, srhines, smeenai, ruiu Reviewed By: MaskRay, srhines, smeenai, ruiu Subscribers: smeenai, srhines, nickdesaulniers, llvm-commits Tags: #lld, #llvm Differential Revision: https://reviews.llvm.org/D78837
-
Erich Keane authored
I'm currently auditing all of the calling convention implications of _ExtInt for all platforms, so splitting them up into their own test will make this a much easier task to organize.
-
Jay Foad authored
It's trivial to derive this information from other state.
-
Jay Foad authored
These upper bounds are inclusive, so -1 (rather than 0) is the natural way to express an empty range.
-
Jay Foad authored
This makes the definition and uses of NewUB more symmetrical, and makes it clear that ScoreLBs[T] does not change.
-
Jan Korous authored
If we don't handle the errors we can't rely on the directory being created early anyway. Differential Revision: https://reviews.llvm.org/D78959
-
Christopher Tetreault authored
Reviewers: efriedma, sdesmalen, c-rhodes, ddunbar Reviewed By: sdesmalen Subscribers: huntergr, tschuett, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78831
-
Ulrich Weigand authored
For compatibility with other assemblers on the platform, allow using just plain integer register numbers in all places where a register operand is expected. Bug: llvm.org/PR45582
-
Ulrich Weigand authored
Remove redundant Group and Regs arguments from parseRegister and eliminate one of its overloaded versions. Remove redundant Regs argument from parseAddress. NFC intended.
-
Sanjay Patel authored
-
Louis Dionne authored
This reverts commit 51a60ed1, since the test still doesn't pass on Windows. Marking the test as UNSUPORTED on Windows again until I've figured out the problem.
-
Erich Keane authored
After speaking with Craig Topper about some recent defects, he pointed out that _ExtInts should be passed indirectly if larger than the largest int register, and like ints when smaller than that. This patch implements that. Note that this changed the way vaargs worked quite a bit, but they still work. Differential Revision: https://reviews.llvm.org/D78785
-
Martin Storsjö authored
-
Martin Storsjö authored
This matches what is done for MSVC in b8000c0c. Since that commit, compiler rt sanitizer libraries aren't linked to with absolute path on windows, but using their basenames, requiring the libdirs to be passed to the linker. This fixes undefined behaviour sanitizer on MinGW after b8000c0c. Differential Revision: https://reviews.llvm.org/D79076
-
Martin Storsjö authored
The debug directory payload is not located directly after the debug directory entry itself, but can essentially be located anywhere in the binary (even outside of mapped sections, although we don't handle that case). Differential Revision: https://reviews.llvm.org/D78921
-