search for: writinganllvmbackend

Displaying 20 results from an estimated 95 matches for "writinganllvmbackend".

2017 May 03
3
I want to update WritingAnLLVMBackend document
Hi LLVM developers, As one of the maintainers of AVR target, I want to update WritingAnLLVMBackend document to be familiar with the development of backend, because: 1. The structure of LLVMTargetMachine https://github.com/llvm-mirror/llvm/blob/master/docs/WritingAnLLVMBackend.rst#target-machine has been changed a lot! 2. LLVMInitializeSparcTargetInfo https://github.com/llvm-mirror/llvm/blo...
2008 Nov 21
1
[LLVMdev] Patch for WritingAnLLVMBackend.html
Here's a patch for WritingAnLLVMBackend.html that describes how instruction operand mapping works based on an IRC chat I had. Can someone review and apply it? -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: write.patch URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/...
2020 Jul 14
2
[Beginner] Understanding Tablegen language
...- Resolving variables: http://nhaehnle.blogspot.com/2018/03/tablegen-4-resolving-variables.html - DAGs: http://nhaehnle.blogspot.com/2018/03/tablegen-5-dags.html Some of the parts of TableGen used in SelectionDAG are in the backend docs (e.g., the keywords OP asked about): https://llvm.org/docs/WritingAnLLVMBackend.html#instruction-set & https://llvm.org/docs/WritingAnLLVMBackend.html#instruction-selector (has a simple example of `PatFrag` for `store`). There are a few examples of simple .td files an LLVM backend in the following: LLVM backend development by example (RISC-V) 2018 LLVM Developers’ Meet...
2014 Sep 09
2
[LLVMdev] Machine Code for different architectures
Hi, We have some DSP architectures (kalimba) which have 24-bits as their "minimum addressable unit". So this means that the sizeof a char (and an int and a short for that matter) is 24-bits. I quickly read the posted link WritingAnLLVMBackend.html but did not see an obvious answer to the following question: Is it possible to write a backend that faithfully represents these architectures or is sizeof_byte==8 bits baked into to llvm? Does anyone have any views on the above? thanks Matthew Gardiner On Tue, 9 Sep 2014 18:21:01 +1200 B...
2012 Jul 06
4
[LLVMdev] New backend
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello devs, I'd like to ask for some advise about adding a backend. I followed the steps at http://llvm.org/docs/WritingAnLLVMBackend.html (also adding the backend to the configure script, so it compiles (on Linux) with LLVM 3.1. However, llvm-build fails with: llvm[0]: Constructing LLVMBuild project information. Usage: llvm-build [options] llvm-build: error: invalid target to enable: 'Foo' (not in project) and since...
2017 Jul 07
2
Error in v64i32 type in x86 backend
...gt; >>> >>> Please correct me, I am stuck here. >>> >>> Thank You again >>> >>> On Fri, Jul 7, 2017 at 7:11 AM, Friedman, Eli <efriedma at codeaurora.org> >>> wrote: >>> >>>> Have you read http://llvm.org/docs/WritingAnLLVMBackend.html and >>>> http://llvm.org/docs/CodeGenerator.html ? >>>> http://llvm.org/docs/WritingAnLLVMBackend.html#instruction-selector >>>> describes how to define a store instruction. >>>> >>>> -Eli >>>> >>>> >>&gt...
2015 Mar 14
2
[LLVMdev] Add a backend
In attempting to add a backend I came across the documentation here: http://llvm.org/docs/WritingAnLLVMBackend.html The section on the build system seems to be out of date, or maybe I don't understand it. I copied the Sparc target to a directory (Foo for the example), added Foo to the subdirectories list in llvm\lib\Target\LLVMBuild.txt and to LLVM_ALL_TARGETS in llvm\CMakeLists.txt. I removed the fi...
2018 Aug 27
2
Transpiler Question
...the given program. The workflow I have is as such: High level language -> parsed and converted to C++ -> LLVM -> machine code (python or custom syntax.) I'm not 100% sure if I should write a full backend for python and our custom syntax. The documentation here: https://llvm.org/docs/WritingAnLLVMBackend.html discusses various hardware targets but nothing on software targets. My questions are as such: - Is my case the correct use of LLVM? - Should I be writing an LLVM backend to transpile? (if not would a pass suffice?) - Is there any documentation that I have missed trying to target a software ar...
2014 Sep 09
2
[LLVMdev] Machine Code for different architectures
How does LLVM generate machine code for different architectures? For example, the machine code for x86 and amd will vary. How does LLVM convert its IR to machine code for different architectures.Can you please explain the approach? Is it just write two different programs for two different architectures and pass a flag to the compiler based on which machine code you want to generate? Thanks a lot
2014 Sep 09
3
[LLVMdev] Machine Code for different architectures
...t; > Hi, > > > > We have some DSP architectures (kalimba) which have 24-bits as their > > "minimum addressable unit". So this means that the sizeof a char > > (and an int and a short for that matter) is 24-bits. > > > > I quickly read the posted link WritingAnLLVMBackend.html but did not > > see an obvious answer to the following question: > > > > Is it possible to write a backend that faithfully represents these > > architectures or is sizeof_byte==8 bits baked into to llvm? > > > > Does anyone have any views on the above? >...
2010 Dec 25
4
[LLVMdev] Question of autotools about adding a new target for LLVM
Hello all, I am a beginner of LLVM and want to add a new Target for LLVM. I follow the document (http://llvm.org/docs/WritingAnLLVMBackend.html) to modify autotools/configure.ac. However when I type ./AutoRegen.sh There is an error that "Your autoconf was not detected as being 2.60" I download the source of autoconf 2.60 and install it. And there is the other error that "Your aclocal was not detected as being 1.9.6&...
2018 Sep 24
4
Writing simple intrinsic in clang
I want to write a simple backend-specific instrinsic that will just call an instruction. How should I do that? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180924/7faeeb3d/attachment.html>
2015 Mar 14
2
[LLVMdev] Add a backend
...This function is autogenerated. You need also to change top-level > configure / cmake files. > > On Sat, Mar 14, 2015 at 8:38 AM, Daniel Dilts <diltsman at gmail.com> wrote: > > In attempting to add a backend I came across the documentation here: > > http://llvm.org/docs/WritingAnLLVMBackend.html > > > > The section on the build system seems to be out of date, or maybe I don't > > understand it. I copied the Sparc target to a directory (Foo for the > > example), added Foo to the subdirectories list in > > llvm\lib\Target\LLVMBuild.txt and to LLVM_ALL_...
2014 Mar 28
2
[LLVMdev] How to extract the starting address of each basic block with llvm?
...use llvm to do this? From what I understand this issued is unrelevant with IR. Maybe I could get something from the machine code (MC). Perhaps I have to write a pass for llvm backend. Maybe I could get this information from BranchFolder and IfConverter machine function passes: http://llvm.org/docs/WritingAnLLVMBackend.html#branch-folding-and-if-conversion but I am not sure. I am new to llvm so I need some help, Thank you, -- Thanasis Petsas Distributed Computing Systems (DCS) Institute of Computer Science (ICS/FORTH) Heraklion, Crete Greece (GR) http://www.thanasispetsas.com/ -------------- next part ------...
2014 Sep 10
2
[LLVMdev] Machine Code for different architectures
...; > > We have some DSP architectures (kalimba) which have 24-bits as their > > > "minimum addressable unit". So this means that the sizeof a char > > > (and an int and a short for that matter) is 24-bits. > > > > > > I quickly read the posted link WritingAnLLVMBackend.html but did not > > > see an obvious answer to the following question: > > > > > > Is it possible to write a backend that faithfully represents these > > > architectures or is sizeof_byte==8 bits baked into to llvm? > > > > > > Does anyone have...
2010 Oct 13
4
[LLVMdev] How to register a new LLVM backend
...e parameter was Triple::mips. I found it odd because, if I understood it right, this attaches backend information to a LLVM core file. What am I supposed to put there for a new backend? Do I leave the default parameter? Is this the problem or am I missing something else? [1] http://llvm.org/docs/WritingAnLLVMBackend.html -- []'s Giuliano Vilela. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20101013/7e81f8c1/attachment.html>
2009 Feb 23
0
[LLVMdev] Creating an LLVM backend for a very small stack machine
...rote: > > I would love to see a Kalescope-like tutorial that goes step-by-step > through > making a backend. At the very least, I'll be documenting my > adventure, so > maybe once I know what I'm doing I can turn it into a tutorial. Have you seen: http://llvm.org/docs/WritingAnLLVMBackend.html If you're targeting a stack machine, I'd strongly recommend not using the llvm register allocators and just run you own custom stackifier pass instead. -Chris
2010 May 27
3
[LLVMdev] TargetDescription string documentation
...4-n32". The tutorial doesn't explain what the 'n' stands for, or why 'f' shows up twice (I can guess the first might be for floats and the second for doubles, but the tutorial has a different story about doubles. Here's where I am reading it from: http://llvm.org/docs/WritingAnLLVMBackend.html I would be grateful for any explanation or pointers to documentation. Cheers, -- PMatos
2012 Jul 06
0
[LLVMdev] New backend
Hello > I'd like to ask for some advise about adding a backend. I followed > the steps at http://llvm.org/docs/WritingAnLLVMBackend.html (also > adding the backend to the configure script, so it compiles (on Linux) > with LLVM 3.1. This document is heavily out of date (so, I think it should be removed / marked obsolete). You might grab some information from http://llvm.org/devmtg/2012-04-12/Slides/Workshops/Anton_Korobey...
2005 Apr 24
0
[LLVMdev] trig language-like code generator generator
...any work to implement it in LLVM. > "...If you are starting a new port, we recommend that you write the > instruction selector using the SelectionDAG infrastructure." > > any other things i should know before i write one? You should read these: http://llvm.cs.uiuc.edu/docs/WritingAnLLVMBackend.html http://llvm.cs.uiuc.edu/docs/TableGenFundamentals.html If you're unsure of how things are implemented, take a look at how similar things are done in X86, PowerPC, Alpha or IA64, they all have SelectionDAG-based instruction selectors (*ISelPattern.cpp). If that doesn't clear things up...