On Thu, Mar 02, 2017 at 05:04:04PM +0100, Luc Van Oostenryck wrote: > However, while running sparse-llvm on some code sample I use to test > the linearization, I see that most errors are type errors and are > related to pointer arithmetic, exactly where LLVM's getelemptr is used. > Most offending instructions are OP_ADD (but since I have tests for > bitfields I see also errors for OP_AND, OP_OR & OP_LSR). > I guess that if you test OP_ADD instruction with pointer on one side > and integer on tne other side and issue an appropriate LLVMBuildGEP(), > things will already be much better. Another place, that clearly need some more love and attention is output_op_ptrcast() (and possibly outpout_op_cast() too): Not all OP_PTRCAST can be mapped to an LLVM bitcast, only the ones wich doesn't change the size can (and even, I'm not suer all can). Luc -- 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