[PATCH] D156345: RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG
Arthur Eubanks via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 2 10:37:30 PDT 2023
aeubanks added a comment.
we're seeing crashes around RegisterCoalescer. I haven't bisected exactly which patch yet but I figured it's one of these patches
$ cat /tmp/a.ll
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
define i1 @_ZN4llvm8LLParser17parseDIEnumeratorERPNS_6MDNodeEb(i32 %0) {
entry:
switch i32 %0, label %if.then.i.i [
i32 1, label %"_ZN4llvm8LLParser17parseMDFieldsImplIZNS0_17parseDIEnumeratorERPNS_6MDNodeEbE3$_0EEbT_RNS_5SMLocE.exit"
i32 0, label %if.end.i.i.preheader
]
if.end.i.i.preheader: ; preds = %entry
br label %if.then.i.i
if.then.i.i: ; preds = %if.end.i.i.preheader, %entry
%1 = phi i64 [ 0, %entry ], [ 1, %if.end.i.i.preheader ]
%2 = phi i8 [ 0, %entry ], [ 1, %if.end.i.i.preheader ]
br label %"_ZN4llvm8LLParser17parseMDFieldsImplIZNS0_17parseDIEnumeratorERPNS_6MDNodeEbE3$_0EEbT_RNS_5SMLocE.exit"
"_ZN4llvm8LLParser17parseMDFieldsImplIZNS0_17parseDIEnumeratorERPNS_6MDNodeEbE3$_0EEbT_RNS_5SMLocE.exit": ; preds = %if.then.i.i, %entry
%3 = phi i64 [ 0, %entry ], [ %1, %if.then.i.i ]
%4 = phi i8 [ 0, %entry ], [ %2, %if.then.i.i ]
%5 = phi i8 [ 0, %entry ], [ 1, %if.then.i.i ]
%tobool7.not = icmp eq i8 %5, 0
br i1 %tobool7.not, label %if.then8, label %do.end
if.then8: ; preds = %"_ZN4llvm8LLParser17parseMDFieldsImplIZNS0_17parseDIEnumeratorERPNS_6MDNodeEbE3$_0EEbT_RNS_5SMLocE.exit"
ret i1 false
do.end: ; preds = %"_ZN4llvm8LLParser17parseMDFieldsImplIZNS0_17parseDIEnumeratorERPNS_6MDNodeEbE3$_0EEbT_RNS_5SMLocE.exit"
store i64 %3, ptr null, align 8
store i8 %4, ptr null, align 4
ret i1 false
}
$ llc /tmp/a.ll
llc: ../../llvm/lib/CodeGen/RegisterCoalescer.cpp:1443: bool (anonymous namespace)::RegisterCoalescer::reMaterializeTrivialDef(const CoalescerPair &, MachineInstr *, bool &): Assertion `MO.getReg() == NewMI.getO
perand(0).getReg() && MO.getSubReg() == 0' failed.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D156345/new/
https://reviews.llvm.org/D156345
More information about the llvm-commits
mailing list