Skip to content

Julia 1.13 unknown attribute kind #3077

@vchuravy

Description

@vchuravy

Will be fixed by JuliaLLVM/LLVM.jl#556

Error During Test at /home/runner/work/Enzyme.jl/Enzyme.jl/test/advanced.jl:1727
  Test threw exception
  Expression: (Enzyme.gradient(Enzyme.Forward, fexpandempty, vec))[1] ≈ [1.0]
  unknown attribute kind
  Stacktrace:
    [1] error(s::String)
      @ Base ./error.jl:44
    [2] LLVM.Attribute(ref::Ptr{LLVM.API.LLVMOpaqueAttributeRef})
      @ LLVM ~/.julia/packages/LLVM/Bd7kA/src/core/attributes.jl:36
    [3] collect(iter::LLVM.FunctionAttrSet)
      @ LLVM ~/.julia/packages/LLVM/Bd7kA/src/core/function.jl:157
    [4] nodecayed_phis!(mod::LLVM.Module)
      @ Enzyme.Compiler ~/work/Enzyme.jl/Enzyme.jl/src/llvm/transforms.jl:682
    [5] optimize!(mod::LLVM.Module, tm::LLVM.TargetMachine)
      @ Enzyme.Compiler ~/work/Enzyme.jl/Enzyme.jl/src/compiler/optimize.jl:208
    [6] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}})
      @ Enzyme.Compiler ~/work/Enzyme.jl/Enzyme.jl/src/compiler.jl:5493
    [7] #compile#88
      @ ~/.julia/packages/GPUCompiler/lHkad/src/driver.jl:67 [inlined]
    [8] compile
      @ ~/.julia/packages/GPUCompiler/lHkad/src/driver.jl:55 [inlined]
    [9] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool)
      @ Enzyme.Compiler ~/work/Enzyme.jl/Enzyme.jl/src/compiler.jl:6776
   [10] _thunk
      @ ~/work/Enzyme.jl/Enzyme.jl/src/compiler.jl:6774 [inlined]
   [11] cached_compilation
      @ ~/work/Enzyme.jl/Enzyme.jl/src/compiler.jl:6832 [inlined]
   [12] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:EnzymeCore.Annotation}, A::Type{<:EnzymeCore.Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any})
      @ Enzyme.Compiler ~/work/Enzyme.jl/Enzyme.jl/src/compiler.jl:6948
   [13] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type)
      @ Enzyme.Compiler ~/work/Enzyme.jl/Enzyme.jl/src/compiler.jl:7092
   [14] macro expansion
      @ ~/work/Enzyme.jl/Enzyme.jl/src/rules/jitrules.jl:308 [inlined]
   [15] runtime_generic_fwd(::Type{Val{(false, true, true)}}, ::Val{false}, ::Val{false}, ::Val{1}, ::Val{@NamedTuple{var"1", var"2"}}, ::typeof(<=), ::Nothing, ::Float64, ::Float64, ::Float64, ::Float64)
      @ Enzyme.Compiler ~/work/Enzyme.jl/Enzyme.jl/src/rules/jitrules.jl:357
   [16] fexpandempty
      @ ~/work/Enzyme.jl/Enzyme.jl/test/advanced.jl:1721 [inlined]
   [17] fwddiffejulia_fexpandempty_76157wrap
      @ ~/work/Enzyme.jl/Enzyme.jl/test/advanced.jl:0
   [18] macro expansion
      @ ~/work/Enzyme.jl/Enzyme.jl/src/compiler.jl:6703 [inlined]
   [19] enzyme_call
      @ ~/work/Enzyme.jl/Enzyme.jl/src/compiler.jl:6182 [inlined]
   [20] ForwardModeThunk
      @ ~/work/Enzyme.jl/Enzyme.jl/src/compiler.jl:6082 [inlined]
   [21] autodiff
      @ ~/work/Enzyme.jl/Enzyme.jl/src/Enzyme.jl:680 [inlined]
   [22] autodiff
      @ ~/work/Enzyme.jl/Enzyme.jl/src/Enzyme.jl:549 [inlined]
   [23] macro expansion
      @ ~/work/Enzyme.jl/Enzyme.jl/src/sugar.jl:684 [inlined]
   [24] gradient(::EnzymeCore.ForwardMode{false, EnzymeCore.FFIABI, false, false, false}, ::typeof(Main.var"##advanced#27002".fexpandempty), ::Vector{Float64}; chunk::Nothing, shadows::Tuple{Tuple{Vector{Float64}}})
      @ Enzyme ~/work/Enzyme.jl/Enzyme.jl/src/sugar.jl:586
   [25] gradient(::EnzymeCore.ForwardMode{false, EnzymeCore.FFIABI, false, false, false}, ::typeof(Main.var"##advanced#27002".fexpandempty), ::Vector{Float64})
      @ Enzyme ~/work/Enzyme.jl/Enzyme.jl/src/sugar.jl:586
   [26] top-level scope
      @ ~/work/Enzyme.jl/Enzyme.jl/test/advanced.jl:1725
   [27] macro expansion
      @ ~/work/Enzyme.jl/Enzyme.jl/julia/usr/share/julia/stdlib/v1.13/Test/src/Test.jl:1961 [inlined]
   [28] macro expansion
      @ ~/work/Enzyme.jl/Enzyme.jl/test/advanced.jl:1727 [inlined]
   [29] macro expansion
      @ ~/work/Enzyme.jl/Enzyme.jl/julia/usr/share/julia/stdlib/v1.13/Test/src/Test.jl:750 [inlined]

Metadata

Metadata

Assignees

No one assigned

    Labels

    julia v1.13Related to compatibility with Julia v1.13

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions