- May 19, 2020
-
-
LLVM GN Syncbot authored
-
Xiang1 Zhang authored
Summary: Add x86 feature with IBT and/or SHSTK bits to ELF program property if they are enabled. Otherwise, contents in this header file are unused. This file is mainly design for assembly source code which want to enable CET Reviewers: hjl.tools, annita.zhang, LuoYuanke, craig.topper, tstellar, pengfei, rsmith Reviewed By: LuoYuanke Subscribers: mgorny Differential Revision: https://reviews.llvm.org/D79617
-
Eli Friedman authored
-
Yonghong Song authored
Daniel reported a llvm-objdump segfault like below: $ llvm-objdump -D bpf_xdp.o ... 0000000000000000 <.strtab>: 0: 00 63 69 6c 69 75 6d 5f <unknown> 1: 6c 62 36 5f 61 66 66 69 w2 <<= w6 ... (llvm-objdump: lib/Target/BPF/BPFGenAsmWriter.inc:1087: static const char* llvm::BPFInstPrinter::getRegisterName(unsigned int): Assertion `RegNo && RegNo < 25 && "Invalid register number!"' failed. Stack dump: 0. Program arguments: llvm-objdump -D bpf_xdp.o ... abort ... llvm::BPFInstPrinter::getRegisterName(unsigned int) llvm::BPFInstPrinter::printMemOperand(llvm::MCInst const*, int, llvm::raw_ostream&, char const*) llvm::BPFInstPrinter::printInstruction(llvm::MCInst const*, unsigned long, llvm::raw_ostream&) llvm::BPFInstPrinter::printInst(llvm::MCInst const*, unsigned long, llvm::StringRef, llvm::MCSubtargetInfo const&, llvm::raw_ostream&) ... Basically, since -D enables disassembly for all sections, .strtab is also disassembled, but some strings are decoded as legal instructions but with illegal register numbers. When llvm-objdump tries to print register name for these illegal register numbers, assertion and segfault happens. The patch fixed the issue by returning fail for a disassembled insn if that insn contains a reg operand with illegal reg number. The insn will be printed as "<unknown>" instead of causing an assertion.
-
Jonas Devlieghere authored
Before the transition to libOption it was possible to specify arguments for the inferior without -- as long as they didn't start with a dash. For example, the following invocations should all behave the same: $ lldb inferior inferior-arg $ lldb inferior -- inferior-arg $ lldb -- inferior inferior-arg This patch fixes that behavior, documents it and adds a test to cover the different combinations. Differential revision: https://reviews.llvm.org/D80165
-
Chen Zheng authored
-
Chen Zheng authored
-
Chen Zheng authored
-
Yonghong Song authored
For a simple program like below: -bash-4.4$ cat t.c int test() { asm volatile("r0 = r0" ::); return 0; } compiled with clang -target bpf -O2 -c t.c the following llvm-objdump command will segfault. llvm-objdump -d t.o 0: bf 00 00 00 00 00 00 00 nop llvm-objdump: ../include/llvm/ADT/SmallVector.h:180 ... Assertion `idx < size()' failed ... abort ... llvm::BPFInstPrinter::printOperand llvm::BPFInstPrinter::printInstruction ... The reason is both NOP and MOV_rr (r0 = r0) having the same encoding. The disassembly getInstruction() decodes to be a NOP instruciton but during printInstruction() the same encoding is interpreted as a MOV_rr instruction. Such a mismatcch caused the segfault. The fix is to make NOP instruction as CodeGen only so disassembler will skip NOP insn for disassembling. Note that instruction "r0 = r0" should not appear in non inline asm codes since BPF Machine Instruction Peephole optimization will remove it. Differential Revision: https://reviews.llvm.org/D80156
-
Reid Kleckner authored
This reverts commit 525a591f. Fixed an issue with pointers to members based on typedefs. In this case, LLVM would emit a second UDT. I fixed it by not passing the class type to getTypeIndex when the base type is not a function type. lowerType only uses the class type for direct function types. This suggests if we have a PMF with a function typedef, there may be an issue, but that can be solved separately.
-
Vedant Kumar authored
Disable the test which attempts to format an NSDate with a date_value of 0 on _WIN32. When _WIN32 is defined, GetOSXEpoch returns a date that should be in 2001, but after this is passed through timegm (which, afaict isn't portable?) the result is a date in 1970: ``` lldb-x64-windows-ninja\llvm-project\lldb\unittests\DataFormatter\MockTests.cpp(39): error: Expected: *formatDateValue(0) Which is: "1970-01-01 00:00:00 Pacific Standard Time" To be equal to: "2001-01-01 00:00:00 UTC" ``` http://lab.llvm.org:8011/builders/lldb-aarch64-ubuntu/builds/4520/steps/test/logs/stdio
-
Sam McCall authored
-
Amara Emerson authored
These should legalize like undefs and select into copies. The ll test is copied from the x86 test, minus the half fp case because we don't currently support that.
-
Francesco Petrogalli authored
Summary: Intrinsics, guarded by `__ARM_FEATURE_SVE_MATMUL_INT8`: * svusdot[_s32] * svusdot[_n_s32] * svusdot_lane[_s32] * svsudot[_s32] * svsudot[_n_s32] * svsudot_lane[_s32] Reviewers: sdesmalen, efriedma, david-arm, rengolin Subscribers: tschuett, kristof.beyls, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79877
-
Vedant Kumar authored
On Ubuntu, a formatted date prints as "GMT" instead of "UTC", which is ok. http://lab.llvm.org:8011/builders/lldb-aarch64-ubuntu/builds/4520/steps/test/logs/stdio
-
Fangrui Song authored
rL82131 changed -O from -O1 to -O2, because -O1 was not different from -O2 at that time. GCC treats -O as -O1 and there is now work to make -O1 meaningful. We can change -O back to -O1 again. Reviewed By: echristo, dexonsmith, arphaman Differential Revision: https://reviews.llvm.org/D79916
-
Ayal Zaks authored
LV considers an internally computed MaxVF to decide if a constant trip-count is a multiple of any subsequently chosen VF, and conclude that no scalar remainder iterations (tail) will be left for Fold Tail to handle. If an external VF is provided via -force-vector-width, it must be considered instead of the internal MaxVF. If an external UF is provided via -force-vector-interleave, it too must be considered in addition to MaxVF or user VF. Fixes PR45679. Differential Revision: https://reviews.llvm.org/D80085
-
LLVM GN Syncbot authored
-
Kirstóf Umann authored
One of the pain points in simplifying MallocCheckers interface by gradually changing to CallEvent is that a variety of C++ allocation and deallocation functionalities are modeled through preStmt<...> where CallEvent is unavailable, and a single one of these callbacks can prevent a mass parameter change. This patch introduces a new CallEvent, CXXDeallocatorCall, which happens after preStmt<CXXDeleteExpr>, and can completely replace that callback as demonstrated. Differential Revision: https://reviews.llvm.org/D75430
-
Matt Arsenault authored
-
Francesco Petrogalli authored
Summary: This patch adds IR intrinsics for the mnemonics USDOT and SUDOT of the 8.6 extension of Armv8-a. Reviewers: sdesmalen, efriedma, david-arm Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79876
-
Francesco Petrogalli authored
Summary: Guarded by __ARM_FEATURE_SVE_MATMUL_INT8: * svmmla_u32 * svmmla_s32 * svusmmla_s32 Guarded by __ARM_FEATURE_SVE_MATMUL_FP32: * svmmla_f32 Guarded by __ARM_FEATURE_SVE_MATMUL_FP64: * svmmla_f64 Reviewers: sdesmalen, kmclaughlin, efriedma, rengolin Subscribers: tschuett, kristof.beyls, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79639
-
Francesco Petrogalli authored
Summary: Instructions: * SMMLA * UMMLA * USMMLA * FMMLA Reviewers: sdesmalen, efriedma, kmclaughlin Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79638
-
- May 18, 2020
-
-
Amara Emerson authored
-
Sanjay Patel authored
-
Sanjay Patel authored
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D80155
-
Matt Arsenault authored
This was ignoring the address space, and would assert on address spaces with a different size from the default.
-
Sam McCall authored
Summary: This is worth another 10% or so on InedxBenchmark.DexBuild. Reviewers: kbobyrev Subscribers: ilya-biryukov, MaskRay, jkorous, mgrang, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79950
-
Craig Topper authored
Fix several places that were calling verifyFunction or verifyModule without checking the return value. verifyFunction/verifyModule don't assert or error internally. They also don't print anything if you don't pass a raw_ostream to them. So the caller needs to check the result and ideally pass a stream to get the messages. Otherwise they're just really expensive no-ops. I've filed PR45965 for another instance in SLPVectorizer that causes a lit test failure. Differential Revision: https://reviews.llvm.org/D80106
-
Vedant Kumar authored
Summary: Fixes UBSan-reported issues where the date value inside of an uninitialized NSDate overflows the 64-bit epoch. rdar://61774575 Reviewers: JDevlieghere, mib, teemperor Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D80150
-
Nikita Popov authored
Instead of fetching the pointer element type.
-
Jinsong Ji authored
When build in runtime bulid mode with LLVM_ENABLE_RUNTIMES, the base-config-ix.cmake will complain about two errors. One is empty string in replace, the other one is unknown `TEST_BIG_ENDIAN ` command. This patch fix it so that we can test runtime build. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D80040
-
Jean-Michel Gorius authored
Summary: Propagate memory operands when folding test instructions. This was split from D80062. Reviewers: craig.topper, rnk, lebedev.ri Reviewed By: craig.topper Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80140
-
Matt Arsenault authored
This was assumed to be a simple move, and interpreting the immediate modifier operand as a materialized immediate. Apparently the SDWA pass never produces these, but GlobalISel does emit these for some vector shuffles.
-
Artem Belevich authored
Still breaks CUDA compilation. This reverts commit e03394c6.
-
Lei Zhang authored
Differential Revision: https://reviews.llvm.org/D80149
-
Matt Arsenault authored
This was using an integer multiply instead of FP.
-
Volkan Keles authored
If both OpA and OpB is an add with NSW/NUW and with the same LHS operand, we can guarantee that the transformation is safe if we can prove that OpA won't overflow when IdxDiff added to the RHS of OpA. Review: https://reviews.llvm.org/D79817
-
Nikita Popov authored
Now that load/store have required alignment, accept Align here. This also avoids uses of getPointerElementType(), which is incompatible with opaque pointers.
-