@@ -32,7 +32,7 @@ use smallvec::SmallVec;
3232
3333use crate :: back:: write:: to_llvm_code_model;
3434use crate :: callee:: get_fn;
35- use crate :: common:: { self , AsCCharPtr } ;
35+ use crate :: common:: AsCCharPtr ;
3636use crate :: debuginfo:: metadata:: apply_vcall_visibility_metadata;
3737use crate :: llvm:: { Metadata , MetadataType } ;
3838use crate :: type_:: Type ;
@@ -652,24 +652,22 @@ impl<'ll> SimpleCx<'ll> {
652652 let isize_ty = llvm:: Type :: ix_llcx ( llcx, pointer_size. bits ( ) ) ;
653653 Self ( SCx { llmod, llcx, isize_ty } , PhantomData )
654654 }
655+ }
655656
656- pub ( crate ) fn val_ty ( & self , v : & ' ll Value ) -> & ' ll Type {
657- common:: val_ty ( v)
658- }
659-
657+ impl < ' ll , CX : Borrow < SCx < ' ll > > > GenericCx < ' ll , CX > {
660658 pub ( crate ) fn get_metadata_value ( & self , metadata : & ' ll Metadata ) -> & ' ll Value {
661- unsafe { llvm:: LLVMMetadataAsValue ( self . llcx , metadata) }
659+ unsafe { llvm:: LLVMMetadataAsValue ( self . llcx ( ) , metadata) }
662660 }
663661
664662 pub ( crate ) fn get_function ( & self , name : & str ) -> Option < & ' ll Value > {
665663 let name = SmallCStr :: new ( name) ;
666- unsafe { llvm:: LLVMGetNamedFunction ( self . llmod , name. as_ptr ( ) ) }
664+ unsafe { llvm:: LLVMGetNamedFunction ( ( * * self ) . borrow ( ) . llmod , name. as_ptr ( ) ) }
667665 }
668666
669667 pub ( crate ) fn get_md_kind_id ( & self , name : & str ) -> u32 {
670668 unsafe {
671669 llvm:: LLVMGetMDKindIDInContext (
672- self . llcx ,
670+ self . llcx ( ) ,
673671 name. as_ptr ( ) as * const c_char ,
674672 name. len ( ) as c_uint ,
675673 )
@@ -678,7 +676,7 @@ impl<'ll> SimpleCx<'ll> {
678676
679677 pub ( crate ) fn create_metadata ( & self , name : String ) -> Option < & ' ll Metadata > {
680678 Some ( unsafe {
681- llvm:: LLVMMDStringInContext2 ( self . llcx , name. as_ptr ( ) as * const c_char , name. len ( ) )
679+ llvm:: LLVMMDStringInContext2 ( self . llcx ( ) , name. as_ptr ( ) as * const c_char , name. len ( ) )
682680 } )
683681 }
684682}
0 commit comments