Skip to content

Refactor rustc_trans::abi not to use LLVM #39617

Description

@arielb1

Currently, rustc_trans::abi uses LLVM, which makes it hard to use from alternate back-ends like Cranelift. If we refactor it to a separate crate that only relies on ty::layout, that would make life easierr.

cc @eddyb.
cc @camlorn - you might be interested in it.

Activity

  1. ahicks92 commented on Feb 7, 2017

    @ahicks92
    Contributor

    This seems like a good idea but also like a really huge project, so have fun with it.

    I'm not actually sure what all that module does. My work barely touched it. I doubt I'll be much use here, but I'll certainly monitor. One thing that would be nice to have (and that this may help with) is a C backend, which would have potential uses for things like integrating with Python (which can only compile C). Maybe someone already did that, though.

  2. self-assigned this
    on Mar 5, 2017
  3. eddyb commented on Mar 23, 2017

    @eddyb
    Contributor

    Most of it is in #40658 already, but I want to keep this issue open for tracking the move to a different crate.
    I'm pretty sure we can do it by having generics over the Ty in TyLayout (and/or the context type), but keep Layout fully defined outside of librustc.

  4. added
    C-cleanupCategory: PRs that clean code up or issues documenting cleanup.
    and removed on Jul 24, 2017
  5. eddyb commented on Jul 13, 2018

    @eddyb
    Contributor

    This was finished by #50228.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

C-cleanupCategory: PRs that clean code up or issues documenting cleanup.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions