I've just committed a patch to move MEMMODE_* macros and enum memmodel
definitions from coretypes.h to memmodel.h. As a consequence, people who include
emit-rtl.h anywhere or include tm_p.h in the middle end need to include
memmodel.h beforehand. This is because emit-rtl.h has some prototype using enum
memmodel and tm_p.h includes $arch-protos.h headers and some targets use enum
memmodel in there.
Please let me know if anything break despite my checks.