David Zarzycki
83c1054034
[SIL] NFC: Migrate StructInst to llvm::TrailingObjects
...
Also, repack the count variable into the misc object header bits.
2017-12-22 11:16:33 -05:00
David Zarzycki
5012a80e39
[SIL] NFC: Repack misc StringLiteralInst bits
2017-12-22 10:58:21 -05:00
David Zarzycki
fcfdd4c8ca
[SIL] NFC: Migrate BuiltinInst to llvm::TrailingObjects
...
Also, repack the count variables into the misc object header bits.
2017-12-22 10:29:41 -05:00
swift-ci
8e75a2fbbd
Merge remote-tracking branch 'origin/master' into master-next
2017-12-18 13:28:54 -08:00
swift-ci
0302515cf0
Merge remote-tracking branch 'origin/master' into master-next
2017-12-18 12:48:55 -08:00
John McCall
94116347a2
Fix some warnings: extra semicolons, anonymous structs.
2017-12-18 15:31:47 -05:00
David Zarzycki
c75e8299f1
[SIL] NFC: Repack misc MetatypeInst bits
2017-12-17 21:35:27 -05:00
David Zarzycki
bc44e5a150
[SIL] NFC: Repack misc BeginAccessInst bits
2017-12-17 21:23:37 -05:00
David Zarzycki
931ea24f99
[SIL] NFC: Repack misc EndAccessInst bits
2017-12-17 21:14:49 -05:00
David Zarzycki
1cd19eae36
[SIL] NFC: Repack misc PointerToAddressInst bits
2017-12-17 20:58:45 -05:00
David Zarzycki
315cf677dd
[SIL] NFC: Repack misc SwitchValueInst bits
2017-12-17 20:54:01 -05:00
David Zarzycki
5443923a0c
[SIL] NFC: Repack misc SwitchEnumInstBase bits
2017-12-17 20:24:14 -05:00
David Zarzycki
f0bd535261
[SIL] NFC: Repack misc TupleElementAddrInst bits
2017-12-17 19:58:24 -05:00
David Zarzycki
cf443ecfcf
[SIL] NFC: Repack misc TupleExtractInst bits
2017-12-17 19:55:17 -05:00
David Zarzycki
b885daf032
[SIL] NFC: Repack misc WitnessMethodInst bits
2017-12-17 19:49:37 -05:00
David Zarzycki
224b8495bc
[SIL] NFC: Repack misc DeallocRefInst bits
2017-12-16 19:26:40 -05:00
David Zarzycki
83546faec8
[SIL] NFC: Repack misc IntegerLiteralInst and FloatLiteralInst bits
2017-12-16 19:12:01 -05:00
David Zarzycki
aef2e8c662
[SIL] NFC: Repack misc LoadInst bits
2017-12-16 18:53:08 -05:00
David Zarzycki
c4e90d6e4f
[SIL] NFC: Repack misc StoreInst bits
2017-12-16 18:41:14 -05:00
David Zarzycki
c8a458ed1d
[SIL] NFC: Repack misc CopyAddrInst bits
2017-12-16 18:31:46 -05:00
David Zarzycki
b5424c0c17
[SIL] NFC: Repack misc StrongPinInst bits
2017-12-16 18:22:52 -05:00
David Zarzycki
edcb0114c4
[SIL] NFC: Repack misc LoadReferenceInstBase bits
2017-12-16 18:04:49 -05:00
David Zarzycki
f6957eade8
[SIL] NFC: Repack misc StoreReferenceInstBase bits
2017-12-16 18:00:08 -05:00
David Zarzycki
a0a5ca5f14
[SIL] NFC: Repack misc RefCountingInst bits
2017-12-16 17:43:31 -05:00
David Zarzycki
7740d4d05d
[SIL] NFC: Repack misc UncheckedOwnershipConversionInst bits
2017-12-16 17:35:27 -05:00
David Zarzycki
c68d481d28
[SIL] NFC: Repack misc UnaryInstructionWithTypeDependentOperandsBase bits
2017-12-16 17:05:00 -05:00
David Zarzycki
f0d0c18be6
[SIL] NFC: Repack misc AllocRefInstBase bits
2017-12-16 11:53:29 -05:00
David Zarzycki
d197894a9d
[SIL] NFC: Repack misc AllocStackInst bits
2017-12-16 11:38:43 -05:00
David Zarzycki
54ea315586
[Basic] NFC: Stop using transparent unions
2017-12-16 10:43:49 -05:00
David Zarzycki
fa63e6a5a0
[SIL] NFC: Repack misc SILArgument bits
2017-12-16 09:31:21 -05:00
David Zarzycki
7368cc9a8b
[SIL] NFC: Convert SILNode to new inline bitfield macros
2017-12-16 09:31:21 -05:00
swift-ci
ccff061af9
Merge remote-tracking branch 'origin/master' into master-next
2017-10-25 14:30:10 -07:00
Michael Gottesman
4c80c4d66f
Address John's feedback.
...
Specifically to commits:
36a8d0d5c0
6df5462ee2
rdar://31521023
2017-10-25 13:48:51 -07:00
swift-ci
7ad712de8e
Merge remote-tracking branch 'origin/master' into master-next
2017-10-24 18:49:07 -07:00
Michael Gottesman
6df5462ee2
[sil] Add support for multiple value instructions by adding MultipleValueInstruction{,Result}.
...
rdar://31521023
2017-10-24 18:36:37 -07:00
Michael Gottesman
bd7ec5c374
[upstream-update] PointerLikeTypeTraits upstream is a struct not a class.
...
This eliminates a warning.
2017-10-01 23:22:10 -07:00
John McCall
ab3f77baf2
Make SILInstruction no longer a subclass of ValueBase and
...
introduce a common superclass, SILNode.
This is in preparation for allowing instructions to have multiple
results. It is also a somewhat more elegant representation for
instructions that have zero results. Instructions that are known
to have exactly one result inherit from a class, SingleValueInstruction,
that subclasses both ValueBase and SILInstruction. Some care must be
taken when working with SILNode pointers and testing for equality;
please see the comment on SILNode for more information.
A number of SIL passes needed to be updated in order to handle this
new distinction between SIL values and SIL instructions.
Note that the SIL parser is now stricter about not trying to assign
a result value from an instruction (like 'return' or 'strong_retain')
that does not produce any.
2017-09-25 02:06:26 -04:00