[llvm-dev] Find instruction's offset

Jeremy Lakeman via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 23 15:57:51 PST 2017

Debug metadata is generally the only way to link a byte of machine code
back to the original source location. So that tools which understand the
source language can help you see how your program runs. But even that is

There is no other metadata linking assembly instructions back to any Value*
in the intermediate representation. The goal of every optimisation is to
make the whole program faster, not to keep track of how we got here.

There is often a huge difference between how you imagine something works,
and how it actually works.

If you want a better answer, try to explain what you want to do and why. We
aren't mind readers, and we can't piece together what you want from a
description of how you imagine something works.

On Tue, Jan 24, 2017 at 3:59 AM, fami Hoseini via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> I don't know if my question was super easy or maybe it is not clear. I'm
> still in need of the answer and appreciate any help.When LLVM creates
> assembly code it should somehow create instructions' program counter
> (offset) right? how to get this information?
> Thank you,
> Fateme
> On Mon, Jan 9, 2017 at 5:07 PM, fami Hoseini <hoseini.f at gmail.com> wrote:
>> Hi,
>> Is there a way to get instruction's offset at compile time with llvm for
>> ARM?
>> I am trying to create a map between instructions at compile time and this
>> run-time info. Since PC is a relative value, I am trying to use the
>> instruction's offset as a constant property of instruction to create this
>> map. I think offset information should be available to create the
>> executable, if so where to find it?
>> Thank you for your help,
>> Fami
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170124/b4412edb/attachment.html>

More information about the llvm-dev mailing list