[llvm-dev] llvm.read_register for %RIP on x86_64

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Tue Jan 31 15:11:55 PST 2017


On 31 Jan 2017 8:58 p.m., "Kostya Serebryany" <kcc at google.com> wrote:

hmm. I am not sure I understood you. The last two paragraphs seem to
contradict each other.
So, you recommend to extend read_register to read the PC, or
"read_register is locked at the stack pointer as a design decision"?


Both. :-)

There was a design decision to only support SP because we had no clear case
for anything other than the stack pointer.

If you have one for the PC, it would be a much better technical decision to
reuse the machinery that already exists, is documented and tested, than
come up with an independent implementation.

The discussion whether to support it in clang or not is orthogonal. But
once decided that we should support reading the PC, then read_register is
the obvious place.

If the clang developers refuse the idea, then inline assembly is the only
option that would work across compilers.

Makes sense?

Cheers,
Renato
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170131/7bfd725a/attachment.html>


More information about the llvm-dev mailing list