Mercurial > hg > CbC > CbC_gcc
comparison gcc/gimple-pretty-print.c @ 132:d34655255c78
update gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 10:21:07 +0900 |
parents | 84e7813d76e9 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
130:e108057fa461 | 132:d34655255c78 |
---|---|
1 /* Pretty formatting of GIMPLE statements and expressions. | 1 /* Pretty formatting of GIMPLE statements and expressions. |
2 Copyright (C) 2001-2017 Free Software Foundation, Inc. | 2 Copyright (C) 2001-2018 Free Software Foundation, Inc. |
3 Contributed by Aldy Hernandez <aldyh@redhat.com> and | 3 Contributed by Aldy Hernandez <aldyh@redhat.com> and |
4 Diego Novillo <dnovillo@google.com> | 4 Diego Novillo <dnovillo@google.com> |
5 | 5 |
6 This file is part of GCC. | 6 This file is part of GCC. |
7 | 7 |
80 /* Return formatted string of a VALUE probability | 80 /* Return formatted string of a VALUE probability |
81 (biased by REG_BR_PROB_BASE). Returned string is allocated | 81 (biased by REG_BR_PROB_BASE). Returned string is allocated |
82 by xstrdup_for_dump. */ | 82 by xstrdup_for_dump. */ |
83 | 83 |
84 static const char * | 84 static const char * |
85 dump_profile (int frequency, profile_count &count) | 85 dump_profile (profile_count &count) |
86 { | 86 { |
87 float minimum = 0.01f; | 87 char *buf = NULL; |
88 | 88 if (!count.initialized_p ()) |
89 gcc_assert (0 <= frequency && frequency <= REG_BR_PROB_BASE); | 89 return ""; |
90 float fvalue = frequency * 100.0f / REG_BR_PROB_BASE; | 90 if (count.ipa_p ()) |
91 if (fvalue < minimum && frequency > 0) | 91 buf = xasprintf ("[count: %" PRId64 "]", |
92 return "[0.01%]"; | |
93 | |
94 char *buf; | |
95 if (count.initialized_p ()) | |
96 buf = xasprintf ("[%.2f%%] [count: %" PRId64 "]", fvalue, | |
97 count.to_gcov_type ()); | 92 count.to_gcov_type ()); |
98 else | 93 else if (count.initialized_p ()) |
99 buf = xasprintf ("[%.2f%%] [count: INV]", fvalue); | 94 buf = xasprintf ("[local count: %" PRId64 "]", |
95 count.to_gcov_type ()); | |
100 | 96 |
101 const char *ret = xstrdup_for_dump (buf); | 97 const char *ret = xstrdup_for_dump (buf); |
102 free (buf); | 98 free (buf); |
103 | 99 |
104 return ret; | 100 return ret; |
155 } | 151 } |
156 | 152 |
157 DEBUG_FUNCTION void | 153 DEBUG_FUNCTION void |
158 debug (gimple &ref) | 154 debug (gimple &ref) |
159 { | 155 { |
160 print_gimple_stmt (stderr, &ref, 0, 0); | 156 print_gimple_stmt (stderr, &ref, 0, TDF_NONE); |
161 } | 157 } |
162 | 158 |
163 DEBUG_FUNCTION void | 159 DEBUG_FUNCTION void |
164 debug (gimple *ptr) | 160 debug (gimple *ptr) |
165 { | 161 { |
360 dump_generic_node (buffer, rhs, spc, flags, false); | 356 dump_generic_node (buffer, rhs, spc, flags, false); |
361 pp_string (buffer, "))"); | 357 pp_string (buffer, "))"); |
362 break; | 358 break; |
363 | 359 |
364 case ABS_EXPR: | 360 case ABS_EXPR: |
361 case ABSU_EXPR: | |
365 if (flags & TDF_GIMPLE) | 362 if (flags & TDF_GIMPLE) |
366 { | 363 { |
367 pp_string (buffer, "__ABS "); | 364 pp_string (buffer, |
365 rhs_code == ABS_EXPR ? "__ABS " : "__ABSU "); | |
368 dump_generic_node (buffer, rhs, spc, flags, false); | 366 dump_generic_node (buffer, rhs, spc, flags, false); |
369 } | 367 } |
370 else | 368 else |
371 { | 369 { |
372 pp_string (buffer, "ABS_EXPR <"); | 370 pp_string (buffer, |
371 rhs_code == ABS_EXPR ? "ABS_EXPR <" : "ABSU_EXPR <"); | |
373 dump_generic_node (buffer, rhs, spc, flags, false); | 372 dump_generic_node (buffer, rhs, spc, flags, false); |
374 pp_greater (buffer); | 373 pp_greater (buffer); |
375 } | 374 } |
376 break; | 375 break; |
377 | 376 |
431 case VEC_WIDEN_MULT_EVEN_EXPR: | 430 case VEC_WIDEN_MULT_EVEN_EXPR: |
432 case VEC_WIDEN_MULT_ODD_EXPR: | 431 case VEC_WIDEN_MULT_ODD_EXPR: |
433 case VEC_PACK_TRUNC_EXPR: | 432 case VEC_PACK_TRUNC_EXPR: |
434 case VEC_PACK_SAT_EXPR: | 433 case VEC_PACK_SAT_EXPR: |
435 case VEC_PACK_FIX_TRUNC_EXPR: | 434 case VEC_PACK_FIX_TRUNC_EXPR: |
435 case VEC_PACK_FLOAT_EXPR: | |
436 case VEC_WIDEN_LSHIFT_HI_EXPR: | 436 case VEC_WIDEN_LSHIFT_HI_EXPR: |
437 case VEC_WIDEN_LSHIFT_LO_EXPR: | 437 case VEC_WIDEN_LSHIFT_LO_EXPR: |
438 case VEC_SERIES_EXPR: | |
438 for (p = get_tree_code_name (code); *p; p++) | 439 for (p = get_tree_code_name (code); *p; p++) |
439 pp_character (buffer, TOUPPER (*p)); | 440 pp_character (buffer, TOUPPER (*p)); |
440 pp_string (buffer, " <"); | 441 pp_string (buffer, " <"); |
441 dump_generic_node (buffer, gimple_assign_rhs1 (gs), spc, flags, false); | 442 dump_generic_node (buffer, gimple_assign_rhs1 (gs), spc, flags, false); |
442 pp_string (buffer, ", "); | 443 pp_string (buffer, ", "); |
489 pp_string (buffer, ", "); | 490 pp_string (buffer, ", "); |
490 dump_generic_node (buffer, gimple_assign_rhs2 (gs), spc, flags, false); | 491 dump_generic_node (buffer, gimple_assign_rhs2 (gs), spc, flags, false); |
491 pp_string (buffer, ", "); | 492 pp_string (buffer, ", "); |
492 dump_generic_node (buffer, gimple_assign_rhs3 (gs), spc, flags, false); | 493 dump_generic_node (buffer, gimple_assign_rhs3 (gs), spc, flags, false); |
493 pp_greater (buffer); | 494 pp_greater (buffer); |
494 break; | |
495 | |
496 case FMA_EXPR: | |
497 if (flags & TDF_GIMPLE) | |
498 { | |
499 pp_string (buffer, "__FMA ("); | |
500 dump_generic_node (buffer, gimple_assign_rhs1 (gs), spc, flags, false); | |
501 pp_comma (buffer); | |
502 dump_generic_node (buffer, gimple_assign_rhs2 (gs), spc, flags, false); | |
503 pp_comma (buffer); | |
504 dump_generic_node (buffer, gimple_assign_rhs3 (gs), spc, flags, false); | |
505 pp_right_paren (buffer); | |
506 } | |
507 else | |
508 { | |
509 dump_generic_node (buffer, gimple_assign_rhs1 (gs), spc, flags, false); | |
510 pp_string (buffer, " * "); | |
511 dump_generic_node (buffer, gimple_assign_rhs2 (gs), spc, flags, false); | |
512 pp_string (buffer, " + "); | |
513 dump_generic_node (buffer, gimple_assign_rhs3 (gs), spc, flags, false); | |
514 } | |
515 break; | 495 break; |
516 | 496 |
517 case DOT_PROD_EXPR: | 497 case DOT_PROD_EXPR: |
518 pp_string (buffer, "DOT_PROD_EXPR <"); | 498 pp_string (buffer, "DOT_PROD_EXPR <"); |
519 dump_generic_node (buffer, gimple_assign_rhs1 (gs), spc, flags, false); | 499 dump_generic_node (buffer, gimple_assign_rhs1 (gs), spc, flags, false); |
663 | 643 |
664 static void | 644 static void |
665 dump_gimple_return (pretty_printer *buffer, greturn *gs, int spc, | 645 dump_gimple_return (pretty_printer *buffer, greturn *gs, int spc, |
666 dump_flags_t flags) | 646 dump_flags_t flags) |
667 { | 647 { |
668 tree t, t2; | 648 tree t; |
669 | 649 |
670 t = gimple_return_retval (gs); | 650 t = gimple_return_retval (gs); |
671 t2 = gimple_return_retbnd (gs); | 651 if (flags & TDF_RAW) |
672 if (flags & TDF_RAW) | 652 dump_gimple_fmt (buffer, spc, flags, "%G <%T>", gs, t); |
673 dump_gimple_fmt (buffer, spc, flags, "%G <%T %T>", gs, t, t2); | |
674 else | 653 else |
675 { | 654 { |
676 pp_string (buffer, "return"); | 655 pp_string (buffer, "return"); |
677 if (t) | 656 if (t) |
678 { | 657 { |
679 pp_space (buffer); | 658 pp_space (buffer); |
680 dump_generic_node (buffer, t, spc, flags, false); | 659 dump_generic_node (buffer, t, spc, flags, false); |
681 } | |
682 if (t2) | |
683 { | |
684 pp_string (buffer, ", "); | |
685 dump_generic_node (buffer, t2, spc, flags, false); | |
686 } | 660 } |
687 pp_semicolon (buffer); | 661 pp_semicolon (buffer); |
688 } | 662 } |
689 } | 663 } |
690 | 664 |
875 } | 849 } |
876 | 850 |
877 if (flags & TDF_RAW) | 851 if (flags & TDF_RAW) |
878 { | 852 { |
879 if (gimple_call_internal_p (gs)) | 853 if (gimple_call_internal_p (gs)) |
880 dump_gimple_fmt (buffer, spc, flags, "%G <%s, %T", gs, | 854 dump_gimple_fmt (buffer, spc, flags, "%G <.%s, %T", gs, |
881 internal_fn_name (gimple_call_internal_fn (gs)), lhs); | 855 internal_fn_name (gimple_call_internal_fn (gs)), lhs); |
882 else | 856 else |
883 dump_gimple_fmt (buffer, spc, flags, "%G <%T, %T", gs, fn, lhs); | 857 dump_gimple_fmt (buffer, spc, flags, "%G <%T, %T", gs, fn, lhs); |
884 if (gimple_call_num_args (gs) > 0) | 858 if (gimple_call_num_args (gs) > 0) |
885 { | 859 { |
899 pp_string (buffer, "{v}"); | 873 pp_string (buffer, "{v}"); |
900 | 874 |
901 pp_space (buffer); | 875 pp_space (buffer); |
902 } | 876 } |
903 if (gimple_call_internal_p (gs)) | 877 if (gimple_call_internal_p (gs)) |
904 pp_string (buffer, internal_fn_name (gimple_call_internal_fn (gs))); | 878 { |
879 pp_dot (buffer); | |
880 pp_string (buffer, internal_fn_name (gimple_call_internal_fn (gs))); | |
881 } | |
905 else | 882 else |
906 print_call_name (buffer, fn, flags); | 883 print_call_name (buffer, fn, flags); |
907 pp_string (buffer, " ("); | 884 pp_string (buffer, " ("); |
908 dump_gimple_call_args (buffer, gs, flags); | 885 dump_gimple_call_args (buffer, gs, flags); |
909 pp_right_paren (buffer); | 886 pp_right_paren (buffer); |
932 if (TREE_CODE (fn) == ADDR_EXPR) | 909 if (TREE_CODE (fn) == ADDR_EXPR) |
933 fn = TREE_OPERAND (fn, 0); | 910 fn = TREE_OPERAND (fn, 0); |
934 if (TREE_CODE (fn) == FUNCTION_DECL && decl_is_tm_clone (fn)) | 911 if (TREE_CODE (fn) == FUNCTION_DECL && decl_is_tm_clone (fn)) |
935 pp_string (buffer, " [tm-clone]"); | 912 pp_string (buffer, " [tm-clone]"); |
936 if (TREE_CODE (fn) == FUNCTION_DECL | 913 if (TREE_CODE (fn) == FUNCTION_DECL |
937 && DECL_BUILT_IN_CLASS (fn) == BUILT_IN_NORMAL | 914 && fndecl_built_in_p (fn, BUILT_IN_TM_START) |
938 && DECL_FUNCTION_CODE (fn) == BUILT_IN_TM_START | |
939 && gimple_call_num_args (gs) > 0) | 915 && gimple_call_num_args (gs) > 0) |
940 { | 916 { |
941 tree t = gimple_call_arg (gs, 0); | 917 tree t = gimple_call_arg (gs, 0); |
942 unsigned HOST_WIDE_INT props; | 918 unsigned HOST_WIDE_INT props; |
943 gcc_assert (TREE_CODE (t) == INTEGER_CST); | 919 gcc_assert (TREE_CODE (t) == INTEGER_CST); |
1013 tree label = CASE_LABEL (case_label); | 989 tree label = CASE_LABEL (case_label); |
1014 dump_generic_node (buffer, label, spc, flags, false); | 990 dump_generic_node (buffer, label, spc, flags, false); |
1015 | 991 |
1016 if (cfun && cfun->cfg) | 992 if (cfun && cfun->cfg) |
1017 { | 993 { |
1018 basic_block dest = label_to_block (label); | 994 basic_block dest = label_to_block (cfun, label); |
1019 if (dest) | 995 if (dest) |
1020 { | 996 { |
1021 edge label_edge = find_edge (gimple_bb (gs), dest); | 997 edge label_edge = find_edge (gimple_bb (gs), dest); |
1022 if (label_edge && !(flags & TDF_GIMPLE)) | 998 if (label_edge && !(flags & TDF_GIMPLE)) |
1023 dump_edge_probability (buffer, label_edge); | 999 dump_edge_probability (buffer, label_edge); |
1365 dump_gimple_fmt (buffer, spc, flags, "# DEBUG %T s=> %T", | 1341 dump_gimple_fmt (buffer, spc, flags, "# DEBUG %T s=> %T", |
1366 gimple_debug_source_bind_get_var (gs), | 1342 gimple_debug_source_bind_get_var (gs), |
1367 gimple_debug_source_bind_get_value (gs)); | 1343 gimple_debug_source_bind_get_value (gs)); |
1368 break; | 1344 break; |
1369 | 1345 |
1346 case GIMPLE_DEBUG_BEGIN_STMT: | |
1347 if (flags & TDF_RAW) | |
1348 dump_gimple_fmt (buffer, spc, flags, "%G BEGIN_STMT", gs); | |
1349 else | |
1350 dump_gimple_fmt (buffer, spc, flags, "# DEBUG BEGIN_STMT"); | |
1351 break; | |
1352 | |
1353 case GIMPLE_DEBUG_INLINE_ENTRY: | |
1354 if (flags & TDF_RAW) | |
1355 dump_gimple_fmt (buffer, spc, flags, "%G INLINE_ENTRY %T", gs, | |
1356 gimple_block (gs) | |
1357 ? block_ultimate_origin (gimple_block (gs)) | |
1358 : NULL_TREE); | |
1359 else | |
1360 dump_gimple_fmt (buffer, spc, flags, "# DEBUG INLINE_ENTRY %T", | |
1361 gimple_block (gs) | |
1362 ? block_ultimate_origin (gimple_block (gs)) | |
1363 : NULL_TREE); | |
1364 break; | |
1365 | |
1370 default: | 1366 default: |
1371 gcc_unreachable (); | 1367 gcc_unreachable (); |
1372 } | 1368 } |
1373 } | 1369 } |
1374 | 1370 |
1391 kind = " distribute"; | 1387 kind = " distribute"; |
1392 break; | 1388 break; |
1393 case GF_OMP_FOR_KIND_TASKLOOP: | 1389 case GF_OMP_FOR_KIND_TASKLOOP: |
1394 kind = " taskloop"; | 1390 kind = " taskloop"; |
1395 break; | 1391 break; |
1396 case GF_OMP_FOR_KIND_CILKFOR: | |
1397 kind = " _Cilk_for"; | |
1398 break; | |
1399 case GF_OMP_FOR_KIND_OACC_LOOP: | 1392 case GF_OMP_FOR_KIND_OACC_LOOP: |
1400 kind = " oacc_loop"; | 1393 kind = " oacc_loop"; |
1401 break; | 1394 break; |
1402 case GF_OMP_FOR_KIND_SIMD: | 1395 case GF_OMP_FOR_KIND_SIMD: |
1403 kind = " simd"; | 1396 kind = " simd"; |
1404 break; | |
1405 case GF_OMP_FOR_KIND_CILKSIMD: | |
1406 kind = " cilksimd"; | |
1407 break; | 1397 break; |
1408 default: | 1398 default: |
1409 gcc_unreachable (); | 1399 gcc_unreachable (); |
1410 } | 1400 } |
1411 dump_gimple_fmt (buffer, spc, flags, "%G%s <%+BODY <%S>%nCLAUSES <", gs, | 1401 dump_gimple_fmt (buffer, spc, flags, "%G%s <%+BODY <%S>%nCLAUSES <", gs, |
1434 pp_string (buffer, "#pragma omp distribute"); | 1424 pp_string (buffer, "#pragma omp distribute"); |
1435 break; | 1425 break; |
1436 case GF_OMP_FOR_KIND_TASKLOOP: | 1426 case GF_OMP_FOR_KIND_TASKLOOP: |
1437 pp_string (buffer, "#pragma omp taskloop"); | 1427 pp_string (buffer, "#pragma omp taskloop"); |
1438 break; | 1428 break; |
1439 case GF_OMP_FOR_KIND_CILKFOR: | |
1440 break; | |
1441 case GF_OMP_FOR_KIND_OACC_LOOP: | 1429 case GF_OMP_FOR_KIND_OACC_LOOP: |
1442 pp_string (buffer, "#pragma acc loop"); | 1430 pp_string (buffer, "#pragma acc loop"); |
1443 break; | 1431 break; |
1444 case GF_OMP_FOR_KIND_SIMD: | 1432 case GF_OMP_FOR_KIND_SIMD: |
1445 pp_string (buffer, "#pragma omp simd"); | 1433 pp_string (buffer, "#pragma omp simd"); |
1446 break; | 1434 break; |
1447 case GF_OMP_FOR_KIND_CILKSIMD: | |
1448 pp_string (buffer, "#pragma simd"); | |
1449 break; | |
1450 case GF_OMP_FOR_KIND_GRID_LOOP: | 1435 case GF_OMP_FOR_KIND_GRID_LOOP: |
1451 pp_string (buffer, "#pragma omp for grid_loop"); | 1436 pp_string (buffer, "#pragma omp for grid_loop"); |
1452 break; | 1437 break; |
1453 default: | 1438 default: |
1454 gcc_unreachable (); | 1439 gcc_unreachable (); |
1455 } | 1440 } |
1456 if (gimple_omp_for_kind (gs) != GF_OMP_FOR_KIND_CILKFOR) | 1441 dump_omp_clauses (buffer, gimple_omp_for_clauses (gs), spc, flags); |
1457 dump_omp_clauses (buffer, gimple_omp_for_clauses (gs), spc, flags); | |
1458 for (i = 0; i < gimple_omp_for_collapse (gs); i++) | 1442 for (i = 0; i < gimple_omp_for_collapse (gs); i++) |
1459 { | 1443 { |
1460 if (i) | 1444 if (i) |
1461 spc += 2; | 1445 spc += 2; |
1462 if (gimple_omp_for_kind (gs) == GF_OMP_FOR_KIND_CILKFOR) | 1446 newline_and_indent (buffer, spc); |
1463 pp_string (buffer, "_Cilk_for ("); | 1447 pp_string (buffer, "for ("); |
1464 else | |
1465 { | |
1466 newline_and_indent (buffer, spc); | |
1467 pp_string (buffer, "for ("); | |
1468 } | |
1469 dump_generic_node (buffer, gimple_omp_for_index (gs, i), spc, | 1448 dump_generic_node (buffer, gimple_omp_for_index (gs, i), spc, |
1470 flags, false); | 1449 flags, false); |
1471 pp_string (buffer, " = "); | 1450 pp_string (buffer, " = "); |
1472 dump_generic_node (buffer, gimple_omp_for_initial (gs, i), spc, | 1451 dump_generic_node (buffer, gimple_omp_for_initial (gs, i), spc, |
1473 flags, false); | 1452 flags, false); |
1509 pp_right_paren (buffer); | 1488 pp_right_paren (buffer); |
1510 } | 1489 } |
1511 | 1490 |
1512 if (!gimple_seq_empty_p (gimple_omp_body (gs))) | 1491 if (!gimple_seq_empty_p (gimple_omp_body (gs))) |
1513 { | 1492 { |
1514 if (gimple_omp_for_kind (gs) == GF_OMP_FOR_KIND_CILKFOR) | |
1515 dump_omp_clauses (buffer, gimple_omp_for_clauses (gs), spc, flags); | |
1516 newline_and_indent (buffer, spc + 2); | 1493 newline_and_indent (buffer, spc + 2); |
1517 pp_left_brace (buffer); | 1494 pp_left_brace (buffer); |
1518 pp_newline (buffer); | 1495 pp_newline (buffer); |
1519 dump_gimple_seq (buffer, gimple_omp_body (gs), spc + 4, flags); | 1496 dump_gimple_seq (buffer, gimple_omp_body (gs), spc + 4, flags); |
1520 newline_and_indent (buffer, spc + 2); | 1497 newline_and_indent (buffer, spc + 2); |
2144 | 2121 |
2145 if (!POINTER_TYPE_P (TREE_TYPE (node)) | 2122 if (!POINTER_TYPE_P (TREE_TYPE (node)) |
2146 && SSA_NAME_RANGE_INFO (node)) | 2123 && SSA_NAME_RANGE_INFO (node)) |
2147 { | 2124 { |
2148 wide_int min, max, nonzero_bits; | 2125 wide_int min, max, nonzero_bits; |
2149 value_range_type range_type = get_range_info (node, &min, &max); | 2126 value_range_kind range_type = get_range_info (node, &min, &max); |
2150 | 2127 |
2151 if (range_type == VR_VARYING) | 2128 if (range_type == VR_VARYING) |
2152 pp_printf (buffer, "# RANGE VR_VARYING"); | 2129 pp_printf (buffer, "# RANGE VR_VARYING"); |
2153 else if (range_type == VR_RANGE || range_type == VR_ANTI_RANGE) | 2130 else if (range_type == VR_RANGE || range_type == VR_ANTI_RANGE) |
2154 { | 2131 { |
2693 { | 2670 { |
2694 if (flags & TDF_GIMPLE) | 2671 if (flags & TDF_GIMPLE) |
2695 fprintf (outf, "%*sbb_%d:\n", indent, "", bb->index); | 2672 fprintf (outf, "%*sbb_%d:\n", indent, "", bb->index); |
2696 else | 2673 else |
2697 fprintf (outf, "%*s<bb %d> %s:\n", | 2674 fprintf (outf, "%*s<bb %d> %s:\n", |
2698 indent, "", bb->index, dump_profile (bb->frequency, | 2675 indent, "", bb->index, dump_profile (bb->count)); |
2699 bb->count)); | |
2700 } | 2676 } |
2701 } | 2677 } |
2702 | 2678 |
2703 | 2679 |
2704 /* Dumps end of basic block BB to buffer BUFFER indented by INDENT | 2680 /* Dumps end of basic block BB to buffer BUFFER indented by INDENT |
2908 pp_write_text_as_dot_label_to_stream (pp, /*for_record=*/true); | 2884 pp_write_text_as_dot_label_to_stream (pp, /*for_record=*/true); |
2909 } | 2885 } |
2910 | 2886 |
2911 | 2887 |
2912 /* Handle the %G format for TEXT. Same as %K in handle_K_format in | 2888 /* Handle the %G format for TEXT. Same as %K in handle_K_format in |
2913 tree-pretty-print.c but with a Gimple call statement as an argument. */ | 2889 tree-pretty-print.c but with a Gimple statement as an argument. */ |
2914 | 2890 |
2915 void | 2891 void |
2916 percent_G_format (text_info *text) | 2892 percent_G_format (text_info *text) |
2917 { | 2893 { |
2918 gcall *stmt = va_arg (*text->args_ptr, gcall*); | 2894 gimple *stmt = va_arg (*text->args_ptr, gimple*); |
2919 | 2895 |
2920 /* Build a call expression from the Gimple call statement and | 2896 tree block = gimple_block (stmt); |
2921 pass it to the K formatter that knows how to format it. */ | 2897 percent_K_format (text, gimple_location (stmt), block); |
2922 tree exp = build_vl_exp (CALL_EXPR, gimple_call_num_args (stmt) + 3); | 2898 } |
2923 CALL_EXPR_FN (exp) = gimple_call_fn (stmt); | |
2924 TREE_TYPE (exp) = gimple_call_return_type (stmt); | |
2925 CALL_EXPR_STATIC_CHAIN (exp) = gimple_call_chain (stmt); | |
2926 SET_EXPR_LOCATION (exp, gimple_location (stmt)); | |
2927 | |
2928 percent_K_format (text, exp); | |
2929 } |