[llvm-bugs] [Bug 48792] New: Review options between using CodeBeads v.s. TSFlags for encoding M68k instructions

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jan 18 10:50:06 PST 2021


https://bugs.llvm.org/show_bug.cgi?id=48792

            Bug ID: 48792
           Summary: Review options between using CodeBeads v.s. TSFlags
                    for encoding M68k instructions
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: M68k
          Assignee: unassignedbugs at nondot.org
          Reporter: minyihh at uci.edu
                CC: glaubitz at physik.fu-berlin.de,
                    llvm-bugs at lists.llvm.org, minyihh at uci.edu

Normally a backend uses `MCInstrDesc::TSFlags`, a 64-bits bit vector, to carry
all the instructions' encoding info. However, M68k's current encoding scheme --
which might not be the optimal one -- requires at least 24 bytes to carry all
the necessary info. As a workaround, M68k created a specialized TableGen
backend, CodeBeads, to generate an auxiliary encoding table that can carry
arbitrary length instruction encodings.

Nevertheless, we always prefer to reuse the existing infrastructures. Therefore
this bug is used for tracking the status of refactoring M68k's current encoding
scheme into a more concise form. For example, try to fit every encoding info
into the 64-bits `TSFlags`, or use `TSFlags` as a index/pointer to another
auxiliary encoding table.

For more discussion on this topic, please refer to
https://reviews.llvm.org/D88385.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210118/637bf85a/attachment-0001.html>


More information about the llvm-bugs mailing list