-
Notifications
You must be signed in to change notification settings - Fork 33
Christmas cleanup 2025 #199
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
Conversation
…ation control; switch-constant-folding is constant-folding
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR performs a "Christmas cleanup" for 2025, focusing on code quality improvements and enhanced compiler control features.
Key Changes:
- Improved layout/formatting of MulExp and RegionExp expressions with better indentation calculations
- Enhanced inlining and specialization control through
-max_inl_szand-max_spec_szflags - Added constant folding control via new
-cfoldflag - Fixed spelling errors ("aggressive_opt" vs "aggresive_opt")
- Updated manual documentation and bibliography
Reviewed changes
Copilot reviewed 33 out of 44 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/Runtime/Region.c | Converted C-style comments to C++ style, fixed format specifiers, contains spelling error |
| src/Runtime/Profiling.c | Updated format strings and added debug output for profiling info |
| src/Runtime/Math.c | Added runtime_test1auto function for testing multi-parameter passing |
| src/Compiler/Regions/RegionExp.sml | Improved SELECT expression layout with dynamic indentation |
| src/Compiler/Regions/MulExp.sml | Enhanced formatting and layout of declarations, improved code readability |
| src/Compiler/Regions/Effect.sml | Added short flag name "abbrev" for print_control_abbrev_layout |
| src/Compiler/Lambda/OptLambda.sml | Major refactoring: separated constant folding control, improved inlining logic, fixed "aggressive" typo |
| src/Compiler/Backend/X64/CodeGenX64.sml | Added clarifying comments about bytes vs words |
| src/Compiler/Backend/X64/CodeGenUtilX64.sml | Reorganized code structure, moved helper function |
| src/Common/KitReML.sml | Fixed flag name from "aggresive_opt" to "aggressive_opt" |
| src/Common/Flags.sml | Fixed flag name consistency (aggressive_opt) |
| kitdemo/*.sml | Formatting improvements and style cleanup across multiple demo files |
| doc/manual/*.tex | Added SML syntax highlighting support, updated macros |
| doc/manual/*.pdf | Regenerated PDF files with updated content |
| doc/manual/mlkit.bib | Added 5 new bibliography entries for recent publications |
| NEWS.md | Documented new inlining control and argument flattening features |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| allocProfNowFin=0, // Words used on object descriptors in fin. regions. | ||
| maxAllocProfFin=0, // At time maxAllocFin how much were used on object descriptors. | ||
| maxAlloc=0, // Max. allocated data in both inf. and fin. regions. | ||
| // - not nessesarily equal to maxAllocInf+maxAllocFin!!! |
Copilot
AI
Dec 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed typo in comment: "nessesarily" should be "necessarily"
-max_inl_szand-max_spec_sz).-no_cfoldis passed tomlkit.