diff options
Diffstat (limited to 'test/CodeGen/Generic')
-rw-r--r-- | test/CodeGen/Generic/2009-03-17-LSR-APInt.ll | 28 | ||||
-rw-r--r-- | test/CodeGen/Generic/2011-07-07-ScheduleDAGCrash.ll | 3 | ||||
-rw-r--r-- | test/CodeGen/Generic/MachineBranchProb.ll | 2 | ||||
-rw-r--r-- | test/CodeGen/Generic/PBQP.ll | 29 | ||||
-rw-r--r-- | test/CodeGen/Generic/assume.ll | 9 | ||||
-rw-r--r-- | test/CodeGen/Generic/dbg_value.ll | 6 | ||||
-rw-r--r-- | test/CodeGen/Generic/empty-insertvalue.ll | 7 | ||||
-rw-r--r-- | test/CodeGen/Generic/empty-phi.ll | 19 | ||||
-rw-r--r-- | test/CodeGen/Generic/print-machineinstrs.ll | 2 |
9 files changed, 83 insertions, 22 deletions
diff --git a/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll b/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll index 3f17ce1e0b16..eaaeb37eebb4 100644 --- a/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll +++ b/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll @@ -30,20 +30,20 @@ %"struct.qdesigner_internal::GridLayout" = type { %"struct.qdesigner_internal::Layout", %"struct.QPair<int,int>", %"struct.qdesigner_internal::Grid"* } %"struct.qdesigner_internal::Layout" = type { %struct.QObject, %"struct.QList<QAbstractExtensionFactory*>", %struct.QWidget*, %"struct.QHash<QString,QList<QAbstractExtensionFactory*> >", %struct.QWidget*, %struct.QDesignerFormWindowInterface*, i8, %"struct.QPair<int,int>", %struct.QRect, i8 } -@_ZL20__gthrw_pthread_oncePiPFvvE = alias weak i32 (i32*, void ()*)* @pthread_once ; <i32 (i32*, void ()*)*> [#uses=0] -@_ZL27__gthrw_pthread_getspecificj = alias weak i8* (i32)* @pthread_getspecific ; <i8* (i32)*> [#uses=0] -@_ZL27__gthrw_pthread_setspecificjPKv = alias weak i32 (i32, i8*)* @pthread_setspecific ; <i32 (i32, i8*)*> [#uses=0] -@_ZL22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_ = alias weak i32 (i64*, %struct.pthread_attr_t*, i8* (i8*)*, i8*)* @pthread_create ; <i32 (i64*, %struct.pthread_attr_t*, i8* (i8*)*, i8*)*> [#uses=0] -@_ZL22__gthrw_pthread_cancelm = alias weak i32 (i64)* @pthread_cancel ; <i32 (i64)*> [#uses=0] -@_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = alias weak i32 (%struct.pthread_mutex_t*)* @pthread_mutex_lock ; <i32 (%struct.pthread_mutex_t*)*> [#uses=0] -@_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = alias weak i32 (%struct.pthread_mutex_t*)* @pthread_mutex_trylock ; <i32 (%struct.pthread_mutex_t*)*> [#uses=0] -@_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = alias weak i32 (%struct.pthread_mutex_t*)* @pthread_mutex_unlock ; <i32 (%struct.pthread_mutex_t*)*> [#uses=0] -@_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = alias weak i32 (%struct.pthread_mutex_t*, %struct.Alignment*)* @pthread_mutex_init ; <i32 (%struct.pthread_mutex_t*, %struct.Alignment*)*> [#uses=0] -@_ZL26__gthrw_pthread_key_createPjPFvPvE = alias weak i32 (i32*, void (i8*)*)* @pthread_key_create ; <i32 (i32*, void (i8*)*)*> [#uses=0] -@_ZL26__gthrw_pthread_key_deletej = alias weak i32 (i32)* @pthread_key_delete ; <i32 (i32)*> [#uses=0] -@_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = alias weak i32 (%struct.Alignment*)* @pthread_mutexattr_init ; <i32 (%struct.Alignment*)*> [#uses=0] -@_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = alias weak i32 (%struct.Alignment*, i32)* @pthread_mutexattr_settype ; <i32 (%struct.Alignment*, i32)*> [#uses=0] -@_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = alias weak i32 (%struct.Alignment*)* @pthread_mutexattr_destroy ; <i32 (%struct.Alignment*)*> [#uses=0] +@_ZL20__gthrw_pthread_oncePiPFvvE = weak alias i32 (i32*, void ()*)* @pthread_once ; <i32 (i32*, void ()*)*> [#uses=0] +@_ZL27__gthrw_pthread_getspecificj = weak alias i8* (i32)* @pthread_getspecific ; <i8* (i32)*> [#uses=0] +@_ZL27__gthrw_pthread_setspecificjPKv = weak alias i32 (i32, i8*)* @pthread_setspecific ; <i32 (i32, i8*)*> [#uses=0] +@_ZL22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_ = weak alias i32 (i64*, %struct.pthread_attr_t*, i8* (i8*)*, i8*)* @pthread_create ; <i32 (i64*, %struct.pthread_attr_t*, i8* (i8*)*, i8*)*> [#uses=0] +@_ZL22__gthrw_pthread_cancelm = weak alias i32 (i64)* @pthread_cancel ; <i32 (i64)*> [#uses=0] +@_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = weak alias i32 (%struct.pthread_mutex_t*)* @pthread_mutex_lock ; <i32 (%struct.pthread_mutex_t*)*> [#uses=0] +@_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = weak alias i32 (%struct.pthread_mutex_t*)* @pthread_mutex_trylock ; <i32 (%struct.pthread_mutex_t*)*> [#uses=0] +@_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = weak alias i32 (%struct.pthread_mutex_t*)* @pthread_mutex_unlock ; <i32 (%struct.pthread_mutex_t*)*> [#uses=0] +@_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = weak alias i32 (%struct.pthread_mutex_t*, %struct.Alignment*)* @pthread_mutex_init ; <i32 (%struct.pthread_mutex_t*, %struct.Alignment*)*> [#uses=0] +@_ZL26__gthrw_pthread_key_createPjPFvPvE = weak alias i32 (i32*, void (i8*)*)* @pthread_key_create ; <i32 (i32*, void (i8*)*)*> [#uses=0] +@_ZL26__gthrw_pthread_key_deletej = weak alias i32 (i32)* @pthread_key_delete ; <i32 (i32)*> [#uses=0] +@_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = weak alias i32 (%struct.Alignment*)* @pthread_mutexattr_init ; <i32 (%struct.Alignment*)*> [#uses=0] +@_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = weak alias i32 (%struct.Alignment*, i32)* @pthread_mutexattr_settype ; <i32 (%struct.Alignment*, i32)*> [#uses=0] +@_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = weak alias i32 (%struct.Alignment*)* @pthread_mutexattr_destroy ; <i32 (%struct.Alignment*)*> [#uses=0] define void @_ZN18qdesigner_internal10GridLayout9buildGridEv(%"struct.qdesigner_internal::GridLayout"* %this) nounwind { entry: diff --git a/test/CodeGen/Generic/2011-07-07-ScheduleDAGCrash.ll b/test/CodeGen/Generic/2011-07-07-ScheduleDAGCrash.ll index da26504b13d1..cd446d57d8a5 100644 --- a/test/CodeGen/Generic/2011-07-07-ScheduleDAGCrash.ll +++ b/test/CodeGen/Generic/2011-07-07-ScheduleDAGCrash.ll @@ -3,9 +3,6 @@ ; the uses of a copy to a physical register without ignoring non-data ; dependence, PR10220. -; The ARM backend can't handle i256 math at the moment. -; XFAIL: arm - define void @f(i256* nocapture %a, i256* nocapture %b, i256* nocapture %cc, i256* nocapture %dd) nounwind uwtable noinline ssp { entry: %c = load i256* %cc diff --git a/test/CodeGen/Generic/MachineBranchProb.ll b/test/CodeGen/Generic/MachineBranchProb.ll index 0e98280694c4..83277c98989d 100644 --- a/test/CodeGen/Generic/MachineBranchProb.ll +++ b/test/CodeGen/Generic/MachineBranchProb.ll @@ -32,4 +32,4 @@ return: ret i32 %retval.0 } -!0 = metadata !{metadata !"branch_weights", i32 7, i32 6, i32 4, i32 4, i32 64} +!0 = !{!"branch_weights", i32 7, i32 6, i32 4, i32 4, i32 64} diff --git a/test/CodeGen/Generic/PBQP.ll b/test/CodeGen/Generic/PBQP.ll new file mode 100644 index 000000000000..91fcfba1a905 --- /dev/null +++ b/test/CodeGen/Generic/PBQP.ll @@ -0,0 +1,29 @@ +; RUN: llc -regalloc=pbqp < %s + +define i32 @foo() { +entry: + %call = tail call i32 (...)* @baz() + %call1 = tail call i32 (...)* @baz() + %call2 = tail call i32 (...)* @baz() + %call3 = tail call i32 (...)* @baz() + %call4 = tail call i32 (...)* @baz() + %call5 = tail call i32 (...)* @baz() + %call6 = tail call i32 (...)* @baz() + %call7 = tail call i32 (...)* @baz() + %call8 = tail call i32 (...)* @baz() + %call9 = tail call i32 (...)* @baz() + %call10 = tail call i32 (...)* @baz() + %call11 = tail call i32 (...)* @baz() + %call12 = tail call i32 (...)* @baz() + %call13 = tail call i32 (...)* @baz() + %call14 = tail call i32 (...)* @baz() + %call15 = tail call i32 (...)* @baz() + %call16 = tail call i32 (...)* @baz() + %call17 = tail call i32 @bar(i32 %call, i32 %call1, i32 %call2, i32 %call3, i32 %call4, i32 %call5, i32 %call6, i32 %call7, i32 %call8, i32 %call9, i32 %call10, i32 %call11, i32 %call12, i32 %call13, i32 %call14, i32 %call15, i32 %call16) + ret i32 %call17 +} + +declare i32 @baz(...) + +declare i32 @bar(i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32) + diff --git a/test/CodeGen/Generic/assume.ll b/test/CodeGen/Generic/assume.ll new file mode 100644 index 000000000000..bb045b38465d --- /dev/null +++ b/test/CodeGen/Generic/assume.ll @@ -0,0 +1,9 @@ +; RUN: llc < %s + +define void @main() { + call void @llvm.assume(i1 1) + ret void +} + +declare void @llvm.assume(i1) nounwind + diff --git a/test/CodeGen/Generic/dbg_value.ll b/test/CodeGen/Generic/dbg_value.ll index 840eeb0cbf31..ed7bdbad1822 100644 --- a/test/CodeGen/Generic/dbg_value.ll +++ b/test/CodeGen/Generic/dbg_value.ll @@ -4,11 +4,11 @@ %0 = type { i32, i32 } define void @t(%0*, i32, i32, i32, i32) nounwind { - tail call void @llvm.dbg.value(metadata !{%0* %0}, i64 0, metadata !0) + tail call void @llvm.dbg.value(metadata %0* %0, i64 0, metadata !0, metadata !{!"0x102"}) unreachable } -declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone +declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone ; !0 should conform to the format of DIVariable. -!0 = metadata !{i32 786689, null, metadata !"a", null, i32 0, null, i32 0, i32 0} ; +!0 = !{!"0x101\00a\000\000", null, null, null} ; [ DW_TAG_arg_variable ] diff --git a/test/CodeGen/Generic/empty-insertvalue.ll b/test/CodeGen/Generic/empty-insertvalue.ll new file mode 100644 index 000000000000..e4cc27c2ffcf --- /dev/null +++ b/test/CodeGen/Generic/empty-insertvalue.ll @@ -0,0 +1,7 @@ +; RUN: llc < %s + +define void @f() { +entry: + %0 = insertvalue { [0 x { i8*, i8* }], [0 x { i8*, i64 }] } undef, [0 x { i8*, i8* }] undef, 0 + ret void +} diff --git a/test/CodeGen/Generic/empty-phi.ll b/test/CodeGen/Generic/empty-phi.ll new file mode 100644 index 000000000000..8d5f3b96941c --- /dev/null +++ b/test/CodeGen/Generic/empty-phi.ll @@ -0,0 +1,19 @@ +; RUN: llc < %s + +define void @f() { +entry: + br label %bb1 + +bb1: + %0 = phi [0 x { i8*, i64, i64 }] [ %load, %bb2 ], [ undef, %entry ] + store [0 x { i8*, i64, i64 }] %0, [0 x { i8*, i64, i64 }]* undef, align 8 + %1 = icmp eq i64 undef, 0 + br i1 %1, label %bb2, label %bb3 + +bb2: + %load = load [0 x { i8*, i64, i64 }]* undef, align 8 + br label %bb1 + +bb3: + ret void +} diff --git a/test/CodeGen/Generic/print-machineinstrs.ll b/test/CodeGen/Generic/print-machineinstrs.ll index 75dceb5b2623..26bccaae572c 100644 --- a/test/CodeGen/Generic/print-machineinstrs.ll +++ b/test/CodeGen/Generic/print-machineinstrs.ll @@ -3,7 +3,7 @@ ; RUN: llc < %s -O3 -debug-pass=Structure -print-machineinstrs= -o /dev/null 2>&1 | FileCheck %s define i64 @foo(i64 %a, i64 %b) nounwind { -; CHECK: -branch-folder -print-machineinstrs +; CHECK: -branch-folder -machineinstr-printer ; CHECK: Control Flow Optimizer ; CHECK-NEXT: MachineFunction Printer ; CHECK: Machine code for function foo: |