blob: a451321838e7c8e103788234e73b737a55566418 [file] [log] [blame]
Tim Northoverb4ddc082014-05-30 10:09:59 +00001; RUN: llc < %s -mtriple=thumbv7-none-linux-gnueabi -arm-atomic-cfg-tidy=0 | FileCheck %s
Evan Chengb972e562009-08-07 00:34:42 +00002; PR4659
3; PR4682
4
Rafael Espindola5a24a562010-06-15 19:04:29 +00005define hidden i32 @__gcov_execlp(i8* %path, i8* %arg, ...) nounwind {
Evan Chengb972e562009-08-07 00:34:42 +00006entry:
Stephen Lind24ab202013-07-14 06:24:09 +00007; CHECK-LABEL: __gcov_execlp:
Evan Chengeb56dca2010-11-22 18:12:04 +00008; CHECK: sub sp, #8
9; CHECK: push
Peter Collingbourne78f1ecc2015-04-23 20:31:26 +000010; CHECK: add r7, sp, #8
11; CHECK: sub.w r4, r7, #8
Evan Chengeb56dca2010-11-22 18:12:04 +000012; CHECK: mov sp, r4
13; CHECK-NOT: mov sp, r7
14; CHECK: add sp, #8
Rafael Espindola5a24a562010-06-15 19:04:29 +000015 call void @__gcov_flush() nounwind
Reid Kleckner2d9bb652014-08-22 21:59:26 +000016 call void @llvm.va_start(i8* null)
Evan Chengb972e562009-08-07 00:34:42 +000017 br i1 undef, label %bb5, label %bb
18
19bb: ; preds = %bb, %entry
20 br i1 undef, label %bb5, label %bb
21
22bb5: ; preds = %bb, %entry
23 %0 = alloca i8*, i32 undef, align 4 ; <i8**> [#uses=1]
Rafael Espindola5a24a562010-06-15 19:04:29 +000024 %1 = call i32 @execvp(i8* %path, i8** %0) nounwind ; <i32> [#uses=1]
Evan Chengb972e562009-08-07 00:34:42 +000025 ret i32 %1
26}
27
Rafael Espindola5a24a562010-06-15 19:04:29 +000028declare hidden void @__gcov_flush()
Evan Chengb972e562009-08-07 00:34:42 +000029
Rafael Espindola5a24a562010-06-15 19:04:29 +000030declare i32 @execvp(i8*, i8**) nounwind
Reid Kleckner2d9bb652014-08-22 21:59:26 +000031
32declare void @llvm.va_start(i8*) nounwind