aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2024-06-17 11:23:12 -0400
committerAndrew MacLeod <amacleod@redhat.com>2024-06-21 08:55:21 -0400
commitffaa806c302cca23b36173b65140a1ee1b1826af (patch)
tree8798411025ee3e2ab8da3923401e7faeb5a288fd /libcpp
parenta84fe222029ff21903283cc8ee4bc760ebf80ec2 (diff)
downloadgcc-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