Well, paradoxical subregs are just a mess: Agreed, but I wasn't talking about the paradoxical case.
optimizations on paradoxical subregs are better served at the tree level, because it is just obfuscation of e.g. QImode arithmetic. Not clear: I think this is a more complex issue. The biggest and less readable files right now are combine.c, reload.c, reload1.c. cse.c is big (though not extreme) but unreadable. Hmm.. I'd consider combine.c quite readable. I agree about reload, of course. Luckily some GWP people do care about cleaning up. Richard Henderson did a lot of work on cleaning up RTL things left from olden times (think eh, nested functions, addressof, save_expr,...), Zack did some work on this ground in the past as well, Bernd is maybe the only guy who could pursue something such as reload-brench... Lots of us care about cleanups. It's actually been one of my priorities too over the years.