[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 18:27 / Filesize : 201 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

GCCについて part7



1 名前:デフォルトの名無しさん [2006/04/18(火) 19:57:04 ]
史上最強かもしれないツール、GCC(GNU Compiler Collection)について語るスレ。

GNU本家のGCCページ
gcc.gnu.org/

Binutils - Collection of binary utilities ←これも必要だぞ。
www.gnu.org/directory/GNU/binutils.html

GNU Binutils
sources.redhat.com/binutils/

GCC online documentation
gcc.gnu.org/onlinedocs/

Installing GCC
gcc.gnu.org/install/

GCC Timeline
gcc.gnu.org/releases.html#timeline

Calendar
gcc.gnu.org/develop.html#timeline


975 名前:868 mailto:sage [2007/10/10(水) 11:29:11 ]
逆に考えて -O2 に -O3 で追加されるような -fhogehoge 追加してけば?

976 名前:私立ミンミンゼミ [2007/10/10(水) 12:24:09 ]
 

977 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 15:01:37 ]
念のため聞くけど、>>972とか>>975はギャグだよね……??

978 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 15:18:43 ]
>>975の何がおかしいのかわからない。

979 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 15:22:26 ]
きっと、-fhogehogeって名前のフラグがあると思ってるんだと推測。

980 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 15:29:25 ]
>>978-979
>>971に既にその方法でやってるが、manでは正確ではないようだ
という話が出てるのに>>975を敢えて書くってのは自爆ギャグとか
かと考えないと、辻褄が合いそうにない。
ま、ギャグだとしても全然面白くないけど。

てか、おまえらも注意力散漫なんだな。

981 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 15:35:05 ]
GNU製品のmanなんて宛てにしないでソースで正確なの調べろよ。

982 名前:デフォルトの名無しさん [2007/10/10(水) 18:33:46 ]
GNU製品のmanなんて信用せずに素直にinfo見ろよな

983 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 18:58:49 ]
GNU製かどうかは関係ない。
ソースから生成してるのでもないかぎり文書は不正確なもの。



984 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 19:45:03 ]
いや、info見ろよ。

985 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 20:57:03 ]
infoもこう書いてあるけど
`-O3'
Optimize yet more. `-O3' turns on all optimizations specified by
`-O2' and also turns on the `-finline-functions',
`-funswitch-loops' and `-fgcse-after-reload' options.

986 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 21:53:56 ]
>>983
でもさ、それって実装であって設計じゃないよね
ソフトウェア工学的にはうんこだよな

987 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:31:46 ]
>>986
いまだにMDAとか言ってる位に仕様書からの実装合成はhype気味なんだから
一介のフリーソフトがそこまでできてなくてもしょうがないだろう。だって人間だもの(みつを

988 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 08:03:19 ]
>>975
-O2使ったとたんに他の指定は上書きされるのが現実です。

個別に設定しても必ずその通りになるものではないし。
最適化技法間の制約があるので。

暗黙に無効、有効にする時に、Warningも出しません。
ソース読むしかないんです。

989 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 09:27:31 ]
どの最適化をするかくらいならすぐ読めるよね

990 名前:963 mailto:sage [2007/10/12(金) 00:58:21 ]
ソースを読みました。opts.c の decode_options() に最適化オプション読み込みの
基本部分がありました。大雑把には次のような構造でした。

 for (i = 1; i < argc; i++)
  { /* すべての-Oxオプションを通し読み */ }
 if (optimize >= 1)
  { flag_hoge = 1; ... } /* -O1以上でのフラグ設定を適用 */
 if (optimize >= 2)
  { flag_geho = 1; ... } /* -O2以上でのフラグ設定を適用 */
 ...
 handle_options(argc, argv, ...); /* 各オプションを処理 */

optimize >= 3 では、flag_inline_functions と flag_unswitch_loops と
flag_gcse_after_reload を 1 にしていました。
その箇所だけ読むとmanやinfoの記述は正しいことになるんですが、はて。
結局追いきれませんでした。

それから、>>988の通り、フラグ変数を書き換えてもその情報をどこにも伝えません。
ちょっと不便なような。。。

で、別解なんですが、「-O3 --param max-completely-peeled-insns=0」
と指定してpeelingを止めてしまえば目的を果たせることがわかりました。
この指定で行こうと思います。


991 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 01:22:28 ]
いや、該当するフラグ変数を全ソースで検索しないと。
コンパイル中にフラグの値変ることもあるし。

992 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 02:23:32 ]
>>991
ヒントありがとうございます。flag_unroll_loops と flag_peel_loops に
当たりをつけて探してみました。これだろうな、ってのが出てきました。

tree-ssa-loop.c:
static void
tree_complete_unroll (void)
{
 if (!current_loops)
  return;

 tree_unroll_loops_completely (current_loops,
                flag_unroll_loops
                || flag_peel_loops
                || optimize >= 3);
}

"optimize" でも軽く眺めてみましたが、フラグではなく最適化レベルの数値を
最適化の適用条件にしている箇所はそれなりに珍しいようです。


993 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 08:47:02 ]
> optimize >= 3

ワラ
イヤだねー



994 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 09:03:27 ]
将来を見据えた設計なのでは?

995 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 12:37:26 ]
>>994
断言できる。何も考えてないだけ。

996 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 22:06:08 ]
>>987
いや、ストールマンって趣味ならとても楽しくやりそうだけど
絶対に一緒に仕事やりたくない人種だよな

997 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 22:10:13 ]
次スレ建てられなかった
誰か頼む

998 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 00:08:45 ]
GCCについて part8
pc11.2ch.net/test/read.cgi/tech/1192201659/

999 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 00:36:21 ]
>>998

次スレでもみんなよろしく

1000 名前:デフォルトの名無しさん [2007/10/13(土) 00:37:18 ]
1000

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<201KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef