> As I remembered, the reason I put vleff intrinsic genereted into vleff + csrr > vl in gimple level is because: > > In this intrinsic code: > > vleff (.... &vl, avl) > vadd (..., vl) > > The assembly will become: > > vleff .... > vadd ... > > Instead of > > vleff .... > csrr vl > vadd ... > > The "csrr vl" will be elided. > > So I wonder, whether "csrr vl" can be elided after this patch ?
Good point, and, yes, code-gen now is definitely worse with my patch. When splitting early in gimple we just have much more opportunity to optimize things. I'm not happy with the resulting code now but it gets rid of the segmentation fault at least. I'll think about it some more. -- Regards Robin
