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}