- すべて
- 画像・動画
並べ替え:新着順
Cコンパイラ自作ゼミと領域としては近いのですが、サニタイザゼミはコンパイラが完成したあとのプラスαの世界に注力するので、また違った創意工夫の余地があると思います。 LLVMを使ってなるべく低レイヤ慣れしていなくても参加しやすくするつもりなので、コンパイラ自作経験も問いません。 5/6
アセンブラもゼロから作ったし、コンパイラバックエンドも出向前の仕事の形で途中までこれも完全に1人で作った。制御フローとデータフローグラフ生成器とかオンチップメモリのアドレス生成用LLVM IRコード生成とか。
gcc(gnu), clang(llvm)コンパイルエラー・警告比較(4) R_07_04.c。docker(158), error(46) qiita.com/kaizen_nagoya/… #Qiita @naokiakutagawaより
gcc(gnu), clang(llvm)コンパイルエラー・警告比較(10) R_14_0x.c。docker(164)。error(45) qiita.com/kaizen_nagoya/… #Qiita @naokiakutagawaより
Go のコンパイルまわりに知見がある方に質問なんですが、現在の Go はコンパイラフロントエンド的なものが Go で書かれていて、バックエンドには LLVM 的なものが使われているという理解であってますか?
jason-williams.co.uk/posts/a-possib… Rustコンパイラのバックエンドをllvmからcraneliftに換える試み。rustcがバイトコードを出力するまでの仕組みが解説されて面白い 昨日のイベントでも触れられてたけど、llvmがc/c++を念頭に設計されているせいでRustコンパイラ側で解決できない問題を抱えているとか
68000やPowerPCのアーキテクチャは面白い。 LLVMやユニバーサルデザインはなるほどと思う。 それらがISOやIEEEに召し上げられるのは、あまり見ない。 SafariがWHATWGに貢献したか? M4チップでArmv9アーキテクチャになるけど、 まんまとArmにタイミングと貯金を渡したってことに。
rhel 8.9 でIntel Arc A770が使えないか試してみたのだが、残念ながらグラフィックが llvmpipe (LLVM 16.0.6, 256bits)になってしまった。CPUパワーによる力技で描画するモードらしい。 uname -r 4.18.0-513.24.1.el8_9.x86_64 Kernel 4.18.0は結構古いな(^^;
JuliaではBool型 = 1ビット整数であり、LLVM-IRレベルでは A != B に帰着。行儀が悪いけどALTにコードを入れました。JVMとかClangではお手軽検証方法あるのかな pic.twitter.com/aHGEMAWa1A
もしや、rustcのバージョン違いの影響が?🤔 バージョン変えて最新ビルドを通してみるか ※1 issueで「rustcのバージョンアップは?」に対して 「LLVMプロジェクトの方の問題が解決しない限り無理」との回答 ※2 arch公式repoのビルドでは無問題だった
ubuntuカーネルバージョン 「6.8.0-31-generic」 の状態で apt install rustc rust-src rustfmt bindgen llvm clang build-essential linux-lib-rust-$(uname -r) でインストール
gcc/g++(GNU) v.s. Clang/Clang++(LLVM) コンパイラ警告等比較、Error(13) qiita.com/kaizen_nagoya/… #QiitaEngineerFesta #Qiitaアドカレ #Qiita @naokiakutagawaより
Juliaでも度重なるMLE攻撃を行った末に、ついにAC! 260520KB < 256MBらしい LLVM-IRはSSAなので変数をleaky使うのを極力避けただけでは無理で、forをwhileにしただけでも無理で、GC.gc()を1回入れたら通った。本番中はムリ atcoder.jp/contests/abc35…
Rustで書いたコードを10日ぶりに見直して、ABC 350-GをAC!(atcoder.jp/contests/abc35…) toamさんの解説(atcoder.jp/contests/abc35…)と基本的には一緒だが UF木のrerootingをするのに小さい方の木の根までのパスのみ反転させれば十分 でもパスとDFSで差がないケースが作れるので、結局DFSより上位でもない
LLMで生成したものを最終的に機械語に落とすタスクがあったとして、LLVMみたいな低レベルのものを生成するよりlispみたいなルールが少ない高級言語にしておいた方が良かったりするのかな 意外とpythonみたいなふわふわした言語のほうが良かったりしたりして
Gleamをネイティブで動かしてぇなぁって時々つぶやいてるけど、Gleam開発チームの人たちも同じようなことを考えてるっぽいので楽しみ ただ自分はLLVMフロントエンドを想定してるけど、開発チームの人たちはWASMに変換したいって考えてる人のほうが多そう
LLVMのTableGenで命令のエンコーディングが衝突したとき、Disassemblerの実装とか自前で書かないといけないのかな?TableGenの自動生成で対処できる、あるいはフックを書く方法があるならそっち使いたいけど
ちょっと考えればそりゃそうで、Niagara は CPU Sim でもインラインで HLSL が書けるので、HLSL をもとにした処理が何らかの形で CPU で実行されてなければおかしい。技術的には LLVM - SPIR-V Translator のような実装もありえるだろうが、VM のがポータブルだし確実だよな