Mercurial > hg > CbC > CbC_gcc
comparison gcc/doc/gimple.texi @ 55:77e2b8dfacca gcc-4.4.5
update it from 4.4.3 to 4.5.0
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Feb 2010 23:39:51 +0900 |
parents | a06113de4d67 |
children | b7f97abdc517 |
comparison
equal
deleted
inserted
replaced
52:c156f1bd5cd9 | 55:77e2b8dfacca |
---|---|
330 @section GIMPLE instruction set | 330 @section GIMPLE instruction set |
331 @cindex GIMPLE instruction set | 331 @cindex GIMPLE instruction set |
332 | 332 |
333 The following table briefly describes the GIMPLE instruction set. | 333 The following table briefly describes the GIMPLE instruction set. |
334 | 334 |
335 @multitable {@code{GIMPLE_CHANGE_DYNAMIC_TYPE}} {High GIMPLE} {Low GIMPLE} | 335 @multitable {@code{GIMPLE_OMP_SECTIONS_SWITCH}} {High GIMPLE} {Low GIMPLE} |
336 @item Instruction @tab High GIMPLE @tab Low GIMPLE | 336 @item Instruction @tab High GIMPLE @tab Low GIMPLE |
337 @item @code{GIMPLE_ASM} @tab x @tab x | 337 @item @code{GIMPLE_ASM} @tab x @tab x |
338 @item @code{GIMPLE_ASSIGN} @tab x @tab x | 338 @item @code{GIMPLE_ASSIGN} @tab x @tab x |
339 @item @code{GIMPLE_BIND} @tab x @tab | 339 @item @code{GIMPLE_BIND} @tab x @tab |
340 @item @code{GIMPLE_CALL} @tab x @tab x | 340 @item @code{GIMPLE_CALL} @tab x @tab x |
341 @item @code{GIMPLE_CATCH} @tab x @tab | 341 @item @code{GIMPLE_CATCH} @tab x @tab |
342 @item @code{GIMPLE_CHANGE_DYNAMIC_TYPE} @tab x @tab x | |
343 @item @code{GIMPLE_COND} @tab x @tab x | 342 @item @code{GIMPLE_COND} @tab x @tab x |
344 @item @code{GIMPLE_EH_FILTER} @tab x @tab | 343 @item @code{GIMPLE_EH_FILTER} @tab x @tab |
345 @item @code{GIMPLE_GOTO} @tab x @tab x | 344 @item @code{GIMPLE_GOTO} @tab x @tab x |
346 @item @code{GIMPLE_LABEL} @tab x @tab x | 345 @item @code{GIMPLE_LABEL} @tab x @tab x |
347 @item @code{GIMPLE_NOP} @tab x @tab x | 346 @item @code{GIMPLE_NOP} @tab x @tab x |
387 handler code. If the thrown exception matches one of the caught | 386 handler code. If the thrown exception matches one of the caught |
388 types, the associated handler code is executed. If the handler | 387 types, the associated handler code is executed. If the handler |
389 code falls off the bottom, execution continues after the original | 388 code falls off the bottom, execution continues after the original |
390 @code{GIMPLE_TRY_CATCH}. | 389 @code{GIMPLE_TRY_CATCH}. |
391 | 390 |
392 @item An @code{GIMPLE_EH_FILTER} statement. This has a list of | 391 @item A @code{GIMPLE_EH_FILTER} statement. This has a list of |
393 permitted exception types, and code to handle a match failure. If the | 392 permitted exception types, and code to handle a match failure. If the |
394 thrown exception does not match one of the allowed types, the | 393 thrown exception does not match one of the allowed types, the |
395 associated match failure code is executed. If the thrown exception | 394 associated match failure code is executed. If the thrown exception |
396 does match, it continues unwinding the stack looking for the next | 395 does match, it continues unwinding the stack looking for the next |
397 handler. | 396 handler. |
690 @deftypefn {GIMPLE function} is_gimple_assign (gimple g) | 689 @deftypefn {GIMPLE function} is_gimple_assign (gimple g) |
691 Return true if the code of g is @code{GIMPLE_ASSIGN}. | 690 Return true if the code of g is @code{GIMPLE_ASSIGN}. |
692 @end deftypefn | 691 @end deftypefn |
693 | 692 |
694 @deftypefn {GIMPLE function} is_gimple_call (gimple g) | 693 @deftypefn {GIMPLE function} is_gimple_call (gimple g) |
695 Return true if the code of g is @code{GIMPLE_CALL} | 694 Return true if the code of g is @code{GIMPLE_CALL}. |
696 @end deftypefn | 695 @end deftypefn |
697 | 696 |
697 @deftypefn {GIMPLE function} is_gimple_debug (gimple g) | |
698 Return true if the code of g is @code{GIMPLE_DEBUG}. | |
699 @end deftypefn | |
700 | |
698 @deftypefn {GIMPLE function} gimple_assign_cast_p (gimple g) | 701 @deftypefn {GIMPLE function} gimple_assign_cast_p (gimple g) |
699 Return true if g is a @code{GIMPLE_ASSIGN} that performs a type cast | 702 Return true if g is a @code{GIMPLE_ASSIGN} that performs a type cast |
700 operation | 703 operation. |
704 @end deftypefn | |
705 | |
706 @deftypefn {GIMPLE function} gimple_debug_bind_p (gimple g) | |
707 Return true if g is a @code{GIMPLE_DEBUG} that binds the value of an | |
708 expression to a variable. | |
701 @end deftypefn | 709 @end deftypefn |
702 | 710 |
703 @node Manipulating GIMPLE statements | 711 @node Manipulating GIMPLE statements |
704 @section Manipulating GIMPLE statements | 712 @section Manipulating GIMPLE statements |
705 @cindex Manipulating GIMPLE statements | 713 @cindex Manipulating GIMPLE statements |
883 * @code{GIMPLE_ASM}:: | 891 * @code{GIMPLE_ASM}:: |
884 * @code{GIMPLE_ASSIGN}:: | 892 * @code{GIMPLE_ASSIGN}:: |
885 * @code{GIMPLE_BIND}:: | 893 * @code{GIMPLE_BIND}:: |
886 * @code{GIMPLE_CALL}:: | 894 * @code{GIMPLE_CALL}:: |
887 * @code{GIMPLE_CATCH}:: | 895 * @code{GIMPLE_CATCH}:: |
888 * @code{GIMPLE_CHANGE_DYNAMIC_TYPE}:: | |
889 * @code{GIMPLE_COND}:: | 896 * @code{GIMPLE_COND}:: |
890 * @code{GIMPLE_EH_FILTER}:: | 897 * @code{GIMPLE_EH_FILTER}:: |
891 * @code{GIMPLE_LABEL}:: | 898 * @code{GIMPLE_LABEL}:: |
892 * @code{GIMPLE_NOP}:: | 899 * @code{GIMPLE_NOP}:: |
893 * @code{GIMPLE_OMP_ATOMIC_LOAD}:: | 900 * @code{GIMPLE_OMP_ATOMIC_LOAD}:: |
1085 Set @code{RHS} to be the second operand on the @code{RHS} of assignment | 1092 Set @code{RHS} to be the second operand on the @code{RHS} of assignment |
1086 statement @code{G}. | 1093 statement @code{G}. |
1087 @end deftypefn | 1094 @end deftypefn |
1088 | 1095 |
1089 @deftypefn {GIMPLE function} bool gimple_assign_cast_p (gimple s) | 1096 @deftypefn {GIMPLE function} bool gimple_assign_cast_p (gimple s) |
1090 Return true if @code{S} is an type-cast assignment. | 1097 Return true if @code{S} is a type-cast assignment. |
1091 @end deftypefn | 1098 @end deftypefn |
1092 | 1099 |
1093 | 1100 |
1094 @node @code{GIMPLE_BIND} | 1101 @node @code{GIMPLE_BIND} |
1095 @subsection @code{GIMPLE_BIND} | 1102 @subsection @code{GIMPLE_BIND} |
1291 Set @code{T} to be the set of types handled by @code{GIMPLE_CATCH} @code{G}. | 1298 Set @code{T} to be the set of types handled by @code{GIMPLE_CATCH} @code{G}. |
1292 @end deftypefn | 1299 @end deftypefn |
1293 | 1300 |
1294 @deftypefn {GIMPLE function} void gimple_catch_set_handler (gimple g, gimple_seq handler) | 1301 @deftypefn {GIMPLE function} void gimple_catch_set_handler (gimple g, gimple_seq handler) |
1295 Set @code{HANDLER} to be the body of @code{GIMPLE_CATCH} @code{G}. | 1302 Set @code{HANDLER} to be the body of @code{GIMPLE_CATCH} @code{G}. |
1296 @end deftypefn | |
1297 | |
1298 @node @code{GIMPLE_CHANGE_DYNAMIC_TYPE} | |
1299 @subsection @code{GIMPLE_CHANGE_DYNAMIC_TYPE} | |
1300 @cindex @code{GIMPLE_CHANGE_DYNAMIC_TYPE} | |
1301 | |
1302 @deftypefn {GIMPLE function} gimple gimple_build_cdt (tree type, tree ptr) | |
1303 Build a @code{GIMPLE_CHANGE_DYNAMIC_TYPE} statement. @code{TYPE} is the new | |
1304 type for the location @code{PTR}. | |
1305 @end deftypefn | |
1306 | |
1307 @deftypefn {GIMPLE function} tree gimple_cdt_new_type (gimple g) | |
1308 Return the new type set by @code{GIMPLE_CHANGE_DYNAMIC_TYPE} statement | |
1309 @code{G}. | |
1310 @end deftypefn | |
1311 | |
1312 @deftypefn {GIMPLE function} tree *gimple_cdt_new_type_ptr (gimple g) | |
1313 Return a pointer to the new type set by | |
1314 @code{GIMPLE_CHANGE_DYNAMIC_TYPE} statement @code{G}. | |
1315 @end deftypefn | |
1316 | |
1317 @deftypefn {GIMPLE function} void gimple_cdt_set_new_type (gimple g, tree new_type) | |
1318 Set @code{NEW_TYPE} to be the type returned by | |
1319 @code{GIMPLE_CHANGE_DYNAMIC_TYPE} statement @code{G}. | |
1320 @end deftypefn | |
1321 | |
1322 @deftypefn {GIMPLE function} tree gimple_cdt_location (gimple g) | |
1323 Return the location affected by @code{GIMPLE_CHANGE_DYNAMIC_TYPE} | |
1324 statement @code{G}. | |
1325 @end deftypefn | |
1326 | |
1327 @deftypefn {GIMPLE function} tree *gimple_cdt_location_ptr (gimple g) | |
1328 Return a pointer to the location affected by | |
1329 @code{GIMPLE_CHANGE_DYNAMIC_TYPE} statement @code{G}. | |
1330 @end deftypefn | |
1331 | |
1332 @deftypefn {GIMPLE function} void gimple_cdt_set_location (gimple g, tree ptr) | |
1333 Set @code{PTR} to be the location affected by @code{GIMPLE_CHANGE_DYNAMIC_TYPE} | |
1334 statement @code{G}. | |
1335 @end deftypefn | 1303 @end deftypefn |
1336 | 1304 |
1337 | 1305 |
1338 @node @code{GIMPLE_COND} | 1306 @node @code{GIMPLE_COND} |
1339 @subsection @code{GIMPLE_COND} | 1307 @subsection @code{GIMPLE_COND} |