[LLVMdev] Add a backend

Anton Korobeynikov anton at korobeynikov.info
Sat Mar 14 00:13:59 PDT 2015


You have to provide this function and initialize the whole MC infrastructure.

See e.g. lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp

On Sat, Mar 14, 2015 at 10:11 AM, Daniel Dilts <diltsman at gmail.com> wrote:
> Yes, llvm::InitializeAllTargetMCs(void) does seem to be autogenerated.  It
> is _LLVMInitializeFooTargetMC that I can't find documented anywhere.
>
> On Sat, Mar 14, 2015 at 12:05 AM, Anton Korobeynikov
> <anton at korobeynikov.info> wrote:
>>
>> 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_TARGETS in
>> > llvm\CMakeLists.txt.  I removed the files except for
>> > FooTargetMachine.cpp
>> > and FooTargetMachine.h.
>> >
>> > FooTargetMachine is not completed yet, but I was trying to compile and
>> > get
>> > linker errors about _LLVMInitializeFooTargetMC referenced in function
>> > void
>> > llvm::InitializeAllTargetMCs(void).  I do not see anything about how to
>> > implement this function.
>> >
>> > Is there additional documentation about how to implement a backend that
>> > I am
>> > missing?
>> >
>> > _______________________________________________
>> > LLVM Developers mailing list
>> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>> >
>>
>>
>>
>> --
>> With best regards, Anton Korobeynikov
>> Faculty of Mathematics and Mechanics, Saint Petersburg State University
>
>



-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University



More information about the llvm-dev mailing list