It basically enables this in c_types.h:
#ifdef ICACHE_FLASH
#define ICACHE_FLASH_ATTR __attribute__((section(".irom0.text")))
#else
#define ICACHE_FLASH_ATTR
#endif /* ICACHE_FLASH */
-> i.e. it allows code, that is flagged with ICACHE_FLASH to be loaded from the flash, decreasing the size of iram1_0_seg. (If I'm not mistaken here, please correct me if I'm wrong!)
EDIT: Oh and you should add it to the clfags, as this is needed during compile time.
I'm using the IoTDemo Makefile from v0.9.2
Of course this only applies to functions that are not flagged already, and if you are only using espressif sources, then that might be pretty much all of them
Do you store large amounts of strings somewhere, maybe?