Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] MCInst"
2009 Jul 10
0
[LLVMdev] MCInst
On Jul 9, 2009, at 5:34 PM, David Greene wrote:
> Can someone explain what MCInst is vs. MachineIntr?
Sure. MCInst is designed to be part of the "MC" set of libraries,
which is stuff dealing with machine code. We're building a suite of
assemblers and disassemblers out of this.
MCInst is integral to this plan. For an assembler you have two pieces:
1. "Recognize"
2009 Jul 10
1
[LLVMdev] MCInst
On Friday 10 July 2009 00:19, Chris Lattner wrote:
> asmprinter::printInstruction will lower a MachineInstr to an MCInst,
> then call the MCInst asmprinter to do the hard formatting work. You
> can see a horrible simple skeleton of this idea in
> X86ATTAsmPrinter::printMachineInstruction.
Yep, that's where I hit the problem. I'm patching the sources for the
comment emitter
2012 Nov 30
3
[LLVMdev] Support for bundles of MCInst?
Hello Owen,
> There should already be sufficient support for what you're trying to do.
See
> MCOperand::CreateInst(). The concept is that you'll build a composite
MCInst in
> your AsmPrinter::EmitInstruction() method, which uses Inst-type MCOperands
to
> hold a list of sub-instructions. Then you call
AsmStreamer::EmitInstruction() on the
> composite MCInst.
Thanks for
2004 Oct 12
3
[LLVMdev] Showstopper on Visual C
Hi all,
Well, suggestion for workarounds for the namespace problems are
welcome... this is a 7 minutes compile files on a pentium 4 3ghz 700Mb
ram...
The fatal error at the end MAY depend on the previous... or at least, I
hope so.
cl /nologo /TP /EHsc /GR /Zi /Yd /D__STDC_LIMIT_MACROS
/DHAVE__FINITE_IN_FLOAT_H /DHAVE__ISNAN_IN_FLOAT_H
/ISTLport-4.6.2\stlport /Illvm\inc
lude
2012 May 11
1
[LLVMdev] 2 versions of printInstruction()
Hi, LLVMers,
I notice that there are two versions of printInstruction() generated
by tablegen:
(1) XXXInstPrinter::printInstruction(const MCInst *MI, raw_ostream
&os), like for X86.
(2) XXXAsmPrinter::printInstruction(const MachineInstr *MI,
raw_ostream &os), like for Sparc.
I guess Sparc backend directly transform MachineInstr objects into
ostream, while X86 backend convert
2012 Nov 29
4
[LLVMdev] Support for bundles of MCInst?
Hello all,
We're developing an integrated assembler for a VLIW target, and some of the
optimizing our assembler needs to do must be done on a per-packet basis.
This requires us to be able to traverse instruction within a packet, and one
particular optimization requires traversal of previous packets as well.
We're considering adding support for MCInst bundles in the MC layer to
2004 Oct 12
0
[LLVMdev] Showstopper on Visual C
struct X86AsmPrinter is in an anonymous namespace, but printInstruction
is declared in namespace llvm. try editing the tablegen output to move
X86AsmPrinter::printInstruction into an anonymous namespace, not llvm.
I suspect this will at least fix the first problem. Then we can figure
out the proper longterm fix.
Andrew
On Tue, 2004-10-12 at 03:56, Paolo Invernizzi wrote:
> Hi all,
>
2012 Nov 29
0
[LLVMdev] Support for bundles of MCInst?
Mario,
On Nov 29, 2012, at 3:00 PM, Mario Guerra <mariog at codeaurora.org> wrote:
> We're developing an integrated assembler for a VLIW target, and some of the
> optimizing our assembler needs to do must be done on a per-packet basis.
> This requires us to be able to traverse instruction within a packet, and one
> particular optimization requires traversal of previous
2018 Jun 30
2
Using BuildMI to insert Intel MPX instruction BNDCU failed
Hello everyone, I'm a newbie of llvm. I'm trying to insert Intel MPX
instruction BNDCU with BuildMI. I add my machinefunctionpass
at addPreEmitPass2.
Here is the code of insertion:
BuildMI(MBB, MI, DL, TII->get(X86::BNDCU64rr)).addReg(X86::BND2,
RegState::Define).addReg(X86::R10);
And here is to stack track when I compiler program with modified llc:
2011 Nov 09
1
[LLVMdev] AsmPrinter vs. MCAsmStreamer
I'm writing a backend using a mid-October svn snapshot of LLVM. I'm having
a hard time figuring out the relationship between my XXXAsmPrinter and
MCAsmStreamer. Can someone explain what each is responsible for? Looking at
the existing targets, the XXXAsmPrinter implementations seem to implement
both the legacy "create a .s file" behavior, using
printInstruction/printOperand/etc
2012 Nov 30
0
[LLVMdev] Support for bundles of MCInst?
Mario,
On Nov 29, 2012, at 4:04 PM, Mario Guerra <mariog at codeaurora.org> wrote:
> Thanks for your reply. This is actually one approach we are considering, but
> there are a few issues with it we weren't sure how to address.
>
> One is that the lifespan of an MCInst seems to be limited to the scope of
> AsmPrinter, and we need them to be persistent in order to do a
2015 Jul 28
2
[LLVMdev] Wrong encoding/decoding for POPC instruction of Sparc
Hello,
There is an issue in the latest Sparc code: while we can encode POPC,
decode results in crash in llvm-mc
$ echo "popc %g1, %g2" | ./Release+Asserts/bin/llvm-mc -assemble
-triple=sparcv9 -show-encoding
.text
popc %g1, %g2 ! encoding: [0x85,0x70,0x00,0x01]
$ echo "0x85,0x70,0x00,0x01"|./Release+Asserts/bin/llvm-mc -disassemble
-triple=sparcv9
2015 Jul 31
2
[LLVMdev] Wrong encoding/decoding for POPC instruction of Sparc
I'll look into it, thanks for the report.
On Thu, Jul 30, 2015 at 11:01 PM, Jun Koi <junkoi2004 at gmail.com> wrote:
> Any ideas on this bug?
>
> Thanks.
>
>
> On Wed, Jul 29, 2015 at 12:17 AM, Jun Koi <junkoi2004 at gmail.com> wrote:
>
>> Hello,
>>
>> There is an issue in the latest Sparc code: while we can encode POPC,
>> decode
2012 Dec 23
5
[LLVMdev] Getting MCInst "ins" and "outs"
Hi all.
I'm looking for some way to do code analysis with LLVM. Can someone please give me a hint, if it is possible to query an MCInst for what are input operands and what are output operands?
Small example.
Consider we have an instruction:
str r1, [sp, #8]
Being mapped into MCInst instance it has the following operands:
<MCOperand Reg:61> <-- maps to reg r1
2015 Jul 31
0
[LLVMdev] Wrong encoding/decoding for POPC instruction of Sparc
Any ideas on this bug?
Thanks.
On Wed, Jul 29, 2015 at 12:17 AM, Jun Koi <junkoi2004 at gmail.com> wrote:
> Hello,
>
> There is an issue in the latest Sparc code: while we can encode POPC,
> decode results in crash in llvm-mc
>
> $ echo "popc %g1, %g2" | ./Release+Asserts/bin/llvm-mc -assemble
> -triple=sparcv9 -show-encoding
> .text
> popc
2015 Jul 31
1
[LLVMdev] Wrong encoding/decoding for POPC instruction of Sparc
Hi James,
Not sure if you've already found the problem but I've been looking at this
issue a bit as a way to learn. What I've seen is that the wrong operand
names are used for the instruction which causes the decoder emitter to fail
to recognize the operands.
The attached patch changes the names of the operands and adds a test for
the disassembly of the instruction. I haven't
2013 Sep 18
2
[LLVMdev] Translation between MCInst and Binary Executable
Hi, Dear LLVM Dev Group,
I am doing an LLVM project aimed to disassemble an ARM ELF binary
executable to the MCInst format, inserting some instructions or doing some
modification, and re-assemble the MCInst to an ELF binary.
As I used the llvm-mc, it seems to only have the option "llvm-mc
-disassemble", which reads strings and output strings. Is there any command
or function that can
2014 Mar 12
2
[LLVMdev] Hazard recognition using MCInst
Dear All,
I am following a flow to generate object files(.o) from input (.s assembly) files.
The input .s is given to AsmParser, which creates MCInst after matching instruction opcode.
These MCInst are converted to MCStream and then finally emitting to an object file using Target Code Emitter.
I am considering whether hazard recognition can be done on the list of MCInst, which I get after
2017 Dec 27
1
Convert MachineInstr to MCInst in AsmPrinter.cpp
Hello everyone,
In the file *lib/CodeGen/AsmPrinter/AsmPrinter.cpp*, I would like to obtain
an MCInst corresponding to its MachineInstr. Can anyone tell me a way to do
that?
If that is not possible, then, I would like to know if a given MachineInstr
is an *lea *instruction and I would like to know if the symbol involved
with this lea instruction is a jump-table.
For instance, given a
2012 Dec 26
0
[LLVMdev] Getting MCInst "ins" and "outs"
The MCInstrDesc has a method getNumDefs() which tells you how many 'out registers' that MCInst has. The 'out' registers are always at the beginning of the list. You can also use getNumOperands().
Not sure if this is what you are looking for.
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Vladimir Pouzanov