[LLVMdev] DIFactory interface is going away

Renato Golin rengolin at systemcall.org
Fri Feb 25 05:23:43 PST 2011


On 24 February 2011 21:34, Jason Kim <jasonwkim at google.com> wrote:
> On Thu, Feb 24, 2011 at 1:29 PM, Devang Patel <dpatel at apple.com> wrote:

It simplified a bit type construction but the overall code did not
reduce that much. It's still very similar to the previous style but
had a few differences in the IR output.

We had LIT tests that checked the IR and Dwarf and GDB execution and
they failed in all levels more or less around December. This week I
had time to finally refactor it and everything went back to normal
(with lots of changes in the IR/Dwarf checks).

To be honest, debugging metadata in IR is not trivial. You need to
understand what's being built and how it gets used later, and for that
you have to dig deep in the code, a problem that normal IR doesn't
have. Not to mention the lack of validation on the parameters,
metadata accepts anything you put in and the MDNode* behave almost
like void*.

But I have to say that the new DIBuilder is much closer to the
metadata generated than the previous DIFactory, so maybe that'll get
there in time...

Great work Devang! It's really getting a lot nicer to build debug information.

cheers,
--renato



More information about the llvm-dev mailing list