mirror of
https://github.com/RPCS3/llvm.git
synced 2025-05-13 17:06:15 +00:00
Renamed as' =>
llvm-as', dis' =>
llvm-dis', link' =>
llvm-link'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8558 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
aad65f6c18
commit
e78760e179
@ -2,7 +2,7 @@
|
|||||||
; is performed. It is not legal to delete the second load instruction because
|
; 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.
|
; 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() {
|
int %test() {
|
||||||
%A = alloca int
|
%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
|
; 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) {
|
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
|
%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!
|
; 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
|
; Test for a bug in BasicAA which caused a crash when querying equality of P1&P2
|
||||||
void %test([17 x ushort]* %mask_bits) {
|
void %test([17 x ushort]* %mask_bits) {
|
||||||
%P1 = getelementptr [17 x ushort]* %mask_bits, long 0, long 0
|
%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_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] }
|
%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) {
|
int %MTConcat([3 x int]* %a.1) {
|
||||||
%tmp.961 = getelementptr [3 x int]* %a.1, long 0, long 4
|
%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..RefPoint = type { int, { uint, ushort, ushort } }
|
||||||
%struct..RefRect = type { %struct..RefPoint, %struct..RefPoint }
|
%struct..RefRect = type { %struct..RefPoint, %struct..RefPoint }
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; This testcase tests for various features the basicaa test should be able to
|
; This testcase tests for various features the basicaa test should be able to
|
||||||
; determine, as noted in the comments.
|
; 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 }
|
%Global = external global { int }
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
; disambiguating some obvious cases. All loads should be removable in
|
; disambiguating some obvious cases. All loads should be removable in
|
||||||
; this testcase.
|
; 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
|
%A = global int 7
|
||||||
%B = global int 8
|
%B = global int 8
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
; two pointers, then the load should be hoisted, and the store sunk. Thus
|
; two pointers, then the load should be hoisted, and the store sunk. Thus
|
||||||
; the loop becomes empty and can be deleted by ADCE.
|
; 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
|
%A = global int 7
|
||||||
%B = global int 8
|
%B = global int 8
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; This testcase ensures that redundant loads are eliminated when they should
|
; This testcase ensures that redundant loads are eliminated when they should
|
||||||
; be. All RL variables (redundant loads) should be eliminated.
|
; 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) {
|
int "test1"(int* %P) {
|
||||||
%A = load 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) {
|
int %test(int* %P) {
|
||||||
%X = volatile load int* %P
|
%X = volatile load int* %P
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; This testcase ensures that redundant loads are preserved when they are not
|
; This testcase ensures that redundant loads are preserved when they are not
|
||||||
; allowed to be eliminated.
|
; 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) {
|
int %test1(int* %P) {
|
||||||
%A = load int* %P
|
%A = load int* %P
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; Inlining used to break PHI nodes. This tests that they are correctly updated
|
; 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.
|
; 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
|
implementation
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
;
|
;
|
||||||
; Fixed by adding new arguments to ConstantFoldTerminator
|
; Fixed by adding new arguments to ConstantFoldTerminator
|
||||||
;
|
;
|
||||||
; RUN: as < %s | opt -constprop
|
; RUN: llvm-as < %s | opt -constprop
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
; RUN: as < %s | opt -adce
|
; RUN: llvm-as < %s | opt -adce
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; It is illegal to remove BB1 because it will mess up the PHI node!
|
; 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) {
|
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
|
; removed even though there were uses still around. Now the uses are filled
|
||||||
; in with a dummy value before the PHI is deleted.
|
; 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 }
|
%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
|
; 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) {
|
float "test"(int %i) {
|
||||||
%F = cast int %i to float ; This BB is not dead
|
%F = cast int %i to float ; This BB is not dead
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
; return !s;
|
; return !s;
|
||||||
;}
|
;}
|
||||||
;
|
;
|
||||||
; RUN: as < %s | opt -adce
|
; RUN: llvm-as < %s | opt -adce
|
||||||
|
|
||||||
implementation ; Functions:
|
implementation ; Functions:
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
; block in this function, it would work fine, but that would be the part we
|
; block in this function, it would work fine, but that would be the part we
|
||||||
; have to fix now, wouldn't it....
|
; have to fix now, wouldn't it....
|
||||||
;
|
;
|
||||||
; RUN: as < %s | opt -adce
|
; RUN: llvm-as < %s | opt -adce
|
||||||
|
|
||||||
void %foo(sbyte* %reg5481) {
|
void %foo(sbyte* %reg5481) {
|
||||||
%cast611 = cast sbyte* %reg5481 to sbyte** ; <sbyte**> [#uses=1]
|
%cast611 = cast sbyte* %reg5481 to sbyte** ; <sbyte**> [#uses=1]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; This testcase was extracted from the gzip SPEC benchmark
|
; 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]
|
%bk = external global uint ; <uint*> [#uses=2]
|
||||||
%hufts = external global uint ; <uint*> [#uses=1]
|
%hufts = external global uint ; <uint*> [#uses=1]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
; Testcase reduced from 197.parser by bugpoint
|
; Testcase reduced from 197.parser by bugpoint
|
||||||
; RUN: as < %s | opt -adce
|
; RUN: llvm-as < %s | opt -adce
|
||||||
implementation ; Functions:
|
implementation ; Functions:
|
||||||
|
|
||||||
void %conjunction_prune() {
|
void %conjunction_prune() {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
; entries for it's postdominator. But I think this can only happen when the
|
; 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.
|
; 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 endian = little
|
||||||
target pointersize = 32
|
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*
|
%G = external global int*
|
||||||
|
|
||||||
implementation ; Functions:
|
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 endian = little
|
||||||
target pointersize = 32
|
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) {
|
void %dead_test8(int* %data.1, int %idx.1) {
|
||||||
entry: ; No predecessors!
|
entry: ; No predecessors!
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
; RUN: as < %s | opt -adce -disable-output
|
; RUN: llvm-as < %s | opt -adce -disable-output
|
||||||
|
|
||||||
implementation ; Functions:
|
implementation ; Functions:
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; This is the test case taken from Appel's book that illustrates a hard case
|
; 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
|
; 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) {
|
int "test function"(int %i0, int %j0) {
|
||||||
BB1:
|
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) {
|
int "Test"(int %A, int %B) {
|
||||||
BB1:
|
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 }
|
%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
|
||||||
%spec_fd_t = type { int, int, int, ubyte* }
|
%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 }
|
%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
|
||||||
%spec_fd_t = type { int, int, int, ubyte* }
|
%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
|
; 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.
|
; 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() {
|
int %test() {
|
||||||
%A = alloca int
|
%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
|
; 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) {
|
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
|
%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!
|
; 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
|
; Test for a bug in BasicAA which caused a crash when querying equality of P1&P2
|
||||||
void %test([17 x ushort]* %mask_bits) {
|
void %test([17 x ushort]* %mask_bits) {
|
||||||
%P1 = getelementptr [17 x ushort]* %mask_bits, long 0, long 0
|
%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_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] }
|
%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) {
|
int %MTConcat([3 x int]* %a.1) {
|
||||||
%tmp.961 = getelementptr [3 x int]* %a.1, long 0, long 4
|
%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..RefPoint = type { int, { uint, ushort, ushort } }
|
||||||
%struct..RefRect = type { %struct..RefPoint, %struct..RefPoint }
|
%struct..RefRect = type { %struct..RefPoint, %struct..RefPoint }
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; This testcase tests for various features the basicaa test should be able to
|
; This testcase tests for various features the basicaa test should be able to
|
||||||
; determine, as noted in the comments.
|
; 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 }
|
%Global = external global { int }
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
; disambiguating some obvious cases. All loads should be removable in
|
; disambiguating some obvious cases. All loads should be removable in
|
||||||
; this testcase.
|
; 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
|
%A = global int 7
|
||||||
%B = global int 8
|
%B = global int 8
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
; two pointers, then the load should be hoisted, and the store sunk. Thus
|
; two pointers, then the load should be hoisted, and the store sunk. Thus
|
||||||
; the loop becomes empty and can be deleted by ADCE.
|
; 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
|
%A = global int 7
|
||||||
%B = global int 8
|
%B = global int 8
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; Make sure that the constant propogator doesn't divide by zero!
|
; Make sure that the constant propogator doesn't divide by zero!
|
||||||
;
|
;
|
||||||
; RUN: as < %s | opt -constprop
|
; RUN: llvm-as < %s | opt -constprop
|
||||||
;
|
;
|
||||||
|
|
||||||
int "test"() {
|
int "test"() {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
; Fix #2: The unary not instruction now no longer exists. Change to xor.
|
; 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"() {
|
int "test1"() {
|
||||||
%R = xor int 123, -1
|
%R = xor int 123, -1
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; SetCC on boolean values was not implemented!
|
; 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"() {
|
bool "test1"() {
|
||||||
%A = setle bool true, false
|
%A = setle bool true, false
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; Make sure that the constant propagator doesn't cause a sigfpe
|
; Make sure that the constant propagator doesn't cause a sigfpe
|
||||||
;
|
;
|
||||||
; RUN: as < %s | opt -constprop
|
; RUN: llvm-as < %s | opt -constprop
|
||||||
;
|
;
|
||||||
|
|
||||||
int "test"() {
|
int "test"() {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; This is a basic sanity check for constant propogation. The add instruction
|
; This is a basic sanity check for constant propogation. The add instruction
|
||||||
; should be eliminated.
|
; 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) {
|
int %test(bool %B) {
|
||||||
br bool %B, label %BB1, label %BB2
|
br bool %B, label %BB1, label %BB2
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; Ensure constant propogation of logical instructions is working correctly.
|
; 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 }
|
int "test1"() { %R = and int 4,1234 ret int %R }
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; Ensure constant propogation of 'not' instructions is working correctly.
|
; 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"() {
|
int "test1"() {
|
||||||
%R = xor int 4, -1
|
%R = xor int 4, -1
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; This is a basic sanity check for constant propogation. The add instruction
|
; This is a basic sanity check for constant propogation. The add instruction
|
||||||
; should be eliminated.
|
; 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) {
|
int %test(bool %B) {
|
||||||
BB0:
|
BB0:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; Ensure constant propagation of remainder instructions is working correctly.
|
; 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() {
|
int %test1() {
|
||||||
%R = rem int 4, 3
|
%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}
|
%foo = internal constant {int} {int 7}
|
||||||
%bar = 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
|
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
|
implementation
|
||||||
declare void %bar()
|
declare void %bar()
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; Testcase distilled from bisort where we tried to perform branch target
|
; Testcase distilled from bisort where we tried to perform branch target
|
||||||
; forwarding where it was not safe.
|
; forwarding where it was not safe.
|
||||||
; RUN: as < %s | opt -cee
|
; RUN: llvm-as < %s | opt -cee
|
||||||
;
|
;
|
||||||
%HANDLE = type { int, %HANDLE*, %HANDLE* }
|
%HANDLE = type { int, %HANDLE*, %HANDLE* }
|
||||||
%struct.node = 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
|
; The 'cee' pass is breaking SSA form when it blindly forwards the branch from
|
||||||
; Eq to branch to "Forwarded" instead.
|
; 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.
|
; This testcase causes an assertion error.
|
||||||
;
|
;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
; Test to make sure that SSA is correctly updated
|
; Test to make sure that SSA is correctly updated
|
||||||
; RUN: as < %s | opt -cee
|
; RUN: llvm-as < %s | opt -cee
|
||||||
;
|
;
|
||||||
implementation ; Functions:
|
implementation ; Functions:
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
; Simple test to make sure dominators are updated properly
|
; Simple test to make sure dominators are updated properly
|
||||||
; RUN: as < %s | opt -cee
|
; RUN: llvm-as < %s | opt -cee
|
||||||
|
|
||||||
implementation ; Functions:
|
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) {
|
int %test1(int %A) {
|
||||||
%cond = seteq int %A, 40
|
%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
|
implementation
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
;
|
;
|
||||||
; Note that this is a "feature" test, not a correctness test.
|
; 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:
|
implementation ; Functions:
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; a load or store of a pointer indicates that the pointer is not null.
|
; a load or store of a pointer indicates that the pointer is not null.
|
||||||
; Any succeeding uses of the pointer should get this info
|
; 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:
|
implementation ; Functions:
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
;
|
;
|
||||||
; This should eliminate all BB's except BB0, BB9, BB10
|
; 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:
|
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
|
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_struct = type { sbyte, float }
|
||||||
%Flat_t = 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
|
; Test that: extern int X[] and int X[] = { 1, 2, 3, 4 } are resolved
|
||||||
; correctly.
|
; 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 = external global [0 x int]
|
||||||
%X = global [4 x int] [ int 1, int 2, int 3, int 4 ]
|
%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
|
; Test that: extern int X[] and int X[] = { 1, 2, 3, 4 } are resolved
|
||||||
; correctly. This doesn't have constantexprs
|
; 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]
|
%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)
|
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(...)
|
||||||
declare int %foo(int)
|
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 = external constant [0 x ubyte]
|
||||||
%__popcount_tab = constant [4 x ubyte] c"\00\01\01\02"
|
%__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) {
|
void %foo(int, int) {
|
||||||
ret void
|
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
|
%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(...)
|
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,
|
; The funcresolve pass was resolving the two foo's together in this test,
|
||||||
; adding a ConstantPointerRef to one of them. Then because of this
|
; 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(int *%X)
|
||||||
declare int %foo(float *%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(...)
|
declare int %foo(...)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; This shows where the function is called with the prototype indicating a
|
; This shows where the function is called with the prototype indicating a
|
||||||
; return type exists, but it really doesn't.
|
; 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(...)
|
declare int %foo(...)
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; This shows where the function is called with the prototype indicating a
|
; This shows where the function is called with the prototype indicating a
|
||||||
; return type doesn't exists, but it really does.
|
; 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(...)
|
declare void %foo(...)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
; RUN: as < %s | opt -funcresolve
|
; RUN: llvm-as < %s | opt -funcresolve
|
||||||
|
|
||||||
declare int %read(...)
|
declare int %read(...)
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; This entire chain of computation should be optimized away, but
|
; This entire chain of computation should be optimized away, but
|
||||||
; wasn't because the two multiplies were not detected as being identical.
|
; 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:
|
implementation ; Functions:
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; This testcase shows a bug where an common subexpression exists, but there
|
; 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.
|
; 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) {
|
int "test"(int %X, int %Y) {
|
||||||
%Z = add int %X, %Y
|
%Z = add int %X, %Y
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; This testcase shows a bug where an common subexpression exists, but there
|
; 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.
|
; 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) {
|
int %test(int* %P) {
|
||||||
store int 5, int* %P
|
store int 5, int* %P
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; Various test cases to ensure basic functionality is working for GCSE
|
; Various test cases to ensure basic functionality is working for GCSE
|
||||||
|
|
||||||
; RUN: as < %s | opt -gcse
|
; RUN: llvm-as < %s | opt -gcse
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
; RUN: as < %s | opt -globaldce
|
; RUN: llvm-as < %s | opt -globaldce
|
||||||
;
|
;
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
; RUN: as < %s | opt -globaldce
|
; RUN: llvm-as < %s | opt -globaldce
|
||||||
;
|
;
|
||||||
%X = global void() * %func
|
%X = global void() * %func
|
||||||
implementation
|
implementation
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; Make sure that functions are removed successfully if they are referred to by
|
; 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.
|
; 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
|
%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
|
; 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
|
; 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"
|
%t0 = internal global [4 x sbyte] c"foo\00"
|
||||||
%t1 = internal global [4 x sbyte] c"bar\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
|
%foo = internal global int 7 ;; Should die when function %foo is killed
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
; distilled from 255.vortex
|
; 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
|
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
|
%X = uninitialized global int
|
||||||
%Y = internal global int 7
|
%Y = internal global int 7
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; Induction variable pass is doing bad things with pointer induction vars,
|
; Induction variable pass is doing bad things with pointer induction vars,
|
||||||
; trying to do arithmetic on them directly.
|
; 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) {
|
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.
|
; This is a test case for the expression analysis code, not really indvars.
|
||||||
; It was assuming any constant of int type was a ConstantInteger.
|
; 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
|
%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() {
|
int %test() {
|
||||||
br bool true, label %LoopHead, label %LoopHead
|
br bool true, label %LoopHead, label %LoopHead
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; This test ensures that alloca instructions in the entry block for an inlined
|
; 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.
|
; 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) {
|
int %func(int %i) {
|
||||||
%X = alloca int
|
%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) {
|
int %func(int %i) {
|
||||||
ret int %i
|
ret int %i
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; This test ensures that inlining an "empty" function does not destroy the CFG
|
; 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) {
|
int %func(int %i) {
|
||||||
ret int %i
|
ret int %i
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; This checks to ensure that the inline pass deletes functions if they get
|
; This checks to ensure that the inline pass deletes functions if they get
|
||||||
; inlined into all of their callers.
|
; 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
|
implementation
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; Test that we can inline a simple function, turning the calls in it into invoke
|
; Test that we can inline a simple function, turning the calls in it into invoke
|
||||||
; instructions
|
; 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()
|
declare void %might_throw()
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; Test that if an invoked function is inlined, and if that function cannot
|
; Test that if an invoked function is inlined, and if that function cannot
|
||||||
; throw, that the dead handler is now unreachable.
|
; 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()
|
declare void %might_throw()
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user