そういやGCCでは、4.1ぐらいから-fwhole-programオプションを付けると、複数のソースファイルを1つと見なす事が出来るためIPOが実行できる。なんかインチキくさいぞ。ちなみにこの辺の最適化はcgraphunit.cに書かれている
当然こんなのは無理
gcc -c -fwhole-program a.c
gcc -c -fwhole-program b.c
gcc a.o b.o -o out
こうしないといけない
gcc -fwhole-program a.c b.c -o out