From: Sanjiv Gupta Date: Thu, 2 Apr 2009 17:51:27 +0000 (+0000) Subject: Don't use static globals for params as it confuses the optimzer that their values... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=08ae3de4c90a9c4b79fedf878760144df6758ecc;p=clang Don't use static globals for params as it confuses the optimzer that their values are never being used in the function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68328 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGDecl.cpp b/lib/CodeGen/CGDecl.cpp index 1277404e16..b8f5ca85cf 100644 --- a/lib/CodeGen/CGDecl.cpp +++ b/lib/CodeGen/CGDecl.cpp @@ -426,12 +426,6 @@ void CodeGenFunction::EmitParmDecl(const VarDecl &D, llvm::Value *Arg) { if (!Ty->isConstantSizeType()) { // Variable sized values always are passed by-reference. DeclPtr = Arg; - } else if (Target.useGlobalsForAutomaticVariables()) { - // Targets that don't have stack use global address space for parameters. - // Specify external linkage for such globals so that llvm optimizer do - // not assume there values initialized as zero. - DeclPtr = CreateStaticBlockVarDecl(D, ".arg.", - llvm::GlobalValue::ExternalLinkage); } else { // A fixed sized single-value variable becomes an alloca in the entry block. const llvm::Type *LTy = ConvertTypeForMem(Ty);