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 >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150314/6559f480/attachment.html>
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
Is there documentation somewhere about exactly what the function is supposed to do, or do I have to figure it out from existing examples? On Sat, Mar 14, 2015 at 12:13 AM, Anton Korobeynikov < anton at korobeynikov.info> wrote:> 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 >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150314/cf7d1f31/attachment.html>