diff options
author | John McCall <rjmccall@apple.com> | 2012-01-29 02:35:02 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2012-01-29 02:35:02 +0000 |
commit | f48f79636d5506d15784c2c2fa8a02086adda40a (patch) | |
tree | 1c1d7f6036c5df44f19fe6702df4dfba0701f276 /test/CodeGenCXX/arm.cpp | |
parent | 4188760f6bb20f91c6883dffd89204419f852dee (diff) |
Get a little bit smarter about killing off the ReturnValue alloca
in the presence of straight-line cleanups. This is a simple but
important case, particularly for ARC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149190 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/arm.cpp')
-rw-r--r-- | test/CodeGenCXX/arm.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/test/CodeGenCXX/arm.cpp b/test/CodeGenCXX/arm.cpp index a767f42555..0a4754b815 100644 --- a/test/CodeGenCXX/arm.cpp +++ b/test/CodeGenCXX/arm.cpp @@ -45,24 +45,18 @@ namespace test1 { } // CHECK: define linkonce_odr [[A]]* @_ZN5test11AC1Ei([[A]]* %this, i32 %i) unnamed_addr - // CHECK: [[RET:%.*]] = alloca [[A]]*, align 4 // CHECK: [[THIS:%.*]] = alloca [[A]]*, align 4 // CHECK: store [[A]]* {{.*}}, [[A]]** [[THIS]] // CHECK: [[THIS1:%.*]] = load [[A]]** [[THIS]] - // CHECK: store [[A]]* [[THIS1]], [[A]]** [[RET]] // CHECK: call [[A]]* @_ZN5test11AC2Ei( - // CHECK: [[THIS2:%.*]] = load [[A]]** [[RET]] - // CHECK: ret [[A]]* [[THIS2]] + // CHECK: ret [[A]]* [[THIS1]] // CHECK: define linkonce_odr [[A]]* @_ZN5test11AD1Ev([[A]]* %this) unnamed_addr - // CHECK: [[RET:%.*]] = alloca [[A]]*, align 4 // CHECK: [[THIS:%.*]] = alloca [[A]]*, align 4 // CHECK: store [[A]]* {{.*}}, [[A]]** [[THIS]] // CHECK: [[THIS1:%.*]] = load [[A]]** [[THIS]] - // CHECK: store [[A]]* [[THIS1]], [[A]]** [[RET]] // CHECK: call [[A]]* @_ZN5test11AD2Ev( - // CHECK: [[THIS2:%.*]] = load [[A]]** [[RET]] - // CHECK: ret [[A]]* [[THIS2]] + // CHECK: ret [[A]]* [[THIS1]] } // Awkward virtual cases. |