kai
c174f6d689
Fix struct literal rvalue change
2013-01-30 07:14:49 +01:00
kai
26e6503258
Fix struct literal rvalue change
2013-01-30 07:13:12 +01:00
David Nadlinger
e43759cbc7
Merge pull request #273 from kinke/merge-2.061-2
...
Merged x86 and x86_64 assembly parsers.
2013-01-29 04:53:15 -08:00
kai
9a0df005f3
Add ABI infrastructure for PPC64.
...
The generic ABI works well with PPC64 except for LLVM PR 14779.
(http://llvm.org/bugs/show_bug.cgi?id=14779 )
The new ABI infrastucture is based on the UnknownTargetABI. The
PPC64 specific parts coming soon.
2013-01-28 22:08:25 +01:00
kai
9390374f4d
AttributeSet::get(... AttributeWithIndex ...) is now private.
...
AttributeWithIndex is really going away in LLVM 3.3. This is a
horrible hack to keep everything compiling. Attribute handling
needs some rework.
2013-01-28 22:08:25 +01:00
kai
b2a19959bf
Add ABI infrastructure for PPC64.
...
The generic ABI works well with PPC64 except for LLVM PR 14779.
(http://llvm.org/bugs/show_bug.cgi?id=14779 )
The new ABI infrastucture is based on the UnknownTargetABI. The
PPC64 specific parts coming soon.
2013-01-28 22:01:29 +01:00
Martin
25b6b3abf2
Remove AsmOpInfo::takesLabel(), add FIXME comment.
2013-01-28 21:05:48 +01:00
David Nadlinger
c432712d72
Update runtime version to 2.061.
2013-01-28 21:03:49 +01:00
Martin
8a463444ab
Fix negated sc->func->naked for x64 and remove !IN_LLVM block.
2013-01-28 20:00:08 +01:00
kai
145e1b5b24
AttributeSet::get(... AttributeWithIndex ...) is now private.
...
AttributeWithIndex is really going away in LLVM 3.3. This is a
horrible hack to keep everything compiling. Attribute handling
needs some rework.
2013-01-28 19:20:57 +01:00
kai
69d5576141
Merge branch 'master' into merge-2.061-2
...
Conflicts:
gen/runtime.cpp
2013-01-28 06:58:26 +01:00
Kai Nacke
e7e699870e
Merge pull request #274 from redstar/runtime
...
Replace vector/SmallVector with C array for parameter lists.
2013-01-27 21:56:09 -08:00
kai
145978bb51
Replace vector/SmallVector with C array for parameter lists.
...
This has several advantages:
- the code is shorter
- no need to specify number of elements
- only ArrayRef object is created
2013-01-27 23:12:37 +01:00
Martin
62cb04f6f6
Merged x86 and x86_64 assembly parsers.
2013-01-27 15:31:26 +01:00
kai
a817a85bf8
Merge branch 'master' into merge-2.061-2
2013-01-27 00:38:47 +01:00
kai
6cb782791e
Fix build warnings
2013-01-27 00:38:17 +01:00
kai
a3fcdafd1f
Merge branch 'master' into merge-2.061-2
...
Conflicts:
gen/runtime.cpp
2013-01-27 00:20:21 +01:00
Kai Nacke
de596d994c
Merge pull request #272 from redstar/tollvm
...
Replace std::vector with llvm::SmallVector and C arrays in gen/tollvm.cpp.
2013-01-26 15:17:01 -08:00
kai
28e3a4d80f
Replace std::vector with llvm::SmallVector in gen/tollvm.cpp.
2013-01-27 00:13:20 +01:00
Kai Nacke
6e3d847ca0
Merge pull request #271 from redstar/runtime
...
Replace std::vector with llvm::SmallVector in gen/runtime.cpp.
2013-01-26 12:20:56 -08:00
kai
ed5ede3fda
Replace std::vector with llvm::SmallVector in gen/runtime.cpp.
...
The vector arrays for the parameter lists are a perfect fit for
llvm::SmallVector: the vector size is small and known in advance.
2013-01-26 21:01:33 +01:00
kai
e68a0fa2a6
Merge branch 'master' into merge-2.061-2
2013-01-26 17:40:24 +01:00
kai
c0284bac2b
2nd attempt on the latest LLVM 3.3 changes.
...
The previous commit only worked on Windows.
2013-01-26 17:34:08 +01:00
kai
26385c55fe
More LLVM 3.3 changes to the AttributeSet class.
2013-01-26 16:27:20 +01:00
kai
b2f4ac0772
Do not mix release and debug build for MSVC
2013-01-26 15:52:55 +01:00
kai
dc69c67bbe
Merge branch 'master' into merge-2.061-2
2013-01-26 13:24:33 +01:00
sgraf812
98669eef5b
using rsp instead of esp
...
Using esp resulted in crashes on x64.
2013-01-26 13:24:13 +01:00
kai
6a02db791a
Add new LLVM 3.3 intrinsics
2013-01-25 20:25:32 +01:00
kai
ad4e0e57d2
Added new LLVM 3.3 intrinsics
2013-01-25 19:42:19 +01:00
kai
bc182ab901
Merge branch 'master' into merge-2.061-2
2013-01-24 07:35:58 +01:00
kai
b4aca21422
More LLVM 3.3 changes.
...
There is ongoing rework on the AttributeSet class. Also the constructor
of APFloat changed.
2013-01-23 18:22:45 +01:00
kai
cb22044f58
Merge branch 'master' into merge-2.061-2
...
Conflicts:
dmd2/interpret.c
2013-01-21 18:06:13 +01:00
Kai Nacke
4005410794
Merge pull request #268 from redstar/endian
...
Make frontend endian-aware.
2013-01-21 00:11:32 -08:00
kai
55560bf382
Make frontend endian-aware.
...
In many parts the DMD frontend assumes a little endian CPU. In some
parts there are checks for endianess but they are incomplete and the
used definition is wrong. (Test for endianess will be removed in dmd
2.062.)
In this commit I add the required #if's and also add a CMake test for
endianess because there is no single compiler definition to check for.
2013-01-21 08:41:21 +01:00
kai
b158749083
Merge branch 'master' into merge-2.061-2
2013-01-13 12:03:18 +01:00
David Nadlinger
9e9acb9c4b
Split Travis test execution into debug and release tests.
...
Hopefully enough to reliably make it below the time limit,
even if the load distribution is not quite symmetric.
2013-01-12 18:33:18 +01:00
David Nadlinger
7974c33c61
Merge branch 'master' into merge-2.061-2.
2013-01-12 14:31:54 +01:00
David Nadlinger
4a6444c320
Revert "Fix overly conservative inlining prediction".
...
The commit itself should be fine, but the more aggressive
inlining being done on the GC code (due to the gcbits functions
being in available in gc.gcx) seems to have uncovered a
misoptimization bug in LLVM (at least in 3.2) on x86, leading to
various unit tests failing in relase mode.
This reverts part of commit f02e4b1925
.
2013-01-12 14:30:59 +01:00
David Nadlinger
30caa4bfe6
Merge branch 'master' into merge-2.061-2
2013-01-12 01:27:02 +01:00
David Nadlinger
81aee147cf
Fold in ctlz/cttz updates.
2013-01-12 01:23:55 +01:00
David Nadlinger
f02e4b1925
Fix overly conservative inlining prediction.
...
A "statementsToo" flag was added to DMD, which disables inlining
of pretty much any functions that actually return a value – set it
to false for our purposes.
The other parts of the diff are just cosmetic.
2013-01-12 01:23:55 +01:00
kai
6ddb524b91
More LLVM 3.3 changes
2013-01-11 22:46:36 +01:00
David Nadlinger
b99b78558b
Hack to make nested struct .init results an rvalue.
...
The code still needs closer scrunity, as the 'nested' test
from the DMD testsuite doesn't fully pass yet.
2013-01-11 21:34:45 +01:00
kai
a11459bc31
"The Great Renaming" continues.
...
More changes to match the renamed files of LLVM 3.3.
2013-01-06 17:17:30 +01:00
David Nadlinger
7a4c378788
Correctly set 'outer' reference of nested inner classes.
...
Fixes DMD testcase 'test11'.
2013-01-04 16:48:10 +01:00
David Nadlinger
43ca6a9581
LDMD: Fix -deps generation.
2013-01-04 16:48:10 +01:00
David Nadlinger
859177fe3d
Do not unnecessarily call postblit after rvalue array initializers.
...
Fixes DMD testcases 'sdtor' and 'structlit'.
2013-01-04 16:48:10 +01:00
David Nadlinger
bcd8f26b26
Removed completely wrong postblit invocation.
...
This piece of code was invoking the postblit on the _source_
of the copy operation.
2013-01-04 16:48:10 +01:00
David Nadlinger
1a3fc9f97f
Fix break out of non-nothrow range foreach.
...
Fixes DMD testcase 'test9068'.
2013-01-04 16:48:10 +01:00
kai
82a3216619
Simplify code.
...
The code to generate a constant string is too complex. Just use the
method provided by LLVM.
The complexity was introduced during a LLVM refactoring....
2013-01-04 14:35:24 +01:00