[llvm-commits] [patch] Minor X86CodeEmitter Memory Foot Reduction
evan.cheng at apple.com
Mon Jul 6 14:11:05 CDT 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?
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.
More information about the llvm-commits