Mercurial > hg > CbC > CbC_gcc
comparison gcc/doc/tree-ssa.texi @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 @c Copyright (C) 2004-2018 Free Software Foundation, Inc. | 1 @c Copyright (C) 2004-2020 Free Software Foundation, Inc. |
2 @c This is part of the GCC manual. | 2 @c This is part of the GCC manual. |
3 @c For copying conditions, see the file gcc.texi. | 3 @c For copying conditions, see the file gcc.texi. |
4 | 4 |
5 @c --------------------------------------------------------------------- | 5 @c --------------------------------------------------------------------- |
6 @c Tree SSA | 6 @c Tree SSA |
383 a controlled position, and then iterating over those uses. Then the | 383 a controlled position, and then iterating over those uses. Then the |
384 optimization can manipulate the stmt when all the uses have been | 384 optimization can manipulate the stmt when all the uses have been |
385 processed. This is a little slower than the FAST version since it adds a | 385 processed. This is a little slower than the FAST version since it adds a |
386 placeholder element and must sort through the list a bit for each statement. | 386 placeholder element and must sort through the list a bit for each statement. |
387 This placeholder element must be also be removed if the loop is | 387 This placeholder element must be also be removed if the loop is |
388 terminated early. The macro @code{BREAK_FROM_IMM_USE_SAFE} is provided | 388 terminated early. The macro @code{BREAK_FROM_IMM_USE_STMT} is provided |
389 to do this : | 389 to do this : |
390 | 390 |
391 @smallexample | 391 @smallexample |
392 FOR_EACH_IMM_USE_STMT (stmt, iterator, ssa_var) | 392 FOR_EACH_IMM_USE_STMT (stmt, iterator, ssa_var) |
393 @{ | 393 @{ |
394 if (stmt == last_stmt) | 394 if (stmt == last_stmt) |
395 BREAK_FROM_SAFE_IMM_USE (iter); | 395 BREAK_FROM_IMM_USE_STMT (iterator); |
396 | 396 |
397 FOR_EACH_IMM_USE_ON_STMT (imm_use_p, iterator) | 397 FOR_EACH_IMM_USE_ON_STMT (imm_use_p, iterator) |
398 SET_USE (imm_use_p, ssa_var_2); | 398 SET_USE (imm_use_p, ssa_var_2); |
399 fold_stmt (stmt); | 399 fold_stmt (stmt); |
400 @} | 400 @} |