-
Bug
-
Resolution: Fixed
-
Medium
-
Code Generation Tools
-
CODEGEN-10115
-
-
-
default
-
No practical workaround
When handling inline functions, whether explicitly marked inline by the user or auto-inlined by the optimizer, the optimizer would sometimes lose track of the restrict keyword. This particular bug would only show up if at least one of the inline function's declared parameters was a restrict-qualified pointer, in which case the generated assembly code would be sub-optimal. This was particularly noticable for software-pipelined loops, where loops could have a worse loop-carried dependence than they should have, and in fact sometimes worse than if the restrict keyword was removed from the source code.