diff options
| author | Volodymyr Sapsai <vsapsai@apple.com> | 2017-12-21 20:52:59 +0000 |
|---|---|---|
| committer | Volodymyr Sapsai <vsapsai@apple.com> | 2017-12-21 20:52:59 +0000 |
| commit | 22b00ec42e42d94beae12f0c449e9ff2375a3eb4 (patch) | |
| tree | f00fb4ff39e12bdb2463e96a5a39053766248e44 /clang/lib/CodeGen | |
| parent | 016d18c61ab09552caa3b1ee7a47774b8d336802 (diff) | |
| download | bcm5719-llvm-22b00ec42e42d94beae12f0c449e9ff2375a3eb4.tar.gz bcm5719-llvm-22b00ec42e42d94beae12f0c449e9ff2375a3eb4.zip | |
Revert "[CodeGen] Fix crash when a function taking transparent union is redeclared."
This reverts commit r321296. It caused performance regressions
FAIL: imp.execution_time
FAIL: 2007-01-04-KNR-Args.execution_time
FAIL: sse_expandfft.execution_time
FAIL: sse_stepfft.execution_time
llvm-svn: 321306
Diffstat (limited to 'clang/lib/CodeGen')
| -rw-r--r-- | clang/lib/CodeGen/CGCall.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp index 8d2fc5d6aa8..38d7344572d 100644 --- a/clang/lib/CodeGen/CGCall.cpp +++ b/clang/lib/CodeGen/CGCall.cpp @@ -2317,7 +2317,7 @@ void CodeGenFunction::EmitFunctionProlog(const CGFunctionInfo &FI, // If we have the trivial case, handle it with no muss and fuss. if (!isa<llvm::StructType>(ArgI.getCoerceToType()) && - ArgI.getCoerceToType() == ConvertType(Arg->getType()) && + ArgI.getCoerceToType() == ConvertType(Ty) && ArgI.getDirectOffset() == 0) { assert(NumIRArgs == 1); llvm::Value *V = FnArgs[FirstIRArg]; @@ -2414,8 +2414,8 @@ void CodeGenFunction::EmitFunctionProlog(const CGFunctionInfo &FI, break; } - Address Alloca = CreateMemTemp( - Arg->getType(), getContext().getDeclAlign(Arg), Arg->getName()); + Address Alloca = CreateMemTemp(Ty, getContext().getDeclAlign(Arg), + Arg->getName()); // Pointer to store into. Address Ptr = emitAddressAtOffset(*this, Alloca, ArgI); @@ -2461,9 +2461,9 @@ void CodeGenFunction::EmitFunctionProlog(const CGFunctionInfo &FI, } // Match to what EmitParmDecl is expecting for this type. - if (CodeGenFunction::hasScalarEvaluationKind(Arg->getType())) { + if (CodeGenFunction::hasScalarEvaluationKind(Ty)) { llvm::Value *V = - EmitLoadOfScalar(Alloca, false, Arg->getType(), Arg->getLocStart()); + EmitLoadOfScalar(Alloca, false, Ty, Arg->getLocStart()); if (isPromoted) V = emitArgumentDemotion(*this, Arg, V); ArgVals.push_back(ParamValue::forDirect(V)); |

