diff options
| author | Meador Inge <meadori@codesourcery.com> | 2012-11-10 15:16:48 +0000 |
|---|---|---|
| committer | Meador Inge <meadori@codesourcery.com> | 2012-11-10 15:16:48 +0000 |
| commit | bcd88ef76491ed5939e2c4542e1b8fbe7cbdaec0 (patch) | |
| tree | 56f606bf6a2ed96f8b6105f4f3ec28897049d6e4 /llvm/test/Transforms/InstCombine/strcspn-2.ll | |
| parent | 91b014cd66797f997d762c594282914d91fcfe64 (diff) | |
| download | bcm5719-llvm-bcd88ef76491ed5939e2c4542e1b8fbe7cbdaec0.tar.gz bcm5719-llvm-bcd88ef76491ed5939e2c4542e1b8fbe7cbdaec0.zip | |
instcombine: Migrate strcspn optimizations
This patch migrates the strcspn optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 167675
Diffstat (limited to 'llvm/test/Transforms/InstCombine/strcspn-2.ll')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/strcspn-2.ll | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/strcspn-2.ll b/llvm/test/Transforms/InstCombine/strcspn-2.ll new file mode 100644 index 00000000000..4e2393686c7 --- /dev/null +++ b/llvm/test/Transforms/InstCombine/strcspn-2.ll @@ -0,0 +1,21 @@ +; Test that the strcspn library call simplifier works correctly. +; +; RUN: opt < %s -instcombine -S | FileCheck %s + +target datalayout = "e-p:64:64:64-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-s0:64:64-f80:128:128-n8:16:32:64-S128" + +@null = constant [1 x i8] zeroinitializer + +declare double @strcspn(i8*, i8*) + +; Check that strcspn functions with the wrong prototype aren't simplified. + +define double @test_no_simplify1(i8* %pat) { +; CHECK: @test_no_simplify1 + %str = getelementptr [1 x i8]* @null, i32 0, i32 0 + + %ret = call double @strcspn(i8* %str, i8* %pat) +; CHECK-NEXT: call double @strcspn + ret double %ret +; CHECK-NEXT: ret double %ret +} |

