[LLVMdev] x86-64 large stack offsets (original) (raw)

Anton Korobeynikov anton at korobeynikov.info
Mon Sep 26 22:56:04 PDT 2011


The fundamental problem is that currently nothing in the x86 target depends on correct liveness after register allocation. Since many post-RA passes modify the code, there is a good chance they will update liveness incorrectly, or not at all in some cases. I must note that there are not so many post-RA passes on x86 (comparable to ARM), so things might be a bit easier.

Your patches to clean this up will be welcome, but please make x86's using the register scavenger enabled by a command line flag. The majority of x86 users don't want to pay the (small) compile time cost and risk of assertions. I did this once ~1.5 years ago - it was more or less fine, I believe I saw 4-5 assertions during the whole llvm-gcc bootstrap.

-- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University



More information about the llvm-dev mailing list