[PATCH] D127115: [DAGCombine] Make sure combined nodes are added back to the worklist in topological order.
Nabeel Omer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 7 07:22:00 PDT 2023
n-omer added a comment.
In D127115#4403083 <https://reviews.llvm.org/D127115#4403083>, @deadalnix wrote:
> 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?
With this patch applied on top of `main at 2011ad0cbbf52a6f3b7bf76aa40578d3ff9fd60d` I'm able to reproduce the infinite loop with `llc`.
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