[PATCH] D64350: [MIPS GlobalISel] Regbanks for G_SELECT. Select i64,  f32 and f64 select
    Petar Avramovic via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Jul  8 08:53:27 PDT 2019
    
    
  
Petar.Avramovic created this revision.
Petar.Avramovic added reviewers: atanasyan, petarj.
Herald added subscribers: llvm-commits, jrtc27, arichardson, rovka, sdardis.
Herald added a project: LLVM.
Select gprb or fprb when def/use register operand of G_SELECT is
used/defined by either:
 copy to/from physical register or
 instruction with only one mapping available for that use/def operand.
Integer s64 select is handled with narrowScalar when mapping is applied,
produced artifacts are combined away. Manually set gprb to all register
operands of instructions created during narrowScalar.
For selection of floating point s32 or s64 select it is enough to set
fprb of appropriate size and selectImpl will do the rest.
Repository:
  rL LLVM
https://reviews.llvm.org/D64350
Files:
  lib/Target/Mips/MipsLegalizerInfo.cpp
  lib/Target/Mips/MipsRegisterBankInfo.cpp
  test/CodeGen/Mips/GlobalISel/instruction-select/select.mir
  test/CodeGen/Mips/GlobalISel/legalizer/select.mir
  test/CodeGen/Mips/GlobalISel/llvm-ir/select.ll
  test/CodeGen/Mips/GlobalISel/regbankselect/select.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64350.208435.patch
Type: text/x-patch
Size: 23192 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190708/b19d6e15/attachment.bin>
    
    
More information about the llvm-commits
mailing list