GCC
6人だったという。なんて贅沢な。 とりあえず、単語だけメモったので、それをもとに。 メンテナが増えた Wikiの内容が大変充実 テスト環境が充実してます メモリ使用量も自動でテストし続けてるらしい。たまーに、メモリ使い過ぎるパッチがあるけど、それの…
http://www.pqrs.org/~tekezo/nikki/2006/08/15.html#y2006m08d15c1p2 なんだか面白そうなので調査。 まず、予想としては、中間形式での最適化時に__builtin_expectがただの関数扱いされて、最適化を控えているのではないかと思われます。 if ( bi == NULL )…
アスペクト指向とロギングってどう違うのかわからないです。 と、いうようなよくある話はいいとして、mudflapの話の続きとしては、「これってアスペクト指向っぽくね」っていう話にする予定だったんだけど、なんか、いまいちやる気閾値を超えなかったので放…
続き。 なんか適当に。 mudflap1で実際に処理やってるのが、 https://www.codeblog.org/gonzui/markup/gcc-4.1.0/gcc/tree-mudflap.c#l978 このループ。 declはリストになってて(ていうか、構文木の型であるtreeはchainメンバを持ってるので、全部リストに…
続いてるよ。 さて、では、__mf_registerを調べるために、libmudflap/mf-runtime.cを開いて…と、いうような展開でもいいんだけど、まあ、なんか普通に終わりそうな気がしたので、趣向を変えて、gcc/tree-mudflap.cを見てみる。 https://www.codeblog.org/blo…
リハビリがてらなんか書こー。こういうときに一番いいのは、調べながら書くことだ。と、いうわけで、調べながら書こう。 Mudflapを理解したりしつつ、どういうときにパフォーマンスが落ちたりするのかを考察…できるかもしれない。 まず、Mudflapの使いかた。…
そういえば、 http://svn.gna.org/viewcvs/gsc/branches/hello-world/ hello worldを出力するだけのGCC 4.0用フロントエンド、というのが。 ほとんど読んでないけど。
なんか書くネタが無いので、前から書こうと思ってて、ずっときっかけが無くて放置してたGCCバッドノウハウ。 gcc-4.0から、-combineとゆーオプションが増えた。 infoによると、 `-combine' If you are compiling multiple source files, this option tells t…
あぶない、あぶない、あやうくスルーしてしまうところであった。いや、別にわざわざ触れなくてもいいような気もするんだけど。 「過去の経験から言って、多分ダメっぽいから次のバージョンまで待つよね」 みたいな通ぶった発言をしてる奴は人生の余裕が足り…
GCC 使うなら C にコンパイルすればいいじゃんとか、言われると、まったくもってそれが正しいのでヘコむ。 ただ、このへんは、全く考えてない、というわけでもないので、一応そういう話。 //gcc.gnu.org/onlinedocs/gccint/Languages.html">Cコードを生成す…
昨日今日のコメントの話題関連のgccバッドノウハウを3個ほど。 gcc 2.95 では、ソースファイルからヘッダファイルが作れた // ifout.c int func() { return 100; }/usr/local/gcc-2.95/bin/gcc -aux-info ifout.X --verbose ifout.cこんなふうに-aux-infoオ…
GCCの内部もなーんとなくわかってきたところで、GCCでMMX使うのもなんとなくわかってきた。 /* * typedef ... hoge __attribute__ ((mode(V4SI)))でGCC拡張型でtypedefできる。 * 下ではintってなってるけど、intは多分無視される。floatでもlongでも関係無…
あー。なんとなくわかってきた。多分、内部では まず、フロントエンドから来たコードを最も単純なRTLに変換する。 んで、それを適当に変換しまくる。変換しまくったRTLのうち、ターゲットとなっているCPUで使えるRTLを選んどいて、それのコストを計算。 で、…