- Aug 09, 2021
-
-
Sven van Haastregt authored
Factor out functionality that can be shared with a header file emitter that is to be added in the future.
-
Michał Górny authored
Use hexadecimal numbers rather than decimal in various vFile packets in order to fix compatibility with gdbserver. This also changes the few custom LLDB packets -- while technically they do not have to be changed, it is easier to use the same syntax consistently across LLDB. Differential Revision: https://reviews.llvm.org/D107475
-
Michał Górny authored
Sync the mode constants used to drive vFile:open requests with these used by GDB and defined for the gdb remote protocol. This makes it possible to use 'platform file open' after connecting to gdbremote server (and to some degree to operate on the open file modulo other incompatibilities). Differential Revision: https://reviews.llvm.org/D106985
-
Michał Górny authored
Modify OpenOptions enum to open the future path into synchronizing vFile:open bits with GDB. Currently, LLDB and GDB use different flag models effectively making it impossible to match bits. Notably, LLDB uses two bits to indicate read and write status, and uses union of both for read/write. GDB uses a value of 0 for read-only, 1 for write-only and 2 for read/write. In order to future-proof the code for the GDB variant: 1. Add a distinct eOpenOptionReadWrite constant to be used instead of (eOpenOptionRead | eOpenOptionWrite) when R/W access is required. 2. Rename eOpenOptionRead and eOpenOptionWrite to eOpenOptionReadOnly and eOpenOptionWriteOnly respectively, to make it clear that they do not mean to be combined and require update to all call sites. 3. Use the intersection of all three flags when matching against the three possible values. This commit does not change the actual bits used by LLDB. Differential Revision...
-
Alex Zinenko authored
These ops were not ported to the nD vector conversion when it was introduced and nobody needed them so far. Reviewed By: gysit Differential Revision: https://reviews.llvm.org/D107750
-
Fraser Cormack authored
Shuffles which are broken into separate halves reveal splats in which a half is accessed via one index; such operations can be optimized to use "vrgather.vi". This optimization could be achieved by adding extra patterns to match `vrgather_vv_vl` which uses a splat as an index operand, but this patch instead identifies splat earlier. This way, future optimizations can build on top of the data gathered here, e.g., to splat-gather dominant indices and insert any leftovers. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D107449
-
Hsiangkai Wang authored
Differential Revision: https://reviews.llvm.org/D107433
-
Fraser Cormack authored
These shuffles all take the form of a "splat" of the LHS and/or RHS to some degree, with one or two elements needing patched up afterwards. We currently lower all of these to full LHS/RHS vector-index shuffles with vrgather.vv. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D107447
-
Muhammad Omair Javaid authored
Following tests fail on Arm/AArch64 randomly with timeouts: TestMultilineNavigation.py TestBatchMode.py TestUnicode.py TestGdbRemote_vContThreads.py I am marking them as skipped until we find a away make to pass reliably.
-
Igor Kudrin authored
The patch removes mutable accessor methods for sections and segments. As for now, const variants of them are not used because all callers have mutable access to an instance of Object. On the other hand, they do not actually modify the sets, so it looks better to keep only const ones. Differential Revision: https://reviews.llvm.org/D107652
-
Martin Storsjö authored
54902e00 added a use of /alternatename via a #pragma comment(linker); in MinGW mode, this requires building with -fms-extensions. (This flag is added to SANITIZER_COMMON_CFLAGS in the toplevel CMakeLists.txt.) This avoids a warning when building in MinGW mode (about an unknown pragma being ignored), and presumably also makes the code work as intended. Differential Revision: https://reviews.llvm.org/D107620
-
Martin Storsjö authored
The Headers.CountersDelta field is an uint64_t, not a pointer, so just cast to uint32_t to truncate it. Differential Revision: https://reviews.llvm.org/D107619
-
Esme-Yi authored
llvm/tools/llvm-readobj/XCOFFDumper.cpp:464:5: error: call to member function 'printNumber' is ambiguous W.printNumber("Length", StrTabSize); -
Martin Storsjö authored
In MSVC mode, CMake provides CMAKE_C_COMPILER_ARCHITECTURE_ID, which should be accurate for what the compiler produces. Keep the old CMAKE_C_SIZEOF_VOID_P based fallback in case this doesn't provide matches. In GCC/MinGW mode, CMake doesn't provide that. As we're trying to guess the default host architecture, use CMAKE_HOST_SYSTEM_PROCESSOR in combination with the existing CMAKE_C_SIZEOF_VOID_P check to estimate whether it's x86/x86_64/arm/aarch64. Differential Revision: https://reviews.llvm.org/D107626
-
Luo, Yuanke authored
Differential Revision: https://reviews.llvm.org/D107713
-
Christian Kühnel authored
Added a new section on generating the html documentation from the rst/md sources to our documentation. Background: I wanted to check what my documenation changes would look like on the website and had a hard time finding how to do that. So I wanted to save other folks the effort. Differential Revision: https://reviews.llvm.org/D107460
-
David Green authored
This test didn't include all test check lines, thanks to .'s in function names. It also changed the triple to hard float to make a more interesting test for NEON code generation.
-
Min-Yih Hsu authored
This could help asm parser to pick the correct variant of instruction. This patch also migrated all the control instructions MC tests.
-
Min-Yih Hsu authored
And assign RegClass (i.e. operand class for all GPR) as the super class of ARegClass and DRegClass. Note that this is a NFC change because actually we already had XRDReg to model either address or data register operands (as well as test coverage for it). The new super class syntax added here is just making the relations between three RegClass-es more explicit.
-
Cullen Rhodes authored
The decoder function and table are the same as FPR128, use that instead. Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D107644
-
Esme-Yi authored
Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D107333
-
Pan, Tao authored
Same as 3bec7ed5 Reviewed By: sbc100 Differential Revision: https://reviews.llvm.org/D107422
-
Simon Atanasyan authored
MIPS .debug_* sections should have SHT_MIPS_DWARF section type to distinguish among sections contain DWARF and ECOFF debug formats, but in assembly files these sections have SHT_PROGBITS (@progbits) type. Now assembler shows 'changed section type for ...' error when parsing `.section .debug_*,"",@progbits` directive for MIPS targets. The same problem exists for x86-64 target and this patch extends workaround implemented in D76151. The patch adds one more case when assembler ignores section types mismatch after `SwitchSection()` call. Differential Revision: https://reviews.llvm.org/D107707
-
Christudasan Devadasan authored
This reverts commit ffc3fb66.
-
Michael Liao authored
-
Craig Topper authored
This enables the fneg and fabs combines we have for FMV_X_ANYEXTW_RV64.
-
Craig Topper authored
This should be testing the custom ISD nodes we use for passing half values in GPRs. We should optimize these to integer operations, but we currently don't.
-
Craig Topper authored
Previously we converted ISD condition codes to integers and stored them directly in our MIR instructions. The ISD enum kind of belongs to SelectionDAG so that seems like incorrect layering. This patch instead uses a CondCode node on RISCV::SELECT_CC until isel and then converts it from ISD encoding to a RISCV specific value. This value can be converted to/from the RISCV branch opcodes in the RISCV namespace. My larger motivation is to possibly support a microarchitectural feature of some CPUs where a short forward branch over a single instruction can be predicated internally. This will require a new pseudo instruction for select that needs to carry a branch condition and live probably until RISCVExpandPseudos. At that point it can be expanded to control flow without other instructions ending up in the predicated basic block. Using an ISD encoding in RISCVExpandPseudos doesn't seem like correct layering. Reviewed By: luismarques Differential Revision: https://reviews.llvm.org/D107400
-
Craig Topper authored
This is the data to be stored so it should be an input. To keep operand order similar between loads and stores, move the temp register to the first dest operand of floating point loads. Rework the assembler code accordingly. This doesn't have any functional effect because this Pseudo is only used by the assembler which doesn't use ins/outs. Reviewed By: luismarques Differential Revision: https://reviews.llvm.org/D107309
-
Min-Yih Hsu authored
Update disassembler test case to reflect the changes on ADD/ADDA instruction separation.
-
Sam McCall authored
This allows vscode to find it as a diagnostic quickfix for -Wswitch. While here, group the code into chunks and add a couple more comments.
-
- Aug 08, 2021
-
-
Kazu Hirata authored
The last use was removed on Dec 21, 2018 in commit c3f30a7f.
-
Dimitry Andric authored
On FreeBSD, the `environ` symbol is undefined at link time for shared libraries, but resolved by the dynamic linker at runtime. Therefore, allow the symbol to be undefined when creating a shared library, by using the `--allow-shlib-undefined` linker flag, instead of `-z defs` (a.k.a `--no-undefined`). Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D107698
-
Dimitry Andric authored
Instead, include `<cstdlib>` which is the canonical header containing the declaration of `alloca()`. Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D107699
-
Dorit Nuzman authored
Teach LV to use masked-store to support interleave-store-group with gaps (instead of scatters/scalarization). The symmetric case of using masked-load to support interleaved-load-group with gaps was introduced a while ago, by https://reviews.llvm.org/D53668; This patch completes the store-scenario leftover from D53668, and solves PR50566. Reviewed by: Ayal Zaks Differential Revision: https://reviews.llvm.org/D104750
-
Min-Yih Hsu authored
Previously ADD & ADDA (as well as SUB & SUBA) instructions are mixed together, which not only violated Motorola assembly's syntax but also made asm parsing more difficult. This patch separates these two kinds of instructions migrate rest of the tests from test/CodeGen/M68k/Encoding/Arithmetic to test/MC/M68k/Arithmetic. Note that we observed minor regressions on codegen quality: Sometimes isel uses ADD instead of ADDA even the latter can lead to shorter sequence of code. This issue implies that some isel patterns might need to be updated.
-
Min-Yih Hsu authored
Change `-elf-output-style` to `--elf-output-style` to reflect the recent changes on short/long CLI options in LLVM binary utils.
-
Craig Topper authored
-
Craig Topper authored
The fcvt fp to integer instructions saturate if their input is infinity or out of range, but the instructions produce a maximum integer for nan instead of 0 required for the ISD opcodes. This means we can use the instructions to do the saturating conversion, but we'll need to fix up the nan case at the end. We can probably improve the i8 and i16 default codegen as well, but I'll leave that for a follow up. Reviewed By: luismarques Differential Revision: https://reviews.llvm.org/D107230
-
Jonas Devlieghere authored
Move Objective-C constants into ObjCConstants.h and share them between Cocoa and AppleObjCTypeEncodingParser. Differential revision: https://reviews.llvm.org/D107679
-