summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorVolodymyr Sapsai <vsapsai@apple.com>2017-12-21 20:52:59 +0000
committerVolodymyr Sapsai <vsapsai@apple.com>2017-12-21 20:52:59 +0000
commit22b00ec42e42d94beae12f0c449e9ff2375a3eb4 (patch)
treef00fb4ff39e12bdb2463e96a5a39053766248e44 /clang/lib/CodeGen
parent016d18c61ab09552caa3b1ee7a47774b8d336802 (diff)
downloadbcm5719-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.cpp10
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));
OpenPOWER on IntegriCloud