PR20473: Don't "deduplicate" string literals with the same value but different
lengths! In passing, simplify string literal deduplication by relying on LLVM
to deduplicate the underlying constant values.
llvm-svn: 214222
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h
index 44597bf..9533a8d 100644
--- a/clang/lib/CodeGen/CodeGenModule.h
+++ b/clang/lib/CodeGen/CodeGenModule.h
@@ -361,9 +361,7 @@
llvm::StringMap<llvm::Constant*> CFConstantStringMap;
- llvm::StringMap<llvm::GlobalVariable *> Constant1ByteStringMap;
- llvm::StringMap<llvm::GlobalVariable *> Constant2ByteStringMap;
- llvm::StringMap<llvm::GlobalVariable *> Constant4ByteStringMap;
+ llvm::DenseMap<llvm::Constant *, llvm::GlobalVariable *> ConstantStringMap;
llvm::DenseMap<const Decl*, llvm::Constant *> StaticLocalDeclMap;
llvm::DenseMap<const Decl*, llvm::GlobalVariable*> StaticLocalDeclGuardMap;
llvm::DenseMap<const Expr*, llvm::Constant *> MaterializedGlobalTemporaryMap;
@@ -1044,9 +1042,6 @@
llvm::PointerType *PTy,
const VarDecl *D);
- llvm::StringMapEntry<llvm::GlobalVariable *> *
- getConstantStringMapEntry(StringRef Str, int CharByteWidth);
-
/// Set attributes which are common to any form of a global definition (alias,
/// Objective-C method, function, global variable).
///