You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I would ike to get a better description for the issue.
This came from a classic "Heisenbug" reported by one of the users of S4A. A variable inside a loop seemed to be calculated wrong, zeroed, so he put in a debug print statement and it started working. This suggested to me an optimiser bug.
Comparing the two .ll.txt files with and without print, you can see swift is outputting correct LLVM IR, the only material difference is the print statement.
The register use in the not working version seems a bit arbitrary and garbled. I'll try to analyse more but at the moment it's expecting r31 to have a value like part of the loop variable but it will always be zero.
The text was updated successfully, but these errors were encountered:
I would ike to get a better description for the issue.
This came from a classic "Heisenbug" reported by one of the users of S4A. A variable inside a loop seemed to be calculated wrong, zeroed, so he put in a debug print statement and it started working. This suggested to me an optimiser bug.
Comparing the two .ll.txt files with and without print, you can see swift is outputting correct LLVM IR, the only material difference is the print statement.
main_with_print_(working).ll.txt
main without print (buggy).ll.txt
The original swift code is here...
main for buggy iled 2.swift.txt
However, when compiled, there are differences.
iled test 2 without print (not working).txt
iled test 2 with print (working).txt
The register use in the not working version seems a bit arbitrary and garbled. I'll try to analyse more but at the moment it's expecting r31 to have a value like part of the loop variable but it will always be zero.
The text was updated successfully, but these errors were encountered: