Once Reduction Pass improvement
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con el PR #4111 enlazado y localiza la implementación del pass Once Reduction; después, compara cómo maneja las dos formas de CFG mostradas en el issue. Añade una prueba de regresión para el segundo ejemplo y verifica que la optimización ya no produzca un comportamiento unsound.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Recent Once Reduction pass properly handled following CFG in pseudocode:
bool initialized = false;
void boo() {
if (initialized) return;
...
initialized = true;
}
but unsound for this:
bool initialized = false;
void boo() {
if (!initialized) {
...
initialized = true;
}
}
- Lenguaje dominante
- WebAssembly
- Estrellas
- 8.6k
- Forks
- 892
- Merge medio
- 1 d 18 h
- PR fusionados (30 d)
- 79
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de WebAssembly/binaryen
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
WebAssembly/binaryen#9185 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
WebAssembly/binaryen#9135 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 Medio día Aptitud para principiantes 76/100
WebAssembly/binaryen#9018 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
WebAssembly/binaryen#9186 ·
Los mantenedores suelen responder en 1 día
-
LoopInvariantCodeMotion: `struct.new` is hoisted out of a loop, so all iterations share one objectAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
WebAssembly/binaryen#9184 ·
Los mantenedores suelen responder en 1 día
Todos los issues de WebAssembly/binaryen
Issues similares
-
After `require "openssl"`, a top-level `Digest` is `OpenSSL::Digest`, not the `Digest` moduleAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
yhirose/cpp-peglib#344 ·
-
self-host checker: E021 bound check reads an untyped literal at i32, not the type the call bindsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
JakeChampion/lang#11055 ·
Los mantenedores suelen responder en 1 día
-
codegen: memref.collapse_shape in an mlir! block leaves an affine.apply that is never loweredAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
rhalbersma/xstd-bits#307 ·
Los mantenedores suelen responder en 1 día