From cf0b2d83666804b377dbe05370a5c9b9bafaaa5a Mon Sep 17 00:00:00 2001
From: John McCall <rjmccall@apple.com>
Date: Thu, 17 Feb 2011 19:02:56 +0000
Subject: [PATCH] Remove the "conditional save" hashtables from IR generation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125761 91177308-0d34-0410-b5e6-96231b3b80d8
---
 lib/CodeGen/CGExpr.cpp        | 5 -----
 lib/CodeGen/CGExprComplex.cpp | 7 +------
 lib/CodeGen/CGExprScalar.cpp  | 5 -----
 lib/CodeGen/CodeGenFunction.h | 7 -------
 4 files changed, 1 insertion(+), 23 deletions(-)

diff --git a/lib/CodeGen/CGExpr.cpp b/lib/CodeGen/CGExpr.cpp
index 27316526b16..1b7e7a007ed 100644
--- a/lib/CodeGen/CGExpr.cpp
+++ b/lib/CodeGen/CGExpr.cpp
@@ -510,11 +510,6 @@ LValue CodeGenFunction::EmitCheckedLValue(const Expr *E) {
 /// length type, this is not possible.
 ///
 LValue CodeGenFunction::EmitLValue(const Expr *E) {
-  llvm::DenseMap<const Expr *, LValue>::iterator I = 
-                                      ConditionalSaveLValueExprs.find(E);
-  if (I != ConditionalSaveLValueExprs.end())
-    return I->second;
-  
   switch (E->getStmtClass()) {
   default: return EmitUnsupportedLValue(E, "l-value expression");
 
diff --git a/lib/CodeGen/CGExprComplex.cpp b/lib/CodeGen/CGExprComplex.cpp
index 8b4ead8b111..7b0292b8f22 100644
--- a/lib/CodeGen/CGExprComplex.cpp
+++ b/lib/CodeGen/CGExprComplex.cpp
@@ -98,12 +98,7 @@ public:
   //===--------------------------------------------------------------------===//
 
   ComplexPairTy Visit(Expr *E) {
-    llvm::DenseMap<const Expr *, ComplexPairTy>::iterator I = 
-      CGF.ConditionalSaveComplexExprs.find(E);
-    if (I != CGF.ConditionalSaveComplexExprs.end())
-      return I->second;
-      
-      return StmtVisitor<ComplexExprEmitter, ComplexPairTy>::Visit(E);
+    return StmtVisitor<ComplexExprEmitter, ComplexPairTy>::Visit(E);
   }
     
   ComplexPairTy VisitStmt(Stmt *S) {
diff --git a/lib/CodeGen/CGExprScalar.cpp b/lib/CodeGen/CGExprScalar.cpp
index 34e247d7c3f..3e1debd820b 100644
--- a/lib/CodeGen/CGExprScalar.cpp
+++ b/lib/CodeGen/CGExprScalar.cpp
@@ -150,11 +150,6 @@ public:
   //===--------------------------------------------------------------------===//
 
   Value *Visit(Expr *E) {
-    llvm::DenseMap<const Expr *, llvm::Value *>::iterator I = 
-      CGF.ConditionalSaveExprs.find(E);
-    if (I != CGF.ConditionalSaveExprs.end())
-      return I->second;
-      
     return StmtVisitor<ScalarExprEmitter, Value*>::Visit(E);
   }
     
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h
index d35a400f7de..120eab484d2 100644
--- a/lib/CodeGen/CodeGenFunction.h
+++ b/lib/CodeGen/CodeGenFunction.h
@@ -592,13 +592,6 @@ public:
   /// when the NRVO has been applied to this variable.
   llvm::DenseMap<const VarDecl *, llvm::Value *> NRVOFlags;
 
-  /// \brief A mapping from 'Save' expression in a conditional expression
-  /// to the IR for this expression. Used to implement IR gen. for Gnu
-  /// extension's missing LHS expression in a conditional operator expression.
-  llvm::DenseMap<const Expr *, llvm::Value *> ConditionalSaveExprs;
-  llvm::DenseMap<const Expr *, ComplexPairTy> ConditionalSaveComplexExprs;
-  llvm::DenseMap<const Expr *, LValue> ConditionalSaveLValueExprs;
-
   EHScopeStack EHStack;
 
   /// i32s containing the indexes of the cleanup destinations.
-- 
GitLab