はじめに コンパイラの最適化機能が、どこまで何を見抜くかに興味がある。特に、あるコンパイラができて、他のコンパイラができなかったりすることが見つかると楽しい。そういうのを見つけたのでメモ。 ソース コンパイラに食わせるコードはこんなの。
![GCCの最適化がインテルコンパイラより賢くて驚いた話 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/6ce3291b7af23d85aab566b6cfeb1605a90eeb19/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9R0NDJUUzJTgxJUFFJUU2JTlDJTgwJUU5JTgxJUE5JUU1JThDJTk2JUUzJTgxJThDJUUzJTgyJUE0JUUzJTgzJUIzJUUzJTgzJTg2JUUzJTgzJUFCJUUzJTgyJUIzJUUzJTgzJUIzJUUzJTgzJTkxJUUzJTgyJUE0JUUzJTgzJUE5JUUzJTgyJTg4JUUzJTgyJThBJUU4JUIzJUEyJUUzJTgxJThGJUUzJTgxJUE2JUU5JUE5JTlBJUUzJTgxJTg0JUUzJTgxJTlGJUU4JUE5JUIxJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1iYTQzYjFjMGMyNGZmY2JhOWExMDU4NmJlYjJlNDdhNA%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBrYWl0eW8yNTYmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWQ4ZDhmMDMzNzMxYTgzNjc3OTdlMTZhMTE1YTdmMjM3%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3De1b1a928d78db91e3be5f6604261de98)
はじめに コンパイラの最適化機能が、どこまで何を見抜くかに興味がある。特に、あるコンパイラができて、他のコンパイラができなかったりすることが見つかると楽しい。そういうのを見つけたのでメモ。 ソース コンパイラに食わせるコードはこんなの。
clang-tidy is a clang-based C++ “linter” tool. Its purpose is to provide an extensible framework for diagnosing and fixing typical programming errors, like style violations, interface misuse, or bugs that can be deduced via static analysis. clang-tidy is modular and provides a convenient interface for writing new checks. Using clang-tidy¶ clang-tidy is a LibTooling-based tool, and it’s easier to w
Clang/LLVM(Low Level Virtual Machine)とは、CやObjective-Cなどのコンピュータ言語のコンパイラ環境です。 最近ではiOSやMac OS X、FreeBSDなどのOSでは、デファクトスタンダードであったGCC(GNUコンパイラコレクション)からLLVM/Clangへの置き換えが進みつつあります。 本書では、Clang/LLVMの仕組みと使い方(カスタマイズ法など)、Clang/LLVM独自のライブラリの使い方などについて詳細な解説を行っています。 はじめに CHAPTER 1 LLVMとは 1 LLVMの概要 2 コンパイラの仕組み 3 特徴 4 対応プラットフォーム 5 LLVMプロジェクトの一覧 6 ライセンス CHAPTER 2 セットアップ 1 ビルド環境の準備 2 ソースコードを取得する 3 makeでビルドする 4 CMakeでビルド
最近流行のコンパイラ、Clangを試してみました。 Clangとは# Clangとは、gcc,iccのような、コンパイラの一種です。プログラミング言語C、C++、Objective-C、Objective-C++用。 Clang - Wikipedia Clangの最終目標は、GNU gccの置き換えらしい。 “clang” C Language Family Frontend for LLVM 静的解析能力やリファクタリング機能などももつため、IDEとの結合も目標らしい。 Clang Static Analyzer 以下は、setreduceという、Googleのエンジニアが開発しているリファクタリングツールのデモ動画。 Clangを利用すると、コンパイラ時間がgccに比べて短くなるらしい。今回の目的は、それを確かめるためです。Clangのパフォーマンスがgccよりも良かったら乗り換えて
input extern void puts(const char *str); int main() { puts("hello, world!"); return 0; } console Limitations C preprocessor is not hooked up. If you want to also execute the code, use this LLVM IR runner or one of the many CPU emulators out there in JS. This is a quick hack, build size and perf have not been optimized yet.
コミックマーケット84で「きつねさんとおぼえる!Clang」を頒布します。 場所:東京ビッグサイト サークル名:MotiPizza 日程:3日目 (8月12日) スペース番号:東ペ-04a 頒布物:きつねさんとおぼえる!Clang ページ数: 102ページ 値段: 1部 700円 部数制限: 無し 本書の概要 LLVMのC/C++/Objective-C/Objective-C++フロントエンドであるClangの解説本です。 Clangはその完成度の高さと、GCCに匹敵する程の性能の高さから非常に注目されています。 一方でClangにはコンパイル中に得られた様々な情報を提供する機能があり、Clangそれ自体がLLVMのようなインフラとして使われる側面があります。 本書では純粋なコンパイラとしてのClangではなく、インフラとしてのClangが提供している機能について解説しています。 時間の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く