pub fn write_cache(cache_dir: &Path, ir: &SqlcxIR, hash: &str) -> Result<()>
Write IR cache atomically (temp file → rename).