@@ -17,17 +17,17 @@ use crate::typetree::to_enzyme_typetree;
17
17
use crate :: LlvmCodegenBackend ;
18
18
use crate :: ModuleLlvm ;
19
19
use crate :: DiffTypeTree ;
20
- use llvm:: {
20
+ use llvm:: { LLVMRustGetEnumAttributeAtIndex , LLVMRustAddEnumAttributeAtIndex , LLVMRustRemoveEnumAttributeAtIndex ,
21
21
enzyme_rust_forward_diff, enzyme_rust_reverse_diff, BasicBlock , CreateEnzymeLogic ,
22
22
CreateTypeAnalysis , EnzymeLogicRef , EnzymeTypeAnalysisRef , LLVMAddFunction ,
23
23
LLVMAppendBasicBlockInContext , LLVMBuildCall2 , LLVMBuildExtractValue , LLVMBuildRet ,
24
24
LLVMCountParams , LLVMCountStructElementTypes , LLVMCreateBuilderInContext , LLVMDeleteFunction ,
25
25
LLVMDisposeBuilder , LLVMGetBasicBlockTerminator , LLVMGetElementType , LLVMGetModuleContext ,
26
26
LLVMGetParams , LLVMGetReturnType , LLVMPositionBuilderAtEnd , LLVMSetValueName2 , LLVMTypeOf ,
27
27
LLVMVoidTypeInContext , LLVMGlobalGetValueType , LLVMGetStringAttributeAtIndex ,
28
- LLVMIsStringAttribute , LLVMRemoveStringAttributeAtIndex , LLVMRemoveEnumAttributeAtIndex , AttributeKind ,
29
- LLVMGetFirstFunction , LLVMGetNextFunction , LLVMGetEnumAttributeAtIndex , LLVMIsEnumAttribute ,
30
- LLVMCreateStringAttribute , LLVMRustAddFunctionAttributes , LLVMCreateEnumAttribute , LLVMDumpModule ,
28
+ LLVMIsStringAttribute , LLVMRemoveStringAttributeAtIndex , AttributeKind ,
29
+ LLVMGetFirstFunction , LLVMGetNextFunction , LLVMIsEnumAttribute ,
30
+ LLVMCreateStringAttribute , LLVMRustAddFunctionAttributes , LLVMDumpModule ,
31
31
LLVMRustLLVMHasZlibCompressionForDebugSymbols , LLVMRustLLVMHasZstdCompressionForDebugSymbols ,
32
32
} ;
33
33
use rustc_codegen_ssa:: back:: link:: ensure_removed;
@@ -831,7 +831,7 @@ pub(crate) unsafe fn differentiate(
831
831
if LLVMIsStringAttribute ( attr) {
832
832
LLVMRemoveStringAttributeAtIndex ( lf, c_uint:: MAX , myhwattr. as_ptr ( ) as * const c_char , myhwattr. as_bytes ( ) . len ( ) as c_uint ) ;
833
833
} else {
834
- LLVMRemoveEnumAttributeAtIndex ( lf, c_uint:: MAX , AttributeKind :: SanitizeHWAddress ) ;
834
+ LLVMRustRemoveEnumAttributeAtIndex ( lf, c_uint:: MAX , AttributeKind :: SanitizeHWAddress ) ;
835
835
}
836
836
837
837
@@ -876,13 +876,12 @@ pub(crate) unsafe fn optimize(
876
876
f = LLVMGetNextFunction ( lf) ;
877
877
let myhwattr = "enzyme_hw" ;
878
878
let myhwv = "" ;
879
- let prevattr = LLVMGetEnumAttributeAtIndex ( lf, c_uint:: MAX , AttributeKind :: SanitizeHWAddress ) ;
879
+ let prevattr = LLVMRustGetEnumAttributeAtIndex ( lf, c_uint:: MAX , AttributeKind :: SanitizeHWAddress ) ;
880
880
if LLVMIsEnumAttribute ( prevattr) {
881
881
let attr = LLVMCreateStringAttribute ( llcx, myhwattr. as_ptr ( ) as * const c_char , myhwattr. as_bytes ( ) . len ( ) as c_uint , myhwv. as_ptr ( ) as * const c_char , myhwv. as_bytes ( ) . len ( ) as c_uint ) ;
882
882
LLVMRustAddFunctionAttributes ( lf, c_uint:: MAX , & attr, 1 ) ;
883
883
} else {
884
- let attr = LLVMCreateEnumAttribute ( llcx, AttributeKind :: SanitizeHWAddress , 0 ) ;
885
- LLVMRustAddFunctionAttributes ( lf, c_uint:: MAX , & attr, 1 ) ;
884
+ LLVMRustAddEnumAttributeAtIndex ( llcx, lf, c_uint:: MAX , AttributeKind :: SanitizeHWAddress ) ;
886
885
}
887
886
888
887
} else {
0 commit comments