[PATCH] D87149: [InstCombine] erase instructions leading up to unreachable

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 9 09:27:14 PDT 2020


nikic added a comment.

> Although executing __builtin_unreachable is undefined, removing the code before it deletes their side effects.

I believe this behavior is correct. LangRef explicitly states that execution continues past a volatile store. As such, unreachable must be reached, which is undefined behavior. As such, we are free to optimize as we wish, including removing a preceding volatile store.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D87149/new/

https://reviews.llvm.org/D87149



More information about the llvm-commits mailing list