Add sign bit tacking for floating points
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 28/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- cpp, wasm
- Área
- compilers, performance
Línea de trabajo
Comienza localizando el análisis de enteros existente de getMaxBits y comparando su alcance con el commit de LLVM enlazado en el issue. Rastrea cómo llegan los hechos de punto flotante a optimizaciones como x + 0 y f64.sqrt, y define la finalización mediante el seguimiento determinista del bit de signo para los valores de punto flotante, preservando la salvedad indicada sobre NaN y habilitando las optimizaciones descritas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Similar to known maximum bits getMaxBits for integers we could track sign for floats. It's quite useful and deterministic (except NaN ofc). This will allow you to do more optimizations for floating points. For example x + 0 -> x if we know x never has sign bits so -0 is not possible. LLVM already do this:
https://github.com/llvm/llvm-project/commit/727a891ec8c42b134dfd9ac8b830fb6072d34ef3
Also f64.sqrt(x) -> sNaN if we know hasSignBit(x) == 1 and etc
- 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 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
build-problem llvm:adt
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
llvm/llvm-project#228475 ·
Los mantenedores suelen responder en 1 día