Skip to content

Floating-point support to SSA interpreter and bugfixes#33

Merged
mengzhuo merged 7 commits intoplctlab:mainfrom
bmwangmh:workspace
Sep 1, 2025
Merged

Floating-point support to SSA interpreter and bugfixes#33
mengzhuo merged 7 commits intoplctlab:mainfrom
bmwangmh:workspace

Conversation

@bmwangmh
Copy link

Main contributions:

  • SSA interpreter now supports floating-point numbers. See da1ed53.
  • A preliminary purity anaylsis has been done, now dead calls to pure functions are also eliminated. See ca7c072 and 7e127c4.

Test cases:

  • Basic floating-point instructions: floatpoint01, floatpoint02.

Bugfixes:

  • The compiler now correctly handles closure self-references, allowing a closure to correctly call itself. Test closure02 has passed. A new test closure05 was added as a simplified version of closure02. See 7e6cb22.
  • An omitted Assign rd _ was added when dealing with Psetbytesitem See db0df65.
  • A redundant = in the output of AssignFP was removed. The rule for deciding if an operation is unsigned in the interpreter has been changed to be based on rs instead of rd. See 957528a.
  • Logical Not now correctly uses logical not instead of bitwise ~ in the interpreter. See 6f566d8.

@mengzhuo mengzhuo merged commit d3e62a6 into plctlab:main Sep 1, 2025
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants