Chris Lattner | 3faf86e | 2006-09-11 21:41:56 +0000 | [diff] [blame] | 1 | ; PR905 |
Reid Spencer | ede8c3b | 2007-04-15 07:38:21 +0000 | [diff] [blame] | 2 | ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output |
| 3 | ; END. |
Chris Lattner | 3faf86e | 2006-09-11 21:41:56 +0000 | [diff] [blame] | 4 | |
| 5 | %RPYTHON_EXCEPTION = type { %RPYTHON_EXCEPTION_VTABLE* } |
| 6 | %RPYTHON_EXCEPTION_VTABLE = type { %RPYTHON_EXCEPTION_VTABLE*, int, int, %RPyOpaque_RuntimeTypeInfo*, %arraytype_Char*, %functiontype_12* } |
| 7 | %RPyOpaque_RuntimeTypeInfo = type opaque* |
| 8 | %arraytype_Char = type { int, [0 x sbyte] } |
| 9 | %fixarray_array1019 = type [1019 x sbyte*] |
| 10 | %functiontype_12 = type %RPYTHON_EXCEPTION* () |
| 11 | %functiontype_14 = type void (%structtype_pypy.rpython.memory.gc.MarkSweepGC*) |
| 12 | %structtype_AddressLinkedListChunk = type { %structtype_AddressLinkedListChunk*, int, %fixarray_array1019 } |
| 13 | %structtype_exceptions.Exception = type { %RPYTHON_EXCEPTION } |
| 14 | %structtype_gc_pool = type { } |
| 15 | %structtype_gc_pool_node = type { %structtype_header*, %structtype_gc_pool_node* } |
| 16 | %structtype_header = type { int, %structtype_header* } |
| 17 | %structtype_pypy.rpython.memory.gc.MarkSweepGC = type { %structtype_exceptions.Exception, int, int, bool, %structtype_gc_pool*, int, %structtype_header*, %structtype_header*, %structtype_gc_pool_node*, double, double } |
| 18 | |
| 19 | implementation ; Functions: |
| 20 | |
| 21 | fastcc void %pypy_MarkSweepGC.collect() { |
| 22 | block0: |
| 23 | %v1221 = load %structtype_AddressLinkedListChunk** null ; <%structtype_AddressLinkedListChunk*> [#uses=1] |
| 24 | %v1222 = setne %structtype_AddressLinkedListChunk* %v1221, null ; <bool> [#uses=1] |
| 25 | br bool %v1222, label %block79, label %block4 |
| 26 | |
| 27 | block4: ; preds = %block0 |
| 28 | ret void |
| 29 | |
| 30 | block22: ; preds = %block79 |
| 31 | ret void |
| 32 | |
| 33 | block67: ; preds = %block79 |
| 34 | %v1459 = load %structtype_gc_pool** null ; <%structtype_gc_pool*> [#uses=1] |
| 35 | %v1460 = cast %structtype_gc_pool* %v1459 to sbyte* ; <sbyte*> [#uses=1] |
| 36 | %tmp_873 = cast sbyte* %v1460 to int ; <int> [#uses=1] |
| 37 | %tmp_874 = sub int %tmp_873, 0 ; <int> [#uses=1] |
| 38 | %v1461 = cast int %tmp_874 to sbyte* ; <sbyte*> [#uses=1] |
| 39 | %v1462 = cast sbyte* %v1461 to %structtype_header* ; <%structtype_header*> [#uses=1] |
| 40 | %tmp_876 = getelementptr %structtype_header* %v1462, int 0, uint 0 ; <int*> [#uses=1] |
| 41 | store int 0, int* %tmp_876 |
| 42 | ret void |
| 43 | |
| 44 | block79: ; preds = %block0 |
| 45 | %v1291 = load %structtype_gc_pool** null ; <%structtype_gc_pool*> [#uses=1] |
| 46 | %v1292 = setne %structtype_gc_pool* %v1291, null ; <bool> [#uses=1] |
| 47 | br bool %v1292, label %block67, label %block22 |
| 48 | } |