[llvm-commits] [patch] Minor X86CodeEmitter Memory Foot Reduction

Evan Cheng evan.cheng at apple.com
Mon Jul 6 12:11:05 PDT 2009


Sorry, I am missing some context. Why is each of the emitter a  
separate template instantiation in the first place? Why can't the code  
in X86CodeEmitter.cpp be shared across all 3?

Evan
On Jul 6, 2009, at 10:57 AM, Aaron Gray wrote:

> This patch separates the template instatiations for the  
> createX86*CodeEmitterPass of [X86]Emiiter<codeEmitter> into  
> separate .cpp file and thus different object modules in the library.  
> This will result in a slightly smaller footprint for programs just  
> using one of the MachineCodeEmitter, ObjectCodeEmitter, or  
> JITCodeEmitter classes.
>
> This should save 2 * 47K each for llc, lli, and LTOCodeGenerator.
>
> Although the MachineCodeEmitter version is not being use anymore at  
> present I have left it in for now.
>
> It also opens the door for altername MachineCodeEmitters for  
> experimental or other purposes such as unladen Swallow.
>
> I will be submitting simular patches for Alpha, ARM, and PowerPC if  
> this one gets accepted.
>
> I have made CMake the necessary CMake changes too in the patch.
>
> This patch needs to be applied relatively quickly as it moves  
> X86CodeEmitter.cpp code to X86CodeEmitter.h and any chages in SVN  
> inbetween would be lost.
>
> Aaron
>
> <x86-Memory-Opt.patch>




More information about the llvm-commits mailing list