[PATCH] D127115: [DAGCombine] Make sure combined nodes are added back to the worklist in topological order.

Amaury SECHET via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 7 06:27:36 PDT 2023


deadalnix added a comment.

In D127115#4399236 <https://reviews.llvm.org/D127115#4399236>, @RKSimon wrote:

>   define void @_ZN12_GLOBAL__N_114AssemblyWriterC2ERN4llvm21formatted_raw_ostreamERNS1_11SlotTrackerEPKNS1_6ModuleEPNS1_24AssemblyAnnotationWriterEbb() {
>   entry:
>     %__end1.sroa.5.0.copyload = load ptr, ptr poison, align 8
>     %__end1.sroa.6.0.copyload = load ptr, ptr null, align 8
>     %cmp.i.i.i8.i.i = icmp ne ptr null, %__end1.sroa.6.0.copyload
>     %cmp.i.i.i.i9.i.i = icmp ne ptr null, %__end1.sroa.5.0.copyload
>     %.not.i = select i1 %cmp.i.i.i8.i.i, i1 true, i1 %cmp.i.i.i.i9.i.i
>     %.not.i.fr = freeze i1 %.not.i
>     br i1 %.not.i.fr, label %for.cond.us, label %if.end.split
>   
>   for.cond.us:                                      ; preds = %entry
>     unreachable
>   
>   if.end.split:                                     ; preds = %entry
>     ret void
>   }

I am failing to see how this generates an infinite loop. `llc` compiles it just fine. Would you have more details on how to repro?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D127115



More information about the llvm-commits mailing list