[all-commits] [llvm/llvm-project] 4edb99: [SelectionDAG] treat X constrained labels as i for...

Nick Desaulniers via All-commits all-commits at lists.llvm.org
Tue Jan 11 10:30:09 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4edb9983cb8c8b850083ee5941468f5d0ef6fe2c
      https://github.com/llvm/llvm-project/commit/4edb9983cb8c8b850083ee5941468f5d0ef6fe2c
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2022-01-11 (Tue, 11 Jan 2022)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/inlineasm-X-constraint.ll
    A llvm/test/CodeGen/X86/asm-block-labels2.ll
    M llvm/test/CodeGen/X86/callbr-asm-bb-exports.ll
    M llvm/test/CodeGen/X86/callbr-asm-outputs.ll

  Log Message:
  -----------
  [SelectionDAG] treat X constrained labels as i for asm

Completely rework how we handle X constrained labels for inline asm.

X should really be treated as i. Then existing tests can be moved to use
i D115410 and clang can just emit i D115311. (D115410 and D115311 are
callbr, but this can be done for label inputs, too).

Coincidentally, this simplification solves an ICE uncovered by D87279
based on assumptions made during D69868.

This is the third approach considered. See also discussions v1 (D114895)
and v2 (D115409).

Reported-by: kernel test robot <lkp at intel.com>
Fixes: https://github.com/ClangBuiltLinux/linux/issues/1512

Reviewed By: void, jyknight

Differential Revision: https://reviews.llvm.org/D115688




More information about the All-commits mailing list