Subzero: Improve the use of NodeList objects.

Currently NodeList is defined as std::vector<CfgNode*>, but in the future it may be desirable to change it to something like std::list<CfgNode*> so that it is easier to split edges and insert the new nodes at the right locations, rather than re-sorting them in a separate pass.

This gets us closer by using foo.front() instead of foo[0].  There are still a couple more places using the [] operator, but the changes would be more intrusive.

Also, a few instances of ".size()==0" are changed to the possibly more efficient ".empty()".

BUG= none
R=jvoung@chromium.org, kschimpf@google.com

Review URL: https://codereview.chromium.org/704753007
diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp
index dc9a0e5..c975d88 100644
--- a/src/IceTargetLoweringX8632.cpp
+++ b/src/IceTargetLoweringX8632.cpp
@@ -4184,7 +4184,7 @@
   assert(Node->getOutEdges().size() == 1);
   assert(Node->getInsts().empty());
   assert(Node->getPhis().empty());
-  CfgNode *Succ = Node->getOutEdges()[0];
+  CfgNode *Succ = Node->getOutEdges().front();
   getContext().init(Node);
   // Register set setup similar to regAlloc() and postLower().
   RegSetMask RegInclude = RegSet_All;