Commit Graph

12816 Commits

Author SHA1 Message Date
Chris Lattner
80565c63a0 fix an IRGen crash on multiple local decls. Noticed by inspection.
Swift SVN r4820
2013-04-19 00:13:17 +00:00
Chris Lattner
35edbcd29e prune some minor dead Stmt stuff.
Swift SVN r4818
2013-04-19 00:09:51 +00:00
Chris Lattner
abee79b26e remove some Expr stuff.
Swift SVN r4810
2013-04-18 22:32:37 +00:00
Chris Lattner
6315bb233f remove a few random remnants.
Swift SVN r4808
2013-04-18 22:25:20 +00:00
Chris Lattner
6a6601ec04 remove the Expr version of prepareObjCMethodCall and the code that is keeps alive.
Swift SVN r4807
2013-04-18 18:05:45 +00:00
Chris Lattner
f60b1b65cf remove some dead initialization logic.
Swift SVN r4806
2013-04-18 18:00:44 +00:00
Joe Groff
d1a04c92a7 IRGen: Kill dead emitSupertoArchetype overload.
Swift SVN r4805
2013-04-18 15:28:13 +00:00
John McCall
38b34b7307 Pass #1 at localizing assumptions about fixed layout and
handling non-fixed layouts.

This uncovered a bug where we weren't rounding up the header
size to the element alignment when allocating an array of archetypes.

Writing up a detailed test case for *that* revealed that we were
never initializing the length field of heap arrays.  Fixing that
caused a bunch of tests to crash trying to release stuff.  So...
I've left this in a workaround state right now because I have to
catch a plane.

Swift SVN r4804
2013-04-18 07:58:21 +00:00
Chris Lattner
edee9a5d60 remove some dead protocol logic.
Swift SVN r4801
2013-04-18 05:45:29 +00:00
Chris Lattner
fa168e15a9 remove emitRValueAsUnsubstituted and some related logic. Once I get this deep, it
seems that this is not a good idea, because it seems statically live from the SIL
SuperToArchetypeInst.  However, apparently nothing in the testsuite exercises
this code, so I'll need to discuss and a testcase to know how much logic needs
to be ressurrected from SVN.  rdar://13681541



Swift SVN r4800
2013-04-18 05:41:20 +00:00
Chris Lattner
a7748f61ae remove emitRValue, which is dead, at least dynamically according to our testsuite.
Swift SVN r4799
2013-04-18 05:33:40 +00:00
Chris Lattner
1abf1d0ebc remove RValueEmitter and some implementation logic for it, as well as
FullExpr.  Scope is kept alive by one dangling thread, rdar://13681467


Swift SVN r4798
2013-04-18 05:24:50 +00:00
Chris Lattner
6a4ab4d0e3 remove GenClosure.{h,cpp}
Swift SVN r4797
2013-04-18 05:14:41 +00:00
Chris Lattner
dc0454e1d2 remove GenArray.{h,cpp} as they are handled by SILGen. Remove getAddrOfLocalFunction.
Swift SVN r4796
2013-04-18 05:12:01 +00:00
Chris Lattner
a8ed1a187f remove CallSite and emitRValueForFunction
Swift SVN r4795
2013-04-18 05:09:38 +00:00
Chris Lattner
9459ee19e1 remove CalleeSource, SpecializedCallEmission, and derived classes.
Swift SVN r4794
2013-04-18 05:01:58 +00:00
Chris Lattner
03394a29ea remove prepareCall and some various array handling logic now handled by SILGen.
Swift SVN r4793
2013-04-18 04:57:27 +00:00
Chris Lattner
47e508c24d remove LValue, PathComponent, and LValue.h as a whole.
Swift SVN r4792
2013-04-18 04:50:03 +00:00
Chris Lattner
20a712a2fc remove emitAddressLValue and PhysicalPathComponent.
Swift SVN r4791
2013-04-18 04:46:41 +00:00
Chris Lattner
ac6dbfb604 remove some protocol stuff, which is the last user of emitFakeLValue.
Remove emitFakeLValue, the last user of emitAddressLValue.


Swift SVN r4790
2013-04-18 04:42:49 +00:00
Joe Groff
5d66f94922 IRGen: Sever projectPhysicalClassMemberAddress from LValue.
Swift SVN r4785
2013-04-17 23:18:59 +00:00
Joe Groff
d0266e35c7 SILGen: Don't emit calls to objc super destructors
ObjC classes don't have a deallocating destructor, so we can't call up to it in a class derived from an ObjC class. Hack SILGen not to emit a call to the superclass destructor of a class inherited from an ObjC class. This is the wrong thing, but it looks like destructors don't get hooked up to ObjC dealloc methods anyway yet, so what the Swift destructor of an ObjC-derived class does is moot right now. This lets us remove the guards from IRGen that prevented ObjC destructors from being emitted.

Swift SVN r4784
2013-04-17 22:52:59 +00:00
Chris Lattner
447ceab4e1 remove JumpDest class and JumpDest.h, it is now a SILGen concept.
Swift SVN r4783
2013-04-17 22:52:38 +00:00
Chris Lattner
477bdbd08a remove emitConstructorBody and GenConstructor.cpp now that Joe implemented
implicit struct constructors in r4776.


Swift SVN r4782
2013-04-17 22:38:38 +00:00
John McCall
eb70c35af7 Bitcast before turning the parameter into an Address in order
to placate an assert.

Test suite passes now.

