Hi,all:<br>  I download the 2.0 source and compile the llvm-gcc and llvm source code successfully. now  try to compile the following two files using linking time optimization:<br>a.c:<br>#include <stdio.h><br>extern foo(int *x);
<br>int main()<br>{<br>  int x = 5;<br>  foo(&x);<br>  printf("x = %d\n",x);<br>}<br><br>b.c:<br>void  foo(int *x)<br>{<br>  *x = 8;<br>}<br><br>now after reading  some tutorial and documents, I use the following steps to get the result:
<br>1. llvm-gcc -O3 -emit-llvm a.c -c -o a.bc<br>2.llvm-gcc -O3 -emit-llvm b.c -c -o b.bc<br>3. llvm-link -o final.bc a.bc b.bc<br>4.lli final.bc<br>  x =  8<br><br>I want to know what's the standard process to compile programs at inter-procedural level?  for example, how can I write the config file in SPEC CPU2000 if I want to 
<br>compile them at "-O3 -ipo", is there any way as intel compiler did? or is there any document for this?<br><br>thanks very much.<br><br><br>tianwei <br clear="all"><br>