[LLVMdev] ARMCodeEmitter vs ARMMCCodeEmitter (ARM relocations for ELF)

Jim Grosbach grosbach at apple.com
Wed Oct 27 15:14:42 PDT 2010


On Oct 27, 2010, at 3:06 PM, Jason Kim wrote:

> Hi everyone,
> 
> I am getting into the ARM specific relocation for MC/ELF, and have
> some questions
> 
> There are some x86/arm specific relocation values already, before they
> are lowered down to ELF reloc types
> (i.e. ARMRelocations.h and X86Relocations.h)
> 
> As near as I can figure it, the relocation constants in
> (ARM|X86)Relocations.h are used only in ARMCodeEmitter, and
> X86CodeEmitter.cpp respectively - and on X86 only materialized in the
> JIT case for the X86)
> Are these relocation values for X86 deemed to be kosher for MC? I was
> made curious by a comment in ARMBaseInstrInfo.h:166 saying that the
> ARMCodeEmitter should go away -
> 
> Since this comment was describing a constant used in the JIT side for
> playing with the address computation that used the reloc enums defined
> in ARMRelocations.h, it makes me believe that the ultimate plan is for
> (ARM|X86)CodeEmitter.[ch]pp to be deprecated (and thus the existing
> relocation types will be deprecated as well..)
> 
> Is this the case?


Hi Jason,

The ARM JIT will be MC'ized and thus the existing ARMCodeEmitter bits will go away as a result, yes. I expect the X86 JIT will follow a similar path.

I don't know why the relocation constants wouldn't be applicable to the MC based emitters. Those are, as I understand it, pretty orthogonal to the specifics of the input form to the code emitter. I think it's safe to proceed under that assumption. If need be, we can adjust later.

-Jim



More information about the llvm-dev mailing list