Swift SVN r4781
2013-04-17 22:27:34 +00:00
John McCall
116a2422ab These arguments aren't cast; don't use the asserting routine.
Swift SVN r4780
2013-04-17 22:17:02 +00:00
John McCall
8fe4246833 Hide StorageSize/Alignment behind accessors in preparation for moving
them to a subclass.

Swift SVN r4779
2013-04-17 21:55:41 +00:00
Joe Groff
b9bb84c58e SILGen: Emit implicit constructors.
Teach SILGen how to emit the implicit elementwise constructor for structs and the implicit default constructor for classes, and eliminate the now dead IRGen code for them. Add a StructInst SIL instruction to represent constructing a loadable struct value from elements, analogous to TupleInst for tuples.

Swift SVN r4778
2013-04-17 20:51:26 +00:00
Joe Groff
180873a2a0 IRGen: Fix build.
Remove the minimum amount of dead code just to get the compiler to build again. I'll delete RValueEmitter etc. next.

Swift SVN r4776
2013-04-17 15:23:04 +00:00
Chris Lattner
ffe3388aa5 remove the dead logic form GenTuple, RValueInitEmitter, and some
erasure/protocol expr logic.


Swift SVN r4775
2013-04-17 06:34:27 +00:00
Chris Lattner
fc9b9b22a5 remove IRGen support for byref(heap), part of rdar://11247831.
Swift SVN r4774
2013-04-17 06:08:34 +00:00
Chris Lattner
01a36864a3 Remove LogicalPathComponent, emitLoad, emitAssign, emitLValueAsScalar,
and supporting logic.

PathComponent and LValue are (apparently unnecessarily) kept alive by 
projectPhysicalClassMemberAddress (rdar://13671033)



Swift SVN r4773
2013-04-17 06:00:34 +00:00
Chris Lattner
091652fe47 remove GetterSetter.h and implementation logic, now that this is handled by SILGen
Swift SVN r4772
2013-04-17 05:53:52 +00:00
Chris Lattner
12a9c88ef1 zap GenLValue.h and supporting logic.
Swift SVN r4771
2013-04-17 05:38:57 +00:00
Chris Lattner
ade66c8b10 Remove the emitIgnored, emitLValue, and tryEmitAsAddress mechanics and
supporting logic.


Swift SVN r4770
2013-04-17 05:33:23 +00:00
Chris Lattner
dace3e95fd remove local decl emission and local pattern binding emission.
Swift SVN r4769
2013-04-17 05:09:37 +00:00
Chris Lattner
0701489691 remove Condition.
Swift SVN r4768
2013-04-17 05:01:03 +00:00
Chris Lattner
ec6d194c5d remove the old IRGen path for statements.
Swift SVN r4767
2013-04-17 04:48:26 +00:00
Chris Lattner
a217fe69aa remove the old codepaths for emiting builtin and known calls.
SILGen needs to learn about "known" calls to remain competitive (13670729)


Swift SVN r4766
2013-04-17 04:35:04 +00:00
Chris Lattner
b09994d899 remove the last thing obviously checking for the presence of a sil module.
Swift SVN r4765
2013-04-17 04:10:02 +00:00
Chris Lattner
e3e2c12c18 remove CurriedData, which is now dead.
Swift SVN r4764
2013-04-17 04:06:53 +00:00
Chris Lattner
22321ffe7f next pass deleting now-dead code. Default ctors are keeping a bunch of
stuff alive (tracked by rdar://13670607)


Swift SVN r4763
2013-04-17 04:01:37 +00:00
Chris Lattner
ea4eca3a95 now that SILGen is on all the time, start removing dead code.
Swift SVN r4762
2013-04-17 03:49:38 +00:00
Chris Lattner
2144140168 really use SIL IRGen for all recursive compilations as well, this exposes a symbol
redefinition (or linkage type) bug that causes two tests to fail.  I filed 
rdar://13670581 to track this and am plowing forward, since they seem minor.


Swift SVN r4761
2013-04-17 03:46:40 +00:00
Chris Lattner
7588b99869 add a pre-mangled name to the top level function, some more minor
style changes to fit in 80 columns etc.  No useful behavior change.



Swift SVN r4748
2013-04-16 00:44:57 +00:00
Joe Groff
7dde07cfd3 IRGen: Lower SIL ArchetypeToSuper (and v.v.).
Swift SVN r4747
2013-04-15 23:32:46 +00:00
Chris Lattner
5a3a99e78a remove a dead "CurConstant" ivar, simplify some code to make it fit in 80 columns.
Swift SVN r4744
2013-04-15 23:14:04 +00:00
Chris Lattner
2037e034fa extend LinkEntity to be able to refer to a SILFunction.
This is important for the SIL Parser, which has to parse function decls into something
that don't reference a decl.




Swift SVN r4743
2013-04-15 23:02:47 +00:00
Joe Groff
c217d69779 IRGen: Fix ArchetypeMethodInst for static funcs.
The argument to archetype_method can be a metatype, so allow that. While we're here, implement lowering for AssociatedMetatypeInst, and fix initial bringup of SIL-IRGen so that polymorphic arguments get emitted into the entry point BB instead of a random other BB.

Swift SVN r4741
2013-04-15 22:21:45 +00:00
Joe Groff
a90338bddb IRGen: Compile builtin calls from SIL.
When lowering SIL builtin ConstantRefs, just stash away the FuncDecl, and pass that decl on to a tweaked version of emitBuiltinCall when the constant is applied.

Swift SVN r4736
2013-04-15 21:04:36 +00:00