Simple (slow!) instruction synthesis + pass support

I think the interesting part of this patch is the getValue() function in the Pass
Do we want to `report_fatal_error` or maybe just return 0 (and increment a statistic?)