The absence of noreturn doesn't ensure mayReturn
There are two separate issues:
- LLVM doesn't consider infinite loops to be side effects: we happily
hoist/sink above/below loops whose bounds are unknown.
- The absence of the noreturn attribute is insufficient for us to know
if a function will definitely return. Relying on noreturn in the
middle-end for any property is an accident waiting to happen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273762
91177308-0d34-0410-b5e6-
96231b3b80d8