summaryrefslogtreecommitdiff
path: root/base/TreeVisitor.opt.regalloc
diff options
context:
space:
mode:
Diffstat (limited to 'base/TreeVisitor.opt.regalloc')
-rw-r--r--base/TreeVisitor.opt.regalloc539
1 files changed, 539 insertions, 0 deletions
diff --git a/base/TreeVisitor.opt.regalloc b/base/TreeVisitor.opt.regalloc
new file mode 100644
index 0000000..985ead2
--- /dev/null
+++ b/base/TreeVisitor.opt.regalloc
@@ -0,0 +1,539 @@
+func Main
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ t.0: 15
+Linear Range:
+ t.0: 14-15
+Allocation:
+ t.0: t0
+
+func TV.Start
+ in 0, out 0, callee-saves 1, spills 0
+Live In:
+ this:
+ root: 20 23-24 27-29 32-33 36-37 40-41 44-45 48-49 52-53 56-57 60-66 69-71 74-76 79-81 84-86 89-91 94-96 99-100 103-104 107
+ ntb:
+ t.0: 63-64
+ v: 65-66 69
+ nti:
+ t.1: 75
+ t.2: 80
+ t.3: 85
+ t.4: 90
+ t.5: 95
+ t.6: 108
+Linear Range:
+ root: 19-107 (cross call)
+ t.0: 62-64
+ v: 64-69
+ t.1: 74-75
+ t.2: 79-80
+ t.3: 84-85
+ t.4: 89-90
+ t.5: 94-95
+ t.6: 107-108
+Allocation:
+ root: s0
+ t.0: t0
+ v: t0
+ t.1: t0
+ t.2: t0
+ t.3: t0
+ t.4: t0
+ t.5: t0
+ t.6: t0
+
+func Tree.Init
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 112-114
+ v_key: 112
+Linear Range:
+ this: 111-114
+ v_key: 111-112
+Allocation:
+ this: t0
+ v_key: t1
+
+func Tree.SetRight
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 118
+ rn: 118
+Linear Range:
+ this: 117-118
+ rn: 117-118
+Allocation:
+ this: t0
+ rn: t1
+
+func Tree.SetLeft
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 122
+ ln: 122
+Linear Range:
+ this: 121-122
+ ln: 121-122
+Allocation:
+ this: t0
+ ln: t1
+
+func Tree.GetRight
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 126
+ t.0: 127
+Linear Range:
+ this: 125-126
+ t.0: 126-127
+Allocation:
+ this: t0
+ t.0: t0
+
+func Tree.GetLeft
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 130
+ t.0: 131
+Linear Range:
+ this: 129-130
+ t.0: 130-131
+Allocation:
+ this: t0
+ t.0: t0
+
+func Tree.GetKey
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 134
+ t.0: 135
+Linear Range:
+ this: 133-134
+ t.0: 134-135
+Allocation:
+ this: t0
+ t.0: t0
+
+func Tree.SetKey
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 138
+ v_key: 138
+Linear Range:
+ this: 137-138
+ v_key: 137-138
+Allocation:
+ this: t0
+ v_key: t1
+
+func Tree.GetHas_Right
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 142
+ t.0: 143
+Linear Range:
+ this: 141-142
+ t.0: 142-143
+Allocation:
+ this: t0
+ t.0: t0
+
+func Tree.GetHas_Left
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 146
+ t.0: 147
+Linear Range:
+ this: 145-146
+ t.0: 146-147
+Allocation:
+ this: t0
+ t.0: t0
+
+func Tree.SetHas_Left
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 150
+ val: 150
+Linear Range:
+ this: 149-150
+ val: 149-150
+Allocation:
+ this: t0
+ val: t1
+
+func Tree.SetHas_Right
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 154
+ val: 154
+Linear Range:
+ this: 153-154
+ val: 153-154
+Allocation:
+ this: t0
+ val: t1
+
+func Tree.Compare
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this:
+ num1: 158-161 165
+ num2: 158-160
+ ntb: 163 168 173
+ nti: 160-161 165
+ t.0: 161
+ t.1: 166
+Linear Range:
+ num1: 157-165
+ num2: 157-160
+ ntb: 162-173
+ nti: 159-165
+ t.0: 160-161
+ t.1: 165-166
+Allocation:
+ num1: t0
+ num2: t1
+ ntb: t1
+ nti: t2
+ t.0: t1
+ t.1: t2
+
+func Tree.Insert
+ in 0, out 0, callee-saves 4, spills 0
+Live In:
+ this: 176-177 180-181
+ v_key: 176-177 180-185 188-191 194-196 199-203 206-207 210-214 217-219 222-226 229-230 233-236
+ new_node: 177 180-185 188-191 194-196 199-203 206-207 210-214 217-219 222-226 229-230 233-236
+ ntb:
+ current_node: 182-185 188-191 194-196 199-203 206-207 210-214 217-219 222-226 229-230 233-236
+ cont: 184-185 188-191 194-196 199-200 203 206-207 210-214 217-219 222-223 226 229-230 233-236
+ key_aux: 189
+ t.0: 190
+ t.1: 195
+ t.2: 218
+Linear Range:
+ this: 175-181 (cross call)
+ v_key: 175-236 (cross call)
+ new_node: 176-236 (cross call)
+ current_node: 181-236 (cross call)
+ cont: 182-236 (cross call)
+ key_aux: 188-189
+ t.0: 189-190
+ t.1: 194-195
+ t.2: 217-218
+Allocation:
+ this: s0
+ v_key: s1
+ new_node: s2
+ current_node: s0
+ cont: s3
+ key_aux: t0
+ t.0: t0
+ t.1: t0
+ t.2: t0
+
+func Tree.Delete
+ in 0, out 0, callee-saves 7, spills 0
+Live In:
+ this: 241-248 251-254 257-260 263-272 275-278 281-289 292-294 297-313
+ v_key: 241-248 251-254 257-260 263-272 275-278 281-289 292-294 297-313
+ current_node: 242-248 251-254 257-260 263-272 275-278 281-289 292-294 297-313
+ parent_node: 243-248 251-254 257-258 260 263-272 275-276 278 281-289 292-294 297-313
+ cont: 244-248 251-254 257-260 263-264 268-272 275-278 281-282 286 312-313
+ found: 245-248 251-254 257-260 263-272 275-278 281-286 309-315
+ is_root: 247-248 251-253 270-271 288 313
+ key_aux: 252-253 270
+ t.0: 253
+ t.1: 258
+ t.2: 271
+ t.3: 276
+ t.4: 293
+ t.5: 298
+ ntb:
+Linear Range:
+ this: 240-313 (cross call)
+ v_key: 240-313 (cross call)
+ current_node: 241-313 (cross call)
+ parent_node: 242-313 (cross call)
+ cont: 243-313 (cross call)
+ found: 244-315 (cross call)
+ is_root: 245-313 (cross call)
+ key_aux: 251-270
+ t.0: 252-253
+ t.1: 257-258
+ t.2: 270-271
+ t.3: 275-276
+ t.4: 292-293
+ t.5: 297-298
+Allocation:
+ this: s0
+ v_key: s1
+ current_node: s2
+ parent_node: s3
+ cont: s4
+ found: s5
+ is_root: s6
+ key_aux: t0
+ t.0: t1
+ t.1: t1
+ t.2: t0
+ t.3: t0
+ t.4: t0
+ t.5: t0
+
+func Tree.Remove
+ in 0, out 0, callee-saves 3, spills 0
+Live In:
+ this: 318 321-323 326 329-331 334 337-338 341-342 345-348 351 359 362
+ p_node: 318 321-323 326 329-331 334 337-338 341-342 345-348 351-353 356 359 362-364 367
+ c_node: 318 321-323 326 329-331 334 337
+ t.0: 322
+ ntb:
+ t.1: 330
+ auxkey1: 338 341-342 345-346
+ t.2: 342 345
+ auxkey2: 346
+ t.3: 347
+ t.4: 352
+ t.5: 363
+Linear Range:
+ this: 317-362 (cross call)
+ p_node: 317-367 (cross call)
+ c_node: 317-337 (cross call)
+ t.0: 321-322
+ t.1: 329-330
+ auxkey1: 337-346 (cross call)
+ t.2: 341-345
+ auxkey2: 345-346
+ t.3: 346-347
+ t.4: 351-352
+ t.5: 362-363
+Allocation:
+ this: s0
+ p_node: s1
+ c_node: s2
+ t.0: t0
+ t.1: t0
+ auxkey1: s2
+ t.2: t0
+ auxkey2: t0
+ t.3: t0
+ t.4: t0
+ t.5: t0
+
+func Tree.RemoveRight
+ in 0, out 0, callee-saves 3, spills 0
+Live In:
+ this: 375 378-380 383 386-387 390-393 396-399 402
+ p_node: 375 378-379 393 396-399 402-404 407
+ c_node: 375 378-380 383 386-387 390-393 396-397
+ t.0: 379
+ t.1: 387 390
+ t.2: 391
+ ntb:
+ t.3: 403
+Linear Range:
+ this: 373-402 (cross call)
+ p_node: 373-407 (cross call)
+ c_node: 373-397 (cross call)
+ t.0: 378-379
+ t.1: 386-390
+ t.2: 390-391
+ t.3: 402-403
+Allocation:
+ this: s0
+ p_node: s1
+ c_node: s2
+ t.0: t0
+ t.1: t0
+ t.2: t0
+ t.3: t0
+
+func Tree.RemoveLeft
+ in 0, out 0, callee-saves 3, spills 0
+Live In:
+ this: 412 415-417 420 423-424 427-430 433-436 439
+ p_node: 412 415-416 430 433-436 439-441 444
+ c_node: 412 415-417 420 423-424 427-430 433-434
+ t.0: 416
+ t.1: 424 427
+ t.2: 428
+ ntb:
+ t.3: 440
+Linear Range:
+ this: 410-439 (cross call)
+ p_node: 410-444 (cross call)
+ c_node: 410-434 (cross call)
+ t.0: 415-416
+ t.1: 423-427
+ t.2: 427-428
+ t.3: 439-440
+Allocation:
+ this: s0
+ p_node: s1
+ c_node: s2
+ t.0: t0
+ t.1: t0
+ t.2: t0
+ t.3: t0
+
+func Tree.Search
+ in 0, out 0, callee-saves 4, spills 0
+Live In:
+ this: 448
+ v_key: 448-453 456-459 462-464 467-476 479-481 484-495
+ current_node: 449-453 456-459 462-464 467-476 479-481 484-495
+ cont: 450-453 456-459 462-464 467-468 472-476 479-481 484-485 489 495
+ ifound: 452-453 456-459 462-464 467-476 479-481 484-489 492-497
+ key_aux: 457-458 474
+ t.0: 458
+ t.1: 463
+ t.2: 475
+ t.3: 480
+Linear Range:
+ this: 447-448
+ v_key: 447-495 (cross call)
+ current_node: 448-495 (cross call)
+ cont: 449-495 (cross call)
+ ifound: 450-497 (cross call)
+ key_aux: 456-474
+ t.0: 457-458
+ t.1: 462-463
+ t.2: 474-475
+ t.3: 479-480
+Allocation:
+ this: t0
+ v_key: s0
+ current_node: s1
+ cont: s2
+ ifound: s3
+ key_aux: t0
+ t.0: t1
+ t.1: t1
+ t.2: t0
+ t.3: t0
+
+func Tree.Print
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 500-501
+ current_node: 501
+ ntb:
+Linear Range:
+ this: 499-501
+ current_node: 500-501
+Allocation:
+ this: t0
+ current_node: t1
+
+func Tree.RecPrint
+ in 0, out 0, callee-saves 2, spills 0
+Live In:
+ this: 505 508-510 513-519 522-524 527-529 532-533
+ node: 505 508-510 513-519 522-524 527-529 532
+ t.0: 509
+ t.1: 514
+ ntb:
+ t.2: 523
+ t.3: 528
+ t.4: 533
+Linear Range:
+ this: 504-533 (cross call)
+ node: 504-532 (cross call)
+ t.0: 508-509
+ t.1: 513-514
+ t.2: 522-523
+ t.3: 527-528
+ t.4: 532-533
+Allocation:
+ this: s0
+ node: s1
+ t.0: t0
+ t.1: t0
+ t.2: t0
+ t.3: t0
+ t.4: t0
+
+func Tree.accept
+ in 0, out 0, callee-saves 0, spills 0
+Live In:
+ this: 541-542 545-547
+ v: 541-542 545-547
+ t.0: 546-547
+ nti:
+Linear Range:
+ this: 540-547
+ v: 540-547
+ t.0: 545-547
+Allocation:
+ this: t0
+ v: t1
+ t.0: t2
+
+func Visitor.visit
+ in 0, out 0, callee-saves 2, spills 0
+Live In:
+ this: 551 554-556 559-562 565-570 573-575 578-581 584
+ n: 551 554-556 559-562 565-570 573-575 578
+ t.0: 555
+ t.1: 560
+ t.2: 562 565
+ nti:
+ t.3: 574
+ t.4: 579
+ t.5: 581 584
+Linear Range:
+ this: 550-584 (cross call)
+ n: 550-578 (cross call)
+ t.0: 554-555
+ t.1: 559-560
+ t.2: 561-565
+ t.3: 573-574
+ t.4: 578-579
+ t.5: 580-584
+Allocation:
+ this: s0
+ n: s1
+ t.0: t0
+ t.1: t0
+ t.2: t0
+ t.3: t0
+ t.4: t0
+ t.5: t0
+
+func MyVisitor.visit
+ in 0, out 0, callee-saves 2, spills 0
+Live In:
+ this: 592 595-597 600-603 606-611 614-616 619-621 624-627 630
+ n: 592 595-597 600-603 606-611 614-616 619-621 624
+ t.0: 596
+ t.1: 601
+ t.2: 603 606
+ nti:
+ t.3: 615
+ t.4: 620
+ t.5: 625
+ t.6: 627 630
+Linear Range:
+ this: 591-630 (cross call)
+ n: 591-624 (cross call)
+ t.0: 595-596
+ t.1: 600-601
+ t.2: 602-606
+ t.3: 614-615
+ t.4: 619-620
+ t.5: 624-625
+ t.6: 626-630
+Allocation:
+ this: s0
+ n: s1
+ t.0: t0
+ t.1: t0
+ t.2: t0
+ t.3: t0
+ t.4: t0
+ t.5: t0
+ t.6: t0
+