[LLVMdev] Is there a guide to LLVM's components?
David Piepgrass
dpiepgrass at mentoreng.com
Wed Jul 21 15:16:09 PDT 2010
I constructed an LLVM 2.7 VS solution with cmake, but it has 66 projects:
ALL_BUILD, ".\ALL_BUILD.vcproj"
BrainF, "examples\BrainF\BrainF.vcproj"
Fibonacci, "examples\Fibonacci\Fibonacci.vcproj"
FileCheck, "utils\FileCheck\FileCheck.vcproj"
HowToUseJIT, "examples\HowToUseJIT\HowToUseJIT.vcproj"
INSTALL, ".\INSTALL.vcproj"
Kaleidoscope-Ch2, "examples\Kaleidoscope\Chapter2\Kaleidoscope-Ch2.vcproj"
Kaleidoscope-Ch3, "examples\Kaleidoscope\Chapter3\Kaleidoscope-Ch3.vcproj"
Kaleidoscope-Ch4, "examples\Kaleidoscope\Chapter4\Kaleidoscope-Ch4.vcproj"
Kaleidoscope-Ch5, "examples\Kaleidoscope\Chapter5\Kaleidoscope-Ch5.vcproj"
Kaleidoscope-Ch6, "examples\Kaleidoscope\Chapter6\Kaleidoscope-Ch6.vcproj"
Kaleidoscope-Ch7, "examples\Kaleidoscope\Chapter7\Kaleidoscope-Ch7.vcproj"
LLVMAnalysis, "lib\Analysis\LLVMAnalysis.vcproj"
LLVMArchive, "lib\Archive\LLVMArchive.vcproj"
LLVMAsmParser, "lib\AsmParser\LLVMAsmParser.vcproj"
LLVMAsmPrinter, "lib\CodeGen\AsmPrinter\LLVMAsmPrinter.vcproj"
LLVMBitReader, "lib\Bitcode\Reader\LLVMBitReader.vcproj"
LLVMBitWriter, "lib\Bitcode\Writer\LLVMBitWriter.vcproj"
LLVMCodeGen, "lib\CodeGen\LLVMCodeGen.vcproj"
LLVMCore, "lib\VMCore\LLVMCore.vcproj"
LLVMExecutionEngine, "lib\ExecutionEngine\LLVMExecutionEngine.vcproj"
LLVMInstCombine, "lib\Transforms\InstCombine\LLVMInstCombine.vcproj"
LLVMInstrumentation, "lib\Transforms\Instrumentation\LLVMInstrumentation.vcproj"
LLVMInterpreter, "lib\ExecutionEngine\Interpreter\LLVMInterpreter.vcproj"
LLVMJIT, "lib\ExecutionEngine\JIT\LLVMJIT.vcproj"
LLVMLinker, "lib\Linker\LLVMLinker.vcproj"
LLVMMC, "lib\MC\LLVMMC.vcproj"
LLVMMCParser, "lib\MC\MCParser\LLVMMCParser.vcproj"
LLVMScalarOpts, "lib\Transforms\Scalar\LLVMScalarOpts.vcproj"
LLVMSelectionDAG, "lib\CodeGen\SelectionDAG\LLVMSelectionDAG.vcproj"
LLVMSupport, "lib\Support\LLVMSupport.vcproj"
LLVMSystem, "lib\System\LLVMSystem.vcproj"
LLVMTarget, "lib\Target\LLVMTarget.vcproj"
LLVMTransformUtils, "lib\Transforms\Utils\LLVMTransformUtils.vcproj"
LLVMX86AsmParser, "lib\Target\X86\AsmParser\LLVMX86AsmParser.vcproj"
LLVMX86AsmPrinter, "lib\Target\X86\AsmPrinter\LLVMX86AsmPrinter.vcproj"
LLVMX86CodeGen, "lib\Target\X86\LLVMX86CodeGen.vcproj"
LLVMX86Disassembler, "lib\Target\X86\Disassembler\LLVMX86Disassembler.vcproj"
LLVMX86Info, "lib\Target\X86\TargetInfo\LLVMX86Info.vcproj"
LLVMipa, "lib\Analysis\IPA\LLVMipa.vcproj"
LLVMipo, "lib\Transforms\IPO\LLVMipo.vcproj"
ModuleMaker, "examples\ModuleMaker\ModuleMaker.vcproj"
X86CodeGenTable_gen, "lib\Target\X86\X86CodeGenTable_gen.vcproj"
ZERO_CHECK, ".\ZERO_CHECK.vcproj"
bugpoint, "tools\bugpoint\bugpoint.vcproj"
check, "test\check.vcproj"
count, "utils\count\count.vcproj"
intrinsics_gen, "include\llvm\intrinsics_gen.vcproj"
llc, "tools\llc\llc.vcproj"
lli, "tools\lli\lli.vcproj"
llvm-ar, "tools\llvm-ar\llvm-ar.vcproj"
llvm-as, "tools\llvm-as\llvm-as.vcproj"
llvm-bcanalyzer, "tools\llvm-bcanalyzer\llvm-bcanalyzer.vcproj"
llvm-dis, "tools\llvm-dis\llvm-dis.vcproj"
llvm-extract, "tools\llvm-extract\llvm-extract.vcproj"
llvm-ld, "tools\llvm-ld\llvm-ld.vcproj"
llvm-link, "tools\llvm-link\llvm-link.vcproj"
llvm-mc, "tools\llvm-mc\llvm-mc.vcproj"
llvm-nm, "tools\llvm-nm\llvm-nm.vcproj"
llvm-prof, "tools\llvm-prof\llvm-prof.vcproj"
llvm-ranlib, "tools\llvm-ranlib\llvm-ranlib.vcproj"
llvm-stub, "tools\llvm-stub\llvm-stub.vcproj"
llvm_headers_do_not_build, "include\llvm\llvm_headers_do_not_build.vcproj"
not, "utils\not\not.vcproj"
opt, "tools\opt\opt.vcproj"
tblgen, "utils\TableGen\tblgen.vcproj"
Is there a guide that explains the purpose of each? Obviously the ones in an "example" folder are examples, but what about everything else? Is there a guide to the LLVM components or source code?
If there are no such guides, could someone tell me which parts of LLVM are needed for "minimal" JIT compilation? I would like to create small amounts of IR at run-time, compile them in-memory, and run them. Basically I would like to do as described at http://www.codeproject.com/KB/cpp/runtime_compile.aspx, except that (in order to minimize the code size), I would like to omit most/all optimizations.
Thanks,
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100721/3e85208a/attachment.html>
More information about the llvm-dev
mailing list