https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106811
Bug ID: 106811
Summary: GENERIC and GIMPLE IL undefined behavior needs
documenting
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: rguenth at gcc dot gnu.org
Target Milestone: ---
Undefined behavior triggered by the GENERIC operations from tree.def (also used
in GIMPLE) need to be documented. In general we follow C here, including GCCs
implementation defined behavior here, but not all C undefined behavior cases
are exploited by the middle-end so the state of those cases is not clear. We
need
- a list of operations with undefined behavior cases that are currently
exploited or seen as OK to exploit
- a list of operations where C documents undefined behavior cases but the
middle-end conciously defines some implementation defined behavior (which
should not be target specific)
- middle-end predicates that can be used to check
- variants of the operations with (implementation) defined behavior
probably best in generic.texi with cross reference from gimple.texi
Note for RTL operations doing the same is necessary.