File tree Expand file tree Collapse file tree 3 files changed +16
-5
lines changed 
rustc_codegen_llvm/src/llvm Expand file tree Collapse file tree 3 files changed +16
-5
lines changed Original file line number Diff line number Diff line change @@ -127,7 +127,6 @@ pub(crate) mod Enzyme_AD {
127127        ) ; 
128128        pub ( crate )  fn  EnzymeTypeTreeToString ( arg1 :  CTypeTreeRef )  -> * const  c_char ; 
129129        pub ( crate )  fn  EnzymeTypeTreeToStringFree ( arg1 :  * const  c_char ) ; 
130-         pub ( crate )  fn  EnzymeGetMaxTypeDepth ( )  -> :: std:: os:: raw:: c_uint ; 
131130    } 
132131
133132    unsafe  extern  "C"  { 
Original file line number Diff line number Diff line change @@ -1847,3 +1847,15 @@ extern "C" void LLVMRustSetNoSanitizeHWAddress(LLVMValueRef Global) {
18471847  MD.NoHWAddress  = true ;
18481848  GV.setSanitizerMetadata (MD);
18491849}
1850+ 
1851+ #ifdef  ENZYME
1852+ extern  " C" 
1853+ extern  llvm::cl::opt<unsigned > EnzymeMaxTypeDepth;
1854+ }
1855+ 
1856+ extern  " C" size_t  LLVMRustEnzymeGetMaxTypeDepth () { return  EnzymeMaxTypeDepth; }
1857+ #else 
1858+ extern  " C" size_t  LLVMRustEnzymeGetMaxTypeDepth () {
1859+   return  6 ; //  Default fallback depth
1860+ }
1861+ #endif 
Original file line number Diff line number Diff line change @@ -2266,16 +2266,16 @@ fn typetree_from_ty_inner<'tcx>(
22662266    #[ cfg( llvm_enzyme) ]  
22672267    { 
22682268        unsafe  extern  "C"  { 
2269-             fn  EnzymeGetMaxTypeDepth ( )  -> :: std :: os :: raw :: c_uint ; 
2269+             fn  LLVMRustEnzymeGetMaxTypeDepth ( )  -> usize ; 
22702270        } 
2271-         let  max_depth = unsafe  {  EnzymeGetMaxTypeDepth ( )  }   as   usize ; 
2272-         if  depth > max_depth { 
2271+         let  max_depth = unsafe  {  LLVMRustEnzymeGetMaxTypeDepth ( )  } ; 
2272+         if  depth >=  max_depth { 
22732273            return  TypeTree :: new ( ) ; 
22742274        } 
22752275    } 
22762276
22772277    #[ cfg( not( llvm_enzyme) ) ]  
2278-     if  depth > 6  { 
2278+     if  depth >=  6  { 
22792279        return  TypeTree :: new ( ) ; 
22802280    } 
22812281
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments