1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00

Upgrade old memset/memcpy signatures (without isVolatile argument) in tests

We no longer have corresponding code in autoupgrade and the vast majority of the tests were fixed long time ago. Fix the remaining few. One of the verifier test cases is marked as XFAIL because it was passing only because the signature was incorrect.

llvm-svn: 273428
This commit is contained in:
Artur Pilipenko 2016-06-22 15:16:06 +00:00
parent d5f0783b51
commit 2dcad71dba
5 changed files with 13 additions and 9 deletions

View File

@ -224,7 +224,7 @@ declare void @fancy_abort(i8*, i32, i8*)
declare i8* @pool_alloc(%struct.alloc_pool_def*)
declare void @llvm.memset.i64(i8*, i8, i64, i32)
declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1)
declare void @link_block(%struct.basic_block_def*, %struct.basic_block_def*)

View File

@ -1,8 +1,6 @@
; NOTE: Assertions have been autogenerated by update_test_checks.py
; RUN: llc -mtriple=i386-apple-darwin -mcpu=yonah < %s | FileCheck %s
declare void @llvm.memset.i32(i8*, i8, i32, i32) nounwind
define fastcc void @t1() nounwind {
; CHECK-LABEL: t1:
; CHECK: ## BB#0: ## %entry

View File

@ -1133,4 +1133,4 @@ declare %"struct.std::basic_ostream<char,std::char_traits<char> >"* @_ZlsIdLi5EL
declare %"struct.std::basic_ostream<char,std::char_traits<char> >"* @_ZlsIdLi5ELi6EERSoS0_RK15FixedMatrixBaseIT_XT0_EXT1_EE(%"struct.std::basic_ostream<char,std::char_traits<char> >"*, %"struct.FixedMatrixBase<double,5,6>"*)
declare void @llvm.memset.i64(i8* nocapture, i8, i64, i32) nounwind
declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) nounwind

View File

@ -1,4 +1,4 @@
; RUN: opt < %s -inline -S | not grep "tail call void @llvm.memcpy.i32"
; RUN: opt < %s -inline -S | not grep "tail call void @llvm.memcpy.p0i8.p0i8.i32"
; PR3550
define internal void @foo(i32* %p, i32* %q) {
@ -8,8 +8,6 @@ define internal void @foo(i32* %p, i32* %q) {
ret void
}
declare void @llvm.memcpy.i32(i8* nocapture, i8* nocapture, i32, i32) nounwind
define i32 @main() personality i32 (...)* @__gxx_personality_v0 {
%a = alloca i32 ; <i32*> [#uses=3]
%b = alloca i32 ; <i32*> [#uses=2]

View File

@ -2,6 +2,14 @@
; CHECK: assembly parsed, but does not verify as correct
; PR7316
; XFAIL: *
; The test case is buggy, it supposed to check that we reject memcpy with vector
; pointer arguments. Now we don't reject such memcpy and the test case would
; fail if it was correct. Because it used the wrong signature for memcpy (the
; last isVolatile argument was missing) it was rejected by the verifier and
; didn't fail. Fix the memcpy signature and mark it as an expected failure
; for now.
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:32"
target triple = "x86-unknown-unknown"
@aa = global [32 x i8] zeroinitializer, align 1
@ -13,9 +21,9 @@ L.0:
%2 = bitcast [16 x i8]* %1 to [0 x i8]*
%3 = getelementptr [16 x i8], [16 x i8]* @bb
%4 = bitcast [16 x i8]* %3 to [0 x i8]*
call void @llvm.memcpy.i32([0 x i8]* %2, [0 x i8]* %4, i32 16, i32 1)
call void @llvm.memcpy.p0a0i8.p0a0i8.i32([0 x i8]* %2, [0 x i8]* %4, i32 16, i32 1, i1 false)
br label %return
return:
ret void
}
declare void @llvm.memcpy.i32([0 x i8]*, [0 x i8]*, i32, i32) nounwind
declare void @llvm.memcpy.p0a0i8.p0a0i8.i32([0 x i8]* nocapture, [0 x i8]* nocapture readonly, i32, i32, i1) nounwind