You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
using Base.Cartesian
using Profile
data = zeros(10_000, 10_000);
@generated function ohmy(data, op::Op, ::Val{N}) where {Op, N}
return quote
Base.@_propagate_inbounds_meta
@nloops $N i n -> 1:size(data, n) begin
I = CartesianIndex(@ntuple $N i)
data[I] = op(data[I])
end
end
end
N=1000; @profile for i in 1:N; ohmy(data, +, Val(2)) end
Do you know if the DWARF info (@code_native) is correct? I’ve seen LLVM 6 do some crazy things. For instance, look at how many files setup_stdio and link_pipe gets splatted across in: code_native(Base.setup_stdio, (Base.PipeEndpoint, Bool)). It looks like my LLVM 7 build is better on it.
Reproducer:
Produces something like:
The last line is attributed
./cartesian.jl
instead of[REPL]
. So the nesting of the information got broken and so the ticks are missattributed.cc: @peterahrens
The text was updated successfully, but these errors were encountered: