mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-19 06:31:18 +00:00
Use the llvm-upgrade program to upgrade llvm assembly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32115 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a50d5962ed
commit
69ccadd753
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -anders-aa -load-vn -gcse -deadargelim | llvm-dis | not grep ARG
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -anders-aa -load-vn -gcse -deadargelim | llvm-dis | not grep ARG
|
||||
|
||||
%G = internal constant int* null
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -anders-aa -aa-eval
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -anders-aa -aa-eval
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -anders-aa -load-vn -gcse -deadargelim | llvm-dis | grep store | not grep null
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -anders-aa -load-vn -gcse -deadargelim | llvm-dis | grep store | not grep null
|
||||
|
||||
; Because the 'internal' function is passed to an external function, we don't
|
||||
; know what the incoming values will alias. As such, we cannot do the
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -anders-aa -load-vn -gcse -instcombine | llvm-dis | grep 'ret bool true'
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -anders-aa -load-vn -gcse -instcombine | llvm-dis | grep 'ret bool true'
|
||||
|
||||
%G = internal global int* null
|
||||
declare int *%ext()
|
||||
|
@ -1,3 +1,3 @@
|
||||
; RUN: llvm-as < %s | opt -anders-aa -disable-output
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -anders-aa -disable-output
|
||||
|
||||
void %foo() { ret void }
|
||||
|
@ -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: llvm-as < %s | opt -load-vn -gcse -instcombine | llvm-dis | grep DONOTREMOVE
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -load-vn -gcse -instcombine | llvm-dis | grep DONOTREMOVE
|
||||
|
||||
int %test() {
|
||||
%A = alloca int
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -basicaa -aa-eval -disable-output
|
||||
; RUN: llvm-upgrade < %s | llvm-as | 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, uint 0, long %X
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -load-vn -gcse -instcombine | llvm-dis | grep sub
|
||||
; RUN: llvm-upgrade < %s | llvm-as | 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: llvm-as < %s | opt -basicaa -aa-eval -disable-output
|
||||
; RUN: llvm-upgrade < %s | llvm-as | 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: llvm-as < %s | opt -licm -disable-output
|
||||
; RUN: llvm-upgrade < %s | llvm-as | 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: llvm-as < %s | opt -basicaa -aa-eval -disable-output
|
||||
; RUN: llvm-upgrade < %s | llvm-as | 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: llvm-as < %s | opt -basicaa -aa-eval -disable-output
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -aa-eval -disable-output
|
||||
|
||||
%struct..RefPoint = type { int, { uint, ushort, ushort } }
|
||||
%struct..RefRect = type { %struct..RefPoint, %struct..RefPoint }
|
||||
|
@ -1,6 +1,6 @@
|
||||
; In this test, a local alloca cannot alias an incoming argument.
|
||||
|
||||
; RUN: llvm-as < %s | opt -load-vn -gcse -instcombine | llvm-dis | not grep sub
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -load-vn -gcse -instcombine | llvm-dis | not grep sub
|
||||
|
||||
int %test(int* %P) {
|
||||
%X = alloca int
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This testcase consists of alias relations which should be completely
|
||||
; resolvable by basicaa.
|
||||
|
||||
; RUN: llvm-as < %s | opt -aa-eval -print-may-aliases 2>&1 -disable-output | not grep May:
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -aa-eval -print-may-aliases 2>&1 -disable-output | not grep May:
|
||||
|
||||
%T = type { uint, [10 x ubyte] }
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This testcase consists of alias relations which should be completely
|
||||
; resolvable by basicaa, but require analysis of getelementptr constant exprs.
|
||||
|
||||
; RUN: llvm-as < %s | opt -aa-eval -print-may-aliases 2>&1 -disable-output | not grep May:
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -aa-eval -print-may-aliases 2>&1 -disable-output | not grep May:
|
||||
|
||||
%T = type { uint, [10 x ubyte] }
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -licm
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -licm
|
||||
|
||||
"java/lang/Object" = type { %struct.llvm_java_object_base }
|
||||
"java/lang/StringBuffer" = type { "java/lang/Object", int, { "java/lang/Object", uint, [0 x ushort] }*, bool }
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -dse
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -dse
|
||||
|
||||
"java/lang/Object" = type { %struct.llvm_java_object_base }
|
||||
"java/lang/StringBuffer" = type { "java/lang/Object", int, { "java/lang/Object", uint, [0 x ushort] }*, bool }
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | grep 'load int\* %A'
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | grep 'load int\* %A'
|
||||
|
||||
declare double* %useit(int*)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -aa-eval -disable-output 2>&1 | grep '2 no alias respon'
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -aa-eval -disable-output 2>&1 | grep '2 no alias respon'
|
||||
|
||||
;; TEST that A[1][0] may alias A[0][i].
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -licm -disable-output
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -licm -disable-output
|
||||
target endian = big
|
||||
target pointersize = 32
|
||||
target triple = "powerpc-apple-darwin8.7.0"
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This testcase tests for various features the basicaa test should be able to
|
||||
; determine, as noted in the comments.
|
||||
|
||||
; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine -dce | llvm-dis | not grep REMOVE
|
||||
; RUN: llvm-upgrade < %s | llvm-as | 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: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine -dce | llvm-dis | not grep load
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine -dce | llvm-dis | not grep load
|
||||
|
||||
%A = global int 7
|
||||
%B = global int 8
|
||||
|
@ -1,7 +1,7 @@
|
||||
; A store or load cannot alias a global if the accessed amount is larger then
|
||||
; the global.
|
||||
|
||||
; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep load
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep load
|
||||
|
||||
%B = global short 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: llvm-as < %s | opt -basicaa -licm --adce | llvm-dis | not grep Loop
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -licm --adce | llvm-dis | not grep Loop
|
||||
|
||||
%A = global int 7
|
||||
%B = global int 8
|
||||
|
@ -1,6 +1,6 @@
|
||||
; A very rudimentary test on AliasAnalysis::getModRefInfo.
|
||||
; RUN: llvm-as < %s | opt -print-all-alias-modref-info -aa-eval -disable-output &&
|
||||
; RUN: llvm-as < %s | opt -print-all-alias-modref-info -aa-eval -disable-output 2>&1 | not grep NoModRef
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -print-all-alias-modref-info -aa-eval -disable-output &&
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -print-all-alias-modref-info -aa-eval -disable-output 2>&1 | not grep NoModRef
|
||||
|
||||
int %callee() {
|
||||
%X = alloca { int, int }
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | grep 'ret int 0'
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | grep 'ret int 0'
|
||||
declare void %foo(int*)
|
||||
declare void %bar()
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-dspass=td -dsgc-check-flags=Ptr:HR
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-dspass=td -dsgc-check-flags=Ptr:HR
|
||||
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -no-aa -ds-aa -load-vn -gcse | llvm-dis | not grep load
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -no-aa -ds-aa -load-vn -gcse | llvm-dis | not grep load
|
||||
%T = type { int*, int* }
|
||||
|
||||
int %main() {
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This is the same testcase as 2003-06-29-NodeCollapsing2.ll, but it uses the
|
||||
; graph checker.
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-abort-if-any-collapsed
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-abort-if-any-collapsed
|
||||
;
|
||||
%T = type { int}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-dspass=td -dsgc-check-flags=X:GM
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-dspass=td -dsgc-check-flags=X:GM
|
||||
|
||||
%G = internal global int 5
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-abort-if-any-collapsed
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-abort-if-any-collapsed
|
||||
|
||||
%X = internal global { int, short, short } { int 1, short 2, short 3 }
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
; This should cause the global node to collapse!!
|
||||
; XFAIL: *
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc --dsgc-check-flags=test:GAU
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc --dsgc-check-flags=test:GAU
|
||||
|
||||
%Tree = type { int, %Tree*, %Tree* }
|
||||
%T5 = external global %Tree
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This is the same testcase as 2003-06-29-NodeCollapsing2.ll, but it uses the
|
||||
; graph checker.
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-abort-if-any-collapsed
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-abort-if-any-collapsed
|
||||
;
|
||||
|
||||
%S = type { double, int }
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-check-flags=Xn:SMR &&
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-check-flags=X:SMR
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-check-flags=Xn:SMR &&
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-check-flags=X:SMR
|
||||
|
||||
declare void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint)
|
||||
declare void %llvm.memmove.i32(sbyte*, sbyte*, uint, uint)
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -ds-aa -load-vn -gcse -instcombine | llvm-dis | not grep sub
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -ds-aa -load-vn -gcse -instcombine | llvm-dis | not grep sub
|
||||
|
||||
void %bar(int* %p) {
|
||||
ret void
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -ds-aa -load-vn -gcse -instcombine | llvm-dis | grep sub
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -ds-aa -load-vn -gcse -instcombine | llvm-dis | grep sub
|
||||
|
||||
void %bar(int* %p) {
|
||||
store int 15, int* %p
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-check-flags=G:GIM -dsgc-dspass=bu &&\
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-check-flags=G:GIM -dsgc-dspass=td
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-check-flags=G:GIM -dsgc-dspass=bu &&\
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-check-flags=G:GIM -dsgc-dspass=td
|
||||
|
||||
%S = type { double, int }
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -ds-aa -load-vn -gcse | llvm-dis | grep 'load int\* %L'
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -ds-aa -load-vn -gcse | llvm-dis | grep 'load int\* %L'
|
||||
|
||||
%G = internal global int* null
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure
|
||||
|
||||
target endian = little
|
||||
target pointersize = 32
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure
|
||||
|
||||
; ModuleID = 'bug3.bc'
|
||||
target endian = little
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-check-flags=x:IA
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-check-flags=x:IA
|
||||
|
||||
; ModuleID = 'bug3.bc'
|
||||
target endian = little
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-dspass=bu -dsgc-check-flags=Y:SHM && \
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-dspass=td -dsgc-check-flags=P1:SHM,P2:SHM
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-dspass=bu -dsgc-check-flags=Y:SHM && \
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-dspass=td -dsgc-check-flags=P1:SHM,P2:SHM
|
||||
|
||||
%G = internal constant [2 x int*(int*)*] [
|
||||
int*(int*)* %callee1, int*(int*)* %callee2
|
||||
|
@ -4,7 +4,7 @@
|
||||
; -- latter should remain unresolved in main() and copied to GG
|
||||
; -- globals in GG pointed to by latter should be marked I, but not other nodes
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-check-flags=KnownPtr:S,UnknownPtr:SI -dsgc-dspass=bu
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-check-flags=KnownPtr:S,UnknownPtr:SI -dsgc-dspass=bu
|
||||
|
||||
%Z = internal global int 0
|
||||
%X = internal global int 0
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -budatastructure -dont-print-ds
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -budatastructure -dont-print-ds
|
||||
|
||||
%MidFnTy = type void (\2*)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Test to check for support for "physical subtyping"
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-abort-if-any-collapsed
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-abort-if-any-collapsed
|
||||
;
|
||||
%S = type { int }
|
||||
%T = type { int, float, double }
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc --dsgc-abort-if-merged=Y,BVal
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc --dsgc-abort-if-merged=Y,BVal
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This tests to make sure that G ends up in the globals graph of the BU pass.
|
||||
; If it is not, then %G will get converted to a 'constant' from a 'global'
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -ds-opt -globaldce | llvm-dis | grep %G
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -ds-opt -globaldce | llvm-dis | grep %G
|
||||
|
||||
|
||||
%G = internal global int 0 ; <int*> [#uses=2]
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc -dsgc-dspass=bu -dsgc-check-flags=A:SM
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc -dsgc-dspass=bu -dsgc-check-flags=A:SM
|
||||
; Constant globals should not mark stuff incomplete. This should allow the
|
||||
; bu pass to resolve the indirect call immediately in "test", allowing %A to
|
||||
; be marked complete and the store to happen.
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Make sure that the ds-opt pass is constantizing globals
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -ds-opt | llvm-dis | grep %G | grep constant
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -ds-opt | llvm-dis | grep %G | grep constant
|
||||
|
||||
|
||||
%G = internal global int 0 ; <int*> [#uses=2]
|
||||
|
@ -1,5 +1,5 @@
|
||||
; Test that ds-aa can be used for queries that require field sensitive AA.
|
||||
; RUN: llvm-as < %s | opt -no-aa -ds-aa -load-vn -gcse | llvm-dis | not grep load
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -no-aa -ds-aa -load-vn -gcse | llvm-dis | not grep load
|
||||
|
||||
%Pair = type { int, int }
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Test that GCSE uses ds-aa to do alias analysis, which is capable of
|
||||
; disambiguating some cases.
|
||||
|
||||
; RUN: llvm-as < %s | opt -no-aa -ds-aa -load-vn -gcse -instcombine -dce | llvm-dis | not grep ELIM
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -no-aa -ds-aa -load-vn -gcse -instcombine -dce | llvm-dis | not grep ELIM
|
||||
|
||||
%intpair = type {int*, int*}
|
||||
implementation
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This test was failing because the globals X and Y are marked incomplete
|
||||
; in the TD graph for %test
|
||||
; XFAIL: *
|
||||
; RUN: llvm-as < %s | opt -no-aa -ds-aa -load-vn -gcse -instcombine | llvm-dis | not grep seteq
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -no-aa -ds-aa -load-vn -gcse -instcombine | llvm-dis | not grep seteq
|
||||
|
||||
%X = internal global int 20
|
||||
%Y = internal global int* null
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Test that ds-aa is returning must-alias information when it can.
|
||||
; XFAIL: *
|
||||
; RUN: llvm-as < %s | opt -no-aa -ds-aa -load-vn -gcse | llvm-dis | not grep load
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -no-aa -ds-aa -load-vn -gcse | llvm-dis | not grep load
|
||||
|
||||
%X = internal global int 20
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
; has no defined way to check for this, so DSA can know that strcpy doesn't
|
||||
; require merging the input arguments.
|
||||
|
||||
; RUN: llvm-as < %s | opt -analyze -datastructure-gc --dsgc-abort-if-merged=A,B --dsgc-check-flags=A:ASM,B:ASR --dsgc-dspass=bu
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -datastructure-gc --dsgc-abort-if-merged=A,B --dsgc-check-flags=A:ASM,B:ASR --dsgc-dspass=bu
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -domset -disable-verify
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -domset -disable-verify
|
||||
;
|
||||
int %re_match_2() {
|
||||
ENTRY:
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -analyze -postdomfrontier -disable-verify
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -postdomfrontier -disable-verify
|
||||
;
|
||||
; ModuleID = '2006-09-26-PostDominanceFrontier.bc'
|
||||
target endian = little
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -domtree -break-crit-edges -analyze -domtree | grep '3.*%brtrue$'
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -domtree -break-crit-edges -analyze -domtree | grep '3.*%brtrue$'
|
||||
; PR932
|
||||
implementation ; Functions:
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -globalsmodref-aa -load-vn -gcse | llvm-dis | not grep load
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -globalsmodref-aa -load-vn -gcse | llvm-dis | not grep load
|
||||
%X = internal global int 4
|
||||
|
||||
int %test(int *%P) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -globalsmodref-aa -load-vn -gcse | llvm-dis | not grep load
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -globalsmodref-aa -load-vn -gcse | llvm-dis | not grep load
|
||||
|
||||
; This test requires the use of previous analyses to determine that
|
||||
; doesnotmodX does not modify X (because 'sin' doesn't).
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -globalsmodref-aa -load-vn -gcse -instcombine | llvm-dis | grep 'ret int 0'
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -globalsmodref-aa -load-vn -gcse -instcombine | llvm-dis | grep 'ret int 0'
|
||||
%G = internal global int* null
|
||||
|
||||
implementation
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -globalsmodref-aa -load-vn -gcse | llvm-dis | not grep load
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -globalsmodref-aa -load-vn -gcse | llvm-dis | not grep load
|
||||
%X = internal global int 4
|
||||
|
||||
int %test(int *%P) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Test that pure functions are cse'd away
|
||||
|
||||
; RUN: llvm-as < %s | opt -globalsmodref-aa -load-vn -gcse -instcombine | llvm-dis | not grep sub
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -globalsmodref-aa -load-vn -gcse -instcombine | llvm-dis | not grep sub
|
||||
|
||||
int %pure(int %X) {
|
||||
%Y = add int %X, 1
|
||||
|
@ -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: llvm-as < %s | opt -load-vn -gcse | llvm-dis | not grep %RL
|
||||
; RUN: llvm-upgrade < %s | llvm-as | 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 | llvm-dis | grep sub
|
||||
; RUN: llvm-upgrade < %s | llvm-as | 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: llvm-as < %s | opt -load-vn -gcse | llvm-dis | grep sub
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -load-vn -gcse | llvm-dis | grep sub
|
||||
;
|
||||
int %test1(int* %P) {
|
||||
%A = load int* %P
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep sub
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep sub
|
||||
declare int %strlen(sbyte*)
|
||||
|
||||
int %test(sbyte* %P) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep sub
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep sub
|
||||
declare int %strlen(sbyte*)
|
||||
declare void %use(int %X)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep sub
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep sub
|
||||
|
||||
%S = type { int, sbyte }
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | not grep load
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -load-vn -gcse | llvm-dis | not grep load
|
||||
; Test that loads of undefined memory are eliminated.
|
||||
|
||||
int %test1() {
|
||||
|
@ -1,7 +1,7 @@
|
||||
; This testcase was incorrectly computing that the loopentry.7 loop was
|
||||
; not a child of the loopentry.6 loop.
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -analyze -loops | grep "^ Loop Containing: %loopentry.7"
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -loops | grep "^ Loop Containing: %loopentry.7"
|
||||
|
||||
void %getAndMoveToFrontDecode() { ; No predecessors!
|
||||
br label %endif.2
|
||||
|
@ -5,8 +5,8 @@
|
||||
; of the bug that was causing the Olden Health benchmark to output incorrect
|
||||
; results!
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -constprop | llvm-dis > %t.1 && \
|
||||
; RUN: llvm-as < %s | llvm-dis | llvm-as | opt -constprop | llvm-dis > %t.2 && \
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis > %t.1 && \
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | llvm-as | opt -constprop | llvm-dis > %t.2 && \
|
||||
; RUN: diff %t.1 %t.2
|
||||
|
||||
implementation
|
||||
|
@ -1,6 +1,6 @@
|
||||
; The output formater prints out 1.0e100 as Inf!
|
||||
;
|
||||
; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | llvm-as | llvm-dis
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
; Check by running globaldce, which will remove the constant if there are
|
||||
; no references to it!
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -globaldce | llvm-dis | not grep constant
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce | llvm-dis | not grep constant
|
||||
;
|
||||
|
||||
%v1 = internal constant int 5
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Test to make sure that the 'internal' tag is not lost!
|
||||
;
|
||||
; RUN: llvm-as < %s | llvm-dis | grep internal
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep internal
|
||||
|
||||
declare void %foo()
|
||||
implementation
|
||||
|
@ -1,5 +1,5 @@
|
||||
; Test that opaque types are preserved correctly
|
||||
; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | llvm-as | llvm-dis
|
||||
;
|
||||
|
||||
%Ty = type opaque
|
||||
|
@ -1,5 +1,5 @@
|
||||
; Test double quotes in strings work correctly!
|
||||
; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | llvm-as | llvm-dis
|
||||
;
|
||||
|
||||
%str = internal global [6 x sbyte] c"\22foo\22\00"
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Test that returning a pointer to a function causes the disassembler to print
|
||||
; the right thing.
|
||||
;
|
||||
; RUN: llvm-as < %s | llvm-dis | llvm-as
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | llvm-as
|
||||
|
||||
%ty = type void (int)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | llvm-as
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | llvm-as
|
||||
|
||||
; Make sure that \\ works in a string initializer
|
||||
%Slashtest = internal global [8 x sbyte] c"\5Cbegin{\00"
|
||||
|
@ -8,7 +8,7 @@
|
||||
; reader should NEVER produce a program "successfully" with placeholders still
|
||||
; around!
|
||||
|
||||
; RUN: llvm-as < %s | llvm-dis | llvm-as
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | llvm-as
|
||||
|
||||
%.LC0 = internal global [4 x sbyte] c"foo\00" ; <[4 x sbyte]*> [#uses=1]
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Testcase that seems to break the bytecode reader. This comes from the
|
||||
; "crafty" spec benchmark.
|
||||
;
|
||||
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | llvm-as
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | llvm-as
|
||||
|
||||
%CHESS_POSITION = type { uint, int }
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis
|
||||
|
||||
%Domain = type { %Domain**, %Domain* }
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis
|
||||
|
||||
void %test() {
|
||||
%tmp.123 = cast long cast ([5 x { ubyte, sbyte }]* getelementptr ([30 x [5 x { ubyte, sbyte }]]* null, long 0, long 0) to long) to int
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | grep -- -2147483648
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep -- -2147483648
|
||||
|
||||
int %foo() {
|
||||
ret int -2147483648
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis
|
||||
void %test() {
|
||||
invoke void %test() to label %Next except label %Next
|
||||
Next:
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -instcombine -simplifycfg | llvm-dis | not grep br
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -simplifycfg | llvm-dis | not grep br
|
||||
|
||||
%.str_1 = internal constant [6 x sbyte] c"_Bool\00" ; <[6 x sbyte]*> [#uses=1]
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | not grep getelementptr
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | not grep getelementptr
|
||||
|
||||
%A = external global { float } ; <{ float }*> [#uses=1]
|
||||
global int* cast (float* getelementptr ({ float }* %A, long 0, ubyte 0) to int*)
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis
|
||||
|
||||
int %test() {
|
||||
ret int shr (int cast (int()* %test to int), ubyte 2)
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | grep ' bitcast ('
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep ' bitcast ('
|
||||
|
||||
%.Base64_1 = external constant [4 x sbyte]
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | not grep 'getelementptr.*getelementptr'
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | not grep 'getelementptr.*getelementptr'
|
||||
|
||||
%struct.TUVVertex = type { short, short, short, short }
|
||||
%struct.TTriangleItem = type { sbyte*, sbyte*, [3 x %struct.TUVVertex] }
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | grep 9223372036854775808
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep 9223372036854775808
|
||||
|
||||
global long -9223372036854775808
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | grep -- -0.0
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep -- -0.0
|
||||
|
||||
|
||||
global double 0x8000000000000000
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | not grep cast
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | not grep cast
|
||||
; All of these should be eliminable
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep '%G = alloca int'
|
||||
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep '%G = alloca int'
|
||||
|
||||
; In this testcase, %bar stores to the global G. Make sure that inlining does
|
||||
; not cause it to store to the G in main instead.
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | grep '1.0'
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep '1.0'
|
||||
|
||||
double %test() {
|
||||
ret double 1.0 ;; This should not require hex notation
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | llvm-as
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | llvm-as
|
||||
|
||||
; Ensure that the asm writer emits types before both operands of the
|
||||
; store, even though they can be the same.
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | llvm-as
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | llvm-as
|
||||
|
||||
%t = type opaque
|
||||
%x = global %t undef
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | grep 'tail call csretcc'
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep 'tail call csretcc'
|
||||
|
||||
declare csretcc void %foo({}*, ...)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
; This test checks to make sure that constant exprs fold in some simple situations
|
||||
|
||||
; RUN: llvm-as < %s | llvm-dis | not grep '(' &&
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | not grep '(' &&
|
||||
; RUN: llvm-as < %s
|
||||
|
||||
%A = global long 0
|
||||
|
@ -1,6 +1,6 @@
|
||||
; This test checks to make sure that constant exprs fold in some simple situations
|
||||
|
||||
; RUN: llvm-as < %s | llvm-dis | not grep cast
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | not grep cast
|
||||
|
||||
%A = global int* cast (sbyte* null to int*) ; Cast null -> fold
|
||||
%B = global int** cast (int** %A to int**) ; Cast to same type -> fold
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llc -march=arm
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm
|
||||
void %f(uint %a) {
|
||||
entry:
|
||||
%tmp = alloca sbyte, uint %a
|
||||
|
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