Re: Need info on GIMPLE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Aah ok. I thought them as labels as in RTL representation. Thanks alot for this.

By the way, if I want to traverse through all the GIMPLE statements,
then from where should I start? I mean what should be the reference
point to capture those labels in the cfg.

Regards

Abdul

On Tue, Jun 7, 2011 at 9:49 PM, Ian Lance Taylor <iant@xxxxxxxxxx> wrote:
> Abdul Wahid Memon <engrwahidmemon@xxxxxxxxx> writes:
>
>> Lets take the dump at optimized pass.
>>
>> ;; Function main (main)
>>
>> main ()
>> {
>>   int i;
>>   int D.3251;
>>   const char * restrict D.3250;
>>
>> <bb 2>:
>>   i_2 = 0;
>>   goto <bb 4>;
>>
>> <bb 3>:
>>   D.3250_3 = (const char * restrict) &"hello world"[0];
>>   printf (D.3250_3);
>>   i_4 = i_1 + 1;
>>
>> <bb 4>:
>>   # i_1 = PHI <i_2(2), i_4(3)>
>>   if (i_1 <= 100)
>>     goto <bb 3>;
>>   else
>>     goto <bb 5>;
>>
>> <bb 5>:
>>   D.3251_5 = 0;
>>   return D.3251_5;
>>
>> }
>>
>> Here in this case, Can I consider <bb x>: as labels? If yes then I am
>> unable to encounter them in my code.
>
> Please reply to the mailing list, not just to me.  Thanks.
>
> The <bb x> markers just indicate the start of basic blocks.  They are
> not GIMPLE_LABELs.  They aren't represented in GIMPLE at all, they are
> in the CFG.  You will only get a GIMPLE_LABEL for an actual label in
> your source code.
>
> Ian
>



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux