<div dir="ltr"><div style="font-size:12.8000001907349px">Dear LLVMdev,</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">We have a question regarding the semantics of the undefined value in LLVM IR.</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">As far as we understand, in order to give a semantics to the undefined value, the semantics of LLVM IR is generalized to a rather unusual set-based semantics. More specifically, the notion of value in LLVM IR is generalized to a set of values, rather than a single value. Then the undefined value is simply defined as the set of all values.</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">Our question is simply why LLVM does not use the notion of trap representation of C11 standard to represent the undefined value, rather than using the set-based semantics.</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">We'd like to understand the motivation of the set-based semantics over the trap representation.</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">Thanks.</div><div style="font-size:12.8000001907349px">Chung-Kil Hur, Steve Zdancewic & Viktor Vafeiadis.</div><div style="font-size:12.8000001907349px"><br></div></div>