Commit Graph

137 Commits

Author SHA1 Message Date
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