mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-11 21:45:16 +00:00
Renamed as' =>
llvm-as', dis' =>
llvm-dis', link' =>
llvm-link'.
llvm-svn: 8558
This commit is contained in:
parent
7eba3f6ece
commit
563ba88392
@ -1,7 +1,7 @@
|
||||
; Inlining used to break PHI nodes. This tests that they are correctly updated
|
||||
; when a node is split around the call instruction. The verifier caught the error.
|
||||
;
|
||||
; RUN: as < %s | opt -inline
|
||||
; RUN: llvm-as < %s | opt -inline
|
||||
;
|
||||
implementation
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
;
|
||||
; Fixed by adding new arguments to ConstantFoldTerminator
|
||||
;
|
||||
; RUN: as < %s | opt -constprop
|
||||
; RUN: llvm-as < %s | opt -constprop
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -adce
|
||||
; RUN: llvm-as < %s | opt -adce
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
; It is illegal to remove BB1 because it will mess up the PHI node!
|
||||
;
|
||||
; RUN: as < %s | opt -adce | dis | grep BB1
|
||||
; RUN: llvm-as < %s | opt -adce | llvm-dis | grep BB1
|
||||
|
||||
|
||||
int "test"(bool %C, int %A, int %B) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
; removed even though there were uses still around. Now the uses are filled
|
||||
; in with a dummy value before the PHI is deleted.
|
||||
;
|
||||
; RUN: as < %s | opt -adce
|
||||
; RUN: llvm-as < %s | opt -adce
|
||||
|
||||
%node_t = type { double*, %node_t*, %node_t**, double**, double*, int, int }
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
; This testcase is a distilled form of: 2002-05-28-Crash.ll
|
||||
|
||||
; RUN: as < %s | opt -adce
|
||||
; RUN: llvm-as < %s | opt -adce
|
||||
|
||||
float "test"(int %i) {
|
||||
%F = cast int %i to float ; This BB is not dead
|
||||
|
@ -11,7 +11,7 @@
|
||||
; return !s;
|
||||
;}
|
||||
;
|
||||
; RUN: as < %s | opt -adce
|
||||
; RUN: llvm-as < %s | opt -adce
|
||||
|
||||
implementation ; Functions:
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
; block in this function, it would work fine, but that would be the part we
|
||||
; have to fix now, wouldn't it....
|
||||
;
|
||||
; RUN: as < %s | opt -adce
|
||||
; RUN: llvm-as < %s | opt -adce
|
||||
|
||||
void %foo(sbyte* %reg5481) {
|
||||
%cast611 = cast sbyte* %reg5481 to sbyte** ; <sbyte**> [#uses=1]
|
||||
|
@ -1,6 +1,6 @@
|
||||
; This testcase was extracted from the gzip SPEC benchmark
|
||||
;
|
||||
; RUN: as < %s | opt -adce
|
||||
; RUN: llvm-as < %s | opt -adce
|
||||
|
||||
%bk = external global uint ; <uint*> [#uses=2]
|
||||
%hufts = external global uint ; <uint*> [#uses=1]
|
||||
|
@ -1,5 +1,5 @@
|
||||
; Testcase reduced from 197.parser by bugpoint
|
||||
; RUN: as < %s | opt -adce
|
||||
; RUN: llvm-as < %s | opt -adce
|
||||
implementation ; Functions:
|
||||
|
||||
void %conjunction_prune() {
|
||||
|
@ -2,7 +2,7 @@
|
||||
; entries for it's postdominator. But I think this can only happen when the
|
||||
; PHI node is dead, so we just avoid patching up dead PHI nodes.
|
||||
|
||||
; RUN: as < %s | opt -adce
|
||||
; RUN: llvm-as < %s | opt -adce
|
||||
|
||||
target endian = little
|
||||
target pointersize = 32
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -adce -disable-output
|
||||
; RUN: llvm-as < %s | opt -adce -disable-output
|
||||
%G = external global int*
|
||||
|
||||
implementation ; Functions:
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -adce -disable-output
|
||||
; RUN: llvm-as < %s | opt -adce -disable-output
|
||||
|
||||
target endian = little
|
||||
target pointersize = 32
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -adce -simplifycfg | dis | not grep then:
|
||||
; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis | not grep then:
|
||||
|
||||
void %dead_test8(int* %data.1, int %idx.1) {
|
||||
entry: ; No predecessors!
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -adce -disable-output
|
||||
; RUN: llvm-as < %s | opt -adce -disable-output
|
||||
|
||||
implementation ; Functions:
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This is the test case taken from Appel's book that illustrates a hard case
|
||||
; that SCCP gets right, and when followed by ADCE, is completely eliminated
|
||||
;
|
||||
; RUN: as < %s | opt -sccp -adce -simplifycfg | dis | not grep br
|
||||
; RUN: llvm-as < %s | opt -sccp -adce -simplifycfg | llvm-dis | not grep br
|
||||
|
||||
int "test function"(int %i0, int %j0) {
|
||||
BB1:
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -adce -simplifycfg | dis
|
||||
; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis
|
||||
|
||||
int "Test"(int %A, int %B) {
|
||||
BB1:
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -adce -simplifycfg | dis
|
||||
; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis
|
||||
|
||||
%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
|
||||
%spec_fd_t = type { int, int, int, ubyte* }
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -adce -simplifycfg | dis
|
||||
; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis
|
||||
|
||||
%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
|
||||
%spec_fd_t = type { int, int, int, ubyte* }
|
||||
|
@ -2,7 +2,7 @@
|
||||
; is performed. It is not legal to delete the second load instruction because
|
||||
; the value computed by the first load instruction is changed by the store.
|
||||
|
||||
; RUN: as < %s | opt -load-vn -gcse -instcombine | dis | grep DONOTREMOVE
|
||||
; RUN: llvm-as < %s | opt -load-vn -gcse -instcombine | llvm-dis | grep DONOTREMOVE
|
||||
|
||||
int %test() {
|
||||
%A = alloca int
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -basicaa -aa-eval -disable-output
|
||||
; RUN: llvm-as < %s | opt -basicaa -aa-eval -disable-output
|
||||
; Test for a bug in BasicAA which caused a crash when querying equality of P1&P2
|
||||
void %test({[2 x int],[2 x int]}* %A, long %X, long %Y) {
|
||||
%P1 = getelementptr {[2 x int],[2 x int]}* %A, long 0, ubyte 0, long %X
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -load-vn -gcse -instcombine | dis | grep sub
|
||||
; RUN: llvm-as < %s | opt -load-vn -gcse -instcombine | llvm-dis | grep sub
|
||||
|
||||
; BasicAA was incorrectly concluding that P1 and P2 didn't conflict!
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -basicaa -aa-eval -disable-output
|
||||
; RUN: llvm-as < %s | opt -basicaa -aa-eval -disable-output
|
||||
; Test for a bug in BasicAA which caused a crash when querying equality of P1&P2
|
||||
void %test([17 x ushort]* %mask_bits) {
|
||||
%P1 = getelementptr [17 x ushort]* %mask_bits, long 0, long 0
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -licm -disable-output
|
||||
; RUN: llvm-as < %s | opt -licm -disable-output
|
||||
%struct..apr_array_header_t = type { int*, int, int, int, sbyte* }
|
||||
%struct..apr_table_t = type { %struct..apr_array_header_t, uint, [32 x int], [32 x int] }
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -basicaa -aa-eval -disable-output
|
||||
; RUN: llvm-as < %s | opt -basicaa -aa-eval -disable-output
|
||||
|
||||
int %MTConcat([3 x int]* %a.1) {
|
||||
%tmp.961 = getelementptr [3 x int]* %a.1, long 0, long 4
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -basicaa -aa-eval -disable-output
|
||||
; RUN: llvm-as < %s | opt -basicaa -aa-eval -disable-output
|
||||
|
||||
%struct..RefPoint = type { int, { uint, ushort, ushort } }
|
||||
%struct..RefRect = type { %struct..RefPoint, %struct..RefPoint }
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This testcase tests for various features the basicaa test should be able to
|
||||
; determine, as noted in the comments.
|
||||
|
||||
; RUN: as < %s | opt -basicaa -load-vn -gcse -instcombine -dce | dis | not grep REMOVE
|
||||
; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine -dce | llvm-dis | not grep REMOVE
|
||||
|
||||
%Global = external global { int }
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
; disambiguating some obvious cases. All loads should be removable in
|
||||
; this testcase.
|
||||
|
||||
; RUN: as < %s | opt -basicaa -load-vn -gcse -instcombine -dce | dis | not grep load
|
||||
; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine -dce | llvm-dis | not grep load
|
||||
|
||||
%A = global int 7
|
||||
%B = global int 8
|
||||
|
@ -3,7 +3,7 @@
|
||||
; two pointers, then the load should be hoisted, and the store sunk. Thus
|
||||
; the loop becomes empty and can be deleted by ADCE.
|
||||
|
||||
; RUN: as < %s | opt -basicaa -licm --adce | dis | not grep Loop
|
||||
; RUN: llvm-as < %s | opt -basicaa -licm --adce | llvm-dis | not grep Loop
|
||||
|
||||
%A = global int 7
|
||||
%B = global int 8
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Make sure that the constant propogator doesn't divide by zero!
|
||||
;
|
||||
; RUN: as < %s | opt -constprop
|
||||
; RUN: llvm-as < %s | opt -constprop
|
||||
;
|
||||
|
||||
int "test"() {
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
; Fix #2: The unary not instruction now no longer exists. Change to xor.
|
||||
|
||||
; RUN: as < %s | opt -constprop | dis | not grep 'int 0'
|
||||
; RUN: llvm-as < %s | opt -constprop | llvm-dis | not grep 'int 0'
|
||||
|
||||
int "test1"() {
|
||||
%R = xor int 123, -1
|
||||
|
@ -1,6 +1,6 @@
|
||||
; SetCC on boolean values was not implemented!
|
||||
|
||||
; RUN: as < %s | opt -constprop -die | dis | not grep 'set'
|
||||
; RUN: llvm-as < %s | opt -constprop -die | llvm-dis | not grep 'set'
|
||||
|
||||
bool "test1"() {
|
||||
%A = setle bool true, false
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Make sure that the constant propagator doesn't cause a sigfpe
|
||||
;
|
||||
; RUN: as < %s | opt -constprop
|
||||
; RUN: llvm-as < %s | opt -constprop
|
||||
;
|
||||
|
||||
int "test"() {
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This is a basic sanity check for constant propogation. The add instruction
|
||||
; should be eliminated.
|
||||
|
||||
; RUN: as < %s | opt -constprop -die | dis | not grep add
|
||||
; RUN: llvm-as < %s | opt -constprop -die | llvm-dis | not grep add
|
||||
|
||||
int %test(bool %B) {
|
||||
br bool %B, label %BB1, label %BB2
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Ensure constant propogation of logical instructions is working correctly.
|
||||
|
||||
; RUN: as < %s | opt -constprop -die | dis | not ggrep -E 'and|or|xor'
|
||||
; RUN: llvm-as < %s | opt -constprop -die | llvm-dis | not ggrep -E 'and|or|xor'
|
||||
|
||||
|
||||
int "test1"() { %R = and int 4,1234 ret int %R }
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Ensure constant propogation of 'not' instructions is working correctly.
|
||||
|
||||
; RUN: as < %s | opt -constprop -die | dis | not grep xor
|
||||
; RUN: llvm-as < %s | opt -constprop -die | llvm-dis | not grep xor
|
||||
|
||||
int "test1"() {
|
||||
%R = xor int 4, -1
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This is a basic sanity check for constant propogation. The add instruction
|
||||
; should be eliminated.
|
||||
|
||||
; RUN: as < %s | opt -constprop -die | dis | not grep phi
|
||||
; RUN: llvm-as < %s | opt -constprop -die | llvm-dis | not grep phi
|
||||
|
||||
int %test(bool %B) {
|
||||
BB0:
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Ensure constant propagation of remainder instructions is working correctly.
|
||||
|
||||
; RUN: as < %s | opt -constprop -die | dis | not grep rem
|
||||
; RUN: llvm-as < %s | opt -constprop -die | llvm-dis | not grep rem
|
||||
|
||||
int %test1() {
|
||||
%R = rem int 4, 3
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -constmerge > /dev/null
|
||||
; RUN: llvm-as < %s | opt -constmerge > /dev/null
|
||||
|
||||
%foo = internal constant {int} {int 7}
|
||||
%bar = internal constant {int} {int 7}
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -cee
|
||||
; RUN: llvm-as < %s | opt -cee
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
; }
|
||||
; }
|
||||
;
|
||||
; RUN: as < %s | opt -cee -simplifycfg | dis | not grep bb3
|
||||
; RUN: llvm-as < %s | opt -cee -simplifycfg | llvm-dis | not grep bb3
|
||||
|
||||
implementation
|
||||
declare void %bar()
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Testcase distilled from bisort where we tried to perform branch target
|
||||
; forwarding where it was not safe.
|
||||
; RUN: as < %s | opt -cee
|
||||
; RUN: llvm-as < %s | opt -cee
|
||||
;
|
||||
%HANDLE = type { int, %HANDLE*, %HANDLE* }
|
||||
%struct.node = type { int, %HANDLE*, %HANDLE* }
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -cee
|
||||
; RUN: llvm-as < %s | opt -cee
|
||||
;
|
||||
; The 'cee' pass is breaking SSA form when it blindly forwards the branch from
|
||||
; Eq to branch to "Forwarded" instead.
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -cee
|
||||
; RUN: llvm-as < %s | opt -cee
|
||||
;
|
||||
; This testcase causes an assertion error.
|
||||
;
|
||||
|
@ -1,5 +1,5 @@
|
||||
; Test to make sure that SSA is correctly updated
|
||||
; RUN: as < %s | opt -cee
|
||||
; RUN: llvm-as < %s | opt -cee
|
||||
;
|
||||
implementation ; Functions:
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
; Simple test to make sure dominators are updated properly
|
||||
; RUN: as < %s | opt -cee
|
||||
; RUN: llvm-as < %s | opt -cee
|
||||
|
||||
implementation ; Functions:
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -cee -constprop -instcombine -dce | dis | not grep 'REMOVE'
|
||||
; RUN: llvm-as < %s | opt -cee -constprop -instcombine -dce | llvm-dis | not grep 'REMOVE'
|
||||
|
||||
int %test1(int %A) {
|
||||
%cond = seteq int %A, 40
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -cee -simplifycfg | dis | not grep 'REMOVE'
|
||||
; RUN: llvm-as < %s | opt -cee -simplifycfg | llvm-dis | not grep 'REMOVE'
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
;
|
||||
; Note that this is a "feature" test, not a correctness test.
|
||||
;
|
||||
; RUN: as < %s | opt -cee -simplifycfg | dis | not grep cond213
|
||||
; RUN: llvm-as < %s | opt -cee -simplifycfg | llvm-dis | not grep cond213
|
||||
;
|
||||
implementation ; Functions:
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; a load or store of a pointer indicates that the pointer is not null.
|
||||
; Any succeeding uses of the pointer should get this info
|
||||
|
||||
; RUN: as < %s | opt -cee -instcombine -simplifycfg | dis | not grep br
|
||||
; RUN: llvm-as < %s | opt -cee -instcombine -simplifycfg | llvm-dis | not grep br
|
||||
|
||||
implementation ; Functions:
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
;
|
||||
; This should eliminate all BB's except BB0, BB9, BB10
|
||||
;
|
||||
; RUN: as < %s | opt -cee -instcombine -simplifycfg | dis | not grep 'bb[2-8]'
|
||||
; RUN: llvm-as < %s | opt -cee -instcombine -simplifycfg | llvm-dis | not grep 'bb[2-8]'
|
||||
|
||||
implementation ; Functions:
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -deadargelim | dis | not grep DEADARG
|
||||
; RUN: llvm-as < %s | opt -deadargelim | llvm-dis | not grep DEADARG
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -f -lowerrefs -o Output/%s.bc
|
||||
; RUN: llvm-as < %s | opt -f -lowerrefs -o Output/%s.bc
|
||||
;
|
||||
%Flat_struct = type { sbyte, float }
|
||||
%Flat_t = type { sbyte, float }
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Test that: extern int X[] and int X[] = { 1, 2, 3, 4 } are resolved
|
||||
; correctly.
|
||||
;
|
||||
; RUN: as < %s | opt -funcresolve | dis | not grep external
|
||||
; RUN: llvm-as < %s | opt -funcresolve | llvm-dis | not grep external
|
||||
|
||||
%X = external global [0 x int]
|
||||
%X = global [4 x int] [ int 1, int 2, int 3, int 4 ]
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Test that: extern int X[] and int X[] = { 1, 2, 3, 4 } are resolved
|
||||
; correctly. This doesn't have constantexprs
|
||||
;
|
||||
; RUN: as < %s | opt -funcresolve | dis | not grep external
|
||||
; RUN: llvm-as < %s | opt -funcresolve | llvm-dis | not grep external
|
||||
;
|
||||
|
||||
%X = external global [0 x int]
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -funcresolve -funcresolve | dis | not grep declare
|
||||
; RUN: llvm-as < %s | opt -funcresolve -funcresolve | llvm-dis | not grep declare
|
||||
|
||||
declare void %qsortg(sbyte*, int, int)
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
;
|
||||
; RUN: as < %s | opt -funcresolve -instcombine | dis | not grep '\.\.\.'
|
||||
; RUN: llvm-as < %s | opt -funcresolve -instcombine | llvm-dis | not grep '\.\.\.'
|
||||
|
||||
declare int %foo(...)
|
||||
declare int %foo(int)
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -funcresolve -disable-output 2>&1 | not grep WARNING
|
||||
; RUN: llvm-as < %s | opt -funcresolve -disable-output 2>&1 | not grep WARNING
|
||||
|
||||
%__popcount_tab = external constant [0 x ubyte]
|
||||
%__popcount_tab = constant [4 x ubyte] c"\00\01\01\02"
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -funcresolve -disable-output
|
||||
; RUN: llvm-as < %s | opt -funcresolve -disable-output
|
||||
|
||||
void %foo(int, int) {
|
||||
ret void
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -funcresolve | dis | not grep declare
|
||||
; RUN: llvm-as < %s | opt -funcresolve | llvm-dis | not grep declare
|
||||
|
||||
%Table = constant int(...)* %foo
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -funcresolve | dis | not grep declare
|
||||
; RUN: llvm-as < %s | opt -funcresolve | llvm-dis | not grep declare
|
||||
|
||||
declare void %test(...)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -funcresolve | dis | not grep foo
|
||||
; RUN: llvm-as < %s | opt -funcresolve | llvm-dis | not grep foo
|
||||
|
||||
; The funcresolve pass was resolving the two foo's together in this test,
|
||||
; adding a ConstantPointerRef to one of them. Then because of this
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -funcresolve -disable-output 2>&1 | not grep WARNING
|
||||
; RUN: llvm-as < %s | opt -funcresolve -disable-output 2>&1 | not grep WARNING
|
||||
|
||||
declare int %foo(int *%X)
|
||||
declare int %foo(float *%X)
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -funcresolve -instcombine | dis | grep '\.\.\.' | not grep call
|
||||
; RUN: llvm-as < %s | opt -funcresolve -instcombine | llvm-dis | grep '\.\.\.' | not grep call
|
||||
|
||||
declare int %foo(...)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
; This shows where the function is called with the prototype indicating a
|
||||
; return type exists, but it really doesn't.
|
||||
; RUN: as < %s | opt -funcresolve -instcombine | dis | grep '\.\.\.' | not grep call
|
||||
; RUN: llvm-as < %s | opt -funcresolve -instcombine | llvm-dis | grep '\.\.\.' | not grep call
|
||||
|
||||
declare int %foo(...)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This shows where the function is called with the prototype indicating a
|
||||
; return type doesn't exists, but it really does.
|
||||
;
|
||||
; RUN: as < %s | opt -funcresolve -instcombine | dis | grep '\.\.\.' | not grep call
|
||||
; RUN: llvm-as < %s | opt -funcresolve -instcombine | llvm-dis | grep '\.\.\.' | not grep call
|
||||
|
||||
declare void %foo(...)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -funcresolve
|
||||
; RUN: llvm-as < %s | opt -funcresolve
|
||||
|
||||
declare int %read(...)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This entire chain of computation should be optimized away, but
|
||||
; wasn't because the two multiplies were not detected as being identical.
|
||||
;
|
||||
; RUN: as < %s | opt -gcse -instcombine -dce | dis | not grep sub
|
||||
; RUN: llvm-as < %s | opt -gcse -instcombine -dce | llvm-dis | not grep sub
|
||||
|
||||
implementation ; Functions:
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This testcase shows a bug where an common subexpression exists, but there
|
||||
; is no shared dominator block that the expression can be hoisted out to.
|
||||
;
|
||||
; RUN: as < %s | opt -gcse | dis
|
||||
; RUN: llvm-as < %s | opt -gcse | llvm-dis
|
||||
|
||||
int "test"(int %X, int %Y) {
|
||||
%Z = add int %X, %Y
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This testcase shows a bug where an common subexpression exists, but there
|
||||
; is no shared dominator block that the expression can be hoisted out to.
|
||||
;
|
||||
; RUN: as < %s | opt -load-vn -gcse | dis | not grep load
|
||||
; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | not grep load
|
||||
|
||||
int %test(int* %P) {
|
||||
store int 5, int* %P
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This testcase ensures that redundant loads are eliminated when they should
|
||||
; be. All RL variables (redundant loads) should be eliminated.
|
||||
;
|
||||
; RUN: as < %s | opt -load-vn -gcse | dis | not grep %RL
|
||||
; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | not grep %RL
|
||||
;
|
||||
int "test1"(int* %P) {
|
||||
%A = load int* %P
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
; RUN: llvm-as < %s | opt -load-vn -gcse -instcombine | dis | grep sub
|
||||
; RUN: llvm-as < %s | opt -load-vn -gcse -instcombine | llvm-dis | grep sub
|
||||
|
||||
int %test(int* %P) {
|
||||
%X = volatile load int* %P
|
||||
|
@ -1,6 +1,6 @@
|
||||
; This testcase ensures that redundant loads are preserved when they are not
|
||||
; allowed to be eliminated.
|
||||
; RUN: as < %s | opt -load-vn -gcse | dis | grep sub
|
||||
; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | grep sub
|
||||
;
|
||||
int %test1(int* %P) {
|
||||
%A = load int* %P
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Various test cases to ensure basic functionality is working for GCSE
|
||||
|
||||
; RUN: as < %s | opt -gcse
|
||||
; RUN: llvm-as < %s | opt -gcse
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -globaldce
|
||||
; RUN: llvm-as < %s | opt -globaldce
|
||||
;
|
||||
implementation
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -globaldce
|
||||
; RUN: llvm-as < %s | opt -globaldce
|
||||
;
|
||||
%X = global void() * %func
|
||||
implementation
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Make sure that functions are removed successfully if they are referred to by
|
||||
; a global that is dead. Make sure any globals they refer to die as well.
|
||||
|
||||
; RUN: as < %s | opt -globaldce | dis | not grep foo
|
||||
; RUN: llvm-as < %s | opt -globaldce | llvm-dis | not grep foo
|
||||
|
||||
%b = internal global int ()* %foo ;; Unused, kills %foo
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This testcase tests that a worklist is being used, and that globals can be
|
||||
; removed if they are the subject of a constexpr and ConstantPointerRef
|
||||
|
||||
; RUN: as < %s | opt -globaldce | dis | not grep global
|
||||
; RUN: llvm-as < %s | opt -globaldce | llvm-dis | not grep global
|
||||
|
||||
%t0 = internal global [4 x sbyte] c"foo\00"
|
||||
%t1 = internal global [4 x sbyte] c"bar\00"
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -globaldce
|
||||
; RUN: llvm-as < %s | opt -globaldce
|
||||
|
||||
%foo = internal global int 7 ;; Should die when function %foo is killed
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
; distilled from 255.vortex
|
||||
; RUN: as < %s | opt -globaldce | dis | not grep testfunc
|
||||
; RUN: llvm-as < %s | opt -globaldce | llvm-dis | not grep testfunc
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -globaldce | dis | not grep global
|
||||
; RUN: llvm-as < %s | opt -globaldce | llvm-dis | not grep global
|
||||
|
||||
%X = uninitialized global int
|
||||
%Y = internal global int 7
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Induction variable pass is doing bad things with pointer induction vars,
|
||||
; trying to do arithmetic on them directly.
|
||||
;
|
||||
; RUN: as < %s | opt -indvars
|
||||
; RUN: llvm-as < %s | opt -indvars
|
||||
;
|
||||
void %test(int %A, uint %S, sbyte* %S) {
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This is a test case for the expression analysis code, not really indvars.
|
||||
; It was assuming any constant of int type was a ConstantInteger.
|
||||
;
|
||||
; RUN: as < %s | opt -indvars
|
||||
; RUN: llvm-as < %s | opt -indvars
|
||||
|
||||
%X = global int 7
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -indvars | dis | grep indvar
|
||||
; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep indvar
|
||||
|
||||
int %test() {
|
||||
br bool true, label %LoopHead, label %LoopHead
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This test ensures that alloca instructions in the entry block for an inlined
|
||||
; function are moved to the top of the function they are inlined into.
|
||||
;
|
||||
; RUN: as < %s | opt -inline | dis | grep -C 1 alloca | grep Entry:
|
||||
; RUN: llvm-as < %s | opt -inline | llvm-dis | grep -C 1 alloca | grep Entry:
|
||||
|
||||
int %func(int %i) {
|
||||
%X = alloca int
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -inline -disable-output -print
|
||||
; RUN: llvm-as < %s | opt -inline -disable-output -print
|
||||
|
||||
int %func(int %i) {
|
||||
ret int %i
|
||||
|
@ -1,6 +1,6 @@
|
||||
; This test ensures that inlining an "empty" function does not destroy the CFG
|
||||
;
|
||||
; RUN: as < %s | opt -inline | dis | not grep br
|
||||
; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep br
|
||||
|
||||
int %func(int %i) {
|
||||
ret int %i
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This checks to ensure that the inline pass deletes functions if they get
|
||||
; inlined into all of their callers.
|
||||
|
||||
; RUN: as < %s | opt -inline | dis | not grep %reallysmall
|
||||
; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep %reallysmall
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Test that we can inline a simple function, turning the calls in it into invoke
|
||||
; instructions
|
||||
|
||||
; RUN: as < %s | opt -inline | dis | not grep 'call[^e]'
|
||||
; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep 'call[^e]'
|
||||
|
||||
declare void %might_throw()
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Test that if an invoked function is inlined, and if that function cannot
|
||||
; throw, that the dead handler is now unreachable.
|
||||
|
||||
; RUN: as < %s | opt -inline -simplifycfg | dis | not grep UnreachableExceptionHandler
|
||||
; RUN: llvm-as < %s | opt -inline -simplifycfg | llvm-dis | not grep UnreachableExceptionHandler
|
||||
|
||||
declare void %might_throw()
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Test that any rethrown exceptions in an inlined function are automatically
|
||||
; turned into branches to the invoke destination.
|
||||
|
||||
; RUN: as < %s | opt -inline | dis | not grep 'call void %llvm.unwind'
|
||||
; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep 'call void %llvm.unwind'
|
||||
|
||||
declare void %might_throw()
|
||||
declare void %llvm.unwind()
|
||||
|
@ -1,6 +1,6 @@
|
||||
; This testcase causes instcombine to hang.
|
||||
;
|
||||
; RUN: as < %s | opt -instcombine
|
||||
; RUN: llvm-as < %s | opt -instcombine
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Instcombine was missing a test that caused it to make illegal transformations
|
||||
; sometimes. In this case, it transforms the sub into an add:
|
||||
; RUN: echo foo
|
||||
; RUN: as < %s | opt -instcombine | dis | not grep add
|
||||
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep add
|
||||
;
|
||||
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
; stayed on the worklist, as soon as it came back up to be processed, bad things
|
||||
; happened, and opt asserted.
|
||||
;
|
||||
; RUN: as < %s | opt -instcombine
|
||||
; RUN: llvm-as < %s | opt -instcombine
|
||||
;
|
||||
|
||||
%.LC0 = internal global [21 x sbyte] c"hbMakeCodeLengths(1)\00" ; <[21 x sbyte]*> [#uses=1]
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This testcase is incorrectly getting completely eliminated. There should be
|
||||
; SOME instruction named %c here, even if it's a bitwise and.
|
||||
;
|
||||
; RUN: as < %s | opt -instcombine -die | dis | grep '%c'
|
||||
; RUN: llvm-as < %s | opt -instcombine -die | llvm-dis | grep '%c'
|
||||
;
|
||||
ulong %test3(ulong %A) {
|
||||
%c1 = cast ulong %A to ubyte
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -instcombine
|
||||
; RUN: llvm-as < %s | opt -instcombine
|
||||
|
||||
%bob = type { int }
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -instcombine | dis | not grep add
|
||||
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep add
|
||||
|
||||
int %test(int %A) {
|
||||
%A.neg = sub int 0, %A
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -instcombine | dis | grep 4294967295
|
||||
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 4294967295
|
||||
|
||||
ulong %test(ulong %Val) {
|
||||
%tmp.3 = cast ulong %Val to uint ; <uint> [#uses=1]
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: as < %s | opt -instcombine -disable-output
|
||||
; RUN: llvm-as < %s | opt -instcombine -disable-output
|
||||
|
||||
%X = global int 5
|
||||
long %test() {
|
||||
|
@ -2,7 +2,7 @@
|
||||
; because it things that the constant value is a not expression... and
|
||||
; constantly inverts the branch back and forth.
|
||||
;
|
||||
; RUN: as < %s | opt -instcombine -disable-output
|
||||
; RUN: llvm-as < %s | opt -instcombine -disable-output
|
||||
|
||||
ubyte %test19(bool %c) {
|
||||
br bool true, label %True, label %False
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user