mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-06 23:32:27 +00:00
FileCheck-ize the tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174865 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ab39afa9d9
commit
595ef3e314
@ -1,14 +1,18 @@
|
|||||||
; Test function attributes
|
; Test function attributes
|
||||||
; RUN: llvm-as < %s | llvm-dis | grep inline | count 2
|
; RUN: llvm-as < %s | llvm-dis | FileCheck %s
|
||||||
|
|
||||||
|
; CHECK: define void @fn1() alwaysinline
|
||||||
define void @fn1() alwaysinline {
|
define void @fn1() alwaysinline {
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; CHECK: define void @fn2() noinline
|
||||||
define void @fn2() noinline {
|
define void @fn2() noinline {
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; CHECK: define void @fn3()
|
||||||
|
; CHECK-NOT: define void @fn3(){{.*}}inline
|
||||||
define void @fn3() {
|
define void @fn3() {
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
; RUN: opt < %s -argpromotion -S | grep nounwind | count 2
|
; RUN: opt < %s -argpromotion -S | FileCheck %s
|
||||||
|
|
||||||
|
; CHECK: define internal i32 @deref(i32 %x.val) nounwind {
|
||||||
define internal i32 @deref(i32* %x) nounwind {
|
define internal i32 @deref(i32* %x) nounwind {
|
||||||
entry:
|
entry:
|
||||||
%tmp2 = load i32* %x, align 4 ; <i32> [#uses=1]
|
%tmp2 = load i32* %x, align 4
|
||||||
ret i32 %tmp2
|
ret i32 %tmp2
|
||||||
}
|
}
|
||||||
|
|
||||||
define i32 @f(i32 %x) {
|
define i32 @f(i32 %x) {
|
||||||
entry:
|
entry:
|
||||||
%x_addr = alloca i32 ; <i32*> [#uses=2]
|
%x_addr = alloca i32
|
||||||
store i32 %x, i32* %x_addr, align 4
|
store i32 %x, i32* %x_addr, align 4
|
||||||
%tmp1 = call i32 @deref( i32* %x_addr ) nounwind ; <i32> [#uses=1]
|
; CHECK: %tmp1 = call i32 @deref(i32 %x_addr.val) nounwind
|
||||||
|
%tmp1 = call i32 @deref( i32* %x_addr ) nounwind
|
||||||
ret i32 %tmp1
|
ret i32 %tmp1
|
||||||
}
|
}
|
||||||
|
@ -1,20 +1,18 @@
|
|||||||
; RUN: opt < %s -deadargelim -S > %t
|
; RUN: opt < %s -deadargelim -S | FileCheck %s
|
||||||
; RUN: cat %t | grep nounwind | count 2
|
|
||||||
; RUN: cat %t | grep signext | count 2
|
|
||||||
; RUN: cat %t | not grep inreg
|
|
||||||
; RUN: cat %t | not grep zeroext
|
|
||||||
; RUN: cat %t | not grep byval
|
|
||||||
|
|
||||||
%struct = type { }
|
%struct = type { }
|
||||||
|
|
||||||
@g = global i8 0
|
@g = global i8 0
|
||||||
|
|
||||||
|
; CHECK: define internal void @foo(i8 signext %y) nounwind
|
||||||
|
|
||||||
define internal zeroext i8 @foo(i8* inreg %p, i8 signext %y, ... ) nounwind {
|
define internal zeroext i8 @foo(i8* inreg %p, i8 signext %y, ... ) nounwind {
|
||||||
store i8 %y, i8* @g
|
store i8 %y, i8* @g
|
||||||
ret i8 0
|
ret i8 0
|
||||||
}
|
}
|
||||||
|
|
||||||
define i32 @bar() {
|
define i32 @bar() {
|
||||||
|
; CHECK: call void @foo(i8 signext 1) nounwind
|
||||||
%A = call zeroext i8(i8*, i8, ...)* @foo(i8* inreg null, i8 signext 1, %struct* byval null ) nounwind
|
%A = call zeroext i8(i8*, i8, ...)* @foo(i8* inreg null, i8 signext 1, %struct* byval null ) nounwind
|
||||||
ret i32 0
|
ret i32 0
|
||||||
}
|
}
|
||||||
|
@ -1,17 +1,21 @@
|
|||||||
; RUN: opt < %s -basicaa -functionattrs -S | grep readnone | count 4
|
; RUN: opt < %s -basicaa -functionattrs -S | FileCheck %s
|
||||||
@x = global i32 0
|
@x = global i32 0
|
||||||
|
|
||||||
|
; CHECK: declare i32 @e() readnone
|
||||||
declare i32 @e() readnone
|
declare i32 @e() readnone
|
||||||
|
|
||||||
|
; CHECK: define i32 @f() readnone
|
||||||
define i32 @f() {
|
define i32 @f() {
|
||||||
%tmp = call i32 @e( ) ; <i32> [#uses=1]
|
%tmp = call i32 @e( ) ; <i32> [#uses=1]
|
||||||
ret i32 %tmp
|
ret i32 %tmp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; CHECK: define i32 @g() readnone
|
||||||
define i32 @g() readonly {
|
define i32 @g() readonly {
|
||||||
ret i32 0
|
ret i32 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; CHECK: define i32 @h() readnone
|
||||||
define i32 @h() readnone {
|
define i32 @h() readnone {
|
||||||
%tmp = load i32* @x ; <i32> [#uses=1]
|
%tmp = load i32* @x ; <i32> [#uses=1]
|
||||||
ret i32 %tmp
|
ret i32 %tmp
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
; RUN: opt < %s -basicaa -functionattrs -S | grep readonly | count 2
|
; RUN: opt < %s -basicaa -functionattrs -S | FileCheck %s
|
||||||
|
|
||||||
|
; CHECK: define i32 @f() readonly
|
||||||
define i32 @f() {
|
define i32 @f() {
|
||||||
entry:
|
entry:
|
||||||
%tmp = call i32 @e( ) ; <i32> [#uses=1]
|
%tmp = call i32 @e( )
|
||||||
ret i32 %tmp
|
ret i32 %tmp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; CHECK: declare i32 @e() readonly
|
||||||
declare i32 @e() readonly
|
declare i32 @e() readonly
|
||||||
|
@ -1,12 +1,18 @@
|
|||||||
; RUN: opt < %s -simplify-libcalls -S > %t
|
; RUN: opt < %s -simplify-libcalls -S | FileCheck %s
|
||||||
; RUN: grep noalias %t | count 2
|
|
||||||
; RUN: grep nocapture %t | count 3
|
|
||||||
; RUN: grep nounwind %t | count 3
|
|
||||||
; RUN: grep readonly %t | count 1
|
|
||||||
|
|
||||||
|
; CHECK: declare noalias i8* @fopen(i8* nocapture, i8* nocapture) nounwind
|
||||||
declare i8* @fopen(i8*, i8*)
|
declare i8* @fopen(i8*, i8*)
|
||||||
|
|
||||||
|
; CHECK: declare i8 @strlen(i8* nocapture) nounwind readonly
|
||||||
declare i8 @strlen(i8*)
|
declare i8 @strlen(i8*)
|
||||||
|
|
||||||
|
; CHECK: declare noalias i32* @realloc(i32* nocapture, i32) nounwind
|
||||||
declare i32* @realloc(i32*, i32)
|
declare i32* @realloc(i32*, i32)
|
||||||
|
|
||||||
; Test deliberately wrong declaration
|
; Test deliberately wrong declaration
|
||||||
declare i32 @strcpy(...)
|
declare i32 @strcpy(...)
|
||||||
|
|
||||||
|
; CHECK-NOT: strcpy{{.*}}noalias
|
||||||
|
; CHECK-NOT: strcpy{{.*}}nocapture
|
||||||
|
; CHECK-NOT: strcpy{{.*}}nounwind
|
||||||
|
; CHECK-NOT: strcpy{{.*}}readonly
|
||||||
|
Loading…
x
Reference in New Issue
Block a user