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