Remove static_replace_all_uses and statics_to_rauw from cg_ssa
This commit is contained in:
parent
436eff5e84
commit
2d46ee26fb
5 changed files with 7 additions and 12 deletions
|
@ -195,7 +195,9 @@ pub fn compile_codegen_unit<'ll, 'tcx>(tcx: TyCtxt<'ll, 'tcx, 'tcx>,
|
||||||
// Run replace-all-uses-with for statics that need it
|
// Run replace-all-uses-with for statics that need it
|
||||||
for &(old_g, new_g) in cx.statics_to_rauw().borrow().iter() {
|
for &(old_g, new_g) in cx.statics_to_rauw().borrow().iter() {
|
||||||
unsafe {
|
unsafe {
|
||||||
cx.static_replace_all_uses(old_g, new_g)
|
let bitcast = llvm::LLVMConstPointerCast(new_g, cx.val_ty(old_g));
|
||||||
|
llvm::LLVMReplaceAllUsesWith(old_g, bitcast);
|
||||||
|
llvm::LLVMDeleteGlobal(old_g);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -498,9 +498,4 @@ impl StaticMethods for CodegenCx<'ll, 'tcx> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
unsafe fn static_replace_all_uses(&self, old_g: &'ll Value, new_g: &'ll Value) {
|
|
||||||
let bitcast = llvm::LLVMConstPointerCast(new_g, self.val_ty(old_g));
|
|
||||||
llvm::LLVMReplaceAllUsesWith(old_g, bitcast);
|
|
||||||
llvm::LLVMDeleteGlobal(old_g);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -314,6 +314,10 @@ impl<'ll, 'tcx> CodegenCx<'ll, 'tcx> {
|
||||||
local_gen_sym_counter: Cell::new(0),
|
local_gen_sym_counter: Cell::new(0),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
crate fn statics_to_rauw(&self) -> &RefCell<Vec<(&'ll Value, &'ll Value)>> {
|
||||||
|
&self.statics_to_rauw
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl MiscMethods<'tcx> for CodegenCx<'ll, 'tcx> {
|
impl MiscMethods<'tcx> for CodegenCx<'ll, 'tcx> {
|
||||||
|
@ -431,10 +435,6 @@ impl MiscMethods<'tcx> for CodegenCx<'ll, 'tcx> {
|
||||||
&self.codegen_unit
|
&self.codegen_unit
|
||||||
}
|
}
|
||||||
|
|
||||||
fn statics_to_rauw(&self) -> &RefCell<Vec<(&'ll Value, &'ll Value)>> {
|
|
||||||
&self.statics_to_rauw
|
|
||||||
}
|
|
||||||
|
|
||||||
fn used_statics(&self) -> &RefCell<Vec<&'ll Value>> {
|
fn used_statics(&self) -> &RefCell<Vec<&'ll Value>> {
|
||||||
&self.used_statics
|
&self.used_statics
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,6 @@ pub trait MiscMethods<'tcx>: Backend<'tcx> {
|
||||||
fn stats(&self) -> &RefCell<Stats>;
|
fn stats(&self) -> &RefCell<Stats>;
|
||||||
fn consume_stats(self) -> RefCell<Stats>;
|
fn consume_stats(self) -> RefCell<Stats>;
|
||||||
fn codegen_unit(&self) -> &Arc<CodegenUnit<'tcx>>;
|
fn codegen_unit(&self) -> &Arc<CodegenUnit<'tcx>>;
|
||||||
fn statics_to_rauw(&self) -> &RefCell<Vec<(Self::Value, Self::Value)>>;
|
|
||||||
fn closure_env_needs_indirect_debuginfo(&self) -> bool;
|
fn closure_env_needs_indirect_debuginfo(&self) -> bool;
|
||||||
fn used_statics(&self) -> &RefCell<Vec<Self::Value>>;
|
fn used_statics(&self) -> &RefCell<Vec<Self::Value>>;
|
||||||
fn set_frame_pointer_elimination(&self, llfn: Self::Value);
|
fn set_frame_pointer_elimination(&self, llfn: Self::Value);
|
||||||
|
|
|
@ -19,5 +19,4 @@ pub trait StaticMethods: BackendTypes {
|
||||||
fn static_addr_of(&self, cv: Self::Value, align: Align, kind: Option<&str>) -> Self::Value;
|
fn static_addr_of(&self, cv: Self::Value, align: Align, kind: Option<&str>) -> Self::Value;
|
||||||
fn get_static(&self, def_id: DefId) -> Self::Value;
|
fn get_static(&self, def_id: DefId) -> Self::Value;
|
||||||
fn codegen_static(&self, def_id: DefId, is_mutable: bool);
|
fn codegen_static(&self, def_id: DefId, is_mutable: bool);
|
||||||
unsafe fn static_replace_all_uses(&self, old_g: Self::Value, new_g: Self::Value);
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue