diff options
author | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2024-06-19 17:05:45 +0100 |
---|---|---|
committer | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2024-06-19 17:05:45 +0100 |
commit | 5d0c1b4e0d33c2d1077264636d0a65ce206d0d96 (patch) | |
tree | d78d284f4ea5c148367be19b3efd9b6f80154757 /gcc/df.h | |
parent | 8088374a868aacab4dff208ec3e3fde790a1d9a3 (diff) | |
download | gcc-5d0c1b4e0d33c2d1077264636d0a65ce206d0d96.zip gcc-5d0c1b4e0d33c2d1077264636d0a65ce206d0d96.tar.gz gcc-5d0c1b4e0d33c2d1077264636d0a65ce206d0d96.tar.bz2 |
doloop: Add support for predicated vectorized loops
This patch adds support in the target agnostic doloop pass for the detection of
predicated vectorized hardware loops. Arm is currently the only target that
will make use of this feature.
gcc/ChangeLog:
* df-core.cc (df_bb_regno_only_def_find): New helper function.
* df.h (df_bb_regno_only_def_find): Declare new function.
* loop-doloop.cc (doloop_condition_get): Add support for detecting
predicated vectorized hardware loops.
(doloop_modify): Add support for GTU condition checks.
(doloop_optimize): Update costing computation to support alterations to
desc->niter_expr by the backend.
Co-authored-by: Stam Markianos-Wright <stam.markianos-wright@arm.com>
Diffstat (limited to 'gcc/df.h')
-rw-r--r-- | gcc/df.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -987,6 +987,7 @@ extern void df_check_cfg_clean (void); #endif extern df_ref df_bb_regno_first_def_find (basic_block, unsigned int); extern df_ref df_bb_regno_last_def_find (basic_block, unsigned int); +extern df_ref df_bb_regno_only_def_find (basic_block, unsigned int); extern df_ref df_find_def (rtx_insn *, rtx); extern bool df_reg_defined (rtx_insn *, rtx); extern df_ref df_find_use (rtx_insn *, rtx); |