<div dir="ltr">As of llvm 3.8, the early CSE pass seems to remove llvm.assume intrinsics. Is this the expected behavior?<div><br></div><div>I've attached as small-ish example of this happening in my production code.<div><br></div><div>    $ opt -early-cse before-early-cse.ll -S > after-early-cse.ll</div><div><br></div><div>Note the use of the assume intrinsic indicating that the loaded value %channels equals 3. In a later pass I replace the load instruction with the constant value. This approach worked in llvm 3.7. I can solve the issue by moving my pass before early CSE if need be.</div><div><br></div><div>v/r,</div><div>Josh</div>







</div></div>