aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range-infer.cc
diff options
context:
space:
mode:
authorAndrew Pinski <apinski@marvell.com>2023-02-07 23:09:40 +0000
committerAndrew Pinski <apinski@marvell.com>2023-02-09 17:47:05 -0800
commit6a5cb782d1486b378d70857c8efae558da0eb2cc (patch)
tree933272dcb4a22f6fa1e468d4a93171c3d860bc61 /gcc/gimple-range-infer.cc
parentb9f8935e110c392c21460db838b4209c32f070c2 (diff)
downloadgcc-6a5cb782d1486b378d70857c8efae558da0eb2cc.zip
gcc-6a5cb782d1486b378d70857c8efae558da0eb2cc.tar.gz
gcc-6a5cb782d1486b378d70857c8efae558da0eb2cc.tar.bz2
tree-optimization: [PR108684] ICE in verify_ssa due to simple_dce_from_worklist
In simple_dce_from_worklist, we were removing an inline-asm which had a vdef. We should not be removing inline-asm which have a vdef as this code does not check to the store. This fixes that oversight. This was a latent bug exposed recently by both VRP and removal of stores to static starting to use simple_dce_from_worklist. Committed as approved. Bootstrapped and tested on x86_64-linux-gnu with no regressions. PR tree-optimization/108684 gcc/ChangeLog: * tree-ssa-dce.cc (simple_dce_from_worklist): Check all ssa names and not just non-vdef ones before accepting the inline-asm. Call unlink_stmt_vdef on the statement before removing it. gcc/testsuite/ChangeLog: * gcc.c-torture/compile/dce-inline-asm-1.c: New test. * gcc.c-torture/compile/dce-inline-asm-2.c: New test. * gcc.dg/tree-ssa/pr108684-1.c: New test. co-authored-by: Andrew Macleod <amacleod@redhat.com>
Diffstat (limited to 'gcc/gimple-range-infer.cc')
0 files changed, 0 insertions, 0 deletions