On Tue, Apr 25, 2017 at 7:49 PM, Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> wrote: > > Roughly, once you begin to play with code generation, something like > OP_SYMADDR is an operation that you will really do. > Depending on the relocation, it can even be something relatively costly: > I'm thinking static code on a 64bit machine where you can only generate > 16bit constants, others cases may be not at all cheaper. > So it's something that soon or later will need to be exposed and > doing CSE on the address is good. Ack. I think the OP_SYMADDR elimination was wrong, and your patch is the right thing to do. It was done to roughly approximate the 32-bit x86 code, making the pseudo-asm that the linearizer outputs look more like x86 address generation, but you're right, it's bogus. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html