diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e0895bd..188d3fc 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -28,9 +28,9 @@ jobs: runs-on: ubuntu-latest env: LLVM_INSTALL_PATH: ~/llvm - LLVM_VERSION: "18" - LLVM_VERSION_IN_FEATURE: "18-1" - LLVM_LIB_NAME: "libLLVM.so.18.1" + LLVM_VERSION: "19" + LLVM_VERSION_IN_FEATURE: "19-1" + LLVM_LIB_NAME: "libLLVM.so.19.1" steps: - name: Checkout Repo uses: actions/checkout@v2 diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 22d46f7..8d3d4e1 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -24,6 +24,7 @@ jobs: - ["16", "16-0", "v16.0.2-rust-1.71/llvm-lld-16.0.2-rust-1.71-linux-x86_64.tar.gz", "libLLVM-16.so"] - ["17", "17-0", "v17.0.6-rust-1.75/llvm-lld-17.0.6-rust-1.75-linux-x86_64.tar.gz", "libLLVM-17.so"] - ["18", "18-1", "v18.1.2-rust-1.78/llvm-lld-18.1.2-rust-1.78-linux-x86_64.tar.gz", "libLLVM.so.18.1"] + - ["19", "19-1", "v19.1.5-rust-1.84/llvm-lld-19.1.5-rust-1.84-linux-x86_64.tar.gz", "libLLVM.so.19.1"] steps: - name: Checkout Repo uses: actions/checkout@v2 @@ -114,6 +115,7 @@ jobs: - ["16", "16-0", "1.71", "v16.0.2-rust-1.71/llvm-lld-16.0.2-rust-1.71-linux-x86_64.tar.gz", "libLLVM-16.so"] - ["17", "17-0", "1.75", "v17.0.6-rust-1.75/llvm-lld-17.0.6-rust-1.75-linux-x86_64.tar.gz", "libLLVM-17.so"] - ["18", "18-1", "1.78", "v18.1.2-rust-1.78/llvm-lld-18.1.2-rust-1.78-linux-x86_64.tar.gz", "libLLVM.so.18.1"] + - ["19", "19-1", "1.84", "v19.1.5-rust-1.84/llvm-lld-19.1.5-rust-1.84-linux-x86_64.tar.gz", "libLLVM.so.19.1"] steps: - name: Checkout Repo uses: actions/checkout@v2 diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index ea2fd58..454f0c5 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -23,6 +23,7 @@ jobs: - ["16", "16-0", "v16.0.2-rust-1.71/llvm-lld-16.0.2-rust-1.71-macos-x86_64.tar.gz", "macos-13"] - ["17", "17-0", "v17.0.6-rust-1.75/llvm-lld-17.0.6-rust-1.75-macos-x86_64.tar.gz", "macos-13"] - ["18", "18-1", "v18.1.2-rust-1.78/llvm-lld-18.1.2-rust-1.78-macos-arm64.tar.gz", "macos-latest"] + - ["19", "19-1", "v19.1.5-rust-1.84/llvm-lld-19.1.5-rust-1.84-macos-arm64.tar.gz", "macos-latest"] steps: - name: Checkout Repo uses: actions/checkout@v2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 612647b..2942aff 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,9 +36,9 @@ jobs: runs-on: ubuntu-latest env: LLVM_INSTALL_PATH: ~/llvm - LLVM_VERSION: "18" - LLVM_VERSION_IN_FEATURE: "18-1" - LLVM_LIB_NAME: "libLLVM.so.18.1" + LLVM_VERSION: "19" + LLVM_VERSION_IN_FEATURE: "19-1" + LLVM_LIB_NAME: "libLLVM.so.19.1" steps: - name: Checkout the repository uses: actions/checkout@v4 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index c38f613..7202215 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -23,6 +23,7 @@ jobs: - ["16", "16-0", "v16.0.2-rust-1.71/llvm-lld-16.0.2-rust-1.71-windows-x86_64.7z"] - ["17", "17-0", "v17.0.6-rust-1.75/llvm-lld-17.0.6-rust-1.75-windows-x86_64.7z"] - ["18", "18-1", "v18.1.2-rust-1.78/llvm-lld-18.1.2-rust-1.78-windows-x86_64.7z"] + - ["19", "19-1", "v19.1.5-rust-1.84/llvm-lld-19.1.5-rust-1.84-windows-x86_64.7z"] steps: - name: Checkout Repo uses: actions/checkout@v2 @@ -112,6 +113,7 @@ jobs: - ["16", "16-0", "1.71", "v16.0.2-rust-1.71/llvm-lld-16.0.2-rust-1.71-windows-x86_64.7z"] - ["17", "17-0", "1.75", "v17.0.6-rust-1.75/llvm-lld-17.0.6-rust-1.75-windows-x86_64.7z"] - ["18", "18-1", "1.78", "v18.1.2-rust-1.78/llvm-lld-18.1.2-rust-1.78-windows-x86_64.7z"] + - ["19", "19-1", "1.84", "v19.1.5-rust-1.84/llvm-lld-19.1.5-rust-1.84-windows-x86_64.7z"] steps: - name: Checkout Repo uses: actions/checkout@v2 diff --git a/Cargo.toml b/Cargo.toml index 3061bb4..5c2d779 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,3 +1,6 @@ [workspace] resolver = "2" members = ["llvm-plugin", "llvm-plugin-macros"] + +[patch.crates-io] +inkwell = { git = "https://github.com/stevefan1999-personal/inkwell" } diff --git a/README.md b/README.md index 725a64c..c78564e 100644 --- a/README.md +++ b/README.md @@ -27,10 +27,10 @@ When importing this crate in your `Cargo.toml`, you will need to specify the LLV ```toml [dependencies] -llvm-plugin = { version = "0.6", features = ["llvm18-1"] } +llvm-plugin = { version = "0.6", features = ["llvm19-1"] } ``` -Supported versions: LLVM 10-18 mapping to a cargo feature flag `llvmX-Y` where `X` and `Y` are the LLVM major and minor versions. +Supported versions: LLVM 10-19 mapping to a cargo feature flag `llvmX-Y` where `X` and `Y` are the LLVM major and minor versions. ## Getting Started diff --git a/examples/strings.rs b/examples/strings.rs index 7b8cfb8..ed1d2bc 100644 --- a/examples/strings.rs +++ b/examples/strings.rs @@ -71,12 +71,12 @@ fn encode_global_strings<'a>(module: &mut Module<'a>) -> Vec> { _ => None, }) .filter(|(_, _, arr)| { - // needs to be called before `get_string_constant`, otherwise it may crash + // needs to be called before `as_const_string`, otherwise it may crash arr.is_const_string() }) .filter_map(|(global, stru, arr)| { // we ignore non-UTF8 strings, since they are probably not human-readable - let s = arr.get_string_constant().and_then(|s| s.to_str().ok())?; + let s = arr.as_const_string().and_then(|s| str::from_utf8(s).ok())?; let encoded_str = s.bytes().map(|c| c + 1).collect::>(); Some((global, stru, encoded_str)) }) @@ -156,6 +156,7 @@ fn create_decode_fn<'a>(module: &mut Module<'a>) -> FunctionValue<'a> { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", )))] let var10 = unsafe { builder.build_gep( @@ -170,6 +171,7 @@ fn create_decode_fn<'a>(module: &mut Module<'a>) -> FunctionValue<'a> { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] let var10 = unsafe { builder.build_gep( @@ -185,6 +187,7 @@ fn create_decode_fn<'a>(module: &mut Module<'a>) -> FunctionValue<'a> { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", )))] let var11 = builder.build_load(phi1.as_basic_value().into_pointer_value(), ""); #[cfg(any( @@ -192,6 +195,7 @@ fn create_decode_fn<'a>(module: &mut Module<'a>) -> FunctionValue<'a> { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] let var11 = builder .build_load(cx.i8_type(), phi1.as_basic_value().into_pointer_value(), "") @@ -254,6 +258,7 @@ fn create_decode_stub<'a>( feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", )))] let s = builder .build_struct_gep(gs.as_pointer_value(), id, "") @@ -263,6 +268,7 @@ fn create_decode_stub<'a>( feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] let s = { let i8_ty_ptr = cx.i8_type().ptr_type(AddressSpace::default()); diff --git a/llvm-plugin/Cargo.toml b/llvm-plugin/Cargo.toml index ac49a8f..5344282 100644 --- a/llvm-plugin/Cargo.toml +++ b/llvm-plugin/Cargo.toml @@ -32,7 +32,8 @@ llvm14-0 = ["inkwell/llvm14-0-no-llvm-linking"] llvm15-0 = ["inkwell/llvm15-0-no-llvm-linking"] llvm16-0 = ["inkwell/llvm16-0-no-llvm-linking"] llvm17-0 = ["inkwell/llvm17-0-no-llvm-linking"] -llvm18-1 = ["inkwell/llvm18-0-no-llvm-linking"] +llvm18-1 = ["inkwell/llvm18-1-no-llvm-linking"] +llvm19-1 = ["inkwell/llvm19-1-no-llvm-linking"] target-x86 = ["inkwell/target-x86"] target-arm = ["inkwell/target-arm"] @@ -53,7 +54,7 @@ target-riscv = ["inkwell/target-riscv"] target-all = ["inkwell/target-all"] [dependencies] -inkwell = "0.5" +inkwell = "0.6" llvm-plugin-macros = { path = "../llvm-plugin-macros", version = "0.2", optional = true } [build-dependencies] diff --git a/llvm-plugin/build.rs b/llvm-plugin/build.rs index 6ca43b5..ac1aad3 100644 --- a/llvm-plugin/build.rs +++ b/llvm-plugin/build.rs @@ -217,6 +217,8 @@ mod llvm_sys { (17, 0) } else if cfg!(feature = "llvm18-1") { (18, 1) + } else if cfg!(feature = "llvm19-1") { + (19, 1) } else { panic!("Missing llvm* feature") } diff --git a/llvm-plugin/cpp/.clang-tidy b/llvm-plugin/cpp/.clang-tidy index 33a45c9..51dc04f 100644 --- a/llvm-plugin/cpp/.clang-tidy +++ b/llvm-plugin/cpp/.clang-tidy @@ -1,5 +1,5 @@ # https://github.com/llvm/llvm-project/blob/main/.clang-tidy -Checks: '-*,clang-diagnostic-*,llvm-*,misc-*,-misc-unused-parameters,-misc-non-private-member-variables-in-classes,-misc-no-recursion,readability-identifier-naming' +Checks: '-*,clang-diagnostic-*,llvm-*,misc-*,-misc-const-correctness,-misc-unused-parameters,-misc-non-private-member-variables-in-classes,-misc-no-recursion,-misc-use-anonymous-namespace,readability-identifier-naming,-misc-include-cleaner' CheckOptions: - key: readability-identifier-naming.ClassCase value: CamelCase @@ -7,6 +7,10 @@ CheckOptions: value: CamelCase - key: readability-identifier-naming.FunctionCase value: camelBack + # Exclude from scanning as this is an exported symbol used for fuzzing + # throughout the code base. + - key: readability-identifier-naming.FunctionIgnoredRegexp + value: "LLVMFuzzerTestOneInput" - key: readability-identifier-naming.MemberCase value: CamelCase - key: readability-identifier-naming.ParameterCase diff --git a/llvm-plugin/src/ffi.rs b/llvm-plugin/src/ffi.rs index 59d1f05..b0b93b4 100644 --- a/llvm-plugin/src/ffi.rs +++ b/llvm-plugin/src/ffi.rs @@ -9,6 +9,7 @@ extern "C" { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub(crate) fn passBuilderAddFullLinkTimeOptimizationLastEPCallback( builder: *mut c_void, @@ -22,6 +23,7 @@ extern "C" { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub(crate) fn passBuilderAddFullLinkTimeOptimizationEarlyEPCallback( builder: *mut c_void, @@ -35,6 +37,7 @@ extern "C" { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub(crate) fn passBuilderAddOptimizerEarlyEPCallback( builder: *mut c_void, @@ -52,6 +55,7 @@ extern "C" { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub(crate) fn passBuilderAddOptimizerLastEPCallback( builder: *mut c_void, @@ -68,6 +72,7 @@ extern "C" { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub(crate) fn passBuilderAddPipelineEarlySimplificationEPCallback( builder: *mut c_void, @@ -84,6 +89,7 @@ extern "C" { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub(crate) fn passBuilderAddPipelineStartEPCallback( builder: *mut c_void, @@ -156,6 +162,7 @@ extern "C" { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub(crate) fn modulePassManagerIsEmpty(manager: *mut c_void) -> bool; @@ -174,6 +181,7 @@ extern "C" { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub(crate) fn functionPassManagerIsEmpty(manager: *mut c_void) -> bool; diff --git a/llvm-plugin/src/pass_builder.rs b/llvm-plugin/src/pass_builder.rs index 86059ac..214a003 100644 --- a/llvm-plugin/src/pass_builder.rs +++ b/llvm-plugin/src/pass_builder.rs @@ -324,6 +324,7 @@ impl PassBuilder { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub fn add_pipeline_start_ep_callback(&mut self, cb: T) where @@ -375,6 +376,7 @@ impl PassBuilder { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub fn add_pipeline_early_simplification_ep_callback(&mut self, cb: T) where @@ -427,6 +429,7 @@ impl PassBuilder { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub fn add_optimizer_last_ep_callback(&mut self, cb: T) where @@ -475,6 +478,7 @@ impl PassBuilder { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub fn add_full_lto_early_ep_callback(&mut self, cb: T) where @@ -523,6 +527,7 @@ impl PassBuilder { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub fn add_full_lto_last_ep_callback(&mut self, cb: T) where @@ -571,6 +576,7 @@ impl PassBuilder { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub fn add_optimizer_early_ep_callback(&mut self, cb: T) where diff --git a/llvm-plugin/src/pass_manager.rs b/llvm-plugin/src/pass_manager.rs index c3e6251..143fed8 100644 --- a/llvm-plugin/src/pass_manager.rs +++ b/llvm-plugin/src/pass_manager.rs @@ -72,6 +72,7 @@ impl ModulePassManager { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub fn is_empty(&self) -> bool { unsafe { super::modulePassManagerIsEmpty(self.inner) } @@ -143,6 +144,7 @@ impl FunctionPassManager { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] pub fn is_empty(&self) -> bool { unsafe { super::functionPassManagerIsEmpty(self.inner) } diff --git a/tests/plugins/Cargo.toml b/tests/plugins/Cargo.toml index 719540d..ff67b0c 100644 --- a/tests/plugins/Cargo.toml +++ b/tests/plugins/Cargo.toml @@ -10,3 +10,6 @@ members = [ "plugin6", "plugin7", ] + +[patch.crates-io] +inkwell = { git = "https://github.com/stevefan1999-personal/inkwell" } diff --git a/tests/plugins/plugin1-lld/Cargo.toml b/tests/plugins/plugin1-lld/Cargo.toml index 1b4c90a..739f73a 100644 --- a/tests/plugins/plugin1-lld/Cargo.toml +++ b/tests/plugins/plugin1-lld/Cargo.toml @@ -18,6 +18,7 @@ llvm15-0 = ["llvm-plugin/llvm15-0"] llvm16-0 = ["llvm-plugin/llvm16-0"] llvm17-0 = ["llvm-plugin/llvm17-0"] llvm18-1 = ["llvm-plugin/llvm18-1"] +llvm19-1 = ["llvm-plugin/llvm19-1"] target-x86 = ["llvm-plugin/target-x86"] target-arm = ["llvm-plugin/target-arm"] diff --git a/tests/plugins/plugin1/Cargo.toml b/tests/plugins/plugin1/Cargo.toml index aa50e4d..64a7a0a 100644 --- a/tests/plugins/plugin1/Cargo.toml +++ b/tests/plugins/plugin1/Cargo.toml @@ -19,6 +19,7 @@ llvm15-0 = ["llvm-plugin/llvm15-0"] llvm16-0 = ["llvm-plugin/llvm16-0"] llvm17-0 = ["llvm-plugin/llvm17-0"] llvm18-1 = ["llvm-plugin/llvm18-1"] +llvm19-1 = ["llvm-plugin/llvm19-1"] target-x86 = ["llvm-plugin/target-x86"] target-arm = ["llvm-plugin/target-arm"] diff --git a/tests/plugins/plugin2/Cargo.toml b/tests/plugins/plugin2/Cargo.toml index 11a2a9a..93bb3c5 100644 --- a/tests/plugins/plugin2/Cargo.toml +++ b/tests/plugins/plugin2/Cargo.toml @@ -19,6 +19,7 @@ llvm15-0 = ["llvm-plugin/llvm15-0"] llvm16-0 = ["llvm-plugin/llvm16-0"] llvm17-0 = ["llvm-plugin/llvm17-0"] llvm18-1 = ["llvm-plugin/llvm18-1"] +llvm19-1 = ["llvm-plugin/llvm19-1"] target-x86 = ["llvm-plugin/target-x86"] target-arm = ["llvm-plugin/target-arm"] diff --git a/tests/plugins/plugin3/Cargo.toml b/tests/plugins/plugin3/Cargo.toml index 246c5f6..49b39bc 100644 --- a/tests/plugins/plugin3/Cargo.toml +++ b/tests/plugins/plugin3/Cargo.toml @@ -19,6 +19,7 @@ llvm15-0 = ["llvm-plugin/llvm15-0"] llvm16-0 = ["llvm-plugin/llvm16-0"] llvm17-0 = ["llvm-plugin/llvm17-0"] llvm18-1 = ["llvm-plugin/llvm18-1"] +llvm19-1 = ["llvm-plugin/llvm19-1"] target-x86 = ["llvm-plugin/target-x86"] target-arm = ["llvm-plugin/target-arm"] diff --git a/tests/plugins/plugin4/Cargo.toml b/tests/plugins/plugin4/Cargo.toml index a024b40..e0fa32d 100644 --- a/tests/plugins/plugin4/Cargo.toml +++ b/tests/plugins/plugin4/Cargo.toml @@ -19,6 +19,7 @@ llvm15-0 = ["llvm-plugin/llvm15-0"] llvm16-0 = ["llvm-plugin/llvm16-0"] llvm17-0 = ["llvm-plugin/llvm17-0"] llvm18-1 = ["llvm-plugin/llvm18-1"] +llvm19-1 = ["llvm-plugin/llvm19-1"] target-x86 = ["llvm-plugin/target-x86"] target-arm = ["llvm-plugin/target-arm"] diff --git a/tests/plugins/plugin5/Cargo.toml b/tests/plugins/plugin5/Cargo.toml index a10c583..9934f60 100644 --- a/tests/plugins/plugin5/Cargo.toml +++ b/tests/plugins/plugin5/Cargo.toml @@ -19,6 +19,7 @@ llvm15-0 = ["llvm-plugin/llvm15-0"] llvm16-0 = ["llvm-plugin/llvm16-0"] llvm17-0 = ["llvm-plugin/llvm17-0"] llvm18-1 = ["llvm-plugin/llvm18-1"] +llvm19-1 = ["llvm-plugin/llvm19-1"] target-x86 = ["llvm-plugin/target-x86"] target-arm = ["llvm-plugin/target-arm"] diff --git a/tests/plugins/plugin6/Cargo.toml b/tests/plugins/plugin6/Cargo.toml index 3a34fc4..1701a66 100644 --- a/tests/plugins/plugin6/Cargo.toml +++ b/tests/plugins/plugin6/Cargo.toml @@ -19,6 +19,7 @@ llvm15-0 = ["llvm-plugin/llvm15-0"] llvm16-0 = ["llvm-plugin/llvm16-0"] llvm17-0 = ["llvm-plugin/llvm17-0"] llvm18-1 = ["llvm-plugin/llvm18-1"] +llvm19-1 = ["llvm-plugin/llvm19-1"] target-x86 = ["llvm-plugin/target-x86"] target-arm = ["llvm-plugin/target-arm"] diff --git a/tests/plugins/plugin6/src/lib.rs b/tests/plugins/plugin6/src/lib.rs index c1b54e6..666a948 100644 --- a/tests/plugins/plugin6/src/lib.rs +++ b/tests/plugins/plugin6/src/lib.rs @@ -30,6 +30,7 @@ fn plugin_registrar(builder: &mut PassBuilder) { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] builder.add_pipeline_start_ep_callback(|manager, opt| { assert!(matches!(opt, OptimizationLevel::O3)); @@ -44,6 +45,7 @@ fn plugin_registrar(builder: &mut PassBuilder) { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] builder.add_pipeline_early_simplification_ep_callback(|manager, opt| { assert!(matches!(opt, OptimizationLevel::O3)); @@ -59,6 +61,7 @@ fn plugin_registrar(builder: &mut PassBuilder) { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] builder.add_optimizer_last_ep_callback(|manager, opt| { assert!(matches!(opt, OptimizationLevel::O3)); @@ -70,6 +73,7 @@ fn plugin_registrar(builder: &mut PassBuilder) { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] builder.add_optimizer_early_ep_callback(|manager, opt| { assert!(matches!(opt, OptimizationLevel::O3)); diff --git a/tests/plugins/plugin7/Cargo.toml b/tests/plugins/plugin7/Cargo.toml index f9b5ab1..c3b2545 100644 --- a/tests/plugins/plugin7/Cargo.toml +++ b/tests/plugins/plugin7/Cargo.toml @@ -19,6 +19,7 @@ llvm15-0 = ["llvm-plugin/llvm15-0"] llvm16-0 = ["llvm-plugin/llvm16-0"] llvm17-0 = ["llvm-plugin/llvm17-0"] llvm18-1 = ["llvm-plugin/llvm18-1"] +llvm19-1 = ["llvm-plugin/llvm19-1"] target-x86 = ["llvm-plugin/target-x86"] target-arm = ["llvm-plugin/target-arm"] diff --git a/tests/plugins/plugin7/src/lib.rs b/tests/plugins/plugin7/src/lib.rs index 9baa749..71f911b 100644 --- a/tests/plugins/plugin7/src/lib.rs +++ b/tests/plugins/plugin7/src/lib.rs @@ -8,6 +8,7 @@ fn plugin_registrar(builder: &mut PassBuilder) { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] builder.add_full_lto_early_ep_callback(|manager, opt| { assert!(matches!(opt, llvm_plugin::OptimizationLevel::O3)); @@ -19,6 +20,7 @@ fn plugin_registrar(builder: &mut PassBuilder) { feature = "llvm16-0", feature = "llvm17-0", feature = "llvm18-1", + feature = "llvm19-1", ))] builder.add_full_lto_last_ep_callback(|manager, opt| { assert!(matches!(opt, llvm_plugin::OptimizationLevel::O3));