Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/test/Transforms/InstCombine/memcpy-1.ll
Show All 14 Lines | |||||
; CHECK-NEXT: ret i8* [[MEM1]] | ; CHECK-NEXT: ret i8* [[MEM1]] | ||||
; | ; | ||||
%ret = call i8* @memcpy(i8* %mem1, i8* %mem2, i32 %size) | %ret = call i8* @memcpy(i8* %mem1, i8* %mem2, i32 %size) | ||||
ret i8* %ret | ret i8* %ret | ||||
} | } | ||||
; Verify that the strictfp attr doesn't block this optimization. | ; Verify that the strictfp attr doesn't block this optimization. | ||||
define i8* @test_simplify2(i8* %mem1, i8* %mem2, i32 %size) { | define i8* @test_simplify2(i8* %mem1, i8* %mem2, i32 %size) strictfp { | ||||
; CHECK-LABEL: @test_simplify2( | ; CHECK-LABEL: @test_simplify2( | ||||
; CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 [[MEM1:%.*]], i8* align 1 [[MEM2:%.*]], i32 [[SIZE:%.*]], i1 false) | ; CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 [[MEM1:%.*]], i8* align 1 [[MEM2:%.*]], i32 [[SIZE:%.*]], i1 false) | ||||
; CHECK-NEXT: ret i8* [[MEM1]] | ; CHECK-NEXT: ret i8* [[MEM1]] | ||||
; | ; | ||||
%ret = call i8* @memcpy(i8* %mem1, i8* %mem2, i32 %size) strictfp | %ret = call i8* @memcpy(i8* %mem1, i8* %mem2, i32 %size) strictfp | ||||
ret i8* %ret | ret i8* %ret | ||||
} | } |