llvm-project
85d2b108 - [DAG] Make strictfp attribute only restricts for libm and make non-math optimizations possible (#165464)

Commit
27 days ago
[DAG] Make strictfp attribute only restricts for libm and make non-math optimizations possible (#165464) the patch [Add strictfp attribute to prevent unwanted optimizations of libm calls](https://reviews.llvm.org/D34163) add `I.isStrictFP()` into ``` if (!I.isNoBuiltin() && !I.isStrictFP() && !F->hasLocalLinkage() && F->hasName() && LibInfo->getLibFunc(*F, Func) && LibInfo->hasOptimizedCodeGen(Func)) ``` it prevents the backend from optimizing even non-math libcalls such as `strlen` and `memcmp` if a call has the strict floating-point attribute. For example, it prevent converting strlen and memcmp to milicode call __strlen and __memcmp.
Author
Parents
Loading