mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Change these tests to feed the assembly files to opt directly, instead
of using llvm-as, now that opt supports this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81226 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
; real benchmark (mst from Olden benchmark, MakeGraph function). When SCCP is
|
||||
; fixed, this should be eliminated by a single SCCP application.
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep loop
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep loop
|
||||
|
||||
define i32* @test() {
|
||||
bb1:
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep sub
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep sub
|
||||
|
||||
define void @test3(i32, i32) {
|
||||
add i32 0, 0 ; <i32>:3 [#uses=0]
|
||||
|
@@ -1,7 +1,7 @@
|
||||
; This test shows a case where SCCP is incorrectly eliminating the PHI node
|
||||
; because it thinks it has a constant 0 value, when it really doesn't.
|
||||
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | grep phi
|
||||
; RUN: opt %s -sccp | llvm-dis | grep phi
|
||||
|
||||
define i32 @test(i32 %A, i1 %c) {
|
||||
bb1:
|
||||
|
@@ -2,7 +2,7 @@
|
||||
; this is in fact NOT the case, so the return should still be alive in the code
|
||||
; after sccp and CFG simplification have been performed.
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -sccp -simplifycfg | llvm-dis | \
|
||||
; RUN: opt %s -sccp -simplifycfg | llvm-dis | \
|
||||
; RUN: grep ret
|
||||
|
||||
define void @old_main() {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep %X
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep %X
|
||||
|
||||
@G = external global [40 x i32] ; <[40 x i32]*> [#uses=1]
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp -simplifycfg | llvm-dis | \
|
||||
; RUN: opt %s -sccp -simplifycfg | llvm-dis | \
|
||||
; RUN: not grep then:
|
||||
|
||||
define void @cprop_test11(i32* %data.1) {
|
||||
|
@@ -1,5 +1,5 @@
|
||||
; The PHI cannot be eliminated from this testcase, SCCP is mishandling invoke's!
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | grep phi
|
||||
; RUN: opt %s -sccp | llvm-dis | grep phi
|
||||
|
||||
declare void @foo()
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp -disable-output
|
||||
; RUN: opt %s -sccp -disable-output
|
||||
|
||||
declare i32 @foo()
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | grep {ret i32 1}
|
||||
; RUN: opt %s -sccp | llvm-dis | grep {ret i32 1}
|
||||
|
||||
; This function definitely returns 1, even if we don't know the direction
|
||||
; of the branch.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp -disable-output
|
||||
; RUN: opt %s -sccp -disable-output
|
||||
; END.
|
||||
target datalayout = "E-p:32:32"
|
||||
target triple = "powerpc-apple-darwin8.7.0"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
; Test VectorType handling by SCCP.
|
||||
; SCCP ignores VectorTypes until PR 1034 is fixed
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -sccp
|
||||
; RUN: opt %s -sccp
|
||||
; END.
|
||||
|
||||
target datalayout = "E-p:32:32"
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | \
|
||||
; RUN: opt %s -sccp | llvm-dis | \
|
||||
; RUN: grep {ret i1 false}
|
||||
|
||||
define i1 @foo() {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | grep undef | count 1
|
||||
; RUN: opt %s -sccp | llvm-dis | grep undef | count 1
|
||||
; PR1938
|
||||
|
||||
define i32 @main() {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep {ret i32 undef}
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep {ret i32 undef}
|
||||
; PR2358
|
||||
target datalayout =
|
||||
"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
|
||||
|
@@ -1,5 +1,5 @@
|
||||
; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | grep {ret i32 42}
|
||||
; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | grep {ret i32 undef}
|
||||
; RUN: opt %s -ipsccp | llvm-dis | grep {ret i32 42}
|
||||
; RUN: opt %s -ipsccp | llvm-dis | grep {ret i32 undef}
|
||||
; PR3325
|
||||
|
||||
define i32 @main() {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp -disable-output
|
||||
; RUN: opt %s -sccp -disable-output
|
||||
; PR4277
|
||||
|
||||
define i32 @main() nounwind {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | grep {ret i101 12}
|
||||
; RUN: opt %s -sccp | llvm-dis | grep {ret i101 12}
|
||||
|
||||
@Y = constant [6 x i101] [ i101 12, i101 123456789000000, i101 -12,i101
|
||||
-123456789000000, i101 0,i101 9123456789000000]
|
||||
|
@@ -1,7 +1,7 @@
|
||||
; This is a basic sanity check for constant propogation. The add instruction
|
||||
; should be eliminated.
|
||||
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep add
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep add
|
||||
|
||||
define i128 @test(i1 %B) {
|
||||
br i1 %B, label %BB1, label %BB2
|
||||
|
@@ -1,8 +1,8 @@
|
||||
; This is a basic sanity check for constant propogation. The add instruction
|
||||
; and phi instruction should be eliminated.
|
||||
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep phi
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep add
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep phi
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep add
|
||||
|
||||
define i128 @test(i1 %B) {
|
||||
br i1 %B, label %BB1, label %BB2
|
||||
|
@@ -2,8 +2,8 @@
|
||||
; arithmatic operations.
|
||||
|
||||
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep mul
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep umod
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep mul
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep umod
|
||||
|
||||
define i128 @test(i1 %B) {
|
||||
br i1 %B, label %BB1, label %BB2
|
||||
|
@@ -2,9 +2,9 @@
|
||||
; logic operations.
|
||||
|
||||
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep and
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep trunc
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | grep {ret i100 -1}
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep and
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep trunc
|
||||
; RUN: opt %s -sccp | llvm-dis | grep {ret i100 -1}
|
||||
|
||||
define i100 @test(i133 %A) {
|
||||
%B = and i133 0, %A
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep %X
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep %X
|
||||
|
||||
@G = global [1000000 x i10000] zeroinitializer
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | grep -v {ret i512 undef} | \
|
||||
; RUN: opt %s -ipsccp | llvm-dis | grep -v {ret i512 undef} | \
|
||||
; RUN: grep {ret i8 2}
|
||||
|
||||
define internal i512 @test(i1 %B) {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | grep -v {ret i101 0} | \
|
||||
; RUN: opt %s -ipsccp | llvm-dis | grep -v {ret i101 0} | \
|
||||
; RUN: grep -v {ret i101 undef} | not grep ret
|
||||
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
; This test makes sure that these instructions are properly constant propagated.
|
||||
|
||||
; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | not grep load
|
||||
; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | not grep add
|
||||
; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | not grep phi
|
||||
; RUN: opt %s -ipsccp | llvm-dis | not grep load
|
||||
; RUN: opt %s -ipsccp | llvm-dis | not grep add
|
||||
; RUN: opt %s -ipsccp | llvm-dis | not grep phi
|
||||
|
||||
|
||||
@Y = constant [2 x { i212, float }] [ { i212, float } { i212 12, float 1.0 },
|
||||
|
@@ -1,7 +1,7 @@
|
||||
; This test makes sure that these instructions are properly constant propagated.
|
||||
|
||||
; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | not grep load
|
||||
; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | not grep fdiv
|
||||
; RUN: opt %s -ipsccp | llvm-dis | not grep load
|
||||
; RUN: opt %s -ipsccp | llvm-dis | not grep fdiv
|
||||
|
||||
@X = constant i212 42
|
||||
@Y = constant [2 x { i212, float }] [ { i212, float } { i212 12, float 1.0 },
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep phi
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep phi
|
||||
|
||||
define i999 @test(i999%A, i1 %c) {
|
||||
bb1:
|
||||
|
@@ -1,7 +1,7 @@
|
||||
; This is a basic sanity check for constant propogation. The add instruction
|
||||
; should be eliminated.
|
||||
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep add
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep add
|
||||
|
||||
define i32 @test(i1 %B) {
|
||||
br i1 %B, label %BB1, label %BB2
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp -loop-deletion -simplifycfg | llvm-dis | \
|
||||
; RUN: opt %s -sccp -loop-deletion -simplifycfg | llvm-dis | \
|
||||
; RUN: not grep br
|
||||
|
||||
; No matter how hard you try, sqrt(1.0) is always 1.0. This allows the
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | \
|
||||
; RUN: opt %s -ipsccp | llvm-dis | \
|
||||
; RUN: grep -v {ret i32 17} | grep -v {ret i32 undef} | not grep ret
|
||||
|
||||
define internal i32 @bar(i32 %A) {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | \
|
||||
; RUN: opt %s -ipsccp | llvm-dis | \
|
||||
; RUN: grep -v {ret i32 0} | grep -v {ret i32 undef} | not grep ret
|
||||
|
||||
define internal i32 @bar(i32 %A) {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | not grep global
|
||||
; RUN: opt %s -ipsccp | llvm-dis | not grep global
|
||||
|
||||
@G = internal global i32 undef ; <i32*> [#uses=5]
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
; This test makes sure that these instructions are properly constant propagated.
|
||||
;
|
||||
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep load
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep load
|
||||
|
||||
|
||||
@X = constant i32 42 ; <i32*> [#uses=1]
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | grep {ret i32 0}
|
||||
; RUN: opt %s -sccp | llvm-dis | grep {ret i32 0}
|
||||
|
||||
; Test that SCCP has basic knowledge of when and/or nuke overdefined values.
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp -dce -simplifycfg | llvm-dis | \
|
||||
; RUN: opt %s -sccp -dce -simplifycfg | llvm-dis | \
|
||||
; RUN: not grep br
|
||||
|
||||
define i32 @test(i32 %param) {
|
||||
|
@@ -1,7 +1,7 @@
|
||||
; This is the test case taken from appel's book that illustrates a hard case
|
||||
; that SCCP gets right. BB3 should be completely eliminated.
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -sccp -constprop -dce -simplifycfg | \
|
||||
; RUN: opt %s -sccp -constprop -dce -simplifycfg | \
|
||||
; RUN: llvm-dis | not grep BB3
|
||||
|
||||
define i32 @testfunction(i32 %i0, i32 %j0) {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep select
|
||||
; RUN: opt %s -sccp | llvm-dis | not grep select
|
||||
|
||||
define i32 @test1(i1 %C) {
|
||||
%X = select i1 %C, i32 0, i32 0 ; <i32> [#uses=1]
|
||||
|
Reference in New Issue
Block a user