[LLVMdev] Mapping bytecode to X86

Fernando Magno Quintao Pereira fernando at CS.UCLA.EDU
Mon Jun 26 18:00:01 PDT 2006


> > Thank you Chris. I will try to implement the TwoAddress pass to run on
> > machine code. Why it has not been originally implemented to run on
> > machine code?
>
> I'm not sure what you mean.  It definitely does run on machine code.

I was thinking that it only transformed instructions with virtual
registers because of this code in the TwoAddressInstructionPass.cpp:

        unsigned regA = mi->getOperand(0).getReg();
        unsigned regB = mi->getOperand(1).getReg();

        assert(MRegisterInfo::isVirtualRegister(regA) &&
               MRegisterInfo::isVirtualRegister(regB) &&
               "cannot update physical register live information");

By machine code I meant code with virtual registers, instead of machine
(physical) registers; not the passes on machine functions/machine basic
blocks.

Fernando



More information about the llvm-dev mailing list