diff options
author | Chris Lattner <sabre@nondot.org> | 2010-04-20 05:44:43 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-04-20 05:44:43 +0000 |
commit | fb97cf24158aa7f1fd74374052f99733ef331bb9 (patch) | |
tree | ceae9ba184436a87065c9783c21e2548154cd7c3 /lib/CodeGen/CGCall.cpp | |
parent | 107ccd1f56836ae57c1a5a9c13c881b0293d1e98 (diff) |
don't slap noalias attribute on stret result arguments.
This mirror's Dan's patch for llvm-gcc in r97989, and
fixes the miscompilation in PR6525. There is some contention
over whether this is the right thing to do, but it is the
conservative answer and demonstrably fixes a miscompilation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101877 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGCall.cpp')
-rw-r--r-- | lib/CodeGen/CGCall.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/CodeGen/CGCall.cpp b/lib/CodeGen/CGCall.cpp index 145d693649..8b5c3a0f6c 100644 --- a/lib/CodeGen/CGCall.cpp +++ b/lib/CodeGen/CGCall.cpp @@ -586,8 +586,7 @@ void CodeGenModule::ConstructAttributeList(const CGFunctionInfo &FI, case ABIArgInfo::Indirect: PAL.push_back(llvm::AttributeWithIndex::get(Index, - llvm::Attribute::StructRet | - llvm::Attribute::NoAlias)); + llvm::Attribute::StructRet)); ++Index; // sret disables readnone and readonly FuncAttrs &= ~(llvm::Attribute::ReadOnly | |