[PATCH] D55143: [PowerPC][NFC] Set isPseudo in base class PostRAPseudo

Jinsong Ji via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 30 13:09:45 PST 2018


jsji created this revision.
jsji added reviewers: nemanjai, steven.zhang, hfinkel.
Herald added subscribers: jfb, kbarton, hiraditya.

There are several `Pseudo` in PowerPC backend. 
eg:

1. ISel Pseudo-instructions , which has `let usesCustomInserter=1` in td ExpandISelPseudos -> EmitInstrWithCustomInserter will deal with them.

2. Post-RA pseudo instruction, which has `let isPseudo = 1` in td, or Standard pseudo (SUBREG_TO_REG,COPY etc.) ExpandPostRAPseudos -> expandPostRAPseudo will expand them

3. Multi-instruction pseudo operations will expand them PPCAsmPrinter::EmitInstruction

4. Pseudo instruction in CodeEmitter, which has encoding of 0.

Currently, in td files, especially PPCInstrVSX.td, 
we did not distinguish `Post-RA pseudo instruction` and `Pseudo instruction in CodeEmitter` very clearly.

This patch is to introduce a new base class PostRAPseudo, and use it to define all Post-RA pseudo instructions,
so that we won't miss setting isPseudo=1 for new PostRAPseudo in the future.


Repository:
  rL LLVM

https://reviews.llvm.org/D55143

Files:
  llvm/lib/Target/PowerPC/PPCInstr64Bit.td
  llvm/lib/Target/PowerPC/PPCInstrFormats.td
  llvm/lib/Target/PowerPC/PPCInstrVSX.td

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55143.176184.patch
Type: text/x-patch
Size: 9392 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181130/10f5cb21/attachment.bin>


More information about the llvm-commits mailing list