Commit 87b92fd
authored
Make intrinsic nodes multi op (aka delete
* Introducing GenTreeMultiOp
* Rewrite gtNewSIMDNode
* Rewrite gtNewSIMDVectorZero
* Rewrite gtNewHWIntrinsicNode
* Rewrite GenTreeSIMD::OperIsMemoryLoad
* Rewrite GenTreeHWIntrinsic::OperIsMemoryLoad
* Rewrite GenTreeHWIntrinsic::OperIsMemoryStore
* Rewrite GenTree::IsIntegralConstVector
* Rewrite GenTree::NullOp1Legal
* Rewrite GenTree::IsSIMDZero
* Rewrite GenTree::isCommutativeSIMDIntrinsic
* Rewrite GenTree::isCommutativeHWIntrinsic
* Rewrite GenTree::isContainableHWIntrinsic
* Rewrite GenTree::isRMWHWIntrinsic
* Rewrite GenTreeVisitor
* Rewrite GenTreeUseEdgeIterator
* Rewrite GenTree::VisitOperands
* Rewrite GenTree::TryGetUse
* Rewrite gtGetChildPointer
* Rewrite gtHasRef
* Rewrite fgSetTreeSeqHelper
* Rewrite GenTree::NumChildren
* Rewrite GenTree::GetChild
* Rewrite GenTree::Compare
* Rewrite gtCloneExpr
* Rewrite gtSetEvalOrder
* Rewrite gtHashValue
* Rewrite gtDispTree
* Rewrite fgDebugCheckFlags
* Add genConsumeMultiOpOperands
* Rewrite genConsumeRegs
* Rewrite HWIntrinsic::HWIntrinsic
* Rewrite HWIntrinsic::InitializeOperands
* Delete HWIntrinsicInfo::lookupNumArgs
* Delete HWIntrinsicInfo::lookupLastOp
* Rewrite HWIntrinsicImmOpHelper ARM64
* Rewrite inst_RV_TT_IV
* Rewrite inst_RV_RV_TT
* Rewrite genSIMDIntrinsic XARCH
* Rewrite genSIMDIntrinsicInit XARCH
* Rewrite genSIMDIntrinsicInitN XARCH
* Rewrite genSIMDIntrinsicUnOp XARCH
* Rewrite genSIMDIntrinsic32BitConvert XARCH
* Rewrite genSIMDIntrinsic64BitConvert XARCH
* Rewrite genSIMDIntrinsicWiden XARCH
* Rewrite genSIMDIntrinsicNarrow XARCH
* Rewrite genSIMDIntrinsicBinOp XARCH
* Rewrite genSIMDIntrinsicRelOp XARCH
* Rewrite genSIMDIntrinsicShuffleSSE2 XARCH
* Rewrite genSIMDIntrinsicUpperSave XARCH
* Rewrite genSIMDIntrinsicUpperRestore XARCH
* Rewrite genSIMDIntrinsic ARM64
* Rewrite genSIMDIntrinsicInit ARM64
* Rewrite genSIMDIntrinsicInitN ARM64
* Rewrite genSIMDIntrinsicUnOp ARM64
* Rewrite genSIMDIntrinsicWiden ARM64
* Rewrite genSIMDIntrinsicNarrow ARM64
* Rewrite genSIMDIntrinsicBinOp ARM64
* Rewrite genSIMDIntrinsicUpperSave ARM64
* Rewrite genSIMDIntrinsicUpperRestore ARM64
* Rewrite genHWIntrinsic_R_RM XARCH
* Rewrite genHWIntrinsic_R_RM_I XARCH
* Rewrite genHWIntrinsic_R_R_RM XARCH
* Rewrite genHWIntrinsic_R_R_RM_I XARCH
* Rewrite genHWIntrinsic_R_R_RM_R XARCH
* Rewrite genHWIntrinsic_R_R_R_RM XARCH
* Rewrite genHWIntrinsic XARCH
* Rewrite genBaseIntrinsic XARCH
* Rewrite genX86BaseIntrinsic XARCH
* Rewrite genSSEIntrinsic XARCH
* Rewrite genSSE2Intrinsic XARCH
* Rewrite genSSE41Intrinsic XARCH
* Rewrite genSSE42Intrinsic XARCH
* Rewrite genAvxOrAvx2Intrinsic XARCH
* Rewrite genBMI1OrBMI2Intrinsic XARCH
* Rewrite genFMAIntrinsic XARCH
* Rewrite genLZCNTIntrinsic XARCH
* Rewrite genPOPCNTIntrinsic XARCH
* Rewrite genXCNTIntrinsic XARCH
* Rewrite genHWIntrinsic ARM64
* Rewrite insertUpperVectorSave
* Rewrite insertUpperVectorRestore
* Rewrite getKillSetForHWIntrinsic
* Rewrite BuildSIMD XARCH
* Rewrite BuildOperandUses/BuildDelayFreeUses
* Rewrite BuildSIMD ARM64
* Rewrite BuildHWIntrinsic XARCH
* Rewrite LowerSIMD XARCH
* Rewrite ContainCheckSIMD XARCH
* Rewrite LowerHWIntrinsicCC XARCH
* Rewrite LowerFusedMultiplyAdd XARCH
* Rewrite LowerHWIntrinsic XARCH
* Rewrite LowerHWIntrinsicCmpOp XARCH
* Rewrite LowerHWIntrinsicGetElement XARCH
* Rewrite LowerHWIntrinsicWithElement XARCH
* Rewrite LowerHWIntrinsicCreate XARCH
* Rewrite LowerHWIntrinsicDot XARCH
* Rewrite LowerHWIntrinsicToScalar XARCH
* Rewrite IsContainableHWIntrinsicOp XARCH
* Rewrite ContainCheckHWIntrinsic XARCH
* Rewrite IsValidConstForMovImm ARM64
* Rewrite LowerHWIntrinsic ARM64
* Rewrite LowerHWIntrinsicFusedMultiplyAddScalar ARM64
* Rewrite LowerHWIntrinsicCmpOp ARM64
* Rewrite LowerHWIntrinsicCreate ARM64
* Rewrite LowerHWIntrinsicDot ARM64
* Rewrite ContainCheckStoreLoc ARM64
* Rewrite ContainCheckSIMD ARM64
* Rewrite ContainCheckHWIntrinsic ARM64
* Rewrite DecomposeHWIntrinsicGetElement X86
* Rewrite DecomposeHWIntrinsic X86
* Rewrite Rationalizer::RewriteNode
* Rewrite optIsCSEcandidate
* Rewrite fgValueNumberTree
* Rewrite fgValueNumberSimd
* Rewrite fgValueNumberHWIntrinsic
* Rewrite GetVNFuncForNode
* Rewrite fgMorphTree & fgMorphSmpOpOptional
* Rewrite fgMorphFieldToSimdGetElement/fgMorphField
* Rewrite fgMorphOneAsgBlockOp
* Rewrite impInlineFetchArg
* Rewrite impSIMDRelOp
* Rewrite impSIMDIntrinsic
* Rewrite impBaseIntrinsic XARCH
* Rewrite impAvxOrAvx2Intrinsic XARCH
* Rewrite impSpecialIntrinsic ARM64
* Fix SSA Builder comments
* Delete GT_LIST
* Support GTF_REVERSE_OPS for GenTreeMultiOp
It turns out that in the time this change has been
sitting there, 3 new methods in the SPMI benchmarks
collection appeared, and it turns out they regress
because of the lack of GTF_REVERSE_OPS.
So, implement support for it....
This makes me quite sad, but it does make this change
a pure zero-diff one, which is good.
* Fix Linux x86 build break
* Fix formatting
* Improve readability through the use of a local
* Support external operand arrays in GenTreeMultiOp
* Fix formatting
* Tweak a constructor callGT_LIST) (#59912)1 parent ce93c29 commit 87b92fd
File tree
42 files changed
+2068
-2483
lines changed- src/coreclr/jit
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
42 files changed
+2068
-2483
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1258 | 1258 | | |
1259 | 1259 | | |
1260 | 1260 | | |
1261 | | - | |
1262 | | - | |
| 1261 | + | |
1263 | 1262 | | |
1264 | 1263 | | |
1265 | 1264 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1130 | 1130 | | |
1131 | 1131 | | |
1132 | 1132 | | |
1133 | | - | |
1134 | | - | |
1135 | | - | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
1136 | 1136 | | |
1137 | 1137 | | |
1138 | 1138 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3879 | 3879 | | |
3880 | 3880 | | |
3881 | 3881 | | |
3882 | | - | |
| 3882 | + | |
3883 | 3883 | | |
3884 | 3884 | | |
3885 | 3885 | | |
| |||
4039 | 4039 | | |
4040 | 4040 | | |
4041 | 4041 | | |
4042 | | - | |
| 4042 | + | |
4043 | 4043 | | |
4044 | | - | |
| 4044 | + | |
4045 | 4045 | | |
4046 | 4046 | | |
4047 | 4047 | | |
4048 | 4048 | | |
4049 | 4049 | | |
4050 | | - | |
| 4050 | + | |
4051 | 4051 | | |
4052 | 4052 | | |
4053 | 4053 | | |
| |||
4090 | 4090 | | |
4091 | 4091 | | |
4092 | 4092 | | |
4093 | | - | |
| 4093 | + | |
4094 | 4094 | | |
4095 | 4095 | | |
4096 | 4096 | | |
4097 | 4097 | | |
4098 | | - | |
4099 | | - | |
4100 | | - | |
| 4098 | + | |
| 4099 | + | |
| 4100 | + | |
| 4101 | + | |
| 4102 | + | |
4101 | 4103 | | |
4102 | | - | |
| 4104 | + | |
4103 | 4105 | | |
4104 | 4106 | | |
4105 | 4107 | | |
| |||
4108 | 4110 | | |
4109 | 4111 | | |
4110 | 4112 | | |
4111 | | - | |
4112 | | - | |
4113 | 4113 | | |
4114 | 4114 | | |
4115 | 4115 | | |
4116 | | - | |
4117 | | - | |
| 4116 | + | |
4118 | 4117 | | |
4119 | | - | |
4120 | | - | |
4121 | | - | |
4122 | | - | |
4123 | | - | |
4124 | | - | |
4125 | | - | |
4126 | | - | |
| 4118 | + | |
| 4119 | + | |
| 4120 | + | |
4127 | 4121 | | |
4128 | | - | |
| 4122 | + | |
| 4123 | + | |
4129 | 4124 | | |
4130 | 4125 | | |
4131 | 4126 | | |
| |||
4164 | 4159 | | |
4165 | 4160 | | |
4166 | 4161 | | |
4167 | | - | |
4168 | | - | |
4169 | | - | |
4170 | | - | |
4171 | | - | |
| 4162 | + | |
| 4163 | + | |
| 4164 | + | |
| 4165 | + | |
| 4166 | + | |
4172 | 4167 | | |
4173 | | - | |
| 4168 | + | |
4174 | 4169 | | |
4175 | 4170 | | |
4176 | 4171 | | |
4177 | 4172 | | |
4178 | 4173 | | |
4179 | | - | |
| 4174 | + | |
4180 | 4175 | | |
4181 | 4176 | | |
4182 | 4177 | | |
4183 | 4178 | | |
4184 | 4179 | | |
4185 | | - | |
| 4180 | + | |
4186 | 4181 | | |
4187 | 4182 | | |
4188 | 4183 | | |
| |||
4208 | 4203 | | |
4209 | 4204 | | |
4210 | 4205 | | |
4211 | | - | |
4212 | | - | |
| 4206 | + | |
| 4207 | + | |
| 4208 | + | |
| 4209 | + | |
4213 | 4210 | | |
4214 | | - | |
4215 | | - | |
| 4211 | + | |
| 4212 | + | |
4216 | 4213 | | |
4217 | 4214 | | |
4218 | 4215 | | |
4219 | 4216 | | |
4220 | 4217 | | |
4221 | | - | |
| 4218 | + | |
4222 | 4219 | | |
4223 | 4220 | | |
4224 | 4221 | | |
| |||
4228 | 4225 | | |
4229 | 4226 | | |
4230 | 4227 | | |
4231 | | - | |
| 4228 | + | |
4232 | 4229 | | |
4233 | 4230 | | |
4234 | 4231 | | |
| |||
4257 | 4254 | | |
4258 | 4255 | | |
4259 | 4256 | | |
4260 | | - | |
| 4257 | + | |
4261 | 4258 | | |
4262 | | - | |
| 4259 | + | |
4263 | 4260 | | |
4264 | 4261 | | |
4265 | 4262 | | |
| |||
4307 | 4304 | | |
4308 | 4305 | | |
4309 | 4306 | | |
4310 | | - | |
| 4307 | + | |
4311 | 4308 | | |
4312 | | - | |
| 4309 | + | |
4313 | 4310 | | |
4314 | 4311 | | |
4315 | 4312 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
390 | 390 | | |
391 | 391 | | |
392 | 392 | | |
393 | | - | |
394 | 393 | | |
395 | 394 | | |
396 | 395 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1228 | 1228 | | |
1229 | 1229 | | |
1230 | 1230 | | |
1231 | | - | |
| 1231 | + | |
| 1232 | + | |
1232 | 1233 | | |
1233 | 1234 | | |
1234 | 1235 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1623 | 1623 | | |
1624 | 1624 | | |
1625 | 1625 | | |
1626 | | - | |
| 1626 | + | |
1627 | 1627 | | |
1628 | | - | |
1629 | | - | |
| 1628 | + | |
| 1629 | + | |
1630 | 1630 | | |
1631 | 1631 | | |
1632 | | - | |
1633 | | - | |
| 1632 | + | |
| 1633 | + | |
| 1634 | + | |
| 1635 | + | |
| 1636 | + | |
| 1637 | + | |
1634 | 1638 | | |
1635 | 1639 | | |
1636 | 1640 | | |
| |||
1674 | 1678 | | |
1675 | 1679 | | |
1676 | 1680 | | |
1677 | | - | |
1678 | 1681 | | |
1679 | 1682 | | |
1680 | 1683 | | |
| |||
1690 | 1693 | | |
1691 | 1694 | | |
1692 | 1695 | | |
1693 | | - | |
| 1696 | + | |
1694 | 1697 | | |
1695 | | - | |
| 1698 | + | |
| 1699 | + | |
1696 | 1700 | | |
1697 | 1701 | | |
1698 | | - | |
| 1702 | + | |
1699 | 1703 | | |
1700 | 1704 | | |
1701 | 1705 | | |
1702 | 1706 | | |
1703 | | - | |
1704 | | - | |
| 1707 | + | |
1705 | 1708 | | |
1706 | | - | |
1707 | | - | |
1708 | | - | |
| 1709 | + | |
1709 | 1710 | | |
1710 | | - | |
1711 | | - | |
1712 | | - | |
1713 | | - | |
1714 | | - | |
1715 | | - | |
1716 | | - | |
1717 | | - | |
1718 | | - | |
1719 | | - | |
1720 | | - | |
1721 | | - | |
1722 | | - | |
1723 | | - | |
1724 | | - | |
1725 | | - | |
1726 | | - | |
1727 | | - | |
1728 | | - | |
1729 | | - | |
1730 | | - | |
1731 | | - | |
1732 | | - | |
1733 | | - | |
1734 | | - | |
1735 | | - | |
1736 | | - | |
1737 | | - | |
| 1711 | + | |
1738 | 1712 | | |
1739 | 1713 | | |
1740 | | - | |
| 1714 | + | |
1741 | 1715 | | |
1742 | 1716 | | |
1743 | 1717 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1673 | 1673 | | |
1674 | 1674 | | |
1675 | 1675 | | |
1676 | | - | |
1677 | 1676 | | |
1678 | 1677 | | |
1679 | 1678 | | |
| |||
0 commit comments