CodeGen: Avoid getNodePtrUnchecked() where we need a Value, NFC
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Sun, 21 Feb 2016 19:37:45 +0000 (19:37 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Sun, 21 Feb 2016 19:37:45 +0000 (19:37 +0000)
commit7b269642d232fadf5f2ce29ddc0fb9106edab8d3
tree9b04b7a09a2a7ce3959358a5b6fe1216b7fe63b7
parent1b936c0f59b294a3353930a81172728641c4b024
CodeGen: Avoid getNodePtrUnchecked() where we need a Value, NFC

`ilist_iterator<NodeTy>::getNodePtrUnchecked()` is documented as being
for internal use only, but CodeGenPrepare was using it anyway.  This
code relies on pulling out the `Value*` pointer even after the lifetime
of the iterator is over.  But having this pointer available in
ilist_iterator depends on UB in the first place.

Instead, safely pull out the `Value*` when the iterator is alive and
stop using the internal-only API.

There should be no functionality change here.

llvm-svn: 261493
llvm/lib/CodeGen/CodeGenPrepare.cpp