[PATCH] D140160: [llvm][SelectionDAGBuilder] codegen callbr.landingpad intrinsic
Nick Desaulniers via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 6 13:05:36 PST 2023
nickdesaulniers added inline comments.
================
Comment at: llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:11600-11601
+
+// Consider the following MIR after SelectionDAG, which produces output in
+// phyregs in the first case or virtregs in the second case.
+//
----------------
nickdesaulniers wrote:
> nickdesaulniers wrote:
> > Ok so given `"=@cc"` sort of constraints, we get:
> > ```
> > INLINEASM_BR &"" [maystore] [attdialect], $0:[regdef:GR32], def %1:gr32, $1:[imm], %bb.2
> > %2:gr8 = SETCCr 4, implicit $eflags
> > %3:gr32 = MOVZX32rr8 killed %2:gr8
> > %0:gr64 = SUBREG_TO_REG 0, killed %3:gr32, %subreg.sub_32bit
> > ```
> Looking at https://reviews.llvm.org/D57393,
> it looks like I'm handling:
> ```
> case TargetLowering::C_Register:
> case TargetLowering::C_RegisterClass:
> ```
> but not
> ```
> case TargetLowering::C_Other:
> ```
> I may need to rethink this approach.
I have something hacked up locally using `TLI.ComputeConstraintToUse` that seems to work. That said, `machine-cse` is doing some wacky things with the results that looks like yet another bug.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D140160/new/
https://reviews.llvm.org/D140160
More information about the llvm-commits
mailing list