An Intermediate Representation to Propagate Semantic Information During Compilation | Synapse