[all-commits] [llvm/llvm-project] a76cd1: [RISCV] Use 'unsigned' instead of Register in getR...

Craig Topper via All-commits all-commits at lists.llvm.org
Sun Nov 1 11:03:06 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: a76cd10fcda53160dd213157740b2efb31e73e8d
      https://github.com/llvm/llvm-project/commit/a76cd10fcda53160dd213157740b2efb31e73e8d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Use 'unsigned' instead of Register in getRegForInlineAsmConstraint. NFC

The return value of this interface still uses an 'unsigned' on all
targets. So we convert Register back to unsigned at the end.

I'm hoping this will prevent the issue that caused the revert of
D90322.


  Commit: e57237f19875fcb2977b15689b7eefec2dbcc828
      https://github.com/llvm/llvm-project/commit/e57237f19875fcb2977b15689b7eefec2dbcc828
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp
    M llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.h

  Log Message:
  -----------
  Recommit "[RISCV] Remove include of RISCVRegisterInfo.h from RISCVBaseInfo.h. NFCI"

This reverts 781917254dba17df7fb357a5f621ada2ac1b36e3 and recommits
781917254dba17df7fb357a5f621ada2ac1b36e3.

I've changed getRegForInlineAsmConstraint to not use a std::pair
of Register in a previous commit. Hopefully that fixes the reported
issue with expensive checks on Windows. I'm still not sure exactly
why this commit removing an include affected a different file.

Original message:

RISCVRegisterInfo.h is part of the CodeGen layer. The Utils library
is intended to be shared with the MC layer so shouldn't use files
from the CodeGen layer.

The register enum names are already available from
RISCVMCTargetDesc.h. It appears what was coming from this include
was a transitive include of the Register class which I've replaced
with MCRegister. Register has a constructor from MCRegister so it
should be convertible.


Compare: https://github.com/llvm/llvm-project/compare/6ec56467cbc6...e57237f19875


More information about the All-commits mailing list