> Would you have any objections to making 
> lib/Target/*/MCTargetDesc/*MCTargetDesc.h public?

One worry that springs to mind is how easy it is to renumber the enum values 
used by the opcodes. If these numbers are public it will be hard to have stable 
releases that add new instructions.

From: llvmdev-boun...@cs.uiuc.edu [mailto:llvmdev-boun...@cs.uiuc.edu] On 
Behalf Of Reid Kleckner
Sent: 24 February 2015 21:40
To: Eric Christopher
Cc: Keno Fischer; lldb-dev; LLVM Developers Mailing List
Subject: Re: [LLVMdev] [lldb-dev] Reusing LLVM Mips instruction info in lldb

On Tue, Feb 24, 2015 at 1:09 PM, Eric Christopher 
<echri...@gmail.com<mailto:echri...@gmail.com>> wrote:

On Tue Feb 24 2015 at 1:03:43 PM Keno Fischer 
<kfisc...@college.harvard.edu<mailto:kfisc...@college.harvard.edu>> wrote:
Hello everyone,

in http://reviews.llvm.org/D7696 bhushan added a mips64 UnwindAssembly plugin 
(a plugin that looks at assembly code to find out how to unwind the stack 
frame). Since I was about to write such a plugin (though for mips32) myself, I 
used it as a starting point for a slightly different implementation [1], 
replacing hard coded instruction encodings by calls to the LLVM disassembler. 
This works great, except that the necessary header that defines the enum to 
interpret the opcode in MCInst is generated by llvm during the build process 
using tablegen and is hence not a public header. What is the best solution to 
be able to use this information from lldb (which needs to be able to build 
against a prebuilt copy of LLVM)? Would it make sense to move the appropriate 
.td to llvm/include/Target/Mips, so lldb could re-tablegen it and obtain the 
same header (I assume tablegening is deterministic?)?

Ugh no. (Though yes, it is deterministic afaik).

Does anybody see any other good solutions?


Develop an interface that works and have lldb use that? Might need to change 
things to have certain bits be made public if necessary, but I'd want more 
details there.

Would you have any objections to making 
lib/Target/*/MCTargetDesc/*MCTargetDesc.h public?

It seems pretty useless to expose a disassembly interface that can't tell you 
anything interesting about the instruction.
_______________________________________________
lldb-dev mailing list
lldb-dev@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to