public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Biener <richard.guenther@gmail.com>
To: Shubham Narlawar <gsocshubham@gmail.com>
Cc: GCC Development <gcc@gcc.gnu.org>
Subject: Re: Query regarding generating NOTE instruction at GIMPLE level
Date: Mon, 7 Feb 2022 10:17:34 +0100	[thread overview]
Message-ID: <CAFiYyc1hQGkpYz_7wH1Uk+aTfFSjU6BJ_jFKWKjKDB+JgyEDuA@mail.gmail.com> (raw)
In-Reply-To: <CAN=hqDDKgzBoh0nqrWbQ-4Diq7dp=c76q+msas1PuN+Zr4g23A@mail.gmail.com>

On Sun, Feb 6, 2022 at 8:42 PM Shubham Narlawar via Gcc <gcc@gcc.gnu.org> wrote:
>
> Hello,
>
> Is it possible to generate a NOTE instruction at GIMPLE level?
>
> My use case scenario is as below -
> I want to create a note for __builtin_xyz(_x) such that there is a
> placeholder just before function call and in RTL pass, I want to
> modify/assign register number at this placeholder location.
>
> _x = (unsigned int) _y;
> __builtin_xyz(_x);    //_x is constant expression
>
> For above builtin function call, I want to insert a note just before the
> function call. I tried generating GIMPLE_NOP instruction as below -
>
> _x = (unsigned int) _y;
> GIMPLE_NOP
> __builtin_xyz(_x);
>
> But as per my understanding, a NOTE instruction behaves similar to
> GIMPLE_NOP that is to create a placeholder for some computation.
>
>
> 1. Is there any attribute that can be added to GIMPLE instruction? If yes,
> then there must be a mechanism that translates those attributes to NOTE
> instructions in the RTL pass?

There is no machinery to add attributes or notes to GIMPLE statements.
The existing information pieces that would qualify as those are instead
embedded directly into the corresponding data structures.

> 2. Is there any different approach on achieving above goal?

From your description it isn't clear whether the information you want to
put into the NOTE is recoverable at RTL expansion time.  Trying to
second-guess it's an equivalency of the constant (at RTL expansion time)
_x to something else which is still available in a register?

>
> Thanks and Regards,
> Shubham

      reply	other threads:[~2022-02-07  9:17 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-06 19:40 Shubham Narlawar
2022-02-07  9:17 ` Richard Biener [this message]

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=CAFiYyc1hQGkpYz_7wH1Uk+aTfFSjU6BJ_jFKWKjKDB+JgyEDuA@mail.gmail.com \
    --to=richard.guenther@gmail.com \
    --cc=gcc@gcc.gnu.org \
    --cc=gsocshubham@gmail.com \
    /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).