[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:09:59 PDT 2011


> That does raise another question, though. In looking at this, I
> noticed that in an old patch (121471), the TargetAsmInfo class was
> introduced and it contains a pointer to a TargetRegisterInfo. That's
> a layering problem, as it forces anything MC based to link in the
> entire codegen backend (TargetRegisterInfo is part of the
> MachineInstr layer). Can we find a better way to do this? Some
> tablegenerated helper functions, perhaps?

There was already a dependency, so TargetRegisterInfo looked like the 
smaller hack at the time.

The reverse mapping is already tablegenerated and could be moved to MC.

Unfortunately, there is still information that is used in MC and Codegen 
because of the old JIT. We could move it and break the MC -> CodeGen 
dependency, but the idea of changing soon to be dead code is not too 
attractive.

Another option is just duplicating some info in MC and CodeGen for now.

> -Jim

Cheers,
Rafael



More information about the llvm-commits mailing list