2 .assembly extern TestDriver {}
3 .assembly extern mscorlib {}
5 .class public auto ansi sealed beforefieldinit Tests {
7 .method static public int32 Main() il managed {
11 call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
12 call int32 [TestDriver]TestDriver::RunTests(class [mscorlib]System.Type)
16 // make sure the register allocator works when the return value of
18 .method static public int32 test_0_div_regalloc () il managed {
32 .method static public int32 test_1_ceq_to_i4 () il managed {
46 .method static public int32 test_3_shl_regvars () il managed {
93 .method static public int32 test_1_fceq_to_i4 () il managed {
113 // This should be manually checked. Basically under -O=linears,
114 // you should not see tons of register spilling.
116 .method static public int32 test_1_bytedreg_free () il managed {
152 // This should be manually checked. Basically under -O=linears,
153 // you should not see tons of register spilling.
155 .method static public int32 test_0_bytesreg1_free () il managed {
194 .method static public int32 test_1_shift_regvar () il managed {
215 // this only happens with the managed pointer, not an unmanaged one.
216 .method static public int32 test_0_foo () il managed {
233 .method static public int32 test_0_localloc () cil managed {
234 .locals init (native int, native int, native int)
277 .method static public int32 test_3_copy_used_bug () il managed {
303 // demonstrate that the copy_used_var is not a fix for the above bug
304 .method static public int32 test_3_copy_used_indir_bug () il managed {
331 .method static public void do_nothing (int32 a) il managed {
335 // demonstrate the block_split failure: needs -O=inline
336 // mini -O=inline --compile Tests:test_0_split_block_bug iltests.exe
337 .method static public int32 test_0_split_block_bug () il managed {
347 call void class Tests::do_nothing (int32)
355 .method public void inline_do_nothing () il managed {
358 .method static public int32 test_1_checkthis_inlining () il managed {
360 call instance void class Tests::inline_do_nothing ()
365 .class nested private auto ansi sealed beforefieldinit TailCallStruct
366 extends [mscorlib]System.ValueType {
367 .field public int32 a
368 .field public int32 b
371 .method static valuetype Tests/TailCallStruct tail1 (valuetype Tests/TailCallStruct arg) {
374 ldfld int32 Tests/TailCallStruct::a
377 stfld int32 Tests/TailCallStruct::a
380 ldfld int32 Tests/TailCallStruct::a
383 stfld int32 Tests/TailCallStruct::a
388 .method static valuetype Tests/TailCallStruct tail2 (valuetype Tests/TailCallStruct arg) {
391 call valuetype Tests/TailCallStruct Tests::tail1 (valuetype Tests/TailCallStruct)
395 .method static public int32 test_0_tail_calls () il managed {
398 valuetype Tests/TailCallStruct arg
402 stfld int32 Tests/TailCallStruct::a
405 stfld int32 Tests/TailCallStruct::b
407 call valuetype Tests/TailCallStruct Tests::tail2 (valuetype Tests/TailCallStruct)
410 ldfld int32 Tests/TailCallStruct::a
412 ldfld int32 Tests/TailCallStruct::b
419 .method static public int32 test_11_switch_with_nonempty_stack () il managed {
434 .method public static int32 test_5_endfinally_with_nonempty_stack () il managed {
448 .method public static int32 test_0_conv_ovf_i8_neg () il managed {
463 .method public static int32 test_0_get_type_from_handle_on_bblock_boundary () cil managed
471 ldtoken [mscorlib]System.String
474 ldtoken [mscorlib]System.Object
476 call class [mscorlib]'System.Type' class [mscorlib]'System.Type'::'GetTypeFromHandle'(valuetype [mscorlib]'System.RuntimeTypeHandle')
477 callvirt string class [mscorlib]System.Type::get_FullName ()
478 ldstr "System.String"
479 callvirt bool class [mscorlib]System.Object::Equals(object)
485 .method public static int32 test_0_bug59580 ()
487 ldc.r4 float32(0x7FC00000)
488 ldc.r4 float32(0x7FC00000)
499 .method public static int32 test_1_bug60056 () {
500 .locals init (int32 m5)