This module took a lot of time and 4GB RAM to compile. Its now broken into smaller module that can be compiled in less than 512 MB RAM. The memory limits are set based on a 3-pass fusion-plugin.