1 /* 2 * Copyright (c) 2000-2019, NVIDIA CORPORATION. All rights reserved. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 * 16 */ 17 18 #ifndef MWD_H_ 19 #define MWD_H_ 20 21 /** \file 22 * \brief Header for mw's dump routines 23 */ 24 25 #include "gbldefs.h" 26 #include <stdio.h> 27 #include "symtab.h" 28 29 #if DEBUG 30 31 /** 32 \brief ... 33 */ 34 char *getprintnme(int n); 35 36 /** 37 \brief ... 38 */ 39 char *printname(int sptr); 40 41 /** 42 \brief ... 43 */ 44 int putdty(TY_KIND dty); 45 46 /** 47 \brief ... 48 */ 49 void checkfgraph(const char *s); 50 51 /** 52 \brief ... 53 */ 54 void checktags(const char *phase); 55 56 /** 57 \brief ... 58 */ 59 void dbihonly(void); 60 61 /** 62 \brief ... 63 */ 64 void dbih(void); 65 66 /** 67 \brief ... 68 */ 69 void db(int block); 70 71 /** 72 \brief ... 73 */ 74 void ddtype(DTYPE dtype); 75 76 /** 77 \brief ... 78 */ 79 void ddtypes(void); 80 81 /** 82 \brief ... 83 */ 84 void dfih(int f); 85 86 /** 87 \brief ... 88 */ 89 void dflg(void); 90 91 /** 92 \brief ... 93 */ 94 void dgbl(void); 95 96 /** 97 \brief ... 98 */ 99 void dili(int ilix); 100 101 /** 102 \brief ... 103 */ 104 void dilitre(int ilix); 105 106 /** 107 \brief ... 108 */ 109 void dilt(int ilt); 110 111 /** 112 \brief ... 113 */ 114 void dsa(void); 115 116 /** 117 \brief ... 118 */ 119 void ds(int sptr); 120 121 /** 122 \brief ... 123 */ 124 void dss(int l, int u); 125 126 /** 127 \brief ... 128 */ 129 void dsym(int sptr); 130 131 /** 132 \brief ... 133 */ 134 void dsyms(int l, int u); 135 136 /** 137 \brief ... 138 */ 139 void dumpabnd(int abx); 140 141 /** 142 \brief ... 143 */ 144 void dumpabnds(void); 145 146 /** 147 \brief ... 148 */ 149 void dumpacacheinfo(int cx); 150 151 /** 152 \brief ... 153 */ 154 void dumpacexprs(void); 155 156 /** 157 \brief ... 158 */ 159 void dumpacivs(void); 160 161 /** 162 \brief ... 163 */ 164 void dumpacsymt(int first, int last); 165 166 /** 167 \brief ... 168 */ 169 void dumpadef(int def); 170 171 /** 172 \brief ... 173 */ 174 void _dumpadef(int def, int dumpuses); 175 176 /** 177 \brief ... 178 */ 179 void dumpallloops(void); 180 181 /** 182 \brief ... 183 */ 184 void dumpallploops(void); 185 186 /** 187 \brief ... 188 */ 189 void _dumpaloop(int lpx, bool dumpprivate); 190 191 /** 192 \brief ... 193 */ 194 void dumpalooponly(int lpx); 195 196 /** 197 \brief ... 198 */ 199 void dumpanmelist(int nmelist); 200 201 /** 202 \brief ... 203 */ 204 void dumpanmetree(int nmex); 205 206 /** 207 \brief ... 208 */ 209 void dumparef(int arefx); 210 211 /** 212 \brief ... 213 */ 214 void dumparefs(void); 215 216 /** 217 \brief ... 218 */ 219 void dumparefxlist(int arefxlist); 220 221 /** 222 \brief ... 223 */ 224 void dumpause(int use); 225 226 /** 227 \brief ... 228 */ 229 void _dumpause(int use, int dumpdefs); 230 231 /** 232 \brief ... 233 */ 234 void dumpauselist(int use); 235 236 /** 237 \brief ... 238 */ 239 void dumpauses(void); 240 241 /** 242 \brief ... 243 */ 244 void dumpblock(int block); 245 246 /** 247 \brief ... 248 */ 249 void dumpblocks(const char *title); 250 251 /** 252 \brief ... 253 */ 254 void dumpblocksonly(void); 255 256 /** 257 \brief ... 258 */ 259 void _dumpchildaloopsclist(int lpx); 260 261 /** 262 \brief ... 263 */ 264 void _dumpchildaloops(int lpx); 265 266 /** 267 \brief ... 268 */ 269 void dumpddiff(int v); 270 271 /** 272 \brief ... 273 */ 274 void dumpdef(int def); 275 276 /** 277 \brief ... 278 */ 279 void _dumpdef(int def, int dumpuses); 280 281 /** 282 \brief ... 283 */ 284 void dumpdeflist(int deflist); 285 286 /** 287 \brief ... 288 */ 289 void dumpdefnmes(void); 290 291 /** 292 \brief ... 293 */ 294 void dumpdefs(void); 295 296 /** 297 \brief ... 298 */ 299 void dumpdfs(void); 300 301 /** 302 \brief ... 303 */ 304 void dumpdiff(void); 305 306 /** 307 \brief ... 308 */ 309 void dumpdtype(DTYPE dtype); 310 311 /** 312 \brief ... 313 */ 314 void dumpdtypes(void); 315 316 /** 317 \brief ... 318 */ 319 void dumpdvl(int d); 320 321 /** 322 \brief ... 323 */ 324 void dumpdvls(void); 325 326 /** 327 \brief ... 328 */ 329 void dumpfgraph(void); 330 331 /** 332 \brief ... 333 */ 334 void dumpfgraph2file(void); 335 336 /** 337 \brief ... 338 */ 339 void dumpfg(void); 340 341 /** 342 \brief ... 343 */ 344 void dumpfile(int f); 345 346 /** 347 \brief ... 348 */ 349 void dumpfiles(void); 350 351 /** 352 \brief ... 353 */ 354 void dumpfnodehead(int v); 355 356 /** 357 \brief ... 358 */ 359 void dumpfnode(int v); 360 361 /** 362 \brief ... 363 */ 364 void dumpiltdeflist(int iltx); 365 366 /** 367 \brief ... 368 */ 369 void dumpilt(int ilt); 370 371 /** 372 \brief ... 373 */ 374 void dumpiltmrlist(int iltx); 375 376 /** 377 \brief ... 378 */ 379 void dumpilts(void); 380 381 /** 382 \brief ... 383 */ 384 void dumpiltuselist(int iltx); 385 386 /** 387 \brief ... 388 */ 389 void dumpind(int i); 390 391 /** 392 \brief ... 393 */ 394 void dumpinds(void); 395 396 /** 397 \brief ... 398 */ 399 void dumpiv(int ivx); 400 401 /** 402 \brief ... 403 */ 404 void dumpivlist(void); 405 406 /** 407 \brief ... 408 */ 409 void dumpliveinuses(void); 410 411 /** 412 \brief ... 413 */ 414 void dumpliveoutdefs(void); 415 416 /** 417 \brief ... 418 */ 419 void dumplong(void); 420 421 /** 422 \brief ... 423 */ 424 void dumploop(int l); 425 426 /** 427 \brief ... 428 */ 429 void _dumploop(int l, bool dumpldst, bool dumpbits, int nest); 430 431 /** 432 \brief ... 433 */ 434 void dumploopsbv(int bvlen); 435 436 /** 437 \brief ... 438 */ 439 void dumploops(void); 440 441 /** 442 \brief ... 443 */ 444 void _dumplooptree(int l, int nest); 445 446 /** 447 \brief ... 448 */ 449 void dumplooptree(void); 450 451 /** 452 \brief ... 453 */ 454 void dumpmemref(int m); 455 456 /** 457 \brief ... 458 */ 459 void dumpmemrefs(void); 460 461 /** 462 \brief ... 463 */ 464 void _dumpmode2(int mode2); 465 466 /** 467 \brief ... 468 */ 469 void _dumpmode3(int mode3); 470 471 /** 472 \brief ... 473 */ 474 void _dumpmode(int mode); 475 476 /** 477 \brief ... 478 */ 479 void dumpmr(int m); 480 481 /** 482 \brief ... 483 */ 484 void dumpnatural(void); 485 486 /** 487 \brief ... 488 */ 489 void dumpnewdtypes(int olddtavail); 490 491 /** 492 \brief ... 493 */ 494 void dumpnme(int n); 495 496 /** 497 \brief ... 498 */ 499 void _dumpnme(int n, bool dumpdefsuses); 500 501 /** 502 \brief ... 503 */ 504 void dumpnmes(void); 505 506 /** 507 \brief ... 508 */ 509 void dumpnmetree(int n); 510 511 /** 512 \brief ... 513 */ 514 void dumpnnme(int n); 515 516 /** 517 \brief ... 518 */ 519 void dumpnst2(int n); 520 521 /** 522 \brief ... 523 */ 524 void dumpnst(int n); 525 526 /** 527 \brief ... 528 */ 529 void _dumpparentaloopsclist(int lpx); 530 531 /** 532 \brief ... 533 */ 534 void _dumpparentaloops(int lpx); 535 536 /** 537 \brief ... 538 */ 539 void dumpploop(int plpx); 540 541 /** 542 \brief ... 543 */ 544 void _dumpplooptree(int plpx); 545 546 /** 547 \brief ... 548 */ 549 void dumpprivatelist(void); 550 551 /** 552 \brief ... 553 */ 554 void dumpreddeflist(int deflist); 555 556 /** 557 \brief ... 558 */ 559 void dumpred(int r); 560 561 /** 562 \brief ... 563 */ 564 void dumpredlist(int r); 565 566 /** 567 \brief ... 568 */ 569 void dumpreducdeflist(int defx); 570 571 /** 572 \brief ... 573 */ 574 void dumpreducdefs(void); 575 576 /** 577 \brief ... 578 */ 579 void dumpregion(int r); 580 581 /** 582 \brief ... 583 */ 584 void dumpregionnest(int r); 585 586 /** 587 \brief ... 588 */ 589 void dumpregions(void); 590 591 /** 592 \brief ... 593 */ 594 void dumprnest(void); 595 596 /** 597 \brief ... 598 */ 599 void dumpscalar(int s); 600 601 /** 602 \brief ... 603 */ 604 void dumpscalarlist(int ss); 605 606 /** 607 \brief ... 608 */ 609 void dumpscalars(void); 610 611 /** 612 \brief ... 613 */ 614 void dumpshort(void); 615 616 /** 617 \brief ... 618 */ 619 void dumpsizes(void); 620 621 /** 622 \brief ... 623 */ 624 void dumpstmt(int s); 625 626 /** 627 \brief ... 628 */ 629 void dumpstmts(void); 630 631 /** 632 \brief ... 633 */ 634 void dumpstore(int s); 635 636 /** 637 \brief ... 638 */ 639 void dumpstorelist(int s); 640 641 /** 642 \brief ... 643 */ 644 void dumpsub(int s); 645 646 /** 647 \brief ... 648 */ 649 void dumpsubs(void); 650 651 /** 652 \brief ... 653 */ 654 void dumptblock(const char *title, int block); 655 656 /** 657 \brief ... 658 */ 659 void dumpuseddefs(void); 660 661 /** 662 \brief ... 663 */ 664 void dumpuseduses(void); 665 666 /** 667 \brief ... 668 */ 669 void dumpuse(int use); 670 671 /** 672 \brief ... 673 */ 674 void _dumpuse(int use, int dumpdefs); 675 676 /** 677 \brief ... 678 */ 679 void dumpuses(void); 680 681 /** 682 \brief ... 683 */ 684 void dumpvdef(int def); 685 686 /** 687 \brief ... 688 */ 689 void _dumpvdef(int def, int dumpuses); 690 691 /** 692 \brief ... 693 */ 694 void dumpvilt(int iltx); 695 696 /** 697 \brief ... 698 */ 699 void dumpvind(int i); 700 701 /** 702 \brief ... 703 */ 704 void dumpvindl(int i1, int n); 705 706 /** 707 \brief ... 708 */ 709 void dumpvinds(void); 710 711 /** 712 \brief ... 713 */ 714 void dumpvloop(int l); 715 716 /** 717 \brief ... 718 */ 719 void dumpvlooplist(int list); 720 721 /** 722 \brief ... 723 */ 724 void dumpvloops(void); 725 726 /** 727 \brief ... 728 */ 729 void dumpvuse(int use); 730 731 /** 732 \brief ... 733 */ 734 void _dumpvuse(int use, int dumpdefs); 735 736 /** 737 \brief ... 738 */ 739 void pprintnme(int n); 740 741 /** 742 \brief ... 743 */ 744 void printblock(int block); 745 746 /** 747 \brief ... 748 */ 749 void printblockline(int block); 750 751 /** 752 \brief ... 753 */ 754 void printblocksline(void); 755 756 /** 757 \brief ... 758 */ 759 void printblocks(void); 760 761 /** 762 \brief ... 763 */ 764 void dumpdpshape(int shapeid); 765 766 /** 767 \brief ... 768 */ 769 void dumpdppolicy(int policyid); 770 771 /** 772 \brief ... 773 */ 774 void dumpdpshapes(); 775 776 /** 777 \brief ... 778 */ 779 void dumpdppolicies(); 780 781 /** 782 \brief ... 783 */ 784 void printblockt(int firstblock, int lastblock); 785 786 /** 787 \brief ... 788 */ 789 void printblocktt(int firstblock, int lastblock); 790 791 /** 792 \brief ... 793 */ 794 void printfgraph(void); 795 796 /** 797 \brief ... 798 */ 799 void printfnode(int v); 800 801 /** 802 \brief ... 803 */ 804 void printili(int i); 805 806 /** 807 \brief ... 808 */ 809 void printilt(int i); 810 811 /** 812 \brief ... 813 */ 814 void printloop(int lpx); 815 816 /** 817 \brief ... 818 */ 819 void printnme(int n); 820 821 /** 822 \brief ... 823 */ 824 void printregion(int r); 825 826 /** 827 \brief ... 828 */ 829 void printregionnest(const char *msg, int r); 830 831 /** 832 \brief ... 833 */ 834 void _printregionnest(int r); 835 836 /** 837 \brief ... 838 */ 839 void printregions(void); 840 841 /** 842 \brief ... 843 */ 844 void putarefherelists(int lpx); 845 846 /** 847 \brief ... 848 */ 849 void putareflists(int lpx); 850 851 /** 852 \brief ... 853 */ 854 void putasub(int asubx, int nest); 855 856 /** 857 \brief ... 858 */ 859 void putcoeff(int coefx, int nest); 860 861 /** 862 \brief ... 863 */ 864 void putdtype(DTYPE dtype); 865 866 /** 867 \brief ... 868 */ 869 void _putdtype(DTYPE dtype, int structdepth); 870 871 /** 872 \brief ... 873 */ 874 void putili(const char *name, int ilix); 875 876 /** 877 \brief ... 878 */ 879 void putint1(int d); 880 881 /** 882 \brief ... 883 */ 884 void putlpxareflist(int lpx, const char *listname, int list, int nest); 885 886 /** 887 \brief ... 888 */ 889 void putmode(int mode); 890 891 /** 892 \brief ... 893 */ 894 void putmwline(void); 895 896 /** 897 \brief ... 898 */ 899 void putnestarefherelists(int lpx); 900 901 /** 902 \brief ... 903 */ 904 void _putnestareflists(int lpx, int nest, int flags); 905 906 /** 907 \brief ... 908 */ 909 void putnme(const char *s, int nme); 910 911 /** 912 \brief ... 913 */ 914 void putnnaref(int arefx, int nest); 915 916 /** 917 \brief ... 918 */ 919 void putptelist(int pte); 920 921 /** 922 \brief ... 923 */ 924 void putredtype(int rt); 925 926 /** 927 \brief ... 928 */ 929 void putsclist(const char *name, int list); 930 931 /** 932 \brief ... 933 */ 934 void putsoc(int socptr); 935 936 /** 937 \brief ... 938 */ 939 void _putsubs(const char *name, int s1, int n1); 940 941 /** 942 \brief ... 943 */ 944 void putsubs(int s1, int n1); 945 946 /** 947 \brief ... 948 */ 949 void simpledumpregion(int r); 950 951 /** 952 \brief ... 953 */ 954 void simpledumpstmt(int s); 955 956 /** 957 \brief ... 958 */ 959 void simpleprintregion(int r); 960 961 /** 962 \brief ... 963 */ 964 void simpleprintregionnest(const char *msg, int r); 965 966 /** 967 \brief ... 968 */ 969 void _simpleprintregionnest(int r); 970 971 /** 972 \brief ... 973 */ 974 void stackcheck(void); 975 976 /** 977 \brief ... 978 */ 979 void stackvars(void); 980 981 #endif // DEBUG == 1 982 #endif // MWD_H_ 983