Commit d14d6c2
Fix to partial evaluation generating branch instructions on constant conditions (#1963)
RCA can categorize an expression as dynamic even if it is in fact purely
classical. This can happen in cases where a data structure such an
array, tuple or UDT contains a mix of static and dynamic values. In such
instances, RCA identifies all the contents of the data structure as
dynamic even if some values are static. This causes partial evaluation
to generate branch instructions on constant conditions under certain
circumstances. This change fixes this issue.
---------
Co-authored-by: Stefan J. Wernli <[email protected]>1 parent 0d05c9f commit d14d6c2
2 files changed
+773
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
488 | 488 | | |
489 | 489 | | |
490 | 490 | | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
491 | 513 | | |
492 | 514 | | |
493 | 515 | | |
| |||
0 commit comments