[LLVMdev] Add a backend
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