[PATCH] D78765: [TRE] Fix bug in handling of switch statements

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 23 16:20:15 PDT 2020


efriedma added a comment.

Are you sure that actually fixes the issue?  On trunk, the following also crashes:

  define i32 @f() local_unnamed_addr {
  entry:
    %call = call i32 @g()
    switch i32 %call, label %sw.default [
      i32 1, label %cleanup
    ]
  
  sw.default:
    %call1 = call i32 @f()
    %add = add nsw i32 %call1, 1
    br label %cleanup
  
  cleanup:
    %retval.0 = phi i32 [ %add, %sw.default ], [ %call, %entry ]
    ret i32 %retval.0
  }
  
  declare i32 @g()

Also, missing testcase.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D78765





More information about the llvm-commits mailing list