The support was already there, but it was commented out, and didn't get some cases right, e.g. the one where either idx or elt being undef.
I think you're misunderstanding what "isUndefined" means... it means "we haven't computed the value of this instruction yet", not "this value is an UndefValue". See https://www.cs.rice.edu/~keith/512/2011/Lectures/L19-SCCP-1up.pdf and http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.105.4146&rep=rep1&type=pdf .
Yes, I was confused.. the code actually in some places uses isUndefined() as synonim to undef which now I see why it's completely wrong... I'd like to rename isUndefined() to isUnknown(), which is what Keith Cooper uses in the slides, what do you think?