diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2024-06-17 11:23:12 -0400 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2024-06-21 08:55:21 -0400 |
commit | ffaa806c302cca23b36173b65140a1ee1b1826af (patch) | |
tree | 8798411025ee3e2ab8da3923401e7faeb5a288fd /libcpp | |
parent | a84fe222029ff21903283cc8ee4bc760ebf80ec2 (diff) | |
download | gcc-ffaa806c302cca23b36173b65140a1ee1b1826af.zip gcc-ffaa806c302cca23b36173b65140a1ee1b1826af.tar.gz gcc-ffaa806c302cca23b36173b65140a1ee1b1826af.tar.bz2 |
Add builtin_unreachable processing for fast_vrp.
Add a remove_unreachable object to fast vrp, and honor the final_p flag.
* tree-vrp.cc (remove_unreachable::remove): Export global range
if builtin_unreachable dominates all uses.
(remove_unreachable::remove_and_update_globals): Do not reset SCEV.
(execute_ranger_vrp): Reset SCEV here instead.
(fvrp_folder::fvrp_folder): Take final pass flag
and create a remove_unreachable object when specified.
(fvrp_folder::pre_fold_stmt): Register GIMPLE_CONDs with
the remove_unreachcable object.
(fvrp_folder::m_unreachable): New.
(execute_fast_vrp): Process remove_unreachable object.
(pass_vrp::execute): Add final_p flag to execute_fast_vrp.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions