Python 学習:LLVMPY

2014-12-28 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
6、1、0、1、1、 0、0、0、0、0(41)で、換算ポイント 74pt 。
「Firefox」一昨日朝方5位にダウン。相変わらず、これと
「C言語」「グルコサミン」が毎日のようにbg値が変動。
・-・ - -・

さて、本文。


先日(2014-12-15)の記事:
C コンパイラ? LLVM / Clang
で、
The LLVM Compiler Infrastructure
について書き、

そして、先週(2014-12-25)の記事:
Python 学習:Numba
で、
  ・・・・・
  “LLVM compiler library”のラッパーでした。
  これもダウンロード:
  「llvmpy-0.12.7.win32-py2.7.exe」 3.85MB
  そして、インストール(ダブルクリック)。
  ・・・・・
と書いている。


ここで、改めて「LLVMPY」について学習。

本家サイトは、
LLVMPY
ですか。

  llvmpy is a Python wrapper around the llvm C++ library
  which allows simple access to compiler tools.
  It can be used for a lot of things, but here are some ideas:
   ・・・・・
   ・・・・・
   ・・・・・

つまり???
  llvmpy は、Python コンパイラ ツールに簡単にアクセスできる
  llvm C ライブラリのラッパーです。
  多くのことが可能しますが、以下のアイデアが:
   ・・・・・
   ・・・・・
   ・・・・・
???

でも、本家ドキュメント
llvmpy 0.12.7-4 documentation
は些か退屈(?)


llvmpy/llvmpy - GitHub
にある、
  /llvmpy/test/example.py

コメントを全て省くと、・・・

from llvm import *
from llvm.core import *

import logging
import unittest

class TestExample(unittest.TestCase):
def test_example(self):
my_module = Module.new('my_module')

ty_int = Type.int()
ty_func = Type.function(ty_int, [ty_int, ty_int])

f_sum = my_module.add_function(ty_func, "sum")
self.assertEqual(str(f_sum).strip(), 'declare i32 @sum(i32, i32)')

f_sum.args[0].name = "a"
f_sum.args[1].name = "b"

bb = f_sum.append_basic_block("entry")
builder = Builder.new(bb)
tmp = builder.add(f_sum.args[0], f_sum.args[1], "tmp")

self.assertEqual(str(tmp).strip(), '%tmp = add i32 %a, %b')

builder.ret(tmp)
logging.debug(my_module)

if __name__ == '__main__':
unittest.main()



これを実行すると、・・・

何か表示されて、「OK」と出た。

だが、このソース・コードを眺めて見たが、・・・
<紙>には難しそう(汗;


気を取り直して、
上記、本家ドキュメント
llvmpy 0.12.7-4 documentation
を見た。

  ・・・・・
  ・Examples and LLVM Tutorials
    ・Examples
  ・・・・・

このリンク先の最終段にある、

  Adding JIT Compilation

  Let’s compile this function in-memory and run it.

  ・・・・・
  ・・・・・

この例なら、何とかなりそう???


でも、可成り骨が折れそう???

それで、「Numba」が現れた???


本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


141204,06
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
08 | 2017/09 | 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク