A compiler framework for mapping applications to a coarse-grained reconfigurable computer architecture