[llvm-dev] Planned change to IR semantics: constant expressions never have undefined behavior

Eli Friedman via llvm-dev llvm-dev at lists.llvm.org
Fri Jun 14 15:24:11 PDT 2019


See https://reviews.llvm.org/D63036 for the full patch and description. Essentially, the Constant::canTrap API is going away.  To make this work, the semantics of division and remainder constant expressions are changing slightly, so division by zero produces poison, not undefined behavior.  (The corresponding instructions still have undefined behavior.)  This change should make writing and understanding IR optimizations easier.

-Eli
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190614/db795bfa/attachment.html>


More information about the llvm-dev mailing list