Storing string constants in a different address space

I want to put string constants into flash memory on the AVR platform (RAM is precious). In order to do that, I think I'll need to add "address space 1" to string constants when they're emitted. Plus the code that hooks up the global variable or fixup etc.

Can someone direct me to where in the codebase I should be looking to make this patch on my platform?

I assume it's somewhere like `IRGen/GenConstant.cpp'?