||You can iterate over the statements contained within a superblock, add new
statements, remove statements, etc.
I am successfully instrumenting code with Valgrind and I don’t really need
super blocks (as yet). I was just curious about the Valgrind implementation.
Traditionally, given:
Inst-1
Inst-2
Cond branch
Inst-4
Inst-5
All five instructions would be in the same super block, but Valgrind appears
to create two basic blocks with Inst-1 to Cond branch in one ant Inst-4 and
Inst-5 in a separate IRSB.
So it appears to me as if these are basic blocks, not super blocks - what am
I missing?
Thanks,
Mark
-----Original Message-----
From: Derrick McKee [mailto:der...@gm...]
Sent: Monday, June 29, 2020 12:36 PM
To: Mark Roberts
Cc: val...@li...
Subject: Re: [Valgrind-users] valgrind IR and super blocks
You can iterate over the statements contained within a superblock, add new
statements, remove statements, etc. Which super block gets translated next
will likely depend on the computation done by the super block itself, which
is what you are seeing with the branch termination. What are you trying to
do?
On Mon, Jun 29, 2020 at 3:02 PM Mark Roberts <ma...@cs...>
wrote:
>
> I am confused by Valgrind's use of the IRSB data structure. The notes
> say these are super blocks, but every case I've seen they terminate
> with a conditional branch. What is that magic I'm missing in order to
> operate on a traditional super block?
>
> Thank you
> Mark Roberts
>
>
> _______________________________________________
> Valgrind-users mailing list
> Val...@li...
> https://lists.sourceforge.net/lists/listinfo/valgrind-users
--
Derrick McKee
Phone: (703) 957-9362
Email: der...@gm...
|