> From: Hans-Peter Nilsson <h...@axis.com> > Date: Mon, 27 May 2024 19:51:47 +0200
> 2: Does not depend on 1, but corrects an incidentally found wart: > find_basic_block calls fails too often. Replace it with "modern" > insn-to-basic-block cross-referencing. > > 3: Just an addendum to 2: removes an "if", where the condition is now > always-true, dominated by a gcc_assert, and where the change in > indentation was too ugly. > > 4: Corrects another incidentally found wart: for the last 15 years the > code in resource.cc has only been called from within reorg.cc (and > reorg.c), specifically not possibly before calling init_resource_info > or after free_resource_info, so we can discard the code that tests > certain allocated arrays for NULL. I didn't even bother with a > gcc_assert; besides some gen*-generated files, only reorg.cc includes > resource.h (not to be confused with the system sys/resource.h). > A grep says the #include resource.h can be removed from those gen* > files and presumably from RESOURCE_H(!) as well. Some Other Time. > Also, removed a redundant "if (tinfo != NULL)" and moved the then-code > into the previous then-clause. > > resource.cc: Replace calls to find_basic_block with cfgrtl > BLOCK_FOR_INSN > resource.cc (mark_target_live_regs): Remove check for bb not found > resource.cc: Remove redundant conditionals I had to revert those last three patches due to PR bootstrap/115284. I hope to revisit once I have a means to reproduce (and fix) the underlying bug. It doesn't have to be a bug with those changes per-se: IMHO the "improved" lifetimes could just as well have uncovered a bug elsewhere in reorg. It's still on me to resolve that situation; done. I'm just glad the cause was the incidental improvements and not the original bug I wanted to fix. There appears to be only a single supported SPARC machine in cfarm: cfarm216, and I currently can't reach it due to what appears to be issues at my end. I guess I'll either fix that or breathe life into sparc-elf+sim. brgds, H-P