dblaikie added a comment.

In D101805#2739814 <https://reviews.llvm.org/D101805#2739814>, @tlively wrote:

> Thanks, @hans! That's very surprising; I'll take a deeper look at what was 
> going wrong.

Labels (& instructions/values) are only named in ASSERTS enabled builds (or you 
can opt into them more narrowly with some other build config)

eg:
With asserts:

  ; Function Attrs: nounwind uwtable
  define dso_local void @func(i32 %b, i32 %i, i32 %j) local_unnamed_addr #0 {
  entry:
    %tobool.not = icmp eq i32 %b, 0
    br i1 %tobool.not, label %if.end, label %if.then
  
  if.then:                                          ; preds = %entry
    tail call void (...) @f1() #2
    br label %if.end
  
  if.end:                                           ; preds = %if.then, %entry
    ret void
  }

Without asserts:

  ; Function Attrs: nounwind uwtable
  define dso_local void @func(i32 %0, i32 %1, i32 %2) local_unnamed_addr #0 {
    %4 = icmp eq i32 %0, 0
    br i1 %4, label %6, label %5
  
  5:                                                ; preds = %3
    tail call void (...) @f1() #2
    br label %6
  
  6:                                                ; preds = %5, %3
    ret void
  }


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D101805

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to