diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-06-16 19:34:01 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-06-16 19:34:01 +0000 |
| commit | a20e2dfe869982c3609185f6171194f1b85c5264 (patch) | |
| tree | 305587fefd3c1f95282fcc79cee5467e1fb6b85a /llvm/test/Transforms/SimplifyLibCalls | |
| parent | 22ce5b62b08eedca3008338d31792afb6807c16d (diff) | |
| download | bcm5719-llvm-a20e2dfe869982c3609185f6171194f1b85c5264.tar.gz bcm5719-llvm-a20e2dfe869982c3609185f6171194f1b85c5264.zip | |
Make sure that simplify libcalls does not replace a call with one calling
convention with a new call with a different calling convention.
llvm-svn: 106134
Diffstat (limited to 'llvm/test/Transforms/SimplifyLibCalls')
| -rw-r--r-- | llvm/test/Transforms/SimplifyLibCalls/PR7357.ll | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SimplifyLibCalls/PR7357.ll b/llvm/test/Transforms/SimplifyLibCalls/PR7357.ll new file mode 100644 index 00000000000..6d5c1d5047d --- /dev/null +++ b/llvm/test/Transforms/SimplifyLibCalls/PR7357.ll @@ -0,0 +1,16 @@ +; RUN: opt < %s -default-data-layout="e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-n32" -simplify-libcalls -S | FileCheck %s +@.str1 = private constant [11 x i8] c"(){};[]&|:\00", align 4 + +; check that simplify libcalls will not replace a call with one calling +; convention with a new call with a different calling convention. + +; CHECK: define arm_aapcscc i32 @foo(i32 %argc) +; CHECK: call arm_aapcscc i8* @strchr +define arm_aapcscc i32 @foo(i32 %argc) nounwind { +bb.nph: + call arm_aapcscc i8* @strchr(i8* getelementptr ([11 x i8]* @.str1, i32 0, +i32 0), i32 %argc) nounwind readonly + ret i32 0 +} + +declare arm_aapcscc i8* @strchr(i8*, i32) nounwind readonly |

