GCC

SEA & FSIJ 合同フォーラム 2006年12月

GCC

6人だったという。なんて贅沢な。 とりあえず、単語だけメモったので、それをもとに。 メンテナが増えた Wikiの内容が大変充実 テスト環境が充実してます メモリ使用量も自動でテストし続けてるらしい。たまーに、メモリ使い過ぎるパッチがあるけど、それの…

builtin_expect

gcc

http://www.pqrs.org/~tekezo/nikki/2006/08/15.html#y2006m08d15c1p2 なんだか面白そうなので調査。 まず、予想としては、中間形式での最適化時に__builtin_expectがただの関数扱いされて、最適化を控えているのではないかと思われます。 if ( bi == NULL )…

C言語でアスペクト

gcc

アスペクト指向とロギングってどう違うのかわからないです。 と、いうようなよくある話はいいとして、mudflapの話の続きとしては、「これってアスペクト指向っぽくね」っていう話にする予定だったんだけど、なんか、いまいちやる気閾値を超えなかったので放…

Muf-

GCC

続き。 なんか適当に。 mudflap1で実際に処理やってるのが、 https://www.codeblog.org/gonzui/markup/gcc-4.1.0/gcc/tree-mudflap.c#l978 このループ。 declはリストになってて(ていうか、構文木の型であるtreeはchainメンバを持ってるので、全部リストに…

Mudflap

gcc

続いてるよ。 さて、では、__mf_registerを調べるために、libmudflap/mf-runtime.cを開いて…と、いうような展開でもいいんだけど、まあ、なんか普通に終わりそうな気がしたので、趣向を変えて、gcc/tree-mudflap.cを見てみる。 https://www.codeblog.org/blo…

Mudflapを追え!!

GCC

リハビリがてらなんか書こー。こういうときに一番いいのは、調べながら書くことだ。と、いうわけで、調べながら書こう。 Mudflapを理解したりしつつ、どういうときにパフォーマンスが落ちたりするのかを考察…できるかもしれない。 まず、Mudflapの使いかた。…

hello world front end

GCC

そういえば、 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…

4.0.0

gcc

あぶない、あぶない、あやうくスルーしてしまうところであった。いや、別にわざわざ触れなくてもいいような気もするんだけど。 「過去の経験から言って、多分ダメっぽいから次のバージョンまで待つよね」 みたいな通ぶった発言をしてる奴は人生の余裕が足り…

それを言われると困る。

GCC

GCC 使うなら C にコンパイルすればいいじゃんとか、言われると、まったくもってそれが正しいのでヘコむ。 ただ、このへんは、全く考えてない、というわけでもないので、一応そういう話。 //gcc.gnu.org/onlinedocs/gccint/Languages.html">Cコードを生成す…

超バッドノウハウ

gcc

昨日今日のコメントの話題関連の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オ…

MMXなんて実際に使ったことなんてないんだけど

gcc

GCCの内部もなーんとなくわかってきたところで、GCCでMMX使うのもなんとなくわかってきた。 /* * typedef ... hoge __attribute__ ((mode(V4SI)))でGCC拡張型でtypedefできる。 * 下ではintってなってるけど、intは多分無視される。floatでもlongでも関係無…

バックエンド

GCC

あー。なんとなくわかってきた。多分、内部では まず、フロントエンドから来たコードを最も単純なRTLに変換する。 んで、それを適当に変換しまくる。変換しまくったRTLのうち、ターゲットとなっているCPUで使えるRTLを選んどいて、それのコストを計算。 で、…