1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 16:33:37 +01:00
llvm-mirror/test/Transforms/InstCombine/memset_chk.ll
Eric Christopher a671e4f7aa Migrate _chk call lowering from SimplifyLibCalls to InstCombine. Stub
out the remainder of the calls that we should lower in some way and
move the tests to the new correct directory. Fix up tests that are now
optimized more than they were before by -instcombine.

llvm-svn: 97875
2010-03-06 10:50:38 +00:00

19 lines
676 B
LLVM

; RUN: opt < %s -instcombine -S | FileCheck %s
; rdar://7719085
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"
%struct.data = type { [100 x i32], [100 x i32], [1024 x i8] }
define i32 @t() nounwind ssp {
; CHECK: @t
; CHECK: @llvm.memset.i64
entry:
%0 = alloca %struct.data, align 8 ; <%struct.data*> [#uses=1]
%1 = bitcast %struct.data* %0 to i8* ; <i8*> [#uses=1]
%2 = call i8* @__memset_chk(i8* %1, i32 0, i64 1824, i64 1824) nounwind ; <i8*> [#uses=0]
ret i32 0
}
declare i8* @__memset_chk(i8*, i32, i64, i64) nounwind