Cannot optimize complex ge_u 0 out
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- wasm
- Ambito
- compilers
Direzione di ricerca
Inizia con l'esempio wasm-opt e6d02fa1 fornito e confronta i risultati di -all -O2 e -all -O3. Leggi issue #7455 e la relativa implementazione o i test per lt_u 0 complesso, quindi verifica che il pattern equivalente ge_u 0 complesso venga ridotto a uno con -O3.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Given the following code:
(module
(type $0 (func))
(type $1 (func (param i32 i32) (result i32)))
(type $2 (func (result i32)))
(type $3 (func (param i32) (result i32)))
(import "External" "external_function" (func $external_function (type $0)))
(func $_start (type $3) (param $0 i32) (result i32)
(local $1 i32) (local $2 i32)
i32.const 0
i32.load
local.set $2
local.get $1
i32.const 0
call $foo
local.set $1
local.get $1
local.get $2
i32.le_u
if (result i32)
i32.const 0
else
call $external_function
i32.const 1
end)
(func $foo (type $1) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
i32.const 0
i32.store
i32.const 0)
(memory $0 258 258)
(export "_start" (func $_start)))
wasm-opt (e6d02fa1) -all -O3 cannot optimize the
(i32.ge_u
(i32.load
(i32.const 0)
)
(block (result i32)
(i32.store
(i32.const 0)
(i32.const 0)
)
(i32.const 0)
)
)
to one (while -all -O2 can)
It is already discussed in #7455 (complex lt_u 0). in contrast, this is complex ge_u 0. So fix this the way as before.
- Lingua principale
- WebAssembly
- Stelle
- 8.7k
- Fork
- 893
- Merge medio
- 1g 11h
- PR unite (30g)
- 74
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di WebAssembly/binaryen
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
WebAssembly/binaryen#9185 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
WebAssembly/binaryen#9135 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 Mezza giornata Idoneità per principianti 76/100
WebAssembly/binaryen#9018 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
WebAssembly/binaryen#9210 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
WebAssembly/binaryen#9186 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di WebAssembly/binaryen
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
rubys/roundhouse#444 ·
I maintainer di solito rispondono entro 1 giorno
-
vxc prints a debug line '[flat-codegen] emitted module via the flat path' on every compileForse già presa @YodHeVauHe l’ha presa oggi. Apertadevex good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
kmmbvnr/rank#196 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
SciML/ModelingToolkit.jl#5255 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
NVIDIA/cuda-quantum#5539 ·
I maintainer di solito rispondono entro 1 giorno