you can also use whirl2c, whirl2f... to convert the .I files back to
.c/c++/f files for easier reading and debugging.
Sun
On Tue, Jul 6, 2010 at 4:51 PM, Tianwei <tianwei.sh...@gmail.com> wrote:
>
>
> On Tue, Jul 6, 2010 at 4:17 PM, Li Shengmei <lis...@gmail.com> wrote:
>
>> Hi,all
>> I want to know how the .I files which are generated during IPA. The
>> debug document of IPA is "TBD" in the doc of Open64.
>> Does anyone know the generation of .I files or give some
>> suggestions
>> about studying it?
>> What is the principle of generating .I files? How can I control the
>> generation?
>>
>> Basically, you can use "-show -keep" to see the process, and finally you
> will find a temporal directory, such as:
> a.out.ipakeep directory where it will store all the .I fines, also the
> symbol table information.
>
> For the .I files, in IPO transformation phase, it will be divided into two
> phases:
> 1. apply the transformation phase, generated the transformed IR, i.e .I
> files, also perform the alias analysis
> 2. after the transformation phase, it will annotate the alias analysis
> result into the IR, the original .I files will be renamed into I.save
> and annotated IR will be the final .I files.
>
> for the debugging,
> you can debug the ipa_link directly, for example:
> (gdb) file ipa_link
> Load new symbol table from
> "/home/tianwei/sdracer-vm/install/lib/gcc-lib/x86_64-open64-linux/4.2.3/ipa_link"?
> (y or n) y
> Reading symbols from
> /home/tianwei/sdracer-vm/install/lib/gcc-lib/x86_64-open64-linux/4.2.3/ipa_link...done.
> (gdb) b Perform_Interprocedural_Analysis
> Note: breakpoint 2 also set at pc 0x4c523f.
> Breakpoint 3 at 0x4c523f: file ../../ipa/main/analyze/ipa_main.cxx, line
> 267.
> (gdb) r
>
> -INTERNAL:old_ld_lib_path="/home/tianwei/sdracer-vm/install//lib/gcc-lib/x86_64-open64-linux/4.2.3/;/home/tianwei/sdracer-vm/install//lib/gcc-lib/x\
> 86_64-open64-linux/4.2.3/;;/home/tianwei/sdracer-vm/install/bin/../i686-pc-linux-gnu/x86_32-linux/lib"
> -L/home/tianwei/sdracer-vm/install/lib/gcc-lib/x86_64\
> -open64-linux/4.2.3/32
> -Wl,-rpath,/home/tianwei/sdracer-vm/install/lib/gcc-lib/x86_64-open64-linux/4.2.3/32
> -Wl,-rpath-link,/home/tianwei/sdracer-vm/install\
> /lib/gcc-lib/x86_64-open64-linux/4.2.3/32 -INTERNAL:lang=C -keep
> -IPA:new_dsa=1 -IPA:dsa_fs=1 -IPA:svi=1 -m32 -m elf_i386
> -L/home/tianwei/sdracer-vm/install\
> /open64-gcc-4.2.0/bin/../lib/gcc/x86_64-redhat-linux/4.2.0/
> -Wl,-rpath,/home/tianwei/sdracer-vm/install/open64-gcc-4.2.0/bin/../lib/gcc/x86_64-redhat-linux/\
> 4.2.0/
> -Wl,-rpath-link,/home/tianwei/sdracer-vm/install/open64-gcc-4.2.0/bin/../lib/gcc/x86_64-redhat-linux/4.2.0/
> -L/usr/lib/../lib/ -Wl,-rpath-link,/usr/l\
> ib/../lib/
> -L/home/tianwei/sdracer-vm/install///lib/gcc-lib/x86_64-open64-linux/4.2.3/32
> -Wl,-rpath,/home/tianwei/sdracer-vm/install///lib/gcc-lib/x86_64-op\
> en64-linux/4.2.3/32
> -Wl,-rpath-link,/home/tianwei/sdracer-vm/install///lib/gcc-lib/x86_64-open64-linux/4.2.3/32
> /usr/lib/../lib/crt1.o /usr/lib/../lib/crti.\
> o
> /home/tianwei/sdracer-vm/install/open64-gcc-4.2.0/bin/../lib/gcc/x86_64-redhat-linux/4.2.0/crtbegin.o
> -o test test.o -lpthread -lrace -lopen64rt -lgcc -lc\
> -lgcc
> /home/tianwei/sdracer-vm/install/open64-gcc-4.2.0/bin/../lib/gcc/x86_64-redhat-linux/4.2.0/crtend.o
> /usr/lib/../lib/crtn.o
> Starting program:
> /home/tianwei/sdracer-vm/install/lib/gcc-lib/x86_64-open64-linux/4.2.3/ipa_link
> -INTERNAL:old_ld_lib_path="/home/tianwei/sdracer-vm/instal\
>
> l//lib/gcc-lib/x86_64-open64-linux/4.2.3/;/home/tianwei/sdracer-vm/install//lib/gcc-lib/x86_64-open64-linux/4.2.3/;;/home/tianwei/sdracer-vm/install/bin/../\
> i686-pc-linux-gnu/x86_32-linux/lib"
> -L/home/tianwei/sdracer-vm/install/lib/gcc-lib/x86_64-open64-linux/4.2.3/32
> -Wl,-rpath,/home/tianwei/sdracer-vm/install/\
> lib/gcc-lib/x86_64-open64-linux/4.2.3/32
> -Wl,-rpath-link,/home/tianwei/sdracer-vm/install/lib/gcc-lib/x86_64-open64-linux/4.2.3/32
> -INTERNAL:lang=C -keep -I\
> PA:new_dsa=1 -IPA:dsa_fs=1 -IPA:svi=1 -m32 -m elf_i386
> -L/home/tianwei/sdracer-vm/install/open64-gcc-4.2.0/bin/../lib/gcc/x86_64-redhat-linux/4.2.0/
> -Wl,-rp\
> ath,/home/tianwei/sdracer-vm/install/open64-gcc-4.2.0/bin/../lib/gcc/x86_64-redhat-linux/4.2.0/
> -Wl,-rpath-link,/home/tianwei/sdracer-vm/install/open64-gcc-\
> 4.2.0/bin/../lib/gcc/x86_64-redhat-linux/4.2.0/ -L/usr/lib/../lib/
> -Wl,-rpath-link,/usr/lib/../lib/
> -L/home/tianwei/sdracer-vm/install///lib/gcc-lib/x86_64-\
> open64-linux/4.2.3/32
> -Wl,-rpath,/home/tianwei/sdracer-vm/install///lib/gcc-lib/x86_64-open64-linux/4.2.3/32
> -Wl,-rpath-link,/home/tianwei/sdracer-vm/instal\
> l///lib/gcc-lib/x86_64-open64-linux/4.2.3/32 /usr/lib/../lib/crt1.o
> /usr/lib/../lib/crti.o
> /home/tianwei/sdracer-vm/install/open64-gcc-4.2.0/bin/../lib/gcc/\
> x86_64-redhat-linux/4.2.0/crtbegin.o -o test test.o -lpthread -lrace
> -lopen64rt -lgcc -lc -lgcc
> /home/tianwei/sdracer-vm/install/open64-gcc-4.2.0/bin/../lib\
> /gcc/x86_64-redhat-linux/4.2.0/crtend.o /usr/lib/../lib/crtn.o
>
> Breakpoint 2, Perform_Interprocedural_Analysis () at
> ../../ipa/main/analyze/ipa_main.cxx:267
>
> Note that you need to add " " to wrapper around the old_ld_lib_path.
>
>
> you can use gdb to see how the IPO generate the .I files.
>
> Tianwei
>
>> Thanks a lot,
>> May
>>
>>
>>
>> ------------------------------------------------------------------------------
>> This SF.net email is sponsored by Sprint
>> What will you do first with EVO, the first 4G phone?
>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
>> _______________________________________________
>> Open64-devel mailing list
>> Open64-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/open64-devel
>>
>
>
>
> --
> Sheng, Tianwei
> Inst. of High Performance Computing
> Dept. of Computer Sci. & Tech.
> Tsinghua Univ.
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> Open64-devel mailing list
> Open64-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/open64-devel
>
>
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel