mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-19 19:29:31 +00:00
Add SDTCisPtrTy and use it for loads, to indicate that the operand of a load
must be a pointer. This removes a type check out of the code generated by tblgen for load matching. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24650 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5b21be76e1
commit
d8fe3b3272
@ -24,15 +24,17 @@ class SDTypeConstraint<int opnum> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// SDTCisVT - The specified operand has exactly this VT.
|
// SDTCisVT - The specified operand has exactly this VT.
|
||||||
class SDTCisVT <int OpNum, ValueType vt> : SDTypeConstraint<OpNum> {
|
class SDTCisVT<int OpNum, ValueType vt> : SDTypeConstraint<OpNum> {
|
||||||
ValueType VT = vt;
|
ValueType VT = vt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class SDTCisPtrTy<int OpNum> : SDTypeConstraint<OpNum>;
|
||||||
|
|
||||||
// SDTCisInt - The specified operand is has integer type.
|
// SDTCisInt - The specified operand is has integer type.
|
||||||
class SDTCisInt<int OpNum> : SDTypeConstraint<OpNum>;
|
class SDTCisInt<int OpNum> : SDTypeConstraint<OpNum>;
|
||||||
|
|
||||||
// SDTCisFP - The specified operand is has floating point type.
|
// SDTCisFP - The specified operand is has floating point type.
|
||||||
class SDTCisFP <int OpNum> : SDTypeConstraint<OpNum>;
|
class SDTCisFP<int OpNum> : SDTypeConstraint<OpNum>;
|
||||||
|
|
||||||
// SDTCisSameAs - The two specified operands have identical types.
|
// SDTCisSameAs - The two specified operands have identical types.
|
||||||
class SDTCisSameAs<int OpNum, int OtherOp> : SDTypeConstraint<OpNum> {
|
class SDTCisSameAs<int OpNum, int OtherOp> : SDTypeConstraint<OpNum> {
|
||||||
@ -132,7 +134,7 @@ def SDTWritePort : SDTypeProfile<0, 2, [ // writeport
|
|||||||
]>;
|
]>;
|
||||||
|
|
||||||
def SDTLoad : SDTypeProfile<1, 1, [ // load
|
def SDTLoad : SDTypeProfile<1, 1, [ // load
|
||||||
SDTCisInt<1>
|
SDTCisPtrTy<1>
|
||||||
]>;
|
]>;
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
Loading…
Reference in New Issue
Block a user