TheDan64/inkwell

Most (all?) passes have a maximum LLVM version number of 16.

nielsdos opened this issue · 1 comments

Describe the Bug

Most passes have a maximum LLVM version number of 16.
For example, the type based alias analysis pass has:

inkwell/src/passes.rs

Lines 1055 to 1058 in 5c9f7fc

#[llvm_versions(..=16)]
pub fn add_type_based_alias_analysis_pass(&self) {
unsafe { LLVMAddTypeBasedAliasAnalysisPass(self.pass_manager) }
}

However, this pass is also available in LLVM 17 and 18.
Looking at the passes.rs file, it looks like most (or all?) passes define a maximum version number of 16, making them impossible to use with LLVM 17.

To Reproduce

let pm = PassManager::create(());
pm.add_type_based_alias_analysis_pass(); // Doesn't work

Expected Behavior

I expect these passes to be available for LLVM 17.

LLVM Version (please complete the following information):

  • LLVM Version: 17.0.6
  • Inkwell Branch Used: 0.4

Desktop (please complete the following information):

  • OS: Linux

Additional Context

N/A

Not sure why this happened, thanks for reporting