This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Need info on GIMPLE


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@google.com> wrote:
> Abdul Wahid Memon <engrwahidmemon@gmail.com> 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 Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]