swift-ci
fc7b986bab
Merge remote-tracking branch 'origin/master' into master-next
2017-12-19 12:09:06 -08:00
swift-ci
0d9c02b25b
Merge remote-tracking branch 'origin/master' into master-next
2017-12-19 02:09:53 -08:00
Slava Pestov
76499a3ce3
IRGen: Emit immediate class member offset global variable
...
Not used to access metadata members just yet.
2017-12-19 02:58:35 -07:00
swift-ci
dca213184a
Merge remote-tracking branch 'origin/master' into master-next
2017-12-19 00:49:53 -08:00
Slava Pestov
accec86e6c
IRGen: Resilient classes require dynamic metadata initialization
...
An oversight. Has no effect until the next patch comes in.
2017-12-19 00:36:47 -08:00
Slava Pestov
354f4989e1
IRGen: Store type declaration in the NominalMetadataLayout
2017-12-19 00:36:47 -08:00
Slava Pestov
e65d3a7019
IRGen: Note metadata size offset in metadata layout
2017-12-19 00:36:47 -08:00
Slava Pestov
fa719f75bd
SIL: SILVTableVisitor no longer needs a TypeLowering reference
2017-12-18 23:28:33 -08:00
Slava Pestov
c16c2c35bf
SIL: Move getOverriddenVTableEntry() from TypeLowering to SILDeclRef
...
There's no reason for this to be an instance method on the TypeLowering
object, because it (no longer?) uses any type lowering operations.
2017-12-18 23:28:33 -08:00
swift-ci
07902f91aa
Merge remote-tracking branch 'origin/master' into master-next
2017-12-18 23:09:18 -08:00
John McCall
1f3f33e67d
Clean up the internal APIs around dynamic allocas to structurally
...
discourage accidental use of them. Relatedly, fix several bugs
where we were accidentally using dynamic allocas.
2017-12-19 00:29:43 -05:00
swift-ci
ab66b86518
Merge remote-tracking branch 'origin/master' into master-next
2017-12-18 16:09:16 -08:00
swift-ci
0302515cf0
Merge remote-tracking branch 'origin/master' into master-next
2017-12-18 12:48:55 -08:00
Joe Groff
3d5874844b
IRGen: Elaborate a cut-off comment.
2017-12-18 11:26:19 -08:00
David Ungar
8c10c00c96
Merge pull request #13465 from davidungar/PR7-numThreads
...
NFC: Add predicates to SILOptions & do renaming in TBD generation.
2017-12-16 14:46:59 -08:00
David Ungar
51d3165874
NFC: Clarifying uses of NumThreads.
...
Add hasMultipleGMs predicate to SILOptions.
Rename parameters to TBD file handling to better reflect abstraction boundary.
fix
2017-12-16 13:58:01 -08:00
swift-ci
fb3c6620c0
Merge remote-tracking branch 'origin/master' into master-next
2017-12-15 12:29:29 -08:00
swift-ci
2c45b77ead
Merge pull request #13461 from shajrawi/deterministic_container
2017-12-15 12:11:11 -08:00
Joe Shajrawi
8fd6dc155e
LoadableByAddress: use deterministic containers
2017-12-15 11:09:01 -08:00
swift-ci
5702105cb2
Merge remote-tracking branch 'origin/master' into master-next
2017-12-14 22:10:05 -08:00
John McCall
dfe119f86e
Compute the BuiltinInfo for a builtin call to IRGenSIL; NFC.
...
The intention here is to make it easier to do specialized lowering
for specific builtin arguments.
2017-12-15 00:21:21 -05:00
swift-ci
c0568c925d
Merge remote-tracking branch 'origin/master' into master-next
2017-12-14 13:49:34 -08:00
Arnold Schwaighofer
ac0db46f79
Fix for linux
2017-12-14 10:22:34 -08:00
Arnold Schwaighofer
bfb8f15e43
Fix test case failure
2017-12-14 08:17:19 -08:00
Arnold Schwaighofer
066a627ca0
Reapply "IRGen: The partial application forwarder needs to cast { swift.refcounted* } to swift.refcounted* for AnyObject types on linux"
...
With fix and test case for failed case.
This reverts commit d14cd40916 .
SR-6547
rdar://problem/35911150
2017-12-14 06:41:30 -08:00
swift-ci
535b79c53c
Merge remote-tracking branch 'origin/master' into master-next
2017-12-14 04:09:33 -08:00
Doug Gregor
d14cd40916
Revert "IRGen: The partial application forwarder needs to cast { swift.refcounted* } to swift.refcounted* for AnyObject types on linux"
2017-12-13 22:49:13 -08:00
swift-ci
4aec05ae9b
Merge remote-tracking branch 'origin/master' into master-next
2017-12-13 18:29:36 -08:00
Arnold Schwaighofer
015bef1a64
Merge pull request #13416 from aschwaighofer/fix_anyobject_closure_linux
...
IRGen: The partial application forwarder needs to cast { swift.refcounted* } to swift.refcounted* for AnyObject types on linux
2017-12-13 18:25:26 -08:00
Arnold Schwaighofer
8610670d0e
IRGen: The partial application forwarder needs to cast { swift.refcounted* } to swift.refcounted* for AnyObject types on linux
...
SR-6547
2017-12-13 14:31:44 -08:00
swift-ci
6d1f3c7eca
Merge remote-tracking branch 'origin/master' into master-next
2017-12-12 17:29:39 -08:00
Thomas Roughton
f10ef1ab9a
[runtime] Always use SwiftCC ( #13311 )
2017-12-12 17:11:38 -08:00
swift-ci
b842db42d7
Merge remote-tracking branch 'origin/master' into master-next
2017-12-11 19:29:43 -08:00
Erik Eckstein
48d49a4cc2
Fix the IR attributes of swift_getObjectType.
...
It's not readnone, because it reads the metatype from an object.
Readnone would let the llvm ARC optimizer reschedule the call with a release-call for the object.
fixes SR-6560.
2017-12-11 18:16:46 -08:00
swift-ci
1270d9d356
Merge remote-tracking branch 'origin/master' into master-next
2017-12-09 14:49:49 -08:00
swift-ci
a93717988c
Merge pull request #13211 from compnerd/COFF-registration
2017-12-09 14:41:41 -08:00
Saleem Abdulrasool
899103cfa8
COFF: restructure metadata registration
...
Restructure the COFF metadata handling to use the linker section
grouping to emit section start/stop markers in the appropriate location.
This allows us to lookup the sections statically without having to the
walk the entire image structure.
Introduce a constructor for PE/COFF binaries. This will ensure that the
registration occurs for all modules appropriately. This should resolve
rdar://problem/19045112. The registration should occur prior to
`DllMain` being invoked from `DllMainCRTStartup`.
2017-12-08 16:15:07 -08:00
swift-ci
79a758cf10
Merge remote-tracking branch 'origin/master' into master-next
2017-12-08 15:48:53 -08:00
swift-ci
d1e377b947
Merge remote-tracking branch 'origin/master' into master-next
2017-12-08 14:08:50 -08:00
swift-ci
2935d66e9d
Merge remote-tracking branch 'origin/master' into master-next
2017-12-08 14:01:42 -08:00
Slava Pestov
e04f6e85bd
IRGen: Add mangling for class metadata base offset
...
Also remove some misleading comments from GenDecl.cpp, where
we were giving examples of the old mangling.
2017-12-08 13:50:56 -08:00
Slava Pestov
ffabf60118
IRGen: Hollow out generic class templates
...
Don't emit placeholders for field offsets and vtable entries,
since they were always null. Instead, calculate the final size
of class metadata at runtime using the size of the superclass
metadata and the number of immediate members, and only copy
this prefix from the template to the instantiated metadata,
zero-filling the rest.
For this to work with non-generic resilient classes and
non-generic subclasses of generic classes, we need a new
runtime entry point to relocate non-generic class metadata,
calculating its size at runtime using the same strategy.
2017-12-08 13:50:56 -08:00
Thomas Roughton
c5bf2ec553
[runtime] Remove TwoWordPair and use the Swift calling convention instead. ( #13299 )
2017-12-07 19:27:24 -08:00
Slava Pestov
5dcc6b13ed
IRGen: Count number of immediate class members in ClassMetadataLayout
2017-12-07 14:21:59 -08:00
Slava Pestov
176efde3fd
IRGen: Redo fill ops
...
Instead of recording the current offset in the template, just
collect the fill ops into a vector and emit them at the
generic argument offset stored in the MetadataLayout.
For now this is NFC, but this allows the template to omit
entries for generic arguments entirely once some more
machinery is in place.
2017-12-07 14:21:58 -08:00
Slava Pestov
c19478ab3f
IRGen: Offset::offsetBy() should take an Offset and a Size
2017-12-07 14:21:58 -08:00
Slava Pestov
0fa7440e51
IRGen/Runtime: Remove old class metadata relocation mechanism
2017-12-07 14:21:58 -08:00
swift-ci
febcd193d9
Merge remote-tracking branch 'origin/master' into master-next
2017-12-06 13:10:39 -08:00
Slava Pestov
df780c05c1
IRGen: Move field type vector slot to appear before the address point
2017-12-05 21:33:35 -08:00
Slava Pestov
ed97617590
IRGen: Move generic class dependent data to appear before the address point
2017-12-05 21:33:35 -08:00