summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/stack-reuse-miscompile.cpp
diff options
context:
space:
mode:
authorLeny Kholodov <lkholodov@accesssoftek.com>2015-06-08 11:39:16 +0000
committerLeny Kholodov <lkholodov@accesssoftek.com>2015-06-08 11:39:16 +0000
commite3d3ccf99349e3087f311f2b610bdadf6851272f (patch)
tree59fc8c1301944da44057aaa7fed8e32c7220504a /test/CodeGenCXX/stack-reuse-miscompile.cpp
parent495e3024ae4e9b6965f3bbe55c19fc9588da5dd0 (diff)
Update test with target flag and amended results
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239298 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/stack-reuse-miscompile.cpp')
-rw-r--r--test/CodeGenCXX/stack-reuse-miscompile.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/test/CodeGenCXX/stack-reuse-miscompile.cpp b/test/CodeGenCXX/stack-reuse-miscompile.cpp
index ff01bee802..63d15fd1e8 100644
--- a/test/CodeGenCXX/stack-reuse-miscompile.cpp
+++ b/test/CodeGenCXX/stack-reuse-miscompile.cpp
@@ -1,4 +1,4 @@
-// RUN: %clang -S -emit-llvm -O1 -mllvm -disable-llvm-optzns -S %s -o - | FileCheck %s
+// RUN: %clang -S -target armv7l-unknown-linux-gnueabihf -emit-llvm -O1 -mllvm -disable-llvm-optzns -S %s -o - | FileCheck %s
// This test should not to generate llvm.lifetime.start/llvm.lifetime.end for
// f function because all temporary objects in this function are used for the
@@ -25,15 +25,12 @@ const char * f(S s)
{
// CHECK: [[T1:%.*]] = alloca %class.T, align 4
// CHECK: [[T2:%.*]] = alloca %class.T, align 4
-// CHECK: [[T3:%.*]] = alloca %class.S, align 4
-// CHECK: [[T4:%.*]] = alloca %class.T, align 4
-// CHECK: [[T5:%.*]] = call x86_thiscallcc %class.T* @"\01??0T@@QAE@QBD@Z"
-// CHECK: [[T6:%.*]] = bitcast %class.S* [[T3]] to i8*
-// CHECK: [[T7:%.*]] = bitcast %class.S* %s to i8*
-// CHECK: call void @llvm.memcpy.p0i8.p0i8.i32
-// CHECK: [[T8:%.*]] = call x86_thiscallcc %class.T* @"\01??0T@@QAE@VS@@@Z"
-// CHECK: call x86_thiscallcc void @"\01?concat@T@@QBE?AV1@ABV1@@Z"
-// CHECK: [[T9:%.*]] = call x86_thiscallcc i8* @"\01?str@T@@QBEPBDXZ"(%class.T* [[T4]])
+// CHECK: [[T3:%.*]] = alloca %class.T, align 4
+// CHECK: [[T4:%.*]] = call %class.T* @_ZN1TC1EPKc(%class.T* [[T1]], i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i32 0, i32 0))
+// CHECK: [[T5:%.*]] = call %class.T* @_ZN1TC1E1S(%class.T* [[T2]], [2 x i32] %{{.*}})
+// CHECK: call void @_ZNK1T6concatERKS_(%class.T* sret [[T3]], %class.T* [[T1]], %class.T* dereferenceable(16) [[T2]])
+// CHECK: [[T6:%.*]] = call i8* @_ZNK1T3strEv(%class.T* [[T3]])
+// CHECK: ret i8* [[T6]]
return T("[").concat(T(s)).str();
}