aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2021-03-03 09:51:54 +0100
committerJakub Jelinek <jakub@redhat.com>2021-03-03 09:51:54 +0100
commit4ad5b1915d50cc39691487f58794d699c7900ace (patch)
tree070eb24c4c456a40d89f7d3583567ffe78c7a733 /libgcc
parent006693a59f7cd1310aed53a2816020bedf1fb742 (diff)
downloadgcc-4ad5b1915d50cc39691487f58794d699c7900ace.zip
gcc-4ad5b1915d50cc39691487f58794d699c7900ace.tar.gz
gcc-4ad5b1915d50cc39691487f58794d699c7900ace.tar.bz2
cfgrtl: Fix up fixup_partitions caused ICE [PR99085]
fixup_partitions sometimes changes some basic blocks from hot partition to cold partition, in particular if after unreachable block removal or other optimizations a hot partition block is dominated by cold partition block(s). It fixes up the edges and jumps on those edges, but when after reorder blocks and in rtl (non-cfglayout) mode that is clearly not enough, because it keeps the block order the same and so we can end up with more than 1 hot/cold section transition in the same function. So, this patch fixes that up too. 2021-03-03 Jakub Jelinek <jakub@redhat.com> PR target/99085 * cfgrtl.c (fixup_partitions): When changing some bbs from hot to cold partitions, if in non-layout mode after reorder_blocks also move affected blocks to ensure a single partition transition. * gcc.dg/graphite/pr99085.c: New test.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions