mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-25 00:33:15 +00:00
Add comments for wrapper node patterns in MipsInstrInfo.td.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132717 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
be234dabf4
commit
6cd4b4e657
@ -87,7 +87,16 @@ def MipsDivRem : SDNode<"MipsISD::DivRem", SDT_MipsDivRem,
|
|||||||
def MipsDivRemU : SDNode<"MipsISD::DivRemU", SDT_MipsDivRem,
|
def MipsDivRemU : SDNode<"MipsISD::DivRemU", SDT_MipsDivRem,
|
||||||
[SDNPOutGlue]>;
|
[SDNPOutGlue]>;
|
||||||
|
|
||||||
// wrapper node
|
// Target constant nodes that are not part of any isel patterns and remain
|
||||||
|
// unchanged can cause instructions with illegal operands to be emitted.
|
||||||
|
// Wrapper node patterns give the instruction selector a chance to replace
|
||||||
|
// target constant nodes that would otherwise remain unchanged with ADDiu
|
||||||
|
// nodes. Without these wrapper node patterns, the following conditional move
|
||||||
|
// instrucion is emitted when function cmov2 in test/CodeGen/Mips/cmov.ll is
|
||||||
|
// compiled:
|
||||||
|
// movn %got(d)($gp), %got(c)($gp), $4
|
||||||
|
// This instruction is illegal since movn can take only register operands.
|
||||||
|
|
||||||
def MipsWrapperPIC : SDNode<"MipsISD::WrapperPIC", SDTIntUnaryOp>;
|
def MipsWrapperPIC : SDNode<"MipsISD::WrapperPIC", SDTIntUnaryOp>;
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
Loading…
x
Reference in New Issue
Block a user