Details
-
Technical task
-
Resolution: Unresolved
-
P2: Important
-
None
Description
Currently, the C++ code generated by qmlcachegen and qmlsc will only std::move() from a register if it has been populated in the same basic block as it consumed. This is because otherwise it may be read multiple times via a loop. However, there are control flow constructs where this definitely cannot happen, for example if the register is populated in a piece of linear code before a loop and consumed in another piece of linear code after a loop. We should be able to identify such cases.
Coverity is complaining about the potential std::move's we're missing out on in generated code.
Attachments
Issue Links
- resulted from
-
QTBUG-115110 .rcc/qmlcache/ generated code is too liberal in its use of std::move()
- Closed