diff options
author | Leny Kholodov <lkholodov@accesssoftek.com> | 2015-06-08 11:39:16 +0000 |
---|---|---|
committer | Leny Kholodov <lkholodov@accesssoftek.com> | 2015-06-08 11:39:16 +0000 |
commit | e3d3ccf99349e3087f311f2b610bdadf6851272f (patch) | |
tree | 59fc8c1301944da44057aaa7fed8e32c7220504a /test/CodeGenCXX/stack-reuse-miscompile.cpp | |
parent | 495e3024ae4e9b6965f3bbe55c19fc9588da5dd0 (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.cpp | 17 |
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(); } |