LLVM の SPARC v9 バックエンドの開発が活発です.


一時期メンテナが居なくて存亡の危機に面した SPARC バックエンド(http://llvm.1065342.n5.nabble.com/is-anyone-using-the-sparc-backend-td23161.html) ですが, Venkatraman Govindaraju さんという WISC 大の方が引き継ぎ(?) 2013 年に大きく更新が始まりました.

2014 年 1 月 20 日くらいの LLVM ToT(top of trunk) でのmake check の結果は以下の通り. fp compare 周りでちょっとした問題(http://comments.gmane.org/gmane.comp.compilers.llvm.bugs/25706) がありますが, それ以外では JIT を使わなければ実務的に動かせそうですね!

clang もビルドできるので, g++ に加えて C++11 コンパイラの選択肢が広がります.

SPARC バックエンドでも MC 対応が始まっていますので今後にさらに期待です. コミッターやバグレポートも期待したいですね.

Failing Tests (37):
    LLVM :: CodeGen/SPARC/64cond.ll
    LLVM :: DebugInfo/debug-info-qualifiers.ll
    LLVM :: DebugInfo/debuglineinfo.test
    LLVM :: DebugInfo/enum.ll
    LLVM :: DebugInfo/inlined-arguments.ll
    LLVM :: DebugInfo/member-order.ll
    LLVM :: DebugInfo/namespace.ll
    LLVM :: DebugInfo/template-recursive-void.ll
    LLVM :: DebugInfo/tu-composite.ll
    LLVM :: DebugInfo/two-cus-from-same-file.ll
    LLVM :: ExecutionEngine/2002-12-16-ArgTest.ll
    LLVM :: ExecutionEngine/2003-01-04-ArgumentBug.ll
    LLVM :: ExecutionEngine/2003-01-04-LoopTest.ll
    LLVM :: ExecutionEngine/2003-01-15-AlignmentTest.ll
    LLVM :: ExecutionEngine/2003-05-06-LivenessClobber.ll
    LLVM :: ExecutionEngine/2003-05-07-ArgumentTest.ll
    LLVM :: ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
    LLVM :: ExecutionEngine/2005-12-02-TailCallBug.ll
    LLVM :: ExecutionEngine/hello.ll
    LLVM :: ExecutionEngine/hello2.ll
    LLVM :: ExecutionEngine/mov64zext32.ll
    LLVM :: ExecutionEngine/simpletest.ll
    LLVM :: ExecutionEngine/stubs.ll
    LLVM :: ExecutionEngine/test-call-no-external-funcs.ll
    LLVM :: ExecutionEngine/test-call.ll
    LLVM :: ExecutionEngine/test-common-symbols.ll
    LLVM :: ExecutionEngine/test-fp-no-external-funcs.ll
    LLVM :: ExecutionEngine/test-fp.ll
    LLVM :: ExecutionEngine/test-global-init-nonzero.ll
    LLVM :: ExecutionEngine/test-global.ll
    LLVM :: ExecutionEngine/test-loadstore.ll
    LLVM :: Linker/type-unique-simple-a.ll
    LLVM :: Linker/type-unique-simple2-a.ll
    LLVM :: Linker/type-unique-simple2.ll
    LLVM :: MC/Disassembler/Sparc/sparc-fp.txt
    LLVM :: MC/Sparc/sparc-fp-instructions.s
    LLVM :: tools/llvm-cov/llvm-cov.test

  Expected Passes    : 3759
  Expected Failures  : 10
  Unsupported Tests  : 5754
  Unexpected Failures: 37