Because you added -O0 to your second command line, all optimizations are
turned off.
2011/6/9 eirc.lew <eirc....@gmail.com>
> Hi,
>
> The command options can stop the open64 from deleting the unused code,
> but they are eliminated in the whirl2c fhase.
> I compared the different the differnt command options,and got the
> assembly code as follow, the red line means: "i = 6; k = 9;" the test case :
> 1)just opencc hello.c -o a.out
> 08048394 <main>:
> 8048394: 83 c4 fc add $0xfffffffc,%esp
> 8048397: d9 3c 24 fnstcw (%esp)
> 804839a: 66 81 24 24 ff fc andw $0xfcff,(%esp)
> 80483a0: 66 81 0c 24 00 03 orw $0x300,(%esp)
> 80483a6: d9 2c 24 fldcw (%esp)
> 80483a9: 83 c4 04 add $0x4,%esp
> 80483ac: 55 push %ebp
> 80483ad: 53 push %ebx
> 80483ae: 31 c0 xor %eax,%eax
> 80483b0: 5b pop %ebx
> 80483b1: 5d pop %ebp
> 80483b2: c3 ret
> 80483b3: 90 nop
> 2) opencc -Wunused -IPA:cprop=off -IPA:dce=off -WOPT:ivar_pre=off
> -WOPT:icopy=off:copy=off -Wb,-tt32:0x00000400 -O0 --vv hello.c
>
> 08048434 <main>:
> 8048434: 83 c4 fc add $0xfffffffc,%esp
> 8048437: d9 3c 24 fnstcw (%esp)
> 804843a: 66 81 24 24 ff fc andw $0xfcff,(%esp)
> 8048440: 66 81 0c 24 00 03 orw $0x300,(%esp)
> 8048446: d9 2c 24 fldcw (%esp)
> 8048449: 83 c4 04 add $0x4,%esp
> 804844c: 55 push %ebp
> 804844d: 89 e5 mov %esp,%ebp
> 804844f: 83 c4 f0 add $0xfffffff0,%esp
> *8048452: ba 09 00 00 00 mov $0x9,%edx
> * 8048457: 89 55 f8 mov %edx,0xfffffff8(%ebp)
> *804845a: b9 06 00 00 00 mov $0x6,%ecx*
> 804845f: 89 4d f4 mov %ecx,0xfffffff4(%ebp)
>
> So I have to check if I can do something in the whirl2c phase ?!
>
> Thanks!
>
> Eric
>
> ----- Original Message -----
> *From:* eirc.lew <eirc....@gmail.com>
> *To:* Chandrasekhar Murthy <mur...@sgi.com> ; Shin-Ming
> Liu<shinm...@gmail.com>
> *Cc:* open64-devel@lists.sourceforge.net
> *Sent:* Thursday, June 09, 2011 10:52 AM
> *Subject:* Re: [Open64-devel] How can I stop open64 delete unused code
>
> Hi,
>
> compiling command is:
> opencc -Wunused -IPA:cprop=off -IPA:dce=off -WOPT:ivar_pre=off
> -WOPT:icopy=off:copy=off -Wb,-tt32:0x00000400 -O0 --vv hello.c
>
> The input is:
>
> #include<stdio.h>
> #define N 100
>
> int main()
> {
> int i, j, k;
> i = 0;
> k = 0;
> int a[N];
> for( j = 0; j < N; j++)
> a[j] = j + 4;
> return 0;
> }
>
>
> The output is:(there were no i and k)
> #include "hello.w2c.h"
>
>
> extern _INT32 main()
> {
>
> _INT32 j;
> _INT32 a[100LL];
>
> j = 0;
> while(j <= 99)
> {
> _514 :;
> (a)[j] = j + 4;
> j = j + 1;
> _258 :;
> }
> goto _770;
> _770 :;
> return 0;
> } /* main */
>
>
>
>
> ----- Original Message -----
> *From:* Chandrasekhar Murthy <mur...@sgi.com>
> *To:* Shin-Ming Liu <shinm...@gmail.com> ; eirc.lew <eirc....@gmail.com>
> *Cc:* open64-devel@lists.sourceforge.net
> *Sent:* Thursday, June 09, 2011 4:34 AM
> *Subject:* RE: [Open64-devel] How can I stop open64 delete unused code
>
> In the MIPSpro compilers they would be removed in the frontend.
> You might want to check where it gets removed starting from the frontend.
>
> Murthy
>
> *From:* Shin-Ming Liu [mailto:shinm...@gmail.com <shinm...@gmail.com>]
> *Sent:* Wednesday, June 08, 2011 8:46 AM
> *To:* eirc.lew
> *Cc:* open64-devel@lists.sourceforge.net
> *Subject:* Re: [Open64-devel] How can I stop open64 delete unused code
>
> Do you mean the compiler does not reserve space on the stack? The place to
> look at is the data layout component in CG. Should be simple to keep them
> with simple change.
>
> Shin
> On Wed, Jun 8, 2011 at 6:11 AM, eirc.lew
> <*eirc....@gmail.com*<eirc....@gmail.com>>
> wrote:
> Hi, all
>
> a example(main.c) as follow:
>
> int main()
> {
> int sum;
> int i, j, k;
> for( i = 0; i < 100; i++ )
> sum = i + 9;
>
> return 0;
> }
>
> when I compile it: opencc -CLIST:: main.c
>
> In the file main.w2c.c, there are no j and k, but I need them.Does
> someone know how to do?
>
> Thanks!
>
> Eric
>
>
> ------------------------------------------------------------------------------
> EditLive Enterprise is the world's most technically advanced content
> authoring tool. Experience the power of Track Changes, Inline Image
> Editing and ensure content is compliant with Accessibility Checking.
> *http://p.sf.net/sfu/ephox-dev2dev* <http://p.sf.net/sfu/ephox-dev2dev>
> _______________________________________________
> Open64-devel mailing list
> *Open64-devel@lists.sourceforge.net* <Open64-devel@lists.sourceforge.net>
> *https://lists.sourceforge.net/lists/listinfo/open64-devel*<https://lists.sourceforge.net/lists/listinfo/open64-devel>
>
>
>
>
>
> ------------------------------------------------------------------------------
> EditLive Enterprise is the world's most technically advanced content
> authoring tool. Experience the power of Track Changes, Inline Image
> Editing and ensure content is compliant with Accessibility Checking.
> http://p.sf.net/sfu/ephox-dev2dev
> _______________________________________________
> Open64-devel mailing list
> Open64-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/open64-devel
>
>
--
Regards,
Lai Jian-Xin
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel