Skip to content

Commit bf6b4d7

Browse files
authored
Pin the inkwell version to latest stable on master
1 parent 31cc6f2 commit bf6b4d7

File tree

5 files changed

+35
-26
lines changed

5 files changed

+35
-26
lines changed

llvm-plugin/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ target-riscv = ["inkwell/target-riscv"]
5353
target-all = ["inkwell/target-all"]
5454

5555
[dependencies]
56-
inkwell = { git = "https://github.com/TheDan64/inkwell", branch = "master" }
57-
inkwell_internals = { git = "https://github.com/TheDan64/inkwell", branch = "master" }
56+
inkwell = { git = "https://github.com/TheDan64/inkwell", rev = "5c9f7fc" }
57+
inkwell_internals = { git = "https://github.com/TheDan64/inkwell", rev = "5c9f7fc" }
5858
llvm-plugin-macros = { path = "../llvm-plugin-macros", version = "0.2", optional = true }
5959

6060
[build-dependencies]

llvm-plugin/src/analysis.rs

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,17 @@ impl FunctionAnalysisManager {
7171
"Analysis cannot request its own result"
7272
);
7373

74-
unsafe {
75-
let res = crate::get_function_analysis_cached_result(
76-
self.inner,
77-
id,
78-
function.as_value_ref().cast(),
79-
);
80-
(!res.is_null()).then_some(Box::leak(Box::from_raw(res.cast())))
74+
let res = crate::get_function_analysis_cached_result(
75+
self.inner,
76+
id,
77+
function.as_value_ref().cast(),
78+
);
79+
80+
if !res.is_null() {
81+
let res = unsafe { Box::leak(Box::from_raw(res.cast())) };
82+
Some(res)
83+
} else {
84+
None
8185
}
8286
}
8387

@@ -214,7 +218,12 @@ impl ModuleAnalysisManager {
214218
module.as_mut_ptr().cast(),
215219
);
216220

217-
unsafe { (!res.is_null()).then_some(Box::leak(Box::from_raw(res.cast()))) }
221+
if !res.is_null() {
222+
let res = unsafe { Box::leak(Box::from_raw(res.cast())) };
223+
Some(res)
224+
} else {
225+
None
226+
}
218227
}
219228

220229
/// Returns a [FunctionAnalysisManagerProxy], which is essentially an interface

llvm-plugin/src/ffi.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,47 +6,47 @@ pub type AnalysisKey = *const u8;
66

