From: pms <pmshiva@gmail.com>
To: gcc@gcc.gnu.org
Subject: Re: regarding optimization options in phase ordering
Date: Fri, 07 Aug 2009 13:11:00 -0000 [thread overview]
Message-ID: <24864601.post@talk.nabble.com> (raw)
In-Reply-To: <84fc9c000908070453o480f3fe8k5501763782e3a7c9@mail.gmail.com>
thanks, But b=a is a assignment statement. It is doing some memory operations
isn't it. Assuming b=a is a dead statement, how r the following i386
assembly statements generated
pushl %ebp
movl %esp, %ebp
andl $-16, %esp
subl $16, %esp
movl $5, 4(%esp)
movl $.LC0, (%esp)
call printf
pls reply
Richard Guenther-2 wrote:
>
> On Fri, Aug 7, 2009 at 1:50 PM, pms<pmshiva@gmail.com> wrote:
>>
>> Hi,
>> We've a problem here. we were trying to use cc1 with & without -O
>> option to verify the optimizations happening in our sample code. these r
>> the
>> list of outputs after each compilation
>> without -O
>> pms@Shiva:~/Desktop/Compilers/GCC/build/test$ ls
>> 1.c 1.c.011t.ehopt 1.c.038t.release_ssa
>> 1.c.001t.tu 1.c.012t.eh 1.c.123t.optimized
>> 1.c.003t.original 1.c.013t.cfg 1.c.125t.blocks
>> 1.c.004t.gimple 1.c.014t.cplxlower0 1.c.126t.final_cleanup
>> 1.c.006t.vcg 1.c.015t.veclower 1.c.203t.statistics
>> 1.c.007t.useless 1.c.021t.cleanup_cfg 1.s
>> 1.c.010t.lower 1.c.023t.ssa a.out
>>
>> with -O
>>
>> 1.c 1.c.051t.ccp2 1.c.085t.sink
>> 1.c.001t.tu 1.c.052t.forwprop2 1.c.086t.loop
>> 1.c.003t.original 1.c.054t.alias 1.c.087t.loopinit
>> 1.c.004t.gimple 1.c.055t.retslot 1.c.088t.copyprop4
>> 1.c.006t.vcg 1.c.056t.phiprop 1.c.089t.dceloop1
>> 1.c.007t.useless 1.c.057t.fre 1.c.090t.lim
>> 1.c.010t.lower 1.c.058t.copyprop2 1.c.093t.sccp
>> 1.c.011t.ehopt 1.c.059t.mergephi2 1.c.094t.empty
>> 1.c.012t.eh 1.c.061t.dce1 1.c.099t.ivcanon
>> 1.c.013t.cfg 1.c.062t.cselim 1.c.104t.cunroll
>> 1.c.015t.veclower 1.c.063t.ifcombine 1.c.107t.ivopts
>> 1.c.021t.cleanup_cfg 1.c.064t.phiopt1 1.c.108t.loopdone
>> 1.c.023t.ssa 1.c.066t.ch 1.c.111t.reassoc2
>> 1.c.024t.early_optimizations 1.c.068t.cplxlower 1.c.113t.dom2
>> 1.c.025t.einline2 1.c.069t.sra 1.c.114t.phicprop2
>> 1.c.026t.copyrename1 1.c.070t.copyrename3 1.c.115t.cddce2
>> 1.c.027t.ccp1 1.c.071t.dom1 1.c.117t.dse2
>> 1.c.028t.forwprop1 1.c.072t.phicprop1 1.c.118t.forwprop4
>> 1.c.029t.addressables1 1.c.073t.dse1 1.c.119t.phiopt3
>> 1.c.030t.esra 1.c.074t.reassoc1 1.c.121t.copyrename4
>> 1.c.031t.copyprop1 1.c.075t.dce2 1.c.122t.uncprop
>> 1.c.032t.mergephi1 1.c.076t.forwprop3 1.c.123t.optimized
>> 1.c.033t.cddce1 1.c.077t.phiopt2 1.c.124t.nrv
>> 1.c.034t.sdse 1.c.078t.objsz 1.c.125t.blocks
>> 1.c.036t.switchconv 1.c.079t.ccp3
>> 1.c.126t.final_cleanup
>> 1.c.037t.profile 1.c.080t.copyprop3 1.c.203t.statistics
>> 1.c.038t.release_ssa 1.c.081t.fab 1.s
>> 1.c.048t.addressables2 1.c.082t.sincos a.out
>> 1.c.049t.copyrename2 1.c.083t.crited
>>
>> But here, we tried to see the differences, until 1.c.027t.ccp1, the
>> output
>> for the following source 1.c
>> #include
>> int main()
>>
>> {
>> int a=5;
>> int b;
>> b=a;
>> printf("the number is :%d",b);
>> }
>>
>> was 1.c.026t.copyrename1
>> ;; Function main (main)
>>
>> main ()
>> {
>> int b;
>> int a;
>>
>> :
>> a_2 = b_1(D);
>> return;
>>
>> }
>> but in 1.c.027t.ccp1, the output doesnot contain the actual assignment
>> b=a.
>> ;; Function main (main)
>>
>> main ()
>> {
>> int b;
>> int a;
>>
>> :
>> return;
>>
>> }
>>
>> We want to know, without b=a, how is it generating the final code for b=a
>
> Nothing. Because it's a dead statement.
>
> Richard.
>
>> Kindly help
>>
>> --
>> View this message in context:
>> http://www.nabble.com/regarding-optimization-options-in-phase-ordering-tp24863416p24863416.html
>> Sent from the gcc - Dev mailing list archive at Nabble.com.
>>
>>
>
>
--
View this message in context: http://www.nabble.com/regarding-optimization-options-in-phase-ordering-tp24863416p24864601.html
Sent from the gcc - Dev mailing list archive at Nabble.com.
next prev parent reply other threads:[~2009-08-07 13:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-07 11:53 pms
2009-08-07 12:34 ` Richard Guenther
2009-08-07 13:11 ` pms [this message]
2009-08-10 11:20 ` Ian Lance Taylor
2009-08-10 13:00 ` pms
2009-08-10 13:08 ` Ian Lance Taylor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=24864601.post@talk.nabble.com \
--to=pmshiva@gmail.com \
--cc=gcc@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).