Revert "[NFC] Refactor representation of materialized temporaries"

This reverts commit 08ea1ee2db5f9d6460fef1d79d0d1d1a5eb78982.
It broke ./ClangdTests/FindExplicitReferencesTest.All
on the bots, see comments on https://reviews.llvm.org/D69360
diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp
index e66db43..6f4abc4 100644
--- a/clang/lib/Serialization/ASTWriterStmt.cpp
+++ b/clang/lib/Serialization/ASTWriterStmt.cpp
@@ -1835,11 +1835,9 @@
 
 void ASTStmtWriter::VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E) {
   VisitExpr(E);
-  Record.push_back(static_cast<bool>(E->getLifetimeExtendedTemporaryDecl()));
-  if (E->getLifetimeExtendedTemporaryDecl())
-    Record.AddDeclRef(E->getLifetimeExtendedTemporaryDecl());
-  else
-    Record.AddStmt(E->getSubExpr());
+  Record.AddStmt(E->getTemporary());
+  Record.AddDeclRef(E->getExtendingDecl());
+  Record.push_back(E->getManglingNumber());
   Code = serialization::EXPR_MATERIALIZE_TEMPORARY;
 }