77
#[link(name = "llvm-plugin-cpp")]
88
extern "C" {
9-
#[llvm_versions(15.0..=latest)]
9+
#[llvm_versions(15..)]
1010
pub(crate) fn passBuilderAddFullLinkTimeOptimizationLastEPCallback(
1111
builder: *mut c_void,
1212
cb: *const c_void,
1313
cb_deleter: extern "C" fn(*const c_void),
1414
cb_sys: extern "C" fn(*const c_void, *mut c_void, crate::OptimizationLevel),
1515
);
1616

17-
#[llvm_versions(15.0..=latest)]
17+
#[llvm_versions(15..)]
1818
pub(crate) fn passBuilderAddFullLinkTimeOptimizationEarlyEPCallback(
1919
builder: *mut c_void,
2020
cb: *const c_void,
2121
cb_deleter: extern "C" fn(*const c_void),
2222
cb_sys: extern "C" fn(*const c_void, *mut c_void, crate::OptimizationLevel),
2323
);
2424

25-
#[llvm_versions(15.0..=latest)]
25+
#[llvm_versions(15..)]
2626
pub(crate) fn passBuilderAddOptimizerEarlyEPCallback(
2727
builder: *mut c_void,
2828
cb: *const c_void,
2929
cb_deleter: extern "C" fn(*const c_void),
3030
cb_sys: extern "C" fn(*const c_void, *mut c_void, crate::OptimizationLevel),
3131
);
3232

33-
#[llvm_versions(11.0..=latest)]
33+
#[llvm_versions(11..)]
3434
pub(crate) fn passBuilderAddOptimizerLastEPCallback(
3535
builder: *mut c_void,
3636
cb: *const c_void,
3737
cb_deleter: extern "C" fn(*const c_void),
3838
cb_sys: extern "C" fn(*const c_void, *mut c_void, crate::OptimizationLevel),
3939
);
4040

41-
#[llvm_versions(12.0..=latest)]
41+
#[llvm_versions(12..)]
4242
pub(crate) fn passBuilderAddPipelineEarlySimplificationEPCallback(
4343
builder: *mut c_void,
4444
cb: *const c_void,
4545
cb_deleter: extern "C" fn(*const c_void),
4646
cb_sys: extern "C" fn(*const c_void, *mut c_void, crate::OptimizationLevel),
4747
);
4848

49-
#[llvm_versions(12.0..=latest)]
49+
#[llvm_versions(12..)]
5050
pub(crate) fn passBuilderAddPipelineStartEPCallback(
5151
builder: *mut c_void,
5252
cb: *const c_void,
@@ -110,7 +110,7 @@ extern "C" {
110110
pass_sys: extern "C" fn(*mut c_void, *mut c_void, *mut c_void) -> crate::PreservedAnalyses,
111111
);
112112

113-
#[llvm_versions(12.0..=latest)]
113+
#[llvm_versions(12..)]
114114
pub(crate) fn modulePassManagerIsEmpty(manager: *mut c_void) -> bool;
115115

116116
pub(crate) fn functionPassManagerAddPass(
@@ -120,7 +120,7 @@ extern "C" {
120120
pass_sys: extern "C" fn(*mut c_void, *mut c_void, *mut c_void) -> crate::PreservedAnalyses,
121121
);
122122

123-
#[llvm_versions(12.0..=latest)]
123+
#[llvm_versions(12..)]
124124
pub(crate) fn functionPassManagerIsEmpty(manager: *mut c_void) -> bool;
125125

126126
pub(crate) fn moduleAnalysisManagerRegisterPass(

llvm-plugin/src/pass_builder.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ impl PassBuilder {
318318
/// This extension point allows adding optimization once at the start
319319
/// of the pipeline. This does not apply to 'backend' compiles (LTO and
320320
/// ThinLTO link-time pipelines).
321-
#[llvm_versions(12.0..=latest)]
321+
#[llvm_versions(12..)]
322322
pub fn add_pipeline_start_ep_callback<T>(&mut self, cb: T)
323323
where
324324
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
@@ -361,7 +361,7 @@ impl PassBuilder {
361361
///
362362
/// This extension point allows adding optimization right after passes
363363
/// that do basic simplification of the input IR.
364-
#[llvm_versions(12.0..=latest)]
364+
#[llvm_versions(12..)]
365365
pub fn add_pipeline_early_simplification_ep_callback<T>(&mut self, cb: T)
366366
where
367367
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
@@ -404,7 +404,7 @@ impl PassBuilder {
404404
///
405405
/// This extension point allows adding passes that run after everything
406406
/// else.
407-
#[llvm_versions(11.0..=latest)]
407+
#[llvm_versions(11..)]
408408
pub fn add_optimizer_last_ep_callback<T>(&mut self, cb: T)
409409
where
410410
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
@@ -447,7 +447,7 @@ impl PassBuilder {
447447
///
448448
/// This extension point allow adding passes that run at Link Time,
449449
/// before Full Link Time Optimization.
450-
#[llvm_versions(15.0..=latest)]
450+
#[llvm_versions(15..)]
451451
pub fn add_full_lto_early_ep_callback<T>(&mut self, cb: T)
452452
where
453453
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
@@ -490,7 +490,7 @@ impl PassBuilder {
490490
///
491491
/// This extensions point allow adding passes that run at Link Time,
492492
/// after Full Link Time Optimization.
493-
#[llvm_versions(15.0..=latest)]
493+
#[llvm_versions(15..)]
494494
pub fn add_full_lto_last_ep_callback<T>(&mut self, cb: T)
495495
where
496496
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
@@ -533,7 +533,7 @@ impl PassBuilder {
533533
///
534534
/// This extension point allows adding passes just before the main
535535
/// module-level optimization passes.
536-
#[llvm_versions(15.0..=latest)]
536+
#[llvm_versions(15..)]
537537
pub fn add_optimizer_early_ep_callback<T>(&mut self, cb: T)
538538
where
539539
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,

llvm-plugin/src/pass_manager.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ impl ModulePassManager {
6565
}
6666

6767
/// Returns if the pass manager contains any passes.
68-
#[llvm_versions(12.0..=latest)]
68+
#[llvm_versions(12..)]
6969
pub fn is_empty(&self) -> bool {
7070
unsafe { super::modulePassManagerIsEmpty(self.inner) }
7171
}
@@ -128,7 +128,7 @@ impl FunctionPassManager {
128128
}
129129

130130
/// Returns if the pass manager contains any passes.
131-
#[llvm_versions(12.0..=latest)]
131+
#[llvm_versions(12..)]
132132
pub fn is_empty(&self) -> bool {
133133
unsafe { super::functionPassManagerIsEmpty(self.inner) }
134134
}

0 commit comments

Comments
 (0)