Displaying 20 results from an estimated 3000 matches similar to: "Print the Binary Form of an Instruction"
2015 Oct 13
3
ELF object writing from assembly file
Hi all,
I have implemented AsmParser, CodeEmitter, and ELF object writing.
AsmParser and CodeEmitter are tested and working fine, but I would like to
see ELF objects build out of a parsed asm file. Is that possible?
I tried this commands, but it didn't work corrctly:
*llvm-mc -filetype=obj -arch=test file.s -o=a.o*
and I think after an obj file is built, I should use this command but I am
2015 Sep 14
2
TableGen MCInstrDesc Instruction Size Zero
Dear all,
I am trying to write an AsmParser and a CodeEmitter for simple ADD
instruction.
Here is what I have in the TestGenInstrInfo.td:
*extern const MCInstrDesc TestInsts[] = {...{ 23, 3, 1, 0, 0, 0, 0x0ULL,
nullptr, nullptr, OperandInfo13, 0, nullptr }, // Inst #23 = ADD8_rr...}*
I parse the instruction successfully but I am not sure what I did wrong
that the Size (as you can see in
2015 Sep 15
2
Parsing Operands at TableGen Level
Hi all,
is it possible in TableGen to set value to instruction bits based on the
operands?
In other words, parsing the instruction at the TableGen level.
for instance:
"add $Rd, $Rn, $imm"
I want to have something like this:
*Inst{8} = ($Rn == Test::A0) 1 : 0;*
Is there any way to do that in TableGen? If not is there any example in the
provided example codes?
Cheers,
ES
2015 Sep 28
3
Parse Instruction
Hi ES,
From what I understand instruction parsing is divided into two parts:
- Parsing an operand list (XXXAsmParser::ParseInstruction)
- Turning the operand list into an actual instruction
(XXXAsmParser::MatchAndEmitInstruction)
The second part does the validation (e.g. how many operands, what kind,
etc) while the first part only does the parsing. That's why I think in
the first part
2015 Aug 20
2
Problem Compiling AsmParser
Hi all,
I am trying to compile with a minimal TestAsmParser class, but I get the
following error.
----------------
[43/780] Linking CXX executable bin/llvm-mc
FAILED: : && /usr/bin/c++ -fPIC -fvisibility-inlines-hidden -Wall -W
-Wno-unused-parameter -Wwrite-strings -Wcast-qual
-Wno-missing-field-initializers -pedantic -Wno-long-long
-Wno-maybe-uninitialized -Wno-comment -std=c++11
2008 Sep 12
2
[LLVMdev] Selection Condition Codes
I am attempting to lower the selectCC instruction to the instruction set
of the backend I'm working on and I cannot seem to find a way to
correctly implement this instruction. I know how this instruction should
get implemented; I just have yet to find a way to do it. I want the
select_cc instruction to be lowered into a comparison followed by a
conditional move. I've attempted to use a
2015 Oct 19
2
Instructions with no operand
Hi all,
I am trying to implement an instruction with no operand for example "clr"
in TableGen.
-----------------------------------------
e.g.
*InstrInfo.td:*
class TestInst<string opc, string asmstr, dag oops, dag iops,
list<dag> pattern> : Instruction { ... }
def int_no_operand : Intrinsic<[]>;
class ALU<string opc> : TestInst<opc,
2015 Dec 07
2
Immediate value boundary checking
Dear all,
I have written an assembler which reads assembly instructions and produces
the equivalent binary. I have a problem. Although I set the bit range and
immediate type for an instruction like add which accepts a register and an
immediate value, I can simply overflow that value and llvm/tablegen doesn't
care!
for example for a i8imm imm value (bits<8> val) these two produce the
2010 Mar 27
2
[LLVMdev] Static code generation - is it gone from LLVM 2.7?
Hi,
Just realized that ability to generate static object code (e.g. ELF w/o
using JIT) is no longer available in 2.7 (at least in release_27 branch).
For example
> llc -filetype=obj whatever.bc
doesn't work in Linux environment anymore (well it wasn't fully
implemented before but it worked for simple bytecodes in 2.6).
I used to generate code by creating TargetMachine and
2008 Sep 12
0
[LLVMdev] Selection Condition Codes
On Thu, Sep 11, 2008 at 6:14 PM, Villmow, Micah <Micah.Villmow at amd.com> wrote:
> I am attempting to lower the selectCC instruction to the instruction set of
> the backend I'm working on and I cannot seem to find a way to correctly
> implement this instruction. I know how this instruction should get
> implemented; I just have yet to find a way to do it. I want the select_cc
2009 Jul 16
3
[LLVMdev] [patch] CodeEmitter Memory Foot Reduction
On Jul 16, 2009, at 12:53 AM, Aaron Gray wrote:
> Chris,
>
> The basic idea of using templates inconjunction with inlining is for
> efficiency.
>
> 6,500 virtual calls outputting bytes out of 10000 calls, and the
> rest 1,750 being words to output 10,000 of code does not entice me
> to use virtual calls.
I understand that you say that, but I can't bring myself
2013 May 30
0
[LLVMdev] Activating MIPS Code Emitter.
On May 30, 2013, at 11:35 AM, Jafar J <pluck90 at hotmail.com> wrote:
> Hi Jim,
>
> The idea of reducing the switching activity between the instructions works by reducing the hamming distance between tow consecutive binary strings across the basic block, or reducing the number of the different bits between two consecutive instructions. This is why I need the exact complete
2016 Nov 16
2
[RFC] AAP Backend
Hi all,
I have just updated most of the patches to roll them forwards to LLVM
top-of-tree, and incorporated various suggested changes. We're still
looking for reviewers, if anyone is interested.
Thank you,
Edward Jones
On 15/09/16 17:12, Ed Jones wrote:
> I have now posted the final two patches for the backend to add
> Disassembler support, ISel and CodeGen. The full list of patches
2009 Jul 16
0
[LLVMdev] [patch] CodeEmitter Memory Foot Reduction
2009/7/16 Chris Lattner <clattner at apple.com>
>
> On Jul 16, 2009, at 12:53 AM, Aaron Gray wrote:
>
> Chris,
>
> The basic idea of using templates inconjunction with inlining is for
> efficiency.
>
> 6,500 virtual calls outputting bytes out of 10000 calls, and the rest 1,750
> being words to output 10,000 of code does not entice me to use virtual
>
2009 Jul 16
2
[LLVMdev] [patch] CodeEmitter Memory Foot Reduction
On Thu, Jul 16, 2009 at 10:04 AM, Aaron
Gray<aaronngray.lists at googlemail.com> wrote:
> 2009/7/16 Chris Lattner <clattner at apple.com>
>> Whats Daniels approach, does he have any online documentation or code, do
>> you have an email address so I may talk to him.
>>
>> Take a look at how asmprinters work
>> in include/llvm/Target/TargetRegistry.h .
2010 Mar 27
0
[LLVMdev] Static code generation - is it gone from LLVM 2.7?
On Mar 26, 2010, at 6:24 PM, Peter Shugalev wrote:
> Hi,
>
> Just realized that ability to generate static object code (e.g. ELF w/o
> using JIT) is no longer available in 2.7 (at least in release_27 branch).
>
> For example
>> llc -filetype=obj whatever.bc
> doesn't work in Linux environment anymore (well it wasn't fully
> implemented before but it worked
2016 Oct 28
1
Error while generating codeemmiter.inc
Hi Developer,
While generating CodeEmitter.inc I got following error which i am attaching
as screen short as follows
Please help me guys.
If you want other info I will provide you guys
Thanks and Regards
Varun
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161028/29ec72e6/attachment-0001.html>
2010 Oct 27
1
[LLVMdev] ARMCodeEmitter vs ARMMCCodeEmitter (ARM relocations for ELF)
Hi everyone,
I am getting into the ARM specific relocation for MC/ELF, and have
some questions
There are some x86/arm specific relocation values already, before they
are lowered down to ELF reloc types
(i.e. ARMRelocations.h and X86Relocations.h)
As near as I can figure it, the relocation constants in
(ARM|X86)Relocations.h are used only in ARMCodeEmitter, and
X86CodeEmitter.cpp respectively -
2005 May 11
0
[LLVMdev] Re:RE: Question about inserting instructions
On Wed, May 11, 2005 at 01:30:29PM -0700, Qiuyu Zhang wrote:
[snip]
> push %eax
> das
> clc
>
> all of them are legal one-byte x86 machine instructions.
[snip]
> If there is a way to be able to get that, I am supposed that like
> the following,
>
> 1. generate some dummy BB on IR level ( working on *.bc by writing a
2018 Nov 26
4
[RFC] Checking inline assembly for validity
GCC-style inline assembly is notoriously hard to write correctly, because it is
the user's responsibility to tell the compiler about the requirements of the
assembly (inputs, output, modified registers, memory access), and getting this
wrong results in silently generating incorrect code. This is also dependent on
register allocation and scheduling decisions made by the compiler, so an inline