This adds an (incomplete, inefficient) framework for deciding what to do with some operation on a given type. llvm-svn: 276184