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.
|
||||
class SDTCisVT <int OpNum, ValueType vt> : SDTypeConstraint<OpNum> {
|
||||
class SDTCisVT<int OpNum, ValueType vt> : SDTypeConstraint<OpNum> {
|
||||
ValueType VT = vt;
|
||||
}
|
||||
|
||||
class SDTCisPtrTy<int OpNum> : SDTypeConstraint<OpNum>;
|
||||
|
||||
// SDTCisInt - The specified operand is has integer type.
|
||||
class SDTCisInt<int OpNum> : SDTypeConstraint<OpNum>;
|
||||
|
||||
// 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.
|
||||
class SDTCisSameAs<int OpNum, int OtherOp> : SDTypeConstraint<OpNum> {
|
||||
@ -132,7 +134,7 @@ def SDTWritePort : SDTypeProfile<0, 2, [ // writeport
|
||||
]>;
|
||||
|
||||
def SDTLoad : SDTypeProfile<1, 1, [ // load
|
||||
SDTCisInt<1>
|
||||
SDTCisPtrTy<1>
|
||||
]>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
Loading…
Reference in New Issue
Block a user