Hexagon: Avoid dereferencing end() in HexagonCopyToCombine::findPairable
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Thu, 11 Aug 2016 16:40:03 +0000 (16:40 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Thu, 11 Aug 2016 16:40:03 +0000 (16:40 +0000)
commitec30cc2171c01321c935cd693cbaaba361b95ec5
tree26c818d4f142fedafeb622463d90992e2e5cf72f
parent34e1753585997d273abe9c173c3d265df12e5341
Hexagon: Avoid dereferencing end() in HexagonCopyToCombine::findPairable

Check for end() before skipping through debug values.  This avoids
dereferencing end() when the instruction is the final one in the basic
block.  (It still assumes that a debug value will not be the final
instruction in the basic block.  No tests seemed to violate that.)

Many Hexagon tests trigger this, but they happen to magically pass right
now.  I found this because WIP patches for PR26753 convert them into
crashes.

llvm-svn: 278355
llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp