[llvm-commits] [llvm] r132451 - in /llvm/trunk: include/llvm/MC/MCInstPrinter.h lib/MC/MCAsmStreamer.cpp lib/MC/MCInstPrinter.cpp lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp lib/Target/ARM/InstPrinter/ARMInstPrinter.h lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp lib/Target/PowerPC/InstPrinter/PPCInstPrinter.h lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp lib/Target/X86/InstPrinter/X86ATTInstPrinter.h lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp lib/Target/X86/InstPrinter/X86IntelInstPrinter.h

Rafael Avila de Espindola rafael.espindola at gmail.com
Thu Jun 2 11:05:20 PDT 2011


On 11-06-02 12:01 PM, Jim Grosbach wrote:
> Hi Rafael,
>
> Thanks for the quick turnaround. That takes care of the crash, but
> we're not quite there yet. A few questions.
>
> $ llvm-mc -triple armv7-apple-darwin10 t.s .section
> __TEXT,__text,regular,pure_instructions t.s:1:14: error: expected
> absolute expression .cfi_def_cfa r0, 8
>
> It looks like the % prefix is also expected in the parsing?

I see you just fixed it, thanks!

> For the printer methods, getRegisterName() isn't going to work. That
> expects the internal enum register number, but the CFI directives
> from the streamer have the dwarf register number instead.

It is mapped back to the internal numbers before passing it. I kept the 
interface taking a dwarf number so that the fast path (direct .o 
emission) stays as fast as possible.

> I confess I'm a little confused at this patch in general. I was under
> the (mistaken?) impression that the cfi directives referred to
> registers via dwarf register number. Is that not the case? Is there
> something about that solution that's insufficient?

They do us dwarf register numbers...

> Thanks, Jim
>

Cheers,
Rafael



More information about the llvm-commits mailing list