[PATCH] D30971: [MIR] Support Customed Register Mask and CSRs

Oren Ben Simhon via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 15 02:15:08 PDT 2017


oren_ben_simhon created this revision.

The MIR printer dumps a string that describe the register mask of a function.
A static predefined list of register masks matches a static list of strings.

However when the register mask is not from the static predefined list, there is no descriptor string and the printer fails.
This patch adds support to custom register mask printing and dumping.

Also the list of callee saved registers (describing the registers that must be preserved for the caller) might be dynamic.
As such this data needs to be dumped and parsed back to the Machine Register Info.


Repository:
  rL LLVM

https://reviews.llvm.org/D30971

Files:
  include/llvm/CodeGen/MIRYamlMapping.h
  include/llvm/CodeGen/MachineRegisterInfo.h
  lib/CodeGen/MIRParser/MIParser.cpp
  lib/CodeGen/MIRParser/MIRParser.cpp
  lib/CodeGen/MIRPrinter.cpp
  lib/CodeGen/MachineRegisterInfo.cpp
  test/CodeGen/MIR/Generic/dynamic-regmask.ll
  test/CodeGen/MIR/X86/used-physical-register-info.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30971.91837.patch
Type: text/x-patch
Size: 16354 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170315/cb2cd647/attachment-0001.bin>


More information about the llvm-commits mailing list