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

Clean up algorithms #611

Merged
merged 4 commits into from
Apr 29, 2022
Merged

Conversation

lukemaurer
Copy link
Contributor

Removing several unimplemented functions from Patricia_tree and deleting the flambda2 copy of Strongly_connected_components (generalizing the upstream API as needed).

Removing several unimplemented functions from `Patricia_tree` and
deleting the flambda2 copy of `Strongly_connected_components`
(generalizing the upstream API as needed).
Copy link
Contributor

@lthls lthls left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds reasonable. Were there any differences in the actual code for the Strongly_connected_components modules (apart from the signature) ?

@lthls
Copy link
Contributor

lthls commented Apr 13, 2022

Answering my own question: the flambda2 version used a specialised version of List.mem on integers, and allows the input graph to have edges pointing outside the domain of the graph, ignoring those edges. The latter part is what is causing the CI failures, and needs to be fixed in some way (either ensure that all graphs are self-contained or relax the implementation like was done in the Flambda 2 version).
The List.mem specialisation could be added back too, it's quite safe.

@mshinwell mshinwell added the flambda2 Prerequisite for, or part of, flambda2 label Apr 14, 2022
@mshinwell
Copy link
Collaborator

@lukemaurer maybe add back the List.mem specialisation (into the original SCC module this time) and then we can merge this?

@lukemaurer
Copy link
Contributor Author

@lukemaurer maybe add back the List.mem specialisation (into the original SCC module this time) and then we can merge this?

Sure, done.

@mshinwell mshinwell merged commit 416533f into ocaml-flambda:main Apr 29, 2022
lpw25 added a commit that referenced this pull request May 19, 2022
fe8a98b0c flambda-backend: Save Mach as Cfg after Selection (#624)
2b205d886 flambda-backend: Clean up algorithms (#611)
524f0b435 flambda-backend: Initial refactoring of To_cmm (#619)
0bf75de86 flambda-backend: Refactor and correct the "is pure" and "can raise" (port upstream PR#10354 and PR#10387) (#555)
d234bfdbe flambda-backend: Cpp mangling is now a configuration option (#614)
20fc614bf flambda-backend: Check that stack frames are not too large (#10085) (#561)
5fc2e9503 flambda-backend: Allow CSE of immutable loads across stores (port upstream PR#9562) (#562)
2a650deec flambda-backend: Backport commit fc9534746bf5d08a4c109f22e344cf49d5d46d54 from trunk (#584)
31651b87e flambda-backend: Improved ARM64 code generation (port upstream PR#9937) (#556)
f0b6d68e8 flambda-backend: Simplify processing and remove dead code (error paths) in asmlink (port upstream PR#9943) (#557)
90c674687 flambda-backend: Improve code-generation for inlined comparisons (port upstream PR#10228) (#563)

git-subtree-dir: ocaml
git-subtree-split: fe8a98b0cd38bf1872b8faf3b93542caebabad18
mshinwell pushed a commit that referenced this pull request May 20, 2022
lpw25 added a commit to lpw25/flambda-backend that referenced this pull request May 20, 2022
fe8a98b0c flambda-backend: Save Mach as Cfg after Selection (ocaml-flambda#624)
2b205d886 flambda-backend: Clean up algorithms (ocaml-flambda#611)
524f0b435 flambda-backend: Initial refactoring of To_cmm (ocaml-flambda#619)
0bf75de86 flambda-backend: Refactor and correct the "is pure" and "can raise" (port upstream PR#10354 and PR#10387) (ocaml-flambda#555)
d234bfdbe flambda-backend: Cpp mangling is now a configuration option (ocaml-flambda#614)
20fc614bf flambda-backend: Check that stack frames are not too large (#10085) (ocaml-flambda#561)
5fc2e9503 flambda-backend: Allow CSE of immutable loads across stores (port upstream PR#9562) (ocaml-flambda#562)
2a650deec flambda-backend: Backport commit fc9534746bf5d08a4c109f22e344cf49d5d46d54 from trunk (ocaml-flambda#584)
31651b87e flambda-backend: Improved ARM64 code generation (port upstream PR#9937) (ocaml-flambda#556)
f0b6d68e8 flambda-backend: Simplify processing and remove dead code (error paths) in asmlink (port upstream PR#9943) (ocaml-flambda#557)
90c674687 flambda-backend: Improve code-generation for inlined comparisons (port upstream PR#10228) (ocaml-flambda#563)

git-subtree-dir: ocaml
git-subtree-split: fe8a98b0cd38bf1872b8faf3b93542caebabad18
mshinwell added a commit that referenced this pull request May 24, 2022
454150b1a7 flambda-backend: Speed up testsuite (#658)
8362f9e90c flambda-backend: Speed up builds (#585)
a527cabbb2 flambda-backend: Update backends for changes from ocaml-jst
ce8883357f Merge flambda-backend changes
b7506bbc69 Revert "Cherry-pick of ocaml/ocaml 1eeb0e7fe595f5f9e1ea1edbdf785ff3b49feeeb (#12)"
183f688179 Add config option to enable/disable stack allocation (#22)
ee7c849eb8 If both the type and mode of an ident are wrong, complain about the type. (#19)
44bade06c7 Allow submoding during module inclusion checks (#21)
de3bec9aea Add subtyping between arrows of related modes (#20)
fe8a98b0cd flambda-backend: Save Mach as Cfg after Selection (#624)
2b205d8861 flambda-backend: Clean up algorithms (#611)
93d861556b Enable the local keywords even when the local extension is off (#18)
524f0b435e flambda-backend: Initial refactoring of To_cmm (#619)
81dd85ee19 Documentation for local allocations
b05519f16c Fix a GC bug in local stack scanning (#17)
9f879dea8c Fix __FUNCTION__ (#15)
0bf75de86a flambda-backend: Refactor and correct the "is pure" and "can raise" (port upstream PR#10354 and PR#10387) (#555)
d234bfdbe4 flambda-backend: Cpp mangling is now a configuration option (#614)
20fc614bff flambda-backend: Check that stack frames are not too large (#10085) (#561)
5fc2e95038 flambda-backend: Allow CSE of immutable loads across stores (port upstream PR#9562) (#562)
2a650deeca flambda-backend: Backport commit fc9534746bf5d08a4c109f22e344cf49d5d46d54 from trunk (#584)
a78975eb57 Optimise "include struct ... end" in more cases (ocaml/ocaml#11134)
b819c66154 Cherry-pick of ocaml/ocaml 1eeb0e7fe595f5f9e1ea1edbdf785ff3b49feeeb (#12)
bb363d4e70 Optimise the allocation of optional arguments (#11)
31651b87ef flambda-backend: Improved ARM64 code generation (port upstream PR#9937) (#556)
f0b6d68e86 flambda-backend: Simplify processing and remove dead code (error paths) in asmlink (port upstream PR#9943) (#557)
90c6746877 flambda-backend: Improve code-generation for inlined comparisons (port upstream PR#10228) (#563)

git-subtree-dir: ocaml
git-subtree-split: 454150b1a78ad6b30cd6892f07f56db2f0b63aa8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flambda2 Prerequisite for, or part of, flambda2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants