So I found a much simpler way of reproducing the issue:
@extern
def output_int32_list(x: list[int32]):
...
def run() -> int32:
bl = [True, False]
output_int32_list([int32(b)…
In a sense it is probably not necessary to expose the legacy PM to users of ARTIQ, so this change is removed until someone else thinks it's necessary.
Mostly to diagnose problems that occur only using the Legacy PM, e.g. #315.
v4: Changed implementation to keep both legacy and new PMs for testing, refactored codegen test cases to test both legacy and new PMs.
Ready for review.
On second thought - I think it's better if I implement a flag which can toggle between the new and old pass managers, since there are still outstanding bugs we need to fix when building using the…
v3: Rebased against master, added target CPU name to TargetMachine
creation, and updated check_demos.sh
script to allow arguments to the compiler.
This issue seemed to have gone away using the new pass manager. I guess more investigation is needed to determine whether this is a LLVM bug or NAC3 bug.
Do you understand why it was set to ""?
Not really. git blame
appears to show that this change was made by you, so maybe you would have an idea?
What are the consequences of this…