On Thu, Jul 10, 2014 at 04:30:13PM +0200, Richard Biener wrote: > Compromise "hack" below. It simply avoids the transform for > sources that c_strlen can compute a length of. That "fixes" all > strlenopt testcase apart from strlenopt-8.c which does > memcpy (, flag ? "a" : "b"); which then still folds > during gimplification. I have XFAILed that. > > I've tried to comb my way through strlenopt but failed to quickly > add support for generic stores (it has very rough support for > char stores, see also PR61773). > > Does the below look ok?
I can look at the tree-ssa-strlen.c stuff and removing the !c_strlen hack incrementally. Jakub