On Thu, Aug 10, 2017 at 1:32 AM, Dibyendu Majumdar <mobile@xxxxxxxxxxxxxxx> wrote: > > Yes I suppose that is what it is. LLVM complains that 'instruction > does not dominate all uses'. > The unsimplified IR works fine > (https://github.com/dibyendumajumdar/dmr_c/blob/master/tests/bugs/simplifybug.lin). > The simplified IR has an issue > (https://github.com/dibyendumajumdar/dmr_c/blob/master/tests/bugs/simplifybug_O1.lin). Yes, I saw now. It's hopeless. It's a problem with the SSA construction (happen between linearization and simplification), basically, it puts the phi-nodes where there is a load but it's often too late, they need to be put where paths join. >> You may try the new SSA construction at : >> https://github.com/lucvoo/sparse/tree/sssa >> It will help a lot. >> > > Is that a standalone change I can apply? Arf ... in a sense yes but it's really a 40 patches series (but most changes are isolated, maybe not too much work for you I don't know). > I think that this is a very good idea. Since the official sparse repo > is so behind - it will be good if you maintain a branch in your repo > that has all the things that you have tested thoroughly and are happy > with - this can be the "next sparse version" for testing. I would > suggest aggregating only changes that you are 100% confident about. It > will allow me (and others like me) to test the changes and report back > if any issues are found. It's the idea. Only that the 100% confident will be "confident that it won't break but improve situations I know about". Regards, -- 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