Remove the "conditional save" hashtables from IR generation.

llvm-svn: 125761
This commit is contained in:
John McCall 2011-02-17 19:02:56 +00:00
parent 428d75ffd9
commit e6be5e1c0d
4 changed files with 1 additions and 23 deletions

View File

@ -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");

View File

@ -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) {

View File

@ -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);
}

View File

@ -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.