Compiler optimizations for cache compression algorithms using data splitting or memory pooling