Hey all, Quick query on out of tree target support - at present I can drop a folder Foo into <llvm>/lib/Target/Foo and use the CMake option LLVM_EXPERIMENTAL_TARGETS_TO_BUILD to pick up my target. The issue is that I still need to patch the one LLVMBuild.txt file in <llvm>/lib/Target with; |iff --git a/lib/Target/LLVMBuild.txt b/lib/Target/LLVMBuild.txt index 4112046..6e42cbe 100644 --- a/lib/Target/LLVMBuild.txt +++ b/lib/Target/LLVMBuild.txt @@ -16,7 +16,7 @@ ;===------------------------------------------------------------------------===; [common] -subdirectories = ARM AArch64 BPF CppBackend Hexagon MSP430 NVPTX Mips PowerPC R600 Sparc SystemZ X86 XCore +subdirectories = ARM AArch64 BPF CppBackend Hexagon MSP430 NVPTX Mips PowerPC R600 Sparc SystemZ X86 XCore Foo ; This is a special group whose required libraries are extended (by llvm-build) ; with the best execution engine (the native JIT, if available, or the| To include my target in the LLVM build, and this allows me to specify -march=foo and it will call into my code correctly. Am I missing something - or is this patch definitely required? If the patch is required - does anyone have any suggestions/ideas how I could add support to either LLVMBuild or the specific LLVMBuild.txt file so that it would pick up my new Target? I understand that my patch is tiny and relatively easy to maintain (it will basically always merge well) - but it still irks me having to keep a patch where it probably isn't required! Cheers, -Neil. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150309/61205570/attachment.html>
Hi Neil, Weird, I'd think the cmake build should probably do something similar to the autoconf build if possible and just have subdirectories equal to the targets to build. I'm not sure if this is possible etc... could try some setting etc. -eric On Mon, Mar 9, 2015 at 9:11 AM Neil Henning <llvm at duskborn.com> wrote:> Hey all, > > Quick query on out of tree target support - at present I can drop a folder > Foo into <llvm>/lib/Target/Foo and use the CMake option > LLVM_EXPERIMENTAL_TARGETS_TO_BUILD to pick up my target. The issue is that > I still need to patch the one LLVMBuild.txt file in <llvm>/lib/Target with; > > iff --git a/lib/Target/LLVMBuild.txt b/lib/Target/LLVMBuild.txt > index 4112046..6e42cbe 100644--- a/lib/Target/LLVMBuild.txt+++ b/lib/Target/LLVMBuild.txt@@ -16,7 +16,7 @@ ;===------------------------------------------------------------------------===; [common]-subdirectories = ARM AArch64 BPF CppBackend Hexagon MSP430 NVPTX Mips PowerPC R600 Sparc SystemZ X86 XCore+subdirectories = ARM AArch64 BPF CppBackend Hexagon MSP430 NVPTX Mips PowerPC R600 Sparc SystemZ X86 XCore Foo ; This is a special group whose required libraries are extended (by llvm-build) > ; with the best execution engine (the native JIT, if available, or the > > To include my target in the LLVM build, and this allows me to specify > -march=foo and it will call into my code correctly. > > Am I missing something - or is this patch definitely required? > > If the patch is required - does anyone have any suggestions/ideas how I > could add support to either LLVMBuild or the specific LLVMBuild.txt file so > that it would pick up my new Target? > > I understand that my patch is tiny and relatively easy to maintain (it > will basically always merge well) - but it still irks me having to keep a > patch where it probably isn't required! > > Cheers, > -Neil. > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150309/3b0d48b8/attachment.html>
I believe we'd need LLVMBuild.txt even in autoconf build - for bunch of autogenerated stuff, e.g. list of all asmprinters / asmparsers / InitializeAllTargetInfos, etc., since targets are not autoregistered anymore. On Mon, Mar 9, 2015 at 7:20 PM, Eric Christopher <echristo at gmail.com> wrote:> Hi Neil, > > Weird, I'd think the cmake build should probably do something similar to the > autoconf build if possible and just have subdirectories equal to the targets > to build. I'm not sure if this is possible etc... could try some setting > etc. > > -eric > > On Mon, Mar 9, 2015 at 9:11 AM Neil Henning <llvm at duskborn.com> wrote: >> >> Hey all, >> >> Quick query on out of tree target support - at present I can drop a folder >> Foo into <llvm>/lib/Target/Foo and use the CMake option >> LLVM_EXPERIMENTAL_TARGETS_TO_BUILD to pick up my target. The issue is that I >> still need to patch the one LLVMBuild.txt file in <llvm>/lib/Target with; >> >> iff --git a/lib/Target/LLVMBuild.txt b/lib/Target/LLVMBuild.txt >> index 4112046..6e42cbe 100644 >> --- a/lib/Target/LLVMBuild.txt >> +++ b/lib/Target/LLVMBuild.txt >> @@ -16,7 +16,7 @@ >> >> ;===------------------------------------------------------------------------===; >> >> [common] >> -subdirectories = ARM AArch64 BPF CppBackend Hexagon MSP430 NVPTX Mips >> PowerPC R600 Sparc SystemZ X86 XCore >> +subdirectories = ARM AArch64 BPF CppBackend Hexagon MSP430 NVPTX Mips >> PowerPC R600 Sparc SystemZ X86 XCore Foo >> >> ; This is a special group whose required libraries are extended (by >> llvm-build) >> ; with the best execution engine (the native JIT, if available, or the >> >> To include my target in the LLVM build, and this allows me to specify >> -march=foo and it will call into my code correctly. >> >> Am I missing something - or is this patch definitely required? >> >> If the patch is required - does anyone have any suggestions/ideas how I >> could add support to either LLVMBuild or the specific LLVMBuild.txt file so >> that it would pick up my new Target? >> >> I understand that my patch is tiny and relatively easy to maintain (it >> will basically always merge well) - but it still irks me having to keep a >> patch where it probably isn't required! >> >> Cheers, >> -Neil. >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > _______________________________________________ > 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