Hi! On Sun, Jul 13, 2025 at 08:34:51PM -0400, Bradley Lucier wrote: > On 7/13/25 15:53, Segher Boessenkool wrote: > > > Of course it is somewhat dependent on the architecture. The number of > > available general registers, for example! And aarch is way more > > orthogonal than x86 in pretty much every way imaginable, so there is a > > lot more freedom to the compiler always, so if it wants to exhaustively > > search the possibilities (or even just try out many options) it has a > > lot more possibilities, so more work to do. > Well, I tried it again on X86_64 and reduced max-gcse-memory to 400 (i.e., > to nothing) and got no warning. > > I've included below the cc1 process call; setting > "--param=max-gcse-memory=400" is near the end. (I presume passing this to > cc1 is derived from passing "--param max-gcse-memory=400" to gcc.) There is > no warning. More interesting information is where the boundary is :-) There are a lot of numbers under 400000, some bigger than others ;-) It's not very hard to find, just some (manual) binary search? > This is not that important, it's just that I like to understand what gcc is > doing to the (machine-generated) code. Use the various dump options to see what happened? For example -fdump-rtl-pre or such, or just use -da to makes dumps for *all* RTL passes (or -dap to make the generated asm more informative, while you're at it). Segher