[llvm] [EarlyCSE] Remove void return restriction for call CSE (PR #145320)

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 23 08:26:12 PDT 2025


================
@@ -146,6 +146,28 @@ define i32 @test5(ptr%P) {
   ret i32 %Diff
 }
 
+declare void @void_func()
+
+define void @void_func_cse_readonly(ptr %P) {
----------------
preames wrote:

Ok, the divergence (infinite loop) case is a good example.  We originally assumed that infinite loops are fully undefined (unless we used volatile/atomic - which imply writes), but we've added mustprogress/willreturn, so that's now definitely well defined in at least some cases.  

Thanks!

https://github.com/llvm/llvm-project/pull/145320


More information about the llvm-commits mailing list