Only mark an IdentifierInfo as having changed since deserialization
when it actually has changed (and not, e.g., when we've simply attached a
deserialized macro definition). Good for ~1.5% reduction in module
file size, mostly in the identifier table.

llvm-svn: 148808
diff --git a/clang/lib/Sema/IdentifierResolver.cpp b/clang/lib/Sema/IdentifierResolver.cpp
index a80f23f..b469161 100644
--- a/clang/lib/Sema/IdentifierResolver.cpp
+++ b/clang/lib/Sema/IdentifierResolver.cpp
@@ -202,10 +202,6 @@
     return;
   }
 
-  if (IdentifierInfo *II = Name.getAsIdentifierInfo())
-    if (II->isFromAST())
-      II->setChangedSinceDeserialization();
-  
   // General case: insert the declaration at the appropriate point in the 
   // list, which already has at least two elements.
   IdDeclInfo *IDI = toIdDeclInfo(Ptr);
@@ -323,7 +319,7 @@
 
 bool IdentifierResolver::tryAddTopLevelDecl(NamedDecl *D, DeclarationName Name){
   if (IdentifierInfo *II = Name.getAsIdentifierInfo())
-    updatingIdentifier(*II);
+    readingIdentifier(*II);
   
   void *Ptr = Name.getFETokenInfo<void>();