Frits van Bommel
1958e17734
Rewrite StructLiteralExp::toElem to store individual fields instead of
...
generating a constant to fill the entire struct with a single `store`.
This is much more efficient at compile time (fixing #320 ) and vastly reduces
the size of the emitted code. Since LLVM no longer needs to keep the data for
all fields in "registers" until the store happens, it should also be more
efficient at run time in cases where the fields aren't assigned with constants.
There's also some code clean-up by removing duplicated logic.
2009-06-06 20:16:13 +02:00
..
2009-05-30 23:48:22 +02:00
2009-05-25 12:50:40 +02:00
2008-10-06 22:54:08 +02:00
2009-05-16 13:06:49 +02:00
2009-06-03 02:28:48 +02:00
2009-03-06 16:00:47 +01:00
2009-06-03 02:28:48 +02:00
2009-05-16 13:06:49 +02:00
2009-06-03 02:28:48 +02:00
2009-04-15 20:06:25 +02:00
2009-06-01 23:42:42 +02:00
2009-06-01 23:42:42 +02:00
2009-05-14 13:26:40 +02:00
2008-08-17 12:21:53 +02:00
2009-03-12 20:37:27 +01:00
2009-04-08 23:05:30 +02:00
2009-05-20 21:13:41 +02:00
2009-05-20 21:13:41 +02:00
2009-06-03 02:28:48 +02:00
2009-05-30 13:04:49 +02:00
2009-05-28 21:45:14 +02:00
2008-10-06 22:54:08 +02:00
2009-06-05 02:54:34 +02:00
2009-03-12 20:37:27 +01:00
2009-05-15 17:17:20 +02:00
2009-03-31 01:18:35 +02:00
2009-04-12 12:52:01 +02:00
2009-02-26 14:51:02 +01:00
2009-03-28 06:32:06 +01:00
2009-06-03 03:04:47 +02:00
2009-05-16 18:19:52 +02:00
2009-03-24 21:18:18 +01:00
2009-06-06 09:47:32 +02:00
2009-05-21 15:26:46 +02:00
2009-05-07 15:33:06 +02:00
2009-05-07 15:33:06 +02:00
2009-02-28 22:16:52 +01:00
2009-06-06 20:16:13 +02:00
2009-06-06 20:16:13 +02:00
2009-03-18 15:03:17 +01:00
2009-05-17 00:15:25 +02:00
2009-06-03 02:28:48 +02:00
2009-05-11 15:48:33 +02:00
2009-05-14 13:26:40 +02:00
2009-06-03 12:32:35 +02:00
2009-04-12 13:08:24 +02:00
2009-06-04 15:59:51 +02:00
2009-03-29 19:19:32 +02:00
2009-05-13 18:08:40 +02:00
2009-05-04 13:32:16 +02:00
2009-05-31 09:10:33 -06:00
2009-05-17 16:31:23 +02:00
2009-05-25 12:50:40 +02:00
2007-10-23 05:55:12 +02:00
2009-05-23 09:02:36 +02:00
2009-05-14 20:36:55 +02:00
2009-05-14 20:36:55 +02:00
2009-06-03 02:28:48 +02:00
2009-05-17 17:55:53 +02:00
2009-02-08 16:50:22 +01:00
2009-06-06 20:16:13 +02:00
2009-06-01 23:17:47 +02:00
2009-06-01 23:17:47 +02:00
2009-06-06 09:47:32 +02:00
2009-03-07 19:38:00 +01:00
2009-05-02 11:58:50 +02:00
2009-06-03 02:28:48 +02:00
2009-04-25 18:26:54 +02:00