Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vectorisation, loops, and division improvements #98

Merged
merged 19 commits into from
Jul 11, 2024
Merged

Conversation

katrinafyi
Copy link
Member

From @ncough, to support arm-tv work.

@katrinafyi
Copy link
Member Author

katrinafyi commented Jul 10, 2024

Looking at updating dune runtest and it looks like some extensions which were removed aren't anymore. For example add w2, w21, #1,

   "0x110006a2"
-  Stmt_Assign(LExpr_Array(LExpr_Var("_R"),2),Expr_TApply("ZeroExtend.0",[32;64],[Expr_TApply("add_bits.0",[32],[Expr_Slices(Expr_Array(Expr_Var("_R"),21),[Slice_LoWd(0,32)]);'00000000000000000000000000000001']);64]))
+  Stmt_Assign(LExpr_Array(LExpr_Var("_R"),2),Expr_TApply("ZeroExtend.0",[32;64],[Expr_Slices(Expr_TApply("add_bits.0",[64],[Expr_TApply("ZeroExtend.0",[32;64],[Expr_Slices(Expr_Array(Expr_Var("_R"),21),[Slice_LoWd(0,32)]);64]);'0000000000000000000000000000000000000000000000000000000000000001']),[Slice_LoWd(0,32)]);64]))

251bc09

katrinafyi and others added 5 commits July 10, 2024 16:57
 - Extend vectorizer to visit conditional loops
 - Don't rerun StatefulIntToBits for widening of an integer, it won't actually change anything
 - Add ite size
@ncough
Copy link
Collaborator

ncough commented Jul 11, 2024

IntToBits was disabled in the online lifter path, as it was leading to some stranger behaviours with the power-of-2 bitwidths. I have re-enabled it, along with fixes to the CaseSimp pass related to the bitwidths. This should correct issues with the larger bit vector expressions.

Also have a fix for the termination issues with offline, StatefulIntToBits was not converging on a fixed point due to a mistake in modelling integers.

@katrinafyi
Copy link
Member Author

Thanks for the fixes. Let me know when you're happy with it and I'll merge it in.

@ncough
Copy link
Collaborator

ncough commented Jul 11, 2024

I'm happy with it all, keen to see if it makes any difference. Thanks for cleaning up all of the integration mess!

@katrinafyi katrinafyi marked this pull request as ready for review July 11, 2024 05:42
@katrinafyi
Copy link
Member Author

From a subset of the LLVM tests, there seems to be less timeouts and more correct outcomes!

@katrinafyi katrinafyi merged commit 34cfa40 into partial_eval Jul 11, 2024
1 check 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