GIMPLE clobber statement

2019-07-16 Thread navya deepika Garakapati
Hi everyone,

We are investigating the optimization issue with GCC trunk code and we have
the below gimple code like

  a = 1;
  __asm__ __volatile__("");
  _9 = &a;
  a ={v} {CLOBBER};
  _4 = _9;
  _1 = *_4;
 std::basic_ostream::operator<< (&cout, _1);


in the above gimple statements ,we would like to know the semantics of  "a
={v} {CLOBBER}" and how this is interpreted by optimization ?



Thank you
Navya.


Re: GIMPLE clobber statement

2019-07-16 Thread Jason Merrill
The clobber means that 'a' no longer has a value, presumably because it has
gone out of scope.

On Tue, Jul 16, 2019, 2:07 PM navya deepika Garakapati <
navyadeepika.garakap...@gmail.com> wrote:

> Hi everyone,
>
> We are investigating the optimization issue with GCC trunk code and we have
> the below gimple code like
>
>   a = 1;
>   __asm__ __volatile__("");
>   _9 = &a;
>   a ={v} {CLOBBER};
>   _4 = _9;
>   _1 = *_4;
>  std::basic_ostream::operator<< (&cout, _1);
>
>
> in the above gimple statements ,we would like to know the semantics of  "a
> ={v} {CLOBBER}" and how this is interpreted by optimization ?
>
>
>
> Thank you
> Navya.
>