Q and DU are module ALLOCATABLE variables; RNM1 and RNI are local scalars . Due to the box loads involved in producing the base memrefs of the designators, the alias analysis cannot currently prove no-aliasing for Q and DU accesses. This blocks the optimized bufferization pass from eliminating the temporary:
The benchmark runs 5% slower than with FIR lowering on icelake (120.5 seconds vs 114.5).
The slowdown is related to extra temporaries created for some assignments, e.g.:
Q
andDU
are module ALLOCATABLE variables;RNM1
andRNI
are local scalars . Due to the box loads involved in producing the base memrefs of the designators, the alias analysis cannot currently prove no-aliasing forQ
andDU
accesses. This blocks the optimized bufferization pass from eliminating the temporary: