Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] Hazard recognition using 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 Jun 11
3
[LLVMdev] scoreboard hazard det. and instruction groupings
I'm considering writing more-detailed itineraries for some PowerPC CPUs
that use the 'traditional' instruction grouping scheme. In essence,
this means that multiple instructions will stall in some pipeline stage
until a complete group is formed, then all will continue.
I expect to provide CPU-specific code to help determine when the
currently-waiting instructions would form a group.
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
2009 Jul 10
2
[LLVMdev] MCInst
Can someone explain what MCInst is vs. MachineIntr? I'm porting some
patches we have here that affect MachineInstrs and am wondering whether I
need to make similar changes in MCInst.
Why do we have two machine instruction representations?
-Dave
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
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
2013 Sep 26
2
[LLVMdev] how to detect data hazard in pre-RA-sched
On Wed, Sep 25, 2013 at 1:15 PM, Andrew Trick <atrick at apple.com> wrote:
>
> On Sep 24, 2013, at 7:59 PM, Liu Xin <navy.xliu at gmail.com> wrote:
>
> Hi, Andrew,
>
> Thank you for answering my question.
>
> What's the status of misched? is it experimental? I found it is disabled
> by default for all architectures(3.4svn). I also don't understand
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
2013 Sep 25
2
[LLVMdev] how to detect data hazard in pre-RA-sched
Hi, Andrew,
Thank you for answering my question.
What's the status of misched? is it experimental? I found it is disabled by
default for all architectures(3.4svn). I also don't understand the
algorithm. Could you point to me more papers or text materials about your
approach? it seems that you want to balance register pressure and ILP in
misched.
On Tue, Sep 24, 2013 at 4:07 PM,
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
2011 Nov 29
4
[LLVMdev] [llvm-commits] Bottom-Up Scheduling?
ARM can reuse all the default scoreboard hazard recognizer logic such as recede cycle (naturally since its the primary client). If you can do the same with PPC that's great.
Andy
On Nov 29, 2011, at 8:51 AM, Hal Finkel <hfinkel at anl.gov> wrote:
>> Thanks! Since I have to change PPCHazardRecognizer for bottom-up support
>> anyway, is there any reason not to have it
2012 Jun 11
0
[LLVMdev] scoreboard hazard det. and instruction groupings
On Jun 11, 2012, at 9:30 AM, Hal Finkel <hfinkel at anl.gov> wrote:
> I'm considering writing more-detailed itineraries for some PowerPC CPUs
> that use the 'traditional' instruction grouping scheme. In essence,
> this means that multiple instructions will stall in some pipeline stage
> until a complete group is formed, then all will continue.
>
> I expect to
2013 Sep 25
0
[LLVMdev] how to detect data hazard in pre-RA-sched
On Sep 24, 2013, at 7:59 PM, Liu Xin <navy.xliu at gmail.com> wrote:
> Hi, Andrew,
>
> Thank you for answering my question.
>
> What's the status of misched? is it experimental? I found it is disabled by default for all architectures(3.4svn). I also don't understand the algorithm. Could you point to me more papers or text materials about your approach? it seems
2012 Jan 11
0
[LLVMdev] RFC: Machine Instruction Bundle
Hi Evan,
I just read your proposal and the following discussion for VLIW support and want to share my experience of writing a VLIW back-end for LLVM.
I would not integrate the packetizer into the register allocator super class since it would reduce the flexibility for the back-end developer to add some optimization passes after the packetizer. Instead, I would add the packetizer as a separate
2013 Sep 26
0
[LLVMdev] how to detect data hazard in pre-RA-sched
On Sep 25, 2013, at 11:03 PM, Liu Xin <navy.xliu at gmail.com> wrote:
>
>
>
> On Wed, Sep 25, 2013 at 1:15 PM, Andrew Trick <atrick at apple.com> wrote:
>
> On Sep 24, 2013, at 7:59 PM, Liu Xin <navy.xliu at gmail.com> wrote:
>
>> Hi, Andrew,
>>
>> Thank you for answering my question.
>>
>> What's the status of
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
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
2013 Sep 22
2
[LLVMdev] how to detect data hazard in pre-RA-sched
hi, LLVM,
I found there is a flag DisableHazardRecognizer in TargetInstrImpl.cpp. I
still don't understand how llvm detects data hazard in pre-RA-sched.
pre-RA-sched is based on SDNode and all operands are vregs. Even you can
calculate the operators of SDNodes, the data hazard in vreg are not same as
physical register data hazard. Is it useful to optimize processor pipeline?
thanks,
--lx
2011 Nov 29
0
[LLVMdev] [llvm-commits] Bottom-Up Scheduling?
Andy,
I should have been more clear, the ARM implementation has:
void ARMHazardRecognizer::RecedeCycle() {
llvm_unreachable("reverse ARM hazard checking unsupported");
}
How does that work?
Thanks again,
Hal
On Tue, 2011-11-29 at 09:47 -0800, Andrew Trick wrote:
> ARM can reuse all the default scoreboard hazard recognizer logic such as recede cycle (naturally since its the