If a member-wise assignment from a non-flattened struct to a flattened struct sees a complex R-value (not a symbol), it now creates a temporary to hold that value, to avoid repeating the R-value. This avoids, e.g, duplicating a whole function call. Also, it avoids re-using the AST node, making a new one for each member inside the member loop. The latter (re-use of AST node) was also an issue in the GetDimensions intrinsic decomposition, so this PR fixes that one too.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| CMakeLists.txt | Loading commit data... | |
| hlslGrammar.cpp | Loading commit data... | |
| hlslGrammar.h | Loading commit data... | |
| hlslOpMap.cpp | Loading commit data... | |
| hlslOpMap.h | Loading commit data... | |
| hlslParseHelper.cpp | Loading commit data... | |
| hlslParseHelper.h | Loading commit data... | |
| hlslParseables.cpp | Loading commit data... | |
| hlslParseables.h | Loading commit data... | |
| hlslScanContext.cpp | Loading commit data... | |
| hlslScanContext.h | Loading commit data... | |
| hlslTokenStream.cpp | Loading commit data... | |
| hlslTokenStream.h | Loading commit data... | |
| hlslTokens.h | Loading commit data... |