Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upRefactor librustc_codegen_llvm for multiple codegen backends. #45274
Comments
kennytm
added
the
C-feature-request
label
Oct 14, 2017
rkruppe
referenced this issue
Oct 19, 2017
Closed
Merge (most of) rustc_llvm into rustc_trans #41699
bjorn3
referenced this issue
Nov 1, 2017
Closed
[driver breaking] Rename rustc_trans to rustc_codegen_llvm and allow runtime switching between trans backends #45677
eddyb
self-assigned this
Nov 8, 2017
eddyb
referenced this issue
Jan 23, 2018
Merged
rustc: Load the `rustc_trans` crate at runtime #47671
bors
added a commit
that referenced
this issue
May 14, 2018
bors
added a commit
that referenced
this issue
May 17, 2018
eddyb
referenced this issue
Jun 15, 2018
Closed
Build `librustc_llvm` as a dylib, and install it as part of the private rustc crates. #50404
eddyb
changed the title
Rename librustc_trans to librustc_codegen_llvm.
Refactor librustc_codegen_llvm for multiple codegen backends.
Jul 13, 2018
irinagpopa
referenced this issue
Jul 17, 2018
Merged
rustc_codegen_llvm: use safe references for LLVM FFI types. #52461
bors
added a commit
that referenced
this issue
Jul 18, 2018
bors
added a commit
that referenced
this issue
Jul 18, 2018
bors
added a commit
that referenced
this issue
Jul 18, 2018
bors
added a commit
that referenced
this issue
Jul 18, 2018
bors
added a commit
that referenced
this issue
Jul 19, 2018
bors
added a commit
that referenced
this issue
Jul 30, 2018
bors
added a commit
that referenced
this issue
Jul 31, 2018
irinagpopa
referenced this issue
Aug 2, 2018
Closed
rustc_codegen_llvm: begin generalizing over backend values. #52987
denismerigoux
referenced this issue
Sep 6, 2018
Closed
rustc_codegen_llvm: traitification of LLVM-specific CodegenCx and Builder methods #54012
bors
added a commit
that referenced
this issue
Sep 7, 2018
bors
added a commit
that referenced
this issue
Oct 9, 2018
bors
added a commit
that referenced
this issue
Oct 10, 2018
sunfishcode
referenced this issue
Nov 2, 2018
Merged
rustc_codegen_llvm: traitification of LLVM-specific CodegenCx and Builder methods #55627
bors
added a commit
that referenced
this issue
Nov 16, 2018
bors
added a commit
that referenced
this issue
Nov 17, 2018
bors
added a commit
that referenced
this issue
Nov 17, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
eddyb commentedOct 14, 2017
•
edited
[#50615] Renamelibrustc_transtolibrustc_codegen_llvm.Makerustc_drivereither able to choose codegen backends, or even better, passrustc_codegen_llvmtorustc_driverfromrustc-main.See also #45226.
Possible refactoring steps:
removeSharedCrateContext, useTyCtxtrename(Local)CrateContexttoCodegenContext, remove accessor methodsmergelibrustc_llvmintolibrustc_codegen_llvmpassValueRefas&'ll Valueinstead, encode LLVM lifetimes in FFI signaturesuse this technique for C++ objects that borrow others: #43467 (comment)DI*inheritance hierarchy: #43467 (comment)&'ll Module<'ll>,&'ll Value<'ll>,&'ll Type<'ll>etc. to correctly model lifetime relationships (without an invariant lifetime parameter, very little is actually enforced)craneliftandllvm2craneliftfor common Cranelift/LLVM builder APIscommon tools used by SSA backends could be placed inrustc_codegen_ssarustc_codegen_ssaAPIs to match Cranelift, leave LLVM second-classbinemit"?) and linking components, out ofrustc_codegen_ssa