OSDN Git Service

Upgrade old memset/memcpy signatures (without isVolatile argument) in tests
authorArtur Pilipenko <apilipenko@azulsystems.com>
Wed, 22 Jun 2016 15:16:06 +0000 (15:16 +0000)
committerArtur Pilipenko <apilipenko@azulsystems.com>
Wed, 22 Jun 2016 15:16:06 +0000 (15:16 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273428 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/2007-10-15-CoalescerCrash.ll
test/CodeGen/X86/memset-2.ll
test/CodeGen/X86/negate-add-zero.ll
test/Transforms/Inline/inline-invoke-tail.ll
test/Verifier/2010-08-07-PointerIntrinsic.ll

index c6eb6f0..65e5ed7 100644 (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*)
 
index e9253d3..21c28bd 100644 (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
index 06341dc..5911312 100644 (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
index f4b8065..5a9edac 100644 (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]
index 0c0121d..a502fab 100644 (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