[llvm-dev] Early CSE clobbering llvm.assume

Sanjoy Das via llvm-dev llvm-dev at lists.llvm.org
Sat Jun 11 18:07:00 PDT 2016


On Sat, Jun 11, 2016 at 5:47 PM, Sean Silva via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Perhaps a naive question then is: why don't we represent assume as `if
> (!cond) unreachable; else <the rest of the code>`?

As I understand it, in theory this is fine, but in practice it may end
up breaking optimizations.  For instance, today we can hoist loads
across calls to assume, but it may not be obviously safe if you have
the branch-to-unreachable representation.   The control flow
representation may also bloat compile time / memory usage due to more
basic blocks.

-- Sanjoy


More information about the llvm-dev mailing list