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.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
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 .
Comment Actions
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?
Comment Actions
I also went forward and removed all the dead vector code b38095fbc8454f96e9d4ff88db28769cba741f71 which used isUndefined() wrongly