using the constant pool during select

In ARM, constants that are too large to be used as immediate are
usually placed in a constant pool and loaded.

What I am trying to do is to have a select function that checks the if
a constant can be an immediate and, if it can't, produces a load:

If you look at AlphaISelDAGToDAG.cpp:244, it probably does what you
want. If a constant is too big, it spills it to the constant pool,
else it passes it through to the auto-generated selector.