Convert a few expression actions to smart pointers.
These actions are extremely widely used (identifier expressions and literals); still no performance regression.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62468 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp
index 319c03e..456acbe 100644
--- a/lib/Parse/ParseDecl.cpp
+++ b/lib/Parse/ParseDecl.cpp
@@ -2105,7 +2105,7 @@
   } else if (Tok.getKind() == tok::numeric_constant &&
              GetLookAheadToken(1).is(tok::r_square)) {
     // [4] is very common.  Parse the numeric constant expression.
-    OwningExprResult ExprRes(Actions, Actions.ActOnNumericConstant(Tok));
+    OwningExprResult ExprRes(Actions.ActOnNumericConstant(Tok));
     ConsumeToken();
 
     MatchRHSPunctuation(tok::r_square, StartLoc);
diff --git a/lib/Parse/ParseExpr.cpp b/lib/Parse/ParseExpr.cpp
index 0295f70..c8c521d 100644
--- a/lib/Parse/ParseExpr.cpp
+++ b/lib/Parse/ParseExpr.cpp
@@ -1119,7 +1119,7 @@
     ExprType = SimpleExpr;
     if (!Result.isInvalid() && Tok.is(tok::r_paren))
       Result = Actions.ActOnParenExpr(OpenLoc, Tok.getLocation(),
-                                      Result.release());
+                                      move_arg(Result));
   }
 
   // Match the ')'.
@@ -1155,7 +1155,7 @@
   } while (isTokenStringLiteral());
 
   // Pass the set of string tokens, ready for concatenation, to the actions.
-  return Owned(Actions.ActOnStringLiteral(&StringToks[0], StringToks.size()));
+  return Actions.ActOnStringLiteral(&StringToks[0], StringToks.size());
 }
 
 /// ParseExpressionList - Used for C/C++ (argument-)expression-list.
diff --git a/lib/Parse/ParseExprCXX.cpp b/lib/Parse/ParseExprCXX.cpp
index d05c002..04e53a9 100644
--- a/lib/Parse/ParseExprCXX.cpp
+++ b/lib/Parse/ParseExprCXX.cpp
@@ -154,19 +154,18 @@
     // Consume the identifier so that we can see if it is followed by a '('.
     IdentifierInfo &II = *Tok.getIdentifierInfo();
     SourceLocation L = ConsumeToken();
-    return Owned(Actions.ActOnIdentifierExpr(CurScope, L, II,
-                                             Tok.is(tok::l_paren), &SS));
+    return Actions.ActOnIdentifierExpr(CurScope, L, II,
+                                       Tok.is(tok::l_paren), &SS);
   }
 
   case tok::kw_operator: {
     SourceLocation OperatorLoc = Tok.getLocation();
     if (OverloadedOperatorKind Op = TryParseOperatorFunctionId())
-      return Owned(Actions.ActOnCXXOperatorFunctionIdExpr(
-                         CurScope, OperatorLoc, Op, Tok.is(tok::l_paren), SS));
+      return Actions.ActOnCXXOperatorFunctionIdExpr(
+                   CurScope, OperatorLoc, Op, Tok.is(tok::l_paren), SS);
     if (TypeTy *Type = ParseConversionFunctionId())
-      return Owned(Actions.ActOnCXXConversionFunctionExpr(CurScope, OperatorLoc,
-                                                          Type,
-                                                     Tok.is(tok::l_paren), SS));
+      return Actions.ActOnCXXConversionFunctionExpr(CurScope, OperatorLoc, Type,
+                                                    Tok.is(tok::l_paren), SS);
 
     // We already complained about a bad conversion-function-id,
     // above.