Diff
checker
Texto
Texto
Imagens
Documentos
Excel
Pastas
Legal
Enterprise
Aplicativo para desktop
Preços
Fazer login
Baixar o Diffchecker Desktop
Comparar texto
Encontre a diferença entre dois arquivos de texto
Ferramentas
Histórico
Editor live
Recolher inalteradas
Sem quebra de linha
Layout
Dividido
Unificado
Nível de detalhe
Inteligente
Palavra
Caractere
Realce de sintaxe
Escolher sintaxe
Ignorar
Transformar texto
Ir à primeira mudança
Editar entrada
Diffchecker Desktop
A maneira mais segura de usar o Diffchecker. Obtenha o aplicativo Diffchecker Desktop: seus diffs nunca saem do seu computador!
Obter Desktop
JIT vs Imaging mode
Criado
há 3 anos
O diff nunca expira
Limpar
Exportar
Compartilhar
Explicar
66 remoções
Linhas
Total
Removido
Caracteres
Total
Removido
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
161 linhas
Copiar tudo
90 adições
Linhas
Total
Adicionado
Caracteres
Total
Adicionado
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
185 linhas
Copiar tudo
; @ array.jl:629 within `zeros`
; @ array.jl:629 within `zeros`
Copiar
Copiado
Copiar
Copiado
define nonnull {}* @julia_zeros_1
3
1(i64 signext %"dims[1]::Int64") #0 {
define nonnull {}* @julia_zeros_1
5
1(i64 signext %"dims[1]::Int64") #0 {
top:
top:
%dims = alloca [1 x i64], align 8
%dims = alloca [1 x i64], align 8
%newstruct = alloca [1 x i64], align 8
%newstruct = alloca [1 x i64], align 8
%pgcstack = call {}*** @julia.get_pgcstack()
%pgcstack = call {}*** @julia.get_pgcstack()
%0 = bitcast {}*** %pgcstack to {}**
%0 = bitcast {}*** %pgcstack to {}**
%current_task = getelementptr inbounds {}*, {}** %0, i64 -14
%current_task = getelementptr inbounds {}*, {}** %0, i64 -14
%1 = bitcast {}** %current_task to i64*
%1 = bitcast {}** %current_task to i64*
%world_age = getelementptr inbounds i64, i64* %1, i64 15
%world_age = getelementptr inbounds i64, i64* %1, i64 15
%2 = getelementptr inbounds [1 x i64], [1 x i64]* %newstruct, i32 0, i32 0
%2 = getelementptr inbounds [1 x i64], [1 x i64]* %newstruct, i32 0, i32 0
store i64 %"dims[1]::Int64", i64* %2, align 8
store i64 %"dims[1]::Int64", i64* %2, align 8
%memcpy_refined_src = getelementptr inbounds [1 x i64], [1 x i64]* %newstruct, i32 0, i32 0
%memcpy_refined_src = getelementptr inbounds [1 x i64], [1 x i64]* %newstruct, i32 0, i32 0
%memcpy_refined_dst = getelementptr inbounds [1 x i64], [1 x i64]* %dims, i32 0, i32 0
%memcpy_refined_dst = getelementptr inbounds [1 x i64], [1 x i64]* %dims, i32 0, i32 0
%3 = load i64, i64* %memcpy_refined_src, align 8
%3 = load i64, i64* %memcpy_refined_src, align 8
store i64 %3, i64* %memcpy_refined_dst, align 8
store i64 %3, i64* %memcpy_refined_dst, align 8
; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:634
; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:634
; ┌ @ boot.jl:484 within `Array`
; ┌ @ boot.jl:484 within `Array`
Copiar
Copiado
Copiar
Copiado
%"*Core.getfield#1" = load {}*, {}** @"*Core.getfield#1", align 8
%4 = bitcast {}* %"*Core.getfield#1" to {}**
%5 = getelementptr inbounds {}*, {}** %4, i64 0
%"dims.<unknown field>_ptr" = getelementptr inbounds [1 x i64], [1 x i64]* %dims, i32 0, i32 0
%"dims.<unknown field>_ptr" = getelementptr inbounds [1 x i64], [1 x i64]* %dims, i32 0, i32 0
; │ @ boot.jl:484 within `Array` @ boot.jl:475
; │ @ boot.jl:484 within `Array` @ boot.jl:475
%"dims.<unknown field>_ptr.unbox" = load i64, i64* %"dims.<unknown field>_ptr", align 8
%"dims.<unknown field>_ptr.unbox" = load i64, i64* %"dims.<unknown field>_ptr", align 8
Copiar
Copiado
Copiar
Copiado
%
4
= call nonnull {}* inttoptr (i64
140036589843104
to {}* ({}*, i64)*)({}* inttoptr (i64
140036228716336
to {}*), i64 %"dims.<unknown field>_ptr.unbox")
%
6
= call nonnull {}* inttoptr (i64
139718400307872
to {}* ({}*, i64)*)({}* inttoptr (i64
139718039246640
to {}*), i64 %"dims.<unknown field>_ptr.unbox")
; └
; └
; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:635
; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:635
; ┌ @ array.jl:392 within `fill!`
; ┌ @ array.jl:392 within `fill!`
; │┌ @ abstractarray.jl:318 within `eachindex`
; │┌ @ abstractarray.jl:318 within `eachindex`
; ││┌ @ abstractarray.jl:134 within `axes1`
; ││┌ @ abstractarray.jl:134 within `axes1`
; │││┌ @ abstractarray.jl:98 within `axes`
; │││┌ @ abstractarray.jl:98 within `axes`
; ││││┌ @ array.jl:191 within `size`
; ││││┌ @ array.jl:191 within `size`
Copiar
Copiado
Copiar
Copiado
%5 = bitcast {}* %4
to { i8*, i64, i16, i16, i32 }*
%"*Core.arraysize#2" = load {}*, {}** @"*Core.arraysize#2", align 8
%.length_ptr = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %
5
, i32 0, i32 1
%7 = bitcast {}* %"*Core.arraysize#2" to {}**
%8 = getelementptr inbounds {}*, {}** %7, i64 0
%9 = bitcast {}* %6
to { i8*, i64, i16, i16, i32 }*
%.length_ptr = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %
9
, i32 0, i32 1
%.length = load i64, i64* %.length_ptr, align 8
%.length = load i64, i64* %.length_ptr, align 8
; │└└└└
; │└└└└
; │┌ @ range.jl:897 within `iterate`
; │┌ @ range.jl:897 within `iterate`
; ││┌ @ range.jl:674 within `isempty`
; ││┌ @ range.jl:674 within `isempty`
; │││┌ @ operators.jl:378 within `>`
; │││┌ @ operators.jl:378 within `>`
; ││││┌ @ int.jl:83 within `<`
; ││││┌ @ int.jl:83 within `<`
Copiar
Copiado
Copiar
Copiado
%6
= icmp slt i64 %.length, 1
%"*Core.Intrinsics.slt_int#3" = load {}*, {}** @"*Core.Intrinsics.slt_int#3", align 8
%10 = bitcast {}* %"*Core.Intrinsics.slt_int#3" to {}**
%11 = getelementptr inbounds {}*, {}** %10, i64 0
%12
= icmp slt i64 %.length, 1
; ││└└└
; ││└└└
Copiar
Copiado
Copiar
Copiado
%
7
= zext i1 %
6
to i8
%
13
= zext i1 %
12
to i8
%
8
= trunc i8 %
7
to i1
%
14
= trunc i8 %
13
to i1
%
9
= xor i1 %
8
, true
%
15
= xor i1 %
14
, true
br i1 %
9
, label %L7, label %L6
br i1 %
15
, label %L7, label %L6
L6: ; preds = %top
L6: ; preds = %top
br label %L8
br label %L8
L7: ; preds = %top
L7: ; preds = %top
br label %L8
br label %L8
L8: ; preds = %L7, %L6
L8: ; preds = %L7, %L6
%value_phi = phi i8 [ 1, %L6 ], [ 0, %L7 ]
%value_phi = phi i8 [ 1, %L6 ], [ 0, %L7 ]
%value_phi1 = phi i64 [ 1, %L7 ], [ undef, %L6 ]
%value_phi1 = phi i64 [ 1, %L7 ], [ undef, %L6 ]
%value_phi2 = phi i64 [ 1, %L7 ], [ undef, %L6 ]
%value_phi2 = phi i64 [ 1, %L7 ], [ undef, %L6 ]
; │└
; │└
Copiar
Copiado
Copiar
Copiado
%10
= trunc i8 %value_phi to i1
%"*Core.Intrinsics.not_int#4" = load {}*, {}** @"*Core.Intrinsics.not_int#4", align 8
%
11
= xor i1 %
10
, true
%16 = bitcast {}* %"*Core.Intrinsics.not_int#4" to {}**
%
12
= zext i1 %
11
to i8
%17 = getelementptr inbounds {}*, {}** %16, i64 0
%
13
= trunc i8 %
12
to i1
%18
= trunc i8 %value_phi to i1
%
14
= xor i1 %
13
, true
%
19
= xor i1 %
18
, true
br i1 %
14
, label %L27, label %L8.L13_crit_edge
%
20
= zext i1 %
19
to i8
%
21
= trunc i8 %
20
to i1
%
22
= xor i1 %
21
, true
br i1 %
22
, label %L27, label %L8.L13_crit_edge
L8.L13_crit_edge: ; preds = %L8
L8.L13_crit_edge: ; preds = %L8
; │┌ @ range.jl:897 within `iterate`
; │┌ @ range.jl:897 within `iterate`
br label %L13
br label %L13
L13: ; preds = %L26, %L8.L13_crit_edge
L13: ; preds = %L26, %L8.L13_crit_edge
%value_phi3 = phi i64 [ %value_phi1, %L8.L13_crit_edge ], [ %value_phi8, %L26 ]
%value_phi3 = phi i64 [ %value_phi1, %L8.L13_crit_edge ], [ %value_phi8, %L26 ]
%value_phi4 = phi i64 [ %value_phi2, %L8.L13_crit_edge ], [ %value_phi9, %L26 ]
%value_phi4 = phi i64 [ %value_phi2, %L8.L13_crit_edge ], [ %value_phi9, %L26 ]
; │└
; │└
; │ @ array.jl:393 within `fill!`
; │ @ array.jl:393 within `fill!`
; │┌ @ array.jl:1019 within `setindex!`
; │┌ @ array.jl:1019 within `setindex!`
Copiar
Copiado
Copiar
Copiado
%15
= sub i64 %value_phi3, 1
%"*Core.arrayset#5" = load {}*, {}** @"*Core.arrayset#5", align 8
%
16
= mul i64 %
15
, 1
%23 = bitcast {}* %"*Core.arrayset#5" to {}**
%
17
= add i64 0, %
16
%24 = getelementptr inbounds {}*, {}** %23, i64 0
%
18
= bitcast {}* %
4
to { i8*, i64, i16, i16, i32 }*
%25
= sub i64 %value_phi3, 1
%.length_ptr5 = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %
18
, i32 0, i32 1
%
26
= mul i64 %
25
, 1
%
27
= add i64 0, %
26
%
28
= bitcast {}* %
6
to { i8*, i64, i16, i16, i32 }*
%.length_ptr5 = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %
28
, i32 0, i32 1
%.length6 = load i64, i64* %.length_ptr5, align 8
%.length6 = load i64, i64* %.length_ptr5, align 8
Copiar
Copiado
Copiar
Copiado
%inbounds = icmp ult i64 %
17
, %.length6
%inbounds = icmp ult i64 %
27
, %.length6
br i1 %inbounds, label %idxend, label %oob
br i1 %inbounds, label %idxend, label %oob
L18: ; preds = %idxend
L18: ; preds = %idxend
; │└
; │└
; │ @ array.jl:394 within `fill!`
; │ @ array.jl:394 within `fill!`
; │┌ @ range.jl:901 within `iterate`
; │┌ @ range.jl:901 within `iterate`
br label %L21
br label %L21
L19: ; preds = %idxend
L19: ; preds = %idxend
; ││ @ range.jl:902 within `iterate`
; ││ @ range.jl:902 within `iterate`
; ││┌ @ int.jl:87 within `+`
; ││┌ @ int.jl:87 within `+`
Copiar
Copiado
Copiar
Copiado
%19 =
add i64 %value_phi4, 1
%"*Core.Intrinsics.add_int#7" = load {}*, {}** @"*Core.Intrinsics.add_int#7", align 8
%29 = bitcast {}* %"*Core.Intrinsics.add_int#7" to {}**
%30 = getelementptr inbounds {}*, {}** %29, i64 0
%31 =
add i64 %value_phi4, 1
; ││└
; ││└
; ││ @ range.jl:901 within `iterate`
; ││ @ range.jl:901 within `iterate`
br label %L21
br label %L21
L21: ; preds = %L19, %L18
L21: ; preds = %L19, %L18
Copiar
Copiado
Copiar
Copiado
%value_phi8 = phi i64 [ %
19
, %L19 ], [ undef, %L18 ]
%value_phi8 = phi i64 [ %
31
, %L19 ], [ undef, %L18 ]
%value_phi9 = phi i64 [ %
19
, %L19 ], [ undef, %L18 ]
%value_phi9 = phi i64 [ %
31
, %L19 ], [ undef, %L18 ]
%value_phi10 = phi i8 [ 1, %L18 ], [ 0, %L19 ]
%value_phi10 = phi i8 [ 1, %L18 ], [ 0, %L19 ]
; │└
; │└
Copiar
Copiado
Copiar
Copiado
%20
= trunc i8 %value_phi10 to i1
%"*Core.Intrinsics.not_int#411" = load {}*, {}** @"*Core.Intrinsics.not_int#4", align 8
%
21
= xor i1 %
20
, true
%32 = bitcast {}* %"*Core.Intrinsics.not_int#411" to {}**
%
22
= zext i1 %
21
to i8
%33 = getelementptr inbounds {}*, {}** %32, i64 0
%
23
= trunc i8 %
22
to i1
%34
= trunc i8 %value_phi10 to i1
%
24
= xor i1 %
23
, true
%
35
= xor i1 %
34
, true
br i1 %
24
, label %L27, label %L26
%
36
= zext i1 %
35
to i8
%
37
= trunc i8 %
36
to i1
%
38
= xor i1 %
37
, true
br i1 %
38
, label %L27, label %L26
L26: ; preds = %L21
L26: ; preds = %L21
; │ @ array.jl:392 within `fill!`
; │ @ array.jl:392 within `fill!`
; │┌ @ range.jl:897 within `iterate`
; │┌ @ range.jl:897 within `iterate`
br label %L13
br label %L13
L27: ; preds = %L21, %L8
L27: ; preds = %L21, %L8
; │└
; │└
; │ @ array.jl:395 within `fill!`
; │ @ array.jl:395 within `fill!`
br label %L28
br label %L28
L28: ; preds = %L27
L28: ; preds = %L27
; └
; └
; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:636
; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:636
br label %L29
br label %L29
L29: ; preds = %L28
L29: ; preds = %L28
; @ array.jl:629 within `zeros` @ array.jl:631
; @ array.jl:629 within `zeros` @ array.jl:631
br label %L30
br label %L30
L30: ; preds = %L29
L30: ; preds = %L29
; @ array.jl:629 within `zeros`
; @ array.jl:629 within `zeros`
Copiar
Copiado
Copiar
Copiado
ret {}* %
4
ret {}* %
6
oob: ; preds = %L13
oob: ; preds = %L13
; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:635
; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:635
; ┌ @ array.jl:393 within `fill!`
; ┌ @ array.jl:393 within `fill!`
; │┌ @ array.jl:1019 within `setindex!`
; │┌ @ array.jl:1019 within `setindex!`
%errorbox = alloca i64, i64 1, align 8
%errorbox = alloca i64, i64 1, align 8
Copiar
Copiado
Copiar
Copiado
%
25
= getelementptr inbounds i64, i64* %errorbox, i64 0
%
39
= getelementptr inbounds i64, i64* %errorbox, i64 0
store i64 %value_phi3, i64* %
25
, align 8
store i64 %value_phi3, i64* %
39
, align 8
call void @ijl_bounds_error_ints({}* %
4
, i64* %errorbox, i64 1)
call void @ijl_bounds_error_ints({}* %
6
, i64* %errorbox, i64 1)
unreachable
unreachable
idxend: ; preds = %L13
idxend: ; preds = %L13
Copiar
Copiado
Copiar
Copiado
%
26
= bitcast {}* %
4
to { i8*, i64, i16, i16, i32 }*
%
40
= bitcast {}* %
6
to { i8*, i64, i16, i16, i32 }*
%.data_ptr = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %
26
, i32 0, i32 0
%.data_ptr = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %
40
, i32 0, i32 0
%.data = load i8*, i8** %.data_ptr, align 8
%.data = load i8*, i8** %.data_ptr, align 8
Copiar
Copiado
Copiar
Copiado
%
27
= bitcast i8* %.data to double*
%
41
= bitcast i8* %.data to double*
%memcpy_refined_dst7 = getelementptr inbounds double, double* %
27
, i64 %
17
%memcpy_refined_dst7 = getelementptr inbounds double, double* %
41
, i64 %
27
%
28
= load double, double* @_j_const1, align 8
%
42
= load double, double* @_j_const1, align 8
store double %
28
, double* %memcpy_refined_dst7, align 8
store double %
42
, double* %memcpy_refined_dst7, align 8
; │└
; │└
; │ @ array.jl:394 within `fill!`
; │ @ array.jl:394 within `fill!`
; │┌ @ range.jl:901 within `iterate`
; │┌ @ range.jl:901 within `iterate`
; ││┌ @ promotion.jl:521 within `==`
; ││┌ @ promotion.jl:521 within `==`
Copiar
Copiado
Copiar
Copiado
%29
= icmp eq i64 %value_phi4, %.length
%"*Core.===#6" = load {}*, {}** @"*Core.===#6", align 8
%
30
= zext i1 %
29
to i8
%43 = bitcast {}* %"*Core.===#6" to {}**
%44 = getelementptr inbounds {}*, {}** %43, i64 0
%45
= icmp eq i64 %value_phi4, %.length
%
46
= zext i1 %
45
to i8
; ││└
; ││└
Copiar
Copiado
Copiar
Copiado
%
31
= trunc i8 %
30
to i1
%
47
= trunc i8 %
46
to i1
%
32
= xor i1 %
31
, true
%
48
= xor i1 %
47
, true
br i1 %
32
, label %L19, label %L18
br i1 %
48
, label %L19, label %L18
; └└
; └└
}
}
Diferenças salvas
Texto original
Abrir arquivo
; @ array.jl:629 within `zeros` define nonnull {}* @julia_zeros_131(i64 signext %"dims[1]::Int64") #0 { top: %dims = alloca [1 x i64], align 8 %newstruct = alloca [1 x i64], align 8 %pgcstack = call {}*** @julia.get_pgcstack() %0 = bitcast {}*** %pgcstack to {}** %current_task = getelementptr inbounds {}*, {}** %0, i64 -14 %1 = bitcast {}** %current_task to i64* %world_age = getelementptr inbounds i64, i64* %1, i64 15 %2 = getelementptr inbounds [1 x i64], [1 x i64]* %newstruct, i32 0, i32 0 store i64 %"dims[1]::Int64", i64* %2, align 8 %memcpy_refined_src = getelementptr inbounds [1 x i64], [1 x i64]* %newstruct, i32 0, i32 0 %memcpy_refined_dst = getelementptr inbounds [1 x i64], [1 x i64]* %dims, i32 0, i32 0 %3 = load i64, i64* %memcpy_refined_src, align 8 store i64 %3, i64* %memcpy_refined_dst, align 8 ; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:634 ; ┌ @ boot.jl:484 within `Array` %"dims.<unknown field>_ptr" = getelementptr inbounds [1 x i64], [1 x i64]* %dims, i32 0, i32 0 ; │ @ boot.jl:484 within `Array` @ boot.jl:475 %"dims.<unknown field>_ptr.unbox" = load i64, i64* %"dims.<unknown field>_ptr", align 8 %4 = call nonnull {}* inttoptr (i64 140036589843104 to {}* ({}*, i64)*)({}* inttoptr (i64 140036228716336 to {}*), i64 %"dims.<unknown field>_ptr.unbox") ; └ ; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:635 ; ┌ @ array.jl:392 within `fill!` ; │┌ @ abstractarray.jl:318 within `eachindex` ; ││┌ @ abstractarray.jl:134 within `axes1` ; │││┌ @ abstractarray.jl:98 within `axes` ; ││││┌ @ array.jl:191 within `size` %5 = bitcast {}* %4 to { i8*, i64, i16, i16, i32 }* %.length_ptr = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %5, i32 0, i32 1 %.length = load i64, i64* %.length_ptr, align 8 ; │└└└└ ; │┌ @ range.jl:897 within `iterate` ; ││┌ @ range.jl:674 within `isempty` ; │││┌ @ operators.jl:378 within `>` ; ││││┌ @ int.jl:83 within `<` %6 = icmp slt i64 %.length, 1 ; ││└└└ %7 = zext i1 %6 to i8 %8 = trunc i8 %7 to i1 %9 = xor i1 %8, true br i1 %9, label %L7, label %L6 L6: ; preds = %top br label %L8 L7: ; preds = %top br label %L8 L8: ; preds = %L7, %L6 %value_phi = phi i8 [ 1, %L6 ], [ 0, %L7 ] %value_phi1 = phi i64 [ 1, %L7 ], [ undef, %L6 ] %value_phi2 = phi i64 [ 1, %L7 ], [ undef, %L6 ] ; │└ %10 = trunc i8 %value_phi to i1 %11 = xor i1 %10, true %12 = zext i1 %11 to i8 %13 = trunc i8 %12 to i1 %14 = xor i1 %13, true br i1 %14, label %L27, label %L8.L13_crit_edge L8.L13_crit_edge: ; preds = %L8 ; │┌ @ range.jl:897 within `iterate` br label %L13 L13: ; preds = %L26, %L8.L13_crit_edge %value_phi3 = phi i64 [ %value_phi1, %L8.L13_crit_edge ], [ %value_phi8, %L26 ] %value_phi4 = phi i64 [ %value_phi2, %L8.L13_crit_edge ], [ %value_phi9, %L26 ] ; │└ ; │ @ array.jl:393 within `fill!` ; │┌ @ array.jl:1019 within `setindex!` %15 = sub i64 %value_phi3, 1 %16 = mul i64 %15, 1 %17 = add i64 0, %16 %18 = bitcast {}* %4 to { i8*, i64, i16, i16, i32 }* %.length_ptr5 = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %18, i32 0, i32 1 %.length6 = load i64, i64* %.length_ptr5, align 8 %inbounds = icmp ult i64 %17, %.length6 br i1 %inbounds, label %idxend, label %oob L18: ; preds = %idxend ; │└ ; │ @ array.jl:394 within `fill!` ; │┌ @ range.jl:901 within `iterate` br label %L21 L19: ; preds = %idxend ; ││ @ range.jl:902 within `iterate` ; ││┌ @ int.jl:87 within `+` %19 = add i64 %value_phi4, 1 ; ││└ ; ││ @ range.jl:901 within `iterate` br label %L21 L21: ; preds = %L19, %L18 %value_phi8 = phi i64 [ %19, %L19 ], [ undef, %L18 ] %value_phi9 = phi i64 [ %19, %L19 ], [ undef, %L18 ] %value_phi10 = phi i8 [ 1, %L18 ], [ 0, %L19 ] ; │└ %20 = trunc i8 %value_phi10 to i1 %21 = xor i1 %20, true %22 = zext i1 %21 to i8 %23 = trunc i8 %22 to i1 %24 = xor i1 %23, true br i1 %24, label %L27, label %L26 L26: ; preds = %L21 ; │ @ array.jl:392 within `fill!` ; │┌ @ range.jl:897 within `iterate` br label %L13 L27: ; preds = %L21, %L8 ; │└ ; │ @ array.jl:395 within `fill!` br label %L28 L28: ; preds = %L27 ; └ ; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:636 br label %L29 L29: ; preds = %L28 ; @ array.jl:629 within `zeros` @ array.jl:631 br label %L30 L30: ; preds = %L29 ; @ array.jl:629 within `zeros` ret {}* %4 oob: ; preds = %L13 ; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:635 ; ┌ @ array.jl:393 within `fill!` ; │┌ @ array.jl:1019 within `setindex!` %errorbox = alloca i64, i64 1, align 8 %25 = getelementptr inbounds i64, i64* %errorbox, i64 0 store i64 %value_phi3, i64* %25, align 8 call void @ijl_bounds_error_ints({}* %4, i64* %errorbox, i64 1) unreachable idxend: ; preds = %L13 %26 = bitcast {}* %4 to { i8*, i64, i16, i16, i32 }* %.data_ptr = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %26, i32 0, i32 0 %.data = load i8*, i8** %.data_ptr, align 8 %27 = bitcast i8* %.data to double* %memcpy_refined_dst7 = getelementptr inbounds double, double* %27, i64 %17 %28 = load double, double* @_j_const1, align 8 store double %28, double* %memcpy_refined_dst7, align 8 ; │└ ; │ @ array.jl:394 within `fill!` ; │┌ @ range.jl:901 within `iterate` ; ││┌ @ promotion.jl:521 within `==` %29 = icmp eq i64 %value_phi4, %.length %30 = zext i1 %29 to i8 ; ││└ %31 = trunc i8 %30 to i1 %32 = xor i1 %31, true br i1 %32, label %L19, label %L18 ; └└ }
Texto alterado
Abrir arquivo
; @ array.jl:629 within `zeros` define nonnull {}* @julia_zeros_151(i64 signext %"dims[1]::Int64") #0 { top: %dims = alloca [1 x i64], align 8 %newstruct = alloca [1 x i64], align 8 %pgcstack = call {}*** @julia.get_pgcstack() %0 = bitcast {}*** %pgcstack to {}** %current_task = getelementptr inbounds {}*, {}** %0, i64 -14 %1 = bitcast {}** %current_task to i64* %world_age = getelementptr inbounds i64, i64* %1, i64 15 %2 = getelementptr inbounds [1 x i64], [1 x i64]* %newstruct, i32 0, i32 0 store i64 %"dims[1]::Int64", i64* %2, align 8 %memcpy_refined_src = getelementptr inbounds [1 x i64], [1 x i64]* %newstruct, i32 0, i32 0 %memcpy_refined_dst = getelementptr inbounds [1 x i64], [1 x i64]* %dims, i32 0, i32 0 %3 = load i64, i64* %memcpy_refined_src, align 8 store i64 %3, i64* %memcpy_refined_dst, align 8 ; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:634 ; ┌ @ boot.jl:484 within `Array` %"*Core.getfield#1" = load {}*, {}** @"*Core.getfield#1", align 8 %4 = bitcast {}* %"*Core.getfield#1" to {}** %5 = getelementptr inbounds {}*, {}** %4, i64 0 %"dims.<unknown field>_ptr" = getelementptr inbounds [1 x i64], [1 x i64]* %dims, i32 0, i32 0 ; │ @ boot.jl:484 within `Array` @ boot.jl:475 %"dims.<unknown field>_ptr.unbox" = load i64, i64* %"dims.<unknown field>_ptr", align 8 %6 = call nonnull {}* inttoptr (i64 139718400307872 to {}* ({}*, i64)*)({}* inttoptr (i64 139718039246640 to {}*), i64 %"dims.<unknown field>_ptr.unbox") ; └ ; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:635 ; ┌ @ array.jl:392 within `fill!` ; │┌ @ abstractarray.jl:318 within `eachindex` ; ││┌ @ abstractarray.jl:134 within `axes1` ; │││┌ @ abstractarray.jl:98 within `axes` ; ││││┌ @ array.jl:191 within `size` %"*Core.arraysize#2" = load {}*, {}** @"*Core.arraysize#2", align 8 %7 = bitcast {}* %"*Core.arraysize#2" to {}** %8 = getelementptr inbounds {}*, {}** %7, i64 0 %9 = bitcast {}* %6 to { i8*, i64, i16, i16, i32 }* %.length_ptr = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %9, i32 0, i32 1 %.length = load i64, i64* %.length_ptr, align 8 ; │└└└└ ; │┌ @ range.jl:897 within `iterate` ; ││┌ @ range.jl:674 within `isempty` ; │││┌ @ operators.jl:378 within `>` ; ││││┌ @ int.jl:83 within `<` %"*Core.Intrinsics.slt_int#3" = load {}*, {}** @"*Core.Intrinsics.slt_int#3", align 8 %10 = bitcast {}* %"*Core.Intrinsics.slt_int#3" to {}** %11 = getelementptr inbounds {}*, {}** %10, i64 0 %12 = icmp slt i64 %.length, 1 ; ││└└└ %13 = zext i1 %12 to i8 %14 = trunc i8 %13 to i1 %15 = xor i1 %14, true br i1 %15, label %L7, label %L6 L6: ; preds = %top br label %L8 L7: ; preds = %top br label %L8 L8: ; preds = %L7, %L6 %value_phi = phi i8 [ 1, %L6 ], [ 0, %L7 ] %value_phi1 = phi i64 [ 1, %L7 ], [ undef, %L6 ] %value_phi2 = phi i64 [ 1, %L7 ], [ undef, %L6 ] ; │└ %"*Core.Intrinsics.not_int#4" = load {}*, {}** @"*Core.Intrinsics.not_int#4", align 8 %16 = bitcast {}* %"*Core.Intrinsics.not_int#4" to {}** %17 = getelementptr inbounds {}*, {}** %16, i64 0 %18 = trunc i8 %value_phi to i1 %19 = xor i1 %18, true %20 = zext i1 %19 to i8 %21 = trunc i8 %20 to i1 %22 = xor i1 %21, true br i1 %22, label %L27, label %L8.L13_crit_edge L8.L13_crit_edge: ; preds = %L8 ; │┌ @ range.jl:897 within `iterate` br label %L13 L13: ; preds = %L26, %L8.L13_crit_edge %value_phi3 = phi i64 [ %value_phi1, %L8.L13_crit_edge ], [ %value_phi8, %L26 ] %value_phi4 = phi i64 [ %value_phi2, %L8.L13_crit_edge ], [ %value_phi9, %L26 ] ; │└ ; │ @ array.jl:393 within `fill!` ; │┌ @ array.jl:1019 within `setindex!` %"*Core.arrayset#5" = load {}*, {}** @"*Core.arrayset#5", align 8 %23 = bitcast {}* %"*Core.arrayset#5" to {}** %24 = getelementptr inbounds {}*, {}** %23, i64 0 %25 = sub i64 %value_phi3, 1 %26 = mul i64 %25, 1 %27 = add i64 0, %26 %28 = bitcast {}* %6 to { i8*, i64, i16, i16, i32 }* %.length_ptr5 = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %28, i32 0, i32 1 %.length6 = load i64, i64* %.length_ptr5, align 8 %inbounds = icmp ult i64 %27, %.length6 br i1 %inbounds, label %idxend, label %oob L18: ; preds = %idxend ; │└ ; │ @ array.jl:394 within `fill!` ; │┌ @ range.jl:901 within `iterate` br label %L21 L19: ; preds = %idxend ; ││ @ range.jl:902 within `iterate` ; ││┌ @ int.jl:87 within `+` %"*Core.Intrinsics.add_int#7" = load {}*, {}** @"*Core.Intrinsics.add_int#7", align 8 %29 = bitcast {}* %"*Core.Intrinsics.add_int#7" to {}** %30 = getelementptr inbounds {}*, {}** %29, i64 0 %31 = add i64 %value_phi4, 1 ; ││└ ; ││ @ range.jl:901 within `iterate` br label %L21 L21: ; preds = %L19, %L18 %value_phi8 = phi i64 [ %31, %L19 ], [ undef, %L18 ] %value_phi9 = phi i64 [ %31, %L19 ], [ undef, %L18 ] %value_phi10 = phi i8 [ 1, %L18 ], [ 0, %L19 ] ; │└ %"*Core.Intrinsics.not_int#411" = load {}*, {}** @"*Core.Intrinsics.not_int#4", align 8 %32 = bitcast {}* %"*Core.Intrinsics.not_int#411" to {}** %33 = getelementptr inbounds {}*, {}** %32, i64 0 %34 = trunc i8 %value_phi10 to i1 %35 = xor i1 %34, true %36 = zext i1 %35 to i8 %37 = trunc i8 %36 to i1 %38 = xor i1 %37, true br i1 %38, label %L27, label %L26 L26: ; preds = %L21 ; │ @ array.jl:392 within `fill!` ; │┌ @ range.jl:897 within `iterate` br label %L13 L27: ; preds = %L21, %L8 ; │└ ; │ @ array.jl:395 within `fill!` br label %L28 L28: ; preds = %L27 ; └ ; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:636 br label %L29 L29: ; preds = %L28 ; @ array.jl:629 within `zeros` @ array.jl:631 br label %L30 L30: ; preds = %L29 ; @ array.jl:629 within `zeros` ret {}* %6 oob: ; preds = %L13 ; @ array.jl:629 within `zeros` @ array.jl:631 @ array.jl:635 ; ┌ @ array.jl:393 within `fill!` ; │┌ @ array.jl:1019 within `setindex!` %errorbox = alloca i64, i64 1, align 8 %39 = getelementptr inbounds i64, i64* %errorbox, i64 0 store i64 %value_phi3, i64* %39, align 8 call void @ijl_bounds_error_ints({}* %6, i64* %errorbox, i64 1) unreachable idxend: ; preds = %L13 %40 = bitcast {}* %6 to { i8*, i64, i16, i16, i32 }* %.data_ptr = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %40, i32 0, i32 0 %.data = load i8*, i8** %.data_ptr, align 8 %41 = bitcast i8* %.data to double* %memcpy_refined_dst7 = getelementptr inbounds double, double* %41, i64 %27 %42 = load double, double* @_j_const1, align 8 store double %42, double* %memcpy_refined_dst7, align 8 ; │└ ; │ @ array.jl:394 within `fill!` ; │┌ @ range.jl:901 within `iterate` ; ││┌ @ promotion.jl:521 within `==` %"*Core.===#6" = load {}*, {}** @"*Core.===#6", align 8 %43 = bitcast {}* %"*Core.===#6" to {}** %44 = getelementptr inbounds {}*, {}** %43, i64 0 %45 = icmp eq i64 %value_phi4, %.length %46 = zext i1 %45 to i8 ; ││└ %47 = trunc i8 %46 to i1 %48 = xor i1 %47, true br i1 %48, label %L19, label %L18 ; └└ }
Encontrar Diferença