[PATCH] D127115: [RFC][DAGCombine] Make sure combined nodes are added back to the worklist in topological order.
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 17 02:08:09 PDT 2022
RKSimon added a comment.
@deadalnix please can you rebase against trunk?
================
Comment at: llvm/test/CodeGen/ARM/dsp-mlal.ll:39
+; NODSP-NEXT: bx lr
entry:
%conv = sext i32 %b1 to i64
----------------
BEFORE:
```
SelectionDAG has 21 nodes:
t0: ch = EntryToken
t45: i32,i32 = uaddo t44, Constant:i32<-2147483648>
t46: i32,i32 = addcarry t44:1, Constant:i32<0>, t45:1
t49: i32,i32 = uaddo t41, Constant:i32<-2147483648>
t52: i32,i32 = addcarry t41:1, t46, t49:1
t29: ch,glue = CopyToReg t0, Register:i32 $r0, t52
t8: i32,ch = CopyFromReg t0, Register:i32 %3
t4: i32,ch = CopyFromReg t0, Register:i32 %1
t41: i32,i32 = smul_lohi t8, t4
t42: i32,ch = load<(load (s32) from %fixed-stack.0, align 8)> t0, FrameIndex:i32<-1>, undef:i32
t6: i32,ch = CopyFromReg t0, Register:i32 %2
t44: i32,i32 = smul_lohi t42, t6
t30: ch = ARMISD::RET_FLAG t29, Register:i32 $r0, t29:1
```
AFTER:
```
SelectionDAG has 21 nodes:
t0: ch = EntryToken
t45: i32,i32 = uaddo t44, Constant:i32<-2147483648>
t53: i32,i32 = addcarry t41:1, t44:1, t45:1
t49: i32,i32 = uaddo t41, Constant:i32<-2147483648>
t50: i32,i32 = addcarry t53, Constant:i32<0>, t49:1
t29: ch,glue = CopyToReg t0, Register:i32 $r0, t50
t8: i32,ch = CopyFromReg t0, Register:i32 %3
t4: i32,ch = CopyFromReg t0, Register:i32 %1
t41: i32,i32 = smul_lohi t8, t4
t42: i32,ch = load<(load (s32) from %fixed-stack.0, align 8)> t0, FrameIndex:i32<-1>, undef:i32
t6: i32,ch = CopyFromReg t0, Register:i32 %2
t44: i32,i32 = smul_lohi t42, t6
t30: ch = ARMISD::RET_FLAG t29, Register:i32 $r0, t29:1
```
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