On Tue, Jun 10, 2008 at 8:22 PM, Joern Rennecke <[EMAIL PROTECTED]> wrote:
> On Tue, Jun 10, 2008 at 01:44:08PM -0400, Kaveh R. GHAZI wrote:
>> I don't understand the point about the asm.
>
> I need to modify the SET_SRC of the individual SETs presented by
> note_stores.  The caller of note_stores can't pass in the SET RTXes,
> since they vary for each call of the callback function; it can only pass
> in a copy of the entire instruction pattern.
> So this would be something like:
>
> write_profile_sections (rtx dest ATTRIBUTE_UNUSED, const_rtx const_x,
>                        void *data)
> {
>  write_profile_sections_data *r = data;
>  htab_t htab = r->htab;
>  rtx x;
>
>  __asm__ ("" : "=rX" (x) : "0" (const_x), "X" (r->pattern));
> ...

Eh, right, just the thought of doing this in GCC is IMVHO Wrong  ;-)

> note_stores isn't very large, and with the assembly cruft thrown in
> and all this pretending to use const types when we aren't, the balance
> is tilted in favour of another note_stores copy.

Actually, hold on a second please.  You're only talking in terms of
solutions.  But what *exactly* are you trying to do?  You ave to
modify the SET_SRC of some SETs.  What do these SET_SRCs look like?
This is important, because if you are only looking at registers, maybe
you can easily access them through DF_INSN_DEFS.

Gr.
Steven

Reply via email to