In X86Subtarget.h there is a method `getDataLayout' which selects the data layout depending on the platform, ignoring whatever the user setted with Module::setDataLayout. What's the rationale for this?