Johan Engelen
cb15d21996
Fix evaluation order of bitwise operators
2016-07-12 23:01:34 +02:00
Johan Engelen
cec61a4432
clang-format [NFC]
2016-07-12 23:01:10 +02:00
Kai Nacke
6b2ead6185
Merge pull request #1613 from redstar/addruntime
...
Add latest addition to druntime and Phobos
2016-07-10 16:10:52 +02:00
Kai Nacke
e0e2638594
Add latest addition to druntime and Phobos
...
- OpenBSD definitions
- sys.linux.sys.auxv module
- ARM assembly implementation of biguint
2016-07-10 15:07:04 +02:00
Johan Engelen
fa59564e9f
Fix naming in testcase.
2016-07-10 11:00:36 +02:00
Johan Engelen
99e1bb1aec
Merge pull request #1612 from JohanEngelen/fix1611
...
Fix issue 1611
2016-07-10 10:36:50 +02:00
Johan Engelen
57b21d10d4
Fix github issue 1611
2016-07-10 00:42:00 +02:00
Johan Engelen
df10fca7fa
Clarify code (NFC)
2016-07-07 21:25:42 +02:00
Martin
e99f851e92
dmd-testsuite: Add test for issue #1335
2016-07-04 23:31:13 +02:00
David Nadlinger
75e1573cb2
Merge pull request #1577 from JohanEngelen/inlining
...
Implement cross-module inlining
2016-07-04 21:32:28 +01:00
David Nadlinger
d42cffad34
Merge pull request #1599 from kinke/super2
...
Some more direct in-place construction
2016-07-04 20:54:21 +01:00
Martin
12ff7ef803
Let special __result variable be an alias for sret
...
So for functions using sret and featuring an out contract, we save an
additional alloca + memcpy by using the sret pointer as storage.
2016-07-04 19:47:55 +02:00
Martin
1760e261db
Move special __result variable into return value (no postblit)
...
This fixes issue #1335 .
2016-07-03 21:58:10 +02:00
Johan Engelen
3502eb8ddb
Remove whitespace
2016-07-03 21:53:16 +02:00
Martin
ed70c12b06
Enable in-place construction for static array literals
2016-07-03 00:23:08 +02:00
Martin
08fa2f093c
Enable in-place construction for struct literals
2016-07-03 00:23:03 +02:00
Johan Engelen
765126a2f5
Update to Phobos with inlining fixes.
2016-07-02 17:08:48 +02:00
Johan Engelen
f2c3ed4cce
Separate inlining-heuristic code into its own file. Implement a simple statement-counting inlining heuristic.
2016-07-02 17:08:48 +02:00
Johan Engelen
63887f662f
Fix typo.
2016-07-02 17:08:48 +02:00
Johan Engelen
7919805eb4
Disable cross-module inlining for LLVM < 3.7.
2016-07-02 17:08:48 +02:00
Johan Engelen
ed7399a694
Add tests for inlining with static variables involved.
2016-07-02 17:08:48 +02:00
Johan Engelen
4169efad45
Fix inlining tests on Windows
2016-07-02 17:08:48 +02:00
Johan Engelen
7ed5a09dc3
Fixes and improvements to cross-module inlining code.
2016-07-02 17:08:48 +02:00
Johan Engelen
a3f0678283
Fix inlining problem: reverse order in which module array is codegenned.
2016-07-02 17:08:48 +02:00
Johan Engelen
2e9b196c09
Force codegen for templated functions with pragma(inline, true)
2016-07-02 17:08:47 +02:00
Johan Engelen
0eb8689006
Implement cross-module inlining (with and without pragma).
2016-07-02 17:08:47 +02:00
Johan Engelen
b8048be6e4
Implement same-module pragma(inline, {true|false}).
2016-07-02 17:08:47 +02:00
Martin
364d1e9acd
Be less restrictive in toDirectSretConstruction()
2016-07-02 12:52:29 +02:00
Martin
50b89a47fe
Extract helper toDirectSretConstruction()
2016-07-02 12:52:28 +02:00
Martin
cdb817633e
Rename IrFunction::retArg to sretArg
2016-07-02 12:52:28 +02:00
Martin
879fb97d56
Rename retvar to sretPointer
2016-07-02 12:52:21 +02:00
Martin
b12854df57
dmd-testsuite: Add test for issue #1450
2016-07-01 00:30:12 +02:00
Martin
328f10d236
druntime: Fix getpwuid_r and getpwnam_r for Solaris
2016-07-01 00:29:39 +02:00
David Nadlinger
72f1c21490
Merge pull request #1596 from kinke/super
...
Resolve virtual base functions (super.foo()) correctly
2016-06-30 15:35:49 +01:00
Johan Engelen
e216b1180d
Merge 2.071.1 (relative to 2.071.1-b2, only Phobos and dmd-testsuite changed)
2016-06-30 11:24:47 +02:00
kinke
8cb14e09d8
Merge pull request #1595 from JohanEngelen/updatellvm
...
[AppVeyor] Update to LLVM r274132
2016-06-29 23:08:52 +02:00
Martin
07cad0f20a
Fix the actual issue
2016-06-29 22:41:08 +02:00
Martin
26d0c715d2
Resolve virtual base functions (super.foo()) correctly
...
Don't perform a vtable lookup for those, resolve them directly instead.
Fixes issue #1450 , where calling the base method in the overwritten
method resulted in an infinite loop and corresponding stack overflow.
2016-06-29 20:35:11 +02:00
Johan Engelen
9e59df3a6f
[AppVeyor] Update to LLVM r274132
2016-06-29 19:49:07 +02:00
kinke
266797b1c7
Merge pull request #1592 from kinke/variadic
...
Refactor and fix intrinsics for variadic functions
2016-06-29 09:58:56 +02:00
David Nadlinger
a260a1a846
Merge pull request #1593 from rainers/fix_unicode
...
use *W-functions if UNICODE #defined on windows
2016-06-28 23:31:41 +01:00
Martin
82005009e7
Refactor and fix intrinsics for variadic functions
...
I.e., va_start(), va_copy() and va_arg().
2016-06-28 22:40:14 +02:00
Rainer Schuetze
9f85baee90
use *W-functions if UNICODE #defined on windows
2016-06-28 08:29:49 +02:00
Johan Engelen
dfbb6c5b08
Merge pull request #1589 from JohanEngelen/noinlineSEH
...
Remove explicit `noinline` call attribute inside SEH catch/cleanup pads.
2016-06-27 21:10:14 +02:00
David Nadlinger
17a64c2a54
Add test case for GitHub #1581
2016-06-27 17:16:21 +01:00
David Nadlinger
f995fc88ab
Merge pull request #1585 from kinke/gh1581
...
Fix issue #1581
2016-06-27 17:10:31 +01:00
David Nadlinger
345037c20d
Merge pull request #1591 from klickverbot/no-verify
...
optimizer: Skip adding verifier function pass if -disable-verify is given
2016-06-27 17:09:13 +01:00
David Nadlinger
5858398ae2
optimizer: Skip adding verifier function pass if -disable-verify is given
...
This makes the flag useful again for dumping invalid IR.
2016-06-27 15:04:40 +01:00
David Nadlinger
a963e7439b
optimizer: Mechanical cleanup [nfc]
2016-06-27 14:53:15 +01:00
David Nadlinger
fbce0be4e0
optimizer: clang-format again [nfc]
2016-06-27 14:45:56 +01:00