fn build_site_map(&mut self, expr: &Expr, bindings: &HashMap<Symbol, Expr>) -> SiteMap {
        let mut sites = SiteMap::new();
        self.build_site_map_helper(expr, bindings, &mut sites, &mut Site::new());
        sites
    }
Builds a site map for each identifier.

The site map maps a symbol to the *least deep* (i.e., highest) site in an expression tree.
weld/src/optimizer/transforms/cse.rs