[PATCH] D22373: [GlobalISel] Introduce a simple instruction selector.

Ahmed Bougacha via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 14 11:19:07 PDT 2016


ab created this revision.
ab added reviewers: qcolombet, t.p.northover.
ab added subscribers: arsenm, eli.friedman, MatzeB, llvm-commits.
Herald added a reviewer: tstellarAMD.
Herald added subscribers: vkalintiris, mehdi_amini.

    This is hopefully mostly straightforward, with various open questions
    peppered around as FIXMEs.

    This also includes a couple changes to MRI (around constrainRegClass and
    gvreg sizes).  I'm not sure any of them is a good idea, but beyond that,
    they cause anything that currently links in CodeGen to fail to link
    (because GlobalISel is a separate library).
    I'm not sure if this is a layering violation, or whether we should force
    users to also link in GlobalISel (if they want to use GlobalISel).
    Probably the former, in which case: any ideas where to put the changes?

    Also, I don't think it's currently possibly to test the emission of
    copies of defs without doing the fixup on non-generic instructions
    (see FIXME).  Ideas welcome, otherwise I can just remove the code
    for now.

https://reviews.llvm.org/D22373

Files:
  include/llvm/CodeGen/GlobalISel/GISelAccessor.h
  include/llvm/CodeGen/GlobalISel/InstructionSelect.h
  include/llvm/CodeGen/GlobalISel/InstructionSelector.h
  include/llvm/CodeGen/TargetPassConfig.h
  include/llvm/InitializePasses.h
  include/llvm/Target/TargetSubtargetInfo.h
  lib/CodeGen/GlobalISel/CMakeLists.txt
  lib/CodeGen/GlobalISel/GlobalISel.cpp
  lib/CodeGen/GlobalISel/InstructionSelect.cpp
  lib/CodeGen/GlobalISel/InstructionSelector.cpp
  lib/CodeGen/LLVMTargetMachine.cpp
  lib/CodeGen/MachineRegisterInfo.cpp
  lib/Target/AArch64/AArch64InstructionSelector.cpp
  lib/Target/AArch64/AArch64InstructionSelector.h
  lib/Target/AArch64/AArch64Subtarget.cpp
  lib/Target/AArch64/AArch64Subtarget.h
  lib/Target/AArch64/AArch64TargetMachine.cpp
  lib/Target/AArch64/CMakeLists.txt
  lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
  test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22373.64013.patch
Type: text/x-patch
Size: 30307 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160714/2458aad5/attachment.bin>


More information about the llvm-commits mailing list