Repository navigation
Baseline-settings pass: remove per-function optimizer toggles where plain C matches - #6
Merged
Merged
Conversation
…units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
… EPL units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…combine units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…l manager First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
… and kernel units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…title and battle-calculation units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
… unit units; battle data, panel, scene and script units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…ed, calendar and community units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…d and message-manager units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…list units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…repeated unit settings First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…unplaced field units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…r units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
… title, facility and community units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…shuffle sequence units First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…, thunder and track effects First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…p unit settings First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…eld unit settings First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
… scene and Yajima unit settings First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
…mmunity, calendar, GSL and font unit settings First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
First-party 6860/6860 MATCH; 8101 C functions linked; both retail SHA-1s OK.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Baseline-settings pass, follow-up to #5. Per-function optimizer toggles are matching tools, not original source. For each first-party function whose toggles differed from the rest of its unit, this pass removed the toggle and looked for plain C that matches under the unit's own settings. Repeated per-function push/toggle/pop scaffolding is replaced by one commented unit setting near the top of the file. Matching is unchanged at every commit: 6860/6860 first-party MATCH, 8101 C functions linked, both retail SHA-1s OK. Recovery quality stays 100% named/typed/documented.
mainopt_loop_invariantsopt_propagationopt_rebuildconditionalsopt_common_subsopt_lifetimesopt_dead_assignmentsopt_pulloutconstantsopt_scalarizeswitchin place of anifchain. No new helpers,volatile,asmor dummy locals.measured:comment saying what was tried and the residual without it. Per-function probe records are in the slice TSVs (not committed).schedule,tailcall,no_branch_likelyand VU0 settings are unchanged. Six redundantoptimization_level 2restores inside repeated scaffolding were removed, and the files still match.#pragma pushscopes (P001) are fixed, sodecomp_lint.py --errors-onlyis now clean across first-party code (it reported 5 errors onmain). H003 warnings dropped in every slice.docs/STYLE.mdnow says unit settings are stated once and per-function toggles need a measurement. It also notes that anoptimization_leveldirective can reset the toggles.Verification
Each commit was gated on whole-tree
tools/verify.py(6860/6860),tools/build.py(8101 linked, both SHA-1s), no newdecomp_lint.pyerrors in changed files, and the unit tests. Every slice also re-rantools/recovery_quality.pyon its files.