2013-06-27 53 views
3

我要編譯的基本程序hello.c使用LLVM /鏘以產生中間和裝配機x86架構。 我用下面的命令:如何編譯使用LLVM針對不同的目標體系的計劃?

clang -O3 -emit-llvm hello.c -c -o hello.bc 
llc hello.bc -o hello.s 

它完美。如何生成其他架構的代碼說SPARC 32位?是否有鐺用於指定架構的任何標誌?

回答

6

您可以運行llc --version以獲取支持的目標列表。在我的機器上:

$ llc --version 
LLVM (http://llvm.org/): 
    LLVM version 3.2svn 
    Optimized build with assertions. 
    Built Aug 30 2012 (23:29:11). 
    Default target: mipsel-sde-elf 
    Host CPU: corei7-avx 

    Registered Targets: 
    arm  - ARM 
    cellspu - STI CBEA Cell SPU [experimental] 
    cpp  - C++ backend 
    hexagon - Hexagon 
    mblaze - MBlaze 
    mips  - Mips 
    mips64 - Mips64 [experimental] 
    mips64el - Mips64el [experimental] 
    mipsel - Mipsel 
    msp430 - MSP430 [experimental] 
    nvptx - NVIDIA PTX 32-bit 
    nvptx64 - NVIDIA PTX 64-bit 
    ppc32 - PowerPC 32 
    ppc64 - PowerPC 64 
    sparc - Sparc 
    sparcv9 - Sparc V9 
    thumb - Thumb 
    x86  - 32-bit X86: Pentium-Pro and above 
    x86-64 - 64-bit X86: EM64T and AMD64 
    xcore - XCore 

對於您的情況,您可能需要llc -march=sparc

相關問題