test remove_no_ops and fold_constants on empty functions
use std:: instead of boost::unordered_map because older Boost versions do not support movable-only types