~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/Transforms/InstCombine/memmove_chk-2.ll

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; Test that lib call simplification doesn't simplify __memmove_chk calls
 
2
; with the wrong prototype.
 
3
;
 
4
; RUN: opt < %s -instcombine -S | FileCheck %s
 
5
 
 
6
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"
 
7
 
 
8
%struct.T1 = type { [100 x i32], [100 x i32], [1024 x i8] }
 
9
%struct.T2 = type { [100 x i32], [100 x i32], [1024 x i8] }
 
10
 
 
11
@t1 = common global %struct.T1 zeroinitializer
 
12
@t2 = common global %struct.T2 zeroinitializer
 
13
 
 
14
define void @test_no_simplify() {
 
15
; CHECK-LABEL: @test_no_simplify(
 
16
  %dst = bitcast %struct.T1* @t1 to i8*
 
17
  %src = bitcast %struct.T2* @t2 to i8*
 
18
 
 
19
; CHECK-NEXT: call i8* @__memmove_chk
 
20
  call i8* @__memmove_chk(i8* %dst, i8* %src, i64 1824)
 
21
  ret void
 
22
}
 
23
 
 
24
declare i8* @__memmove_chk(i8*, i8*, i64)