Skip to content

Commit b792d73

Browse files
authored
Disable instcombine fixpoint verification by default. (#508)
1 parent 59842ae commit b792d73

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "LLVM"
22
uuid = "929cbde3-209d-540e-8aea-75f648917ca0"
3-
version = "9.3.0"
3+
version = "9.3.1"
44

55
[deps]
66
CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82"

src/newpm.jl

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,17 @@ end
566566
@function_pass "gvn-sink" GVNSinkPass
567567
@function_pass "helloworld" HelloWorldPass
568568
@function_pass "infer-address-spaces" InferAddressSpacesPass
569-
@function_pass "instcombine" InstCombinePass
569+
@function_pass "instcombine" InstCombinePass false
570+
function InstCombinePass(; kwargs...)
571+
kwargs = Dict{Symbol, Any}(kwargs)
572+
if version() >= v"18"
573+
# XXX: LLVM "helpfully" enables fixpoint verification by default when using the C API
574+
# https://github.com/llvm/llvm-project/blob/3c3fb357a0ed4dbf640bdb6c61db2a430f7eb298/llvm/lib/Passes/PassBuilder.cpp#L1034-L1036
575+
# https://github.com/llvm/llvm-project/issues/92648
576+
kwargs[:verify_fixpoint] = get(kwargs, :verify_fixpoint, false)
577+
end
578+
"instcombine" * kwargs_to_params(kwargs)
579+
end
570580
@function_pass "instcount" InstCountPass
571581
@function_pass "instsimplify" InstSimplifyPass
572582
@function_pass "invalidate<all>" InvalidateAllAnalysesPass

0 commit comments

Comments
 (